protobufjs 6.10.2 → 6.11.2

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.
Files changed (220) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/bin/pbjs +0 -0
  3. package/bin/pbts +0 -0
  4. package/cli/README.md +163 -0
  5. package/cli/node_modules/.package-lock.json +256 -0
  6. package/cli/node_modules/acorn/CHANGELOG.md +620 -0
  7. package/cli/node_modules/acorn/LICENSE +21 -0
  8. package/cli/node_modules/acorn/README.md +269 -0
  9. package/cli/node_modules/acorn/bin/acorn +4 -0
  10. package/cli/node_modules/acorn/dist/acorn.d.ts +209 -0
  11. package/cli/node_modules/acorn/dist/acorn.js +5186 -0
  12. package/cli/node_modules/acorn/dist/acorn.js.map +1 -0
  13. package/cli/node_modules/acorn/dist/acorn.mjs +5155 -0
  14. package/cli/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  15. package/cli/node_modules/acorn/dist/acorn.mjs.map +1 -0
  16. package/cli/node_modules/acorn/dist/bin.js +64 -0
  17. package/cli/node_modules/acorn/package.json +35 -0
  18. package/cli/node_modules/acorn-jsx/LICENSE +19 -0
  19. package/cli/node_modules/acorn-jsx/README.md +40 -0
  20. package/cli/node_modules/acorn-jsx/index.js +488 -0
  21. package/cli/node_modules/acorn-jsx/package.json +27 -0
  22. package/cli/node_modules/acorn-jsx/xhtml.js +255 -0
  23. package/cli/node_modules/balanced-match/.npmignore +5 -0
  24. package/cli/node_modules/balanced-match/LICENSE.md +21 -0
  25. package/cli/node_modules/balanced-match/README.md +91 -0
  26. package/cli/node_modules/balanced-match/index.js +59 -0
  27. package/cli/node_modules/balanced-match/package.json +49 -0
  28. package/cli/node_modules/brace-expansion/LICENSE +21 -0
  29. package/cli/node_modules/brace-expansion/README.md +129 -0
  30. package/cli/node_modules/brace-expansion/index.js +201 -0
  31. package/cli/node_modules/brace-expansion/package.json +47 -0
  32. package/cli/node_modules/concat-map/.travis.yml +4 -0
  33. package/cli/node_modules/concat-map/LICENSE +18 -0
  34. package/cli/node_modules/concat-map/README.markdown +62 -0
  35. package/cli/node_modules/concat-map/example/map.js +6 -0
  36. package/cli/node_modules/concat-map/index.js +13 -0
  37. package/cli/node_modules/concat-map/package.json +43 -0
  38. package/cli/node_modules/concat-map/test/map.js +39 -0
  39. package/cli/node_modules/deep-is/.npmignore +1 -0
  40. package/cli/node_modules/deep-is/.travis.yml +6 -0
  41. package/cli/node_modules/deep-is/LICENSE +22 -0
  42. package/cli/node_modules/deep-is/README.markdown +70 -0
  43. package/cli/node_modules/deep-is/example/cmp.js +11 -0
  44. package/cli/node_modules/deep-is/index.js +102 -0
  45. package/cli/node_modules/deep-is/package.json +61 -0
  46. package/cli/node_modules/deep-is/test/NaN.js +16 -0
  47. package/cli/node_modules/deep-is/test/cmp.js +23 -0
  48. package/cli/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  49. package/cli/node_modules/escodegen/LICENSE.BSD +21 -0
  50. package/cli/node_modules/escodegen/README.md +84 -0
  51. package/cli/node_modules/escodegen/bin/escodegen.js +77 -0
  52. package/cli/node_modules/escodegen/bin/esgenerate.js +64 -0
  53. package/cli/node_modules/escodegen/escodegen.js +2647 -0
  54. package/cli/node_modules/escodegen/package.json +62 -0
  55. package/cli/node_modules/eslint-visitor-keys/CHANGELOG.md +25 -0
  56. package/cli/node_modules/eslint-visitor-keys/LICENSE +201 -0
  57. package/cli/node_modules/eslint-visitor-keys/README.md +98 -0
  58. package/cli/node_modules/eslint-visitor-keys/lib/index.js +81 -0
  59. package/cli/node_modules/eslint-visitor-keys/lib/visitor-keys.json +284 -0
  60. package/cli/node_modules/eslint-visitor-keys/package.json +40 -0
  61. package/cli/node_modules/espree/CHANGELOG.md +509 -0
  62. package/cli/node_modules/espree/LICENSE +25 -0
  63. package/cli/node_modules/espree/README.md +233 -0
  64. package/cli/node_modules/espree/espree.js +177 -0
  65. package/cli/node_modules/espree/lib/ast-node-types.js +96 -0
  66. package/cli/node_modules/espree/lib/espree.js +286 -0
  67. package/cli/node_modules/espree/lib/features.js +29 -0
  68. package/cli/node_modules/espree/lib/options.js +106 -0
  69. package/cli/node_modules/espree/lib/token-translator.js +263 -0
  70. package/cli/node_modules/espree/lib/visitor-keys.js +123 -0
  71. package/cli/node_modules/espree/package.json +64 -0
  72. package/cli/node_modules/esprima/ChangeLog +235 -0
  73. package/cli/node_modules/esprima/LICENSE.BSD +21 -0
  74. package/cli/node_modules/esprima/README.md +46 -0
  75. package/cli/node_modules/esprima/bin/esparse.js +139 -0
  76. package/cli/node_modules/esprima/bin/esvalidate.js +236 -0
  77. package/cli/node_modules/esprima/dist/esprima.js +6709 -0
  78. package/cli/node_modules/esprima/package.json +112 -0
  79. package/cli/node_modules/estraverse/.jshintrc +16 -0
  80. package/cli/node_modules/estraverse/LICENSE.BSD +19 -0
  81. package/cli/node_modules/estraverse/README.md +153 -0
  82. package/cli/node_modules/estraverse/estraverse.js +801 -0
  83. package/cli/node_modules/estraverse/gulpfile.js +70 -0
  84. package/cli/node_modules/estraverse/package.json +40 -0
  85. package/cli/node_modules/esutils/LICENSE.BSD +19 -0
  86. package/cli/node_modules/esutils/README.md +174 -0
  87. package/cli/node_modules/esutils/lib/ast.js +144 -0
  88. package/cli/node_modules/esutils/lib/code.js +135 -0
  89. package/cli/node_modules/esutils/lib/keyword.js +165 -0
  90. package/cli/node_modules/esutils/lib/utils.js +33 -0
  91. package/cli/node_modules/esutils/package.json +44 -0
  92. package/cli/node_modules/fast-levenshtein/LICENSE.md +25 -0
  93. package/cli/node_modules/fast-levenshtein/README.md +104 -0
  94. package/cli/node_modules/fast-levenshtein/levenshtein.js +136 -0
  95. package/cli/node_modules/fast-levenshtein/package.json +39 -0
  96. package/cli/node_modules/fs.realpath/LICENSE +43 -0
  97. package/cli/node_modules/fs.realpath/README.md +33 -0
  98. package/cli/node_modules/fs.realpath/index.js +66 -0
  99. package/cli/node_modules/fs.realpath/old.js +303 -0
  100. package/cli/node_modules/fs.realpath/package.json +26 -0
  101. package/cli/node_modules/glob/LICENSE +21 -0
  102. package/cli/node_modules/glob/README.md +375 -0
  103. package/cli/node_modules/glob/changelog.md +67 -0
  104. package/cli/node_modules/glob/common.js +240 -0
  105. package/cli/node_modules/glob/glob.js +790 -0
  106. package/cli/node_modules/glob/package.json +46 -0
  107. package/cli/node_modules/glob/sync.js +486 -0
  108. package/cli/node_modules/inflight/LICENSE +15 -0
  109. package/cli/node_modules/inflight/README.md +37 -0
  110. package/cli/node_modules/inflight/inflight.js +54 -0
  111. package/cli/node_modules/inflight/package.json +29 -0
  112. package/cli/node_modules/inherits/LICENSE +16 -0
  113. package/cli/node_modules/inherits/README.md +42 -0
  114. package/cli/node_modules/inherits/inherits.js +9 -0
  115. package/cli/node_modules/inherits/inherits_browser.js +27 -0
  116. package/cli/node_modules/inherits/package.json +29 -0
  117. package/cli/node_modules/levn/LICENSE +22 -0
  118. package/cli/node_modules/levn/README.md +196 -0
  119. package/cli/node_modules/levn/lib/cast.js +298 -0
  120. package/cli/node_modules/levn/lib/coerce.js +285 -0
  121. package/cli/node_modules/levn/lib/index.js +22 -0
  122. package/cli/node_modules/levn/lib/parse-string.js +113 -0
  123. package/cli/node_modules/levn/lib/parse.js +102 -0
  124. package/cli/node_modules/levn/package.json +47 -0
  125. package/cli/node_modules/minimatch/LICENSE +15 -0
  126. package/cli/node_modules/minimatch/README.md +209 -0
  127. package/cli/node_modules/minimatch/minimatch.js +923 -0
  128. package/cli/node_modules/minimatch/package.json +30 -0
  129. package/cli/node_modules/once/LICENSE +15 -0
  130. package/cli/node_modules/once/README.md +79 -0
  131. package/cli/node_modules/once/once.js +42 -0
  132. package/cli/node_modules/once/package.json +33 -0
  133. package/cli/node_modules/optionator/CHANGELOG.md +56 -0
  134. package/cli/node_modules/optionator/LICENSE +22 -0
  135. package/cli/node_modules/optionator/README.md +238 -0
  136. package/cli/node_modules/optionator/lib/help.js +260 -0
  137. package/cli/node_modules/optionator/lib/index.js +465 -0
  138. package/cli/node_modules/optionator/lib/util.js +54 -0
  139. package/cli/node_modules/optionator/package.json +44 -0
  140. package/cli/node_modules/path-is-absolute/index.js +20 -0
  141. package/cli/node_modules/path-is-absolute/license +21 -0
  142. package/cli/node_modules/path-is-absolute/package.json +43 -0
  143. package/cli/node_modules/path-is-absolute/readme.md +59 -0
  144. package/cli/node_modules/prelude-ls/CHANGELOG.md +99 -0
  145. package/cli/node_modules/prelude-ls/LICENSE +22 -0
  146. package/cli/node_modules/prelude-ls/README.md +15 -0
  147. package/cli/node_modules/prelude-ls/lib/Func.js +65 -0
  148. package/cli/node_modules/prelude-ls/lib/List.js +686 -0
  149. package/cli/node_modules/prelude-ls/lib/Num.js +130 -0
  150. package/cli/node_modules/prelude-ls/lib/Obj.js +154 -0
  151. package/cli/node_modules/prelude-ls/lib/Str.js +92 -0
  152. package/cli/node_modules/prelude-ls/lib/index.js +178 -0
  153. package/cli/node_modules/prelude-ls/package.json +52 -0
  154. package/cli/node_modules/rimraf/CHANGELOG.md +65 -0
  155. package/cli/node_modules/rimraf/LICENSE +15 -0
  156. package/cli/node_modules/rimraf/README.md +101 -0
  157. package/cli/node_modules/rimraf/bin.js +68 -0
  158. package/cli/node_modules/rimraf/package.json +32 -0
  159. package/cli/node_modules/rimraf/rimraf.js +360 -0
  160. package/cli/node_modules/source-map/CHANGELOG.md +301 -0
  161. package/cli/node_modules/source-map/LICENSE +28 -0
  162. package/cli/node_modules/source-map/README.md +742 -0
  163. package/cli/node_modules/source-map/dist/source-map.debug.js +3234 -0
  164. package/cli/node_modules/source-map/dist/source-map.js +3233 -0
  165. package/cli/node_modules/source-map/dist/source-map.min.js +2 -0
  166. package/cli/node_modules/source-map/dist/source-map.min.js.map +1 -0
  167. package/cli/node_modules/source-map/lib/array-set.js +121 -0
  168. package/cli/node_modules/source-map/lib/base64-vlq.js +140 -0
  169. package/cli/node_modules/source-map/lib/base64.js +67 -0
  170. package/cli/node_modules/source-map/lib/binary-search.js +111 -0
  171. package/cli/node_modules/source-map/lib/mapping-list.js +79 -0
  172. package/cli/node_modules/source-map/lib/quick-sort.js +114 -0
  173. package/cli/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  174. package/cli/node_modules/source-map/lib/source-map-generator.js +425 -0
  175. package/cli/node_modules/source-map/lib/source-node.js +413 -0
  176. package/cli/node_modules/source-map/lib/util.js +488 -0
  177. package/cli/node_modules/source-map/package.json +73 -0
  178. package/cli/node_modules/source-map/source-map.d.ts +98 -0
  179. package/cli/node_modules/source-map/source-map.js +8 -0
  180. package/cli/node_modules/tmp/CHANGELOG.md +288 -0
  181. package/cli/node_modules/tmp/LICENSE +21 -0
  182. package/cli/node_modules/tmp/README.md +365 -0
  183. package/cli/node_modules/tmp/lib/tmp.js +780 -0
  184. package/cli/node_modules/tmp/package.json +58 -0
  185. package/cli/node_modules/type-check/LICENSE +22 -0
  186. package/cli/node_modules/type-check/README.md +210 -0
  187. package/cli/node_modules/type-check/lib/check.js +126 -0
  188. package/cli/node_modules/type-check/lib/index.js +16 -0
  189. package/cli/node_modules/type-check/lib/parse-type.js +196 -0
  190. package/cli/node_modules/type-check/package.json +40 -0
  191. package/cli/node_modules/word-wrap/LICENSE +21 -0
  192. package/cli/node_modules/word-wrap/README.md +182 -0
  193. package/cli/node_modules/word-wrap/index.d.ts +50 -0
  194. package/cli/node_modules/word-wrap/index.js +46 -0
  195. package/cli/node_modules/word-wrap/package.json +77 -0
  196. package/cli/node_modules/wrappy/LICENSE +15 -0
  197. package/cli/node_modules/wrappy/README.md +36 -0
  198. package/cli/node_modules/wrappy/package.json +29 -0
  199. package/cli/node_modules/wrappy/wrappy.js +33 -0
  200. package/cli/package.json +1 -0
  201. package/cli/pbjs.js +3 -1
  202. package/cli/targets/static.js +7 -1
  203. package/dist/light/protobuf.js +17 -5
  204. package/dist/light/protobuf.js.map +1 -1
  205. package/dist/light/protobuf.min.js +3 -3
  206. package/dist/light/protobuf.min.js.map +1 -1
  207. package/dist/minimal/protobuf.js +2 -2
  208. package/dist/minimal/protobuf.min.js +3 -3
  209. package/dist/minimal/protobuf.min.js.map +1 -1
  210. package/dist/protobuf.js +54 -9
  211. package/dist/protobuf.js.map +1 -1
  212. package/dist/protobuf.min.js +3 -3
  213. package/dist/protobuf.min.js.map +1 -1
  214. package/index.d.ts +11 -1
  215. package/package.json +2 -2
  216. package/src/field.js +3 -0
  217. package/src/namespace.js +2 -1
  218. package/src/parse.js +37 -4
  219. package/package-lock.json +0 -8922
  220. package/scripts/changelog.js +0 -150
package/index.d.ts CHANGED
@@ -602,8 +602,9 @@ export class Method extends ReflectionObject {
602
602
  * @param [responseStream] Whether the response is streamed
603
603
  * @param [options] Declared options
604
604
  * @param [comment] The comment for this method
605
+ * @param [parsedOptions] Declared options, properly parsed into an object
605
606
  */
606
- constructor(name: string, type: (string|undefined), requestType: string, responseType: string, requestStream?: (boolean|{ [k: string]: any }), responseStream?: (boolean|{ [k: string]: any }), options?: { [k: string]: any }, comment?: string);
607
+ constructor(name: string, type: (string|undefined), requestType: string, responseType: string, requestStream?: (boolean|{ [k: string]: any }), responseStream?: (boolean|{ [k: string]: any }), options?: { [k: string]: any }, comment?: string, parsedOptions?: { [k: string]: any });
607
608
 
608
609
  /** Method type. */
609
610
  public type: string;
@@ -629,6 +630,9 @@ export class Method extends ReflectionObject {
629
630
  /** Comment for this method */
630
631
  public comment: (string|null);
631
632
 
633
+ /** Options properly parsed into an object */
634
+ public parsedOptions: any;
635
+
632
636
  /**
633
637
  * Constructs a method from a method descriptor.
634
638
  * @param name Method name
@@ -666,6 +670,12 @@ export interface IMethod {
666
670
 
667
671
  /** Method options */
668
672
  options?: { [k: string]: any };
673
+
674
+ /** Method comments */
675
+ comment: string;
676
+
677
+ /** Method options properly parsed into an object */
678
+ parsedOptions?: { [k: string]: any };
669
679
  }
670
680
 
671
681
  /** Reflected namespace. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protobufjs",
3
- "version": "6.10.2",
3
+ "version": "6.11.2",
4
4
  "versionScheme": "~",
5
5
  "description": "Protocol Buffers for JavaScript (& TypeScript).",
6
6
  "author": "Daniel Wirtz <dcode+protobufjs@dcode.io>",
@@ -52,7 +52,7 @@
52
52
  "@protobufjs/pool": "^1.1.0",
53
53
  "@protobufjs/utf8": "^1.1.0",
54
54
  "@types/long": "^4.0.1",
55
- "@types/node": "^13.7.0",
55
+ "@types/node": ">=13.7.0",
56
56
  "long": "^4.0.0"
57
57
  },
58
58
  "devDependencies": {
package/src/field.js CHANGED
@@ -78,6 +78,9 @@ function Field(name, id, type, rule, extend, options, comment) {
78
78
  if (extend !== undefined && !util.isString(extend))
79
79
  throw TypeError("extend must be a string");
80
80
 
81
+ if (rule === "proto3_optional") {
82
+ rule = "optional";
83
+ }
81
84
  /**
82
85
  * Field rule, if any.
83
86
  * @type {string|undefined}
package/src/namespace.js CHANGED
@@ -6,6 +6,7 @@ var ReflectionObject = require("./object");
6
6
  ((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = "Namespace";
7
7
 
8
8
  var Field = require("./field"),
9
+ OneOf = require("./oneof"),
9
10
  util = require("./util");
10
11
 
11
12
  var Type, // cyclic
@@ -217,7 +218,7 @@ Namespace.prototype.getEnum = function getEnum(name) {
217
218
  */
218
219
  Namespace.prototype.add = function add(object) {
219
220
 
220
- if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof Enum || object instanceof Service || object instanceof Namespace))
221
+ if (!(object instanceof Field && object.extend !== undefined || object instanceof Type || object instanceof Enum || object instanceof Service || object instanceof Namespace || object instanceof OneOf))
221
222
  throw TypeError("object must be a valid nested object");
222
223
 
223
224
  if (!this.nested)
package/src/parse.js CHANGED
@@ -316,11 +316,19 @@ function parse(source, root, options) {
316
316
  break;
317
317
 
318
318
  case "required":
319
- case "optional":
320
319
  case "repeated":
321
320
  parseField(type, token);
322
321
  break;
323
322
 
323
+ case "optional":
324
+ /* istanbul ignore if */
325
+ if (isProto3) {
326
+ parseField(type, "proto3_optional");
327
+ } else {
328
+ parseField(type, "optional");
329
+ }
330
+ break;
331
+
324
332
  case "oneof":
325
333
  parseOneOf(type, token);
326
334
  break;
@@ -379,7 +387,16 @@ function parse(source, root, options) {
379
387
  }, function parseField_line() {
380
388
  parseInlineOptions(field);
381
389
  });
382
- parent.add(field);
390
+
391
+ if (rule === "proto3_optional") {
392
+ // for proto3 optional fields, we create a single-member Oneof to mimic "optional" behavior
393
+ var oneof = new OneOf("_" + name);
394
+ field.setOption("proto3_optional", true);
395
+ oneof.add(field);
396
+ parent.add(oneof);
397
+ } else {
398
+ parent.add(field);
399
+ }
383
400
 
384
401
  // JSON defaults to packed=true if not set so we have to set packed=false explicity when
385
402
  // parsing proto2 descriptors without the option, where applicable. This must be done for
@@ -413,11 +430,19 @@ function parse(source, root, options) {
413
430
  break;
414
431
 
415
432
  case "required":
416
- case "optional":
417
433
  case "repeated":
418
434
  parseField(type, token);
419
435
  break;
420
436
 
437
+ case "optional":
438
+ /* istanbul ignore if */
439
+ if (isProto3) {
440
+ parseField(type, "proto3_optional");
441
+ } else {
442
+ parseField(type, "optional");
443
+ }
444
+ break;
445
+
421
446
  /* istanbul ignore next */
422
447
  default:
423
448
  throw illegal(token); // there are no groups with proto3 semantics
@@ -699,10 +724,18 @@ function parse(source, root, options) {
699
724
 
700
725
  case "required":
701
726
  case "repeated":
702
- case "optional":
703
727
  parseField(parent, token, reference);
704
728
  break;
705
729
 
730
+ case "optional":
731
+ /* istanbul ignore if */
732
+ if (isProto3) {
733
+ parseField(parent, "proto3_optional", reference);
734
+ } else {
735
+ parseField(parent, "optional", reference);
736
+ }
737
+ break;
738
+
706
739
  default:
707
740
  /* istanbul ignore if */
708
741
  if (!isProto3 || !typeRefRe.test(token))