protobufjs 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobufjs",
3
- "version": "7.1.0",
3
+ "version": "7.1.1",
4
4
  "versionScheme": "~",
5
5
  "description": "Protocol Buffers for JavaScript (& TypeScript).",
6
6
  "author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
package/src/converter.js CHANGED
@@ -18,18 +18,20 @@ var Enum = require("./enum"),
18
18
  * @ignore
19
19
  */
20
20
  function genValuePartial_fromObject(gen, field, fieldIndex, prop) {
21
+ var defaultAlreadyEmitted = false;
21
22
  /* eslint-disable no-unexpected-multiline, block-scoped-var, no-redeclare */
22
23
  if (field.resolvedType) {
23
24
  if (field.resolvedType instanceof Enum) { gen
24
25
  ("switch(d%s){", prop);
25
26
  for (var values = field.resolvedType.values, keys = Object.keys(values), i = 0; i < keys.length; ++i) {
26
27
  // enum unknown values passthrough
27
- if (values[keys[i]] === field.typeDefault) { gen
28
+ if (values[keys[i]] === field.typeDefault && !defaultAlreadyEmitted) { gen
28
29
  ("default:")
29
30
  ("if(typeof(d%s)===\"number\"){m%s=d%s;break}", prop, prop, prop);
30
31
  if (!field.repeated) gen // fallback to default value only for
31
32
  // arrays, to avoid leaving holes.
32
33
  ("break"); // for non-repeated fields, just ignore
34
+ defaultAlreadyEmitted = true;
33
35
  }
34
36
  gen
35
37
  ("case%j:", keys[i])