Fix js message pivot selection (#6813)
* fix javascript setFieldIgnoringDefault_ logic
* remove package-lock.json
* fix build script to include new UT asset file
Co-authored-by: Daniel Kurka <kurka.daniel@gmail.com>
diff --git a/js/message.js b/js/message.js
index 5c08112..c1736b3 100644
--- a/js/message.js
+++ b/js/message.js
@@ -1112,8 +1112,11 @@
goog.asserts.assertInstanceof(msg, jspb.Message);
if (value !== defaultValue) {
jspb.Message.setField(msg, fieldNumber, value);
- } else {
+ } else if (fieldNumber < msg.pivot_) {
msg.array[jspb.Message.getIndex_(msg, fieldNumber)] = null;
+ } else {
+ jspb.Message.maybeInitEmptyExtensionObject_(msg);
+ delete msg.extensionObject_[fieldNumber];
}
return msg;
};