protobufjs 7.5.7 → 7.5.9

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * protobuf.js v7.5.7 (c) 2016, daniel wirtz
3
- * compiled sat, 09 may 2026 05:45:39 utc
2
+ * protobuf.js v7.5.9 (c) 2016, daniel wirtz
3
+ * compiled sun, 17 may 2026 16:51:59 utc
4
4
  * licensed under the bsd-3-clause license
5
5
  * see: https://github.com/dcodeio/protobuf.js for details
6
6
  */
@@ -429,9 +429,7 @@ EventEmitter.prototype.emit = function emit(evt) {
429
429
  module.exports = fetch;
430
430
 
431
431
  var asPromise = require(1),
432
- inquire = require(7);
433
-
434
- var fs = inquire("fs");
432
+ fs = require(6);
435
433
 
436
434
  /**
437
435
  * Node-style callback as used by {@link util.fetch}.
@@ -444,8 +442,7 @@ var fs = inquire("fs");
444
442
 
445
443
  /**
446
444
  * Options as used by {@link util.fetch}.
447
- * @typedef FetchOptions
448
- * @type {Object}
445
+ * @interface IFetchOptions
449
446
  * @property {boolean} [binary=false] Whether expecting a binary response
450
447
  * @property {boolean} [xhr=false] If `true`, forces the use of XMLHttpRequest
451
448
  */
@@ -454,7 +451,7 @@ var fs = inquire("fs");
454
451
  * Fetches the contents of a file.
455
452
  * @memberof util
456
453
  * @param {string} filename File path or url
457
- * @param {FetchOptions} options Fetch options
454
+ * @param {IFetchOptions} options Fetch options
458
455
  * @param {FetchCallback} callback Callback function
459
456
  * @returns {undefined}
460
457
  */
@@ -497,7 +494,7 @@ function fetch(filename, options, callback) {
497
494
  * @name util.fetch
498
495
  * @function
499
496
  * @param {string} path File path or url
500
- * @param {FetchOptions} [options] Fetch options
497
+ * @param {IFetchOptions} [options] Fetch options
501
498
  * @returns {Promise<string|Uint8Array>} Promise
502
499
  * @variation 3
503
500
  */
@@ -541,7 +538,20 @@ fetch.xhr = function fetch_xhr(filename, options, callback) {
541
538
  xhr.send();
542
539
  };
543
540
 
544
- },{"1":1,"7":7}],6:[function(require,module,exports){
541
+ },{"1":1,"6":6}],6:[function(require,module,exports){
542
+ "use strict";
543
+
544
+ var fs = null;
545
+ try {
546
+ fs = require(12);
547
+ if (!fs || !fs.readFile || !fs.readFileSync)
548
+ fs = null;
549
+ } catch (e) {
550
+ // `fs` is unavailable in browsers and browser-like bundles.
551
+ }
552
+ module.exports = fs;
553
+
554
+ },{"12":12}],7:[function(require,module,exports){
545
555
  "use strict";
546
556
 
547
557
  module.exports = factory(factory);
@@ -878,7 +888,7 @@ function readUintBE(buf, pos) {
878
888
  | buf[pos + 3]) >>> 0;
879
889
  }
880
890
 
881
- },{}],7:[function(require,module,exports){
891
+ },{}],8:[function(require,module,exports){
882
892
  "use strict";
883
893
  module.exports = inquire;
884
894
 
@@ -887,6 +897,7 @@ module.exports = inquire;
887
897
  * @memberof util
888
898
  * @param {string} moduleName Module to require
889
899
  * @returns {?Object} Required module if available and not empty, otherwise `null`
900
+ * @deprecated Legacy optional require helper. Will be removed in a future release.
890
901
  */
891
902
  function inquire(moduleName) {
892
903
  try {
@@ -917,7 +928,7 @@ var r = require.__self;
917
928
  delete Function.prototype.__self;
918
929
  */
919
930
 
920
- },{}],8:[function(require,module,exports){
931
+ },{}],9:[function(require,module,exports){
921
932
  "use strict";
922
933
 
923
934
  /**
@@ -984,7 +995,7 @@ path.resolve = function resolve(originPath, includePath, alreadyNormalized) {
984
995
  return (originPath = originPath.replace(/(?:\/|^)[^/]+$/, "")).length ? normalize(originPath + "/" + includePath) : includePath;
985
996
  };
986
997
 
987
- },{}],9:[function(require,module,exports){
998
+ },{}],10:[function(require,module,exports){
988
999
  "use strict";
989
1000
  module.exports = pool;
990
1001
 
@@ -1034,7 +1045,7 @@ function pool(alloc, slice, size) {
1034
1045
  };
1035
1046
  }
1036
1047
 
1037
- },{}],10:[function(require,module,exports){
1048
+ },{}],11:[function(require,module,exports){
1038
1049
  "use strict";
1039
1050
 
1040
1051
  /**
@@ -1140,7 +1151,9 @@ utf8.write = function utf8_write(string, buffer, offset) {
1140
1151
  return offset - start;
1141
1152
  };
1142
1153
 
1143
- },{}],11:[function(require,module,exports){
1154
+ },{}],12:[function(require,module,exports){
1155
+
1156
+ },{}],13:[function(require,module,exports){
1144
1157
  "use strict";
1145
1158
  /**
1146
1159
  * Runtime message from/to plain object converters.
@@ -1148,8 +1161,8 @@ utf8.write = function utf8_write(string, buffer, offset) {
1148
1161
  */
1149
1162
  var converter = exports;
1150
1163
 
1151
- var Enum = require(14),
1152
- util = require(33);
1164
+ var Enum = require(16),
1165
+ util = require(35);
1153
1166
 
1154
1167
  /**
1155
1168
  * Generates a partial value fromObject conveter.
@@ -1452,13 +1465,13 @@ converter.toObject = function toObject(mtype) {
1452
1465
  /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */
1453
1466
  };
1454
1467
 
1455
- },{"14":14,"33":33}],12:[function(require,module,exports){
1468
+ },{"16":16,"35":35}],14:[function(require,module,exports){
1456
1469
  "use strict";
1457
1470
  module.exports = decoder;
1458
1471
 
1459
- var Enum = require(14),
1460
- types = require(32),
1461
- util = require(33);
1472
+ var Enum = require(16),
1473
+ types = require(34),
1474
+ util = require(35);
1462
1475
 
1463
1476
  function missing(field) {
1464
1477
  return "missing required '" + field.name + "'";
@@ -1589,13 +1602,13 @@ function decoder(mtype) {
1589
1602
  /* eslint-enable no-unexpected-multiline */
1590
1603
  }
1591
1604
 
1592
- },{"14":14,"32":32,"33":33}],13:[function(require,module,exports){
1605
+ },{"16":16,"34":34,"35":35}],15:[function(require,module,exports){
1593
1606
  "use strict";
1594
1607
  module.exports = encoder;
1595
1608
 
1596
- var Enum = require(14),
1597
- types = require(32),
1598
- util = require(33);
1609
+ var Enum = require(16),
1610
+ types = require(34),
1611
+ util = require(35);
1599
1612
 
1600
1613
  /**
1601
1614
  * Generates a partial message type encoder.
@@ -1691,16 +1704,16 @@ function encoder(mtype) {
1691
1704
  /* eslint-enable no-unexpected-multiline, block-scoped-var, no-redeclare */
1692
1705
  }
1693
1706
 
1694
- },{"14":14,"32":32,"33":33}],14:[function(require,module,exports){
1707
+ },{"16":16,"34":34,"35":35}],16:[function(require,module,exports){
1695
1708
  "use strict";
1696
1709
  module.exports = Enum;
1697
1710
 
1698
1711
  // extends ReflectionObject
1699
- var ReflectionObject = require(22);
1712
+ var ReflectionObject = require(24);
1700
1713
  ((Enum.prototype = Object.create(ReflectionObject.prototype)).constructor = Enum).className = "Enum";
1701
1714
 
1702
- var Namespace = require(21),
1703
- util = require(33);
1715
+ var Namespace = require(23),
1716
+ util = require(35);
1704
1717
 
1705
1718
  /**
1706
1719
  * Constructs a new enum instance.
@@ -1919,17 +1932,17 @@ Enum.prototype.isReservedName = function isReservedName(name) {
1919
1932
  return Namespace.isReservedName(this.reserved, name);
1920
1933
  };
1921
1934
 
1922
- },{"21":21,"22":22,"33":33}],15:[function(require,module,exports){
1935
+ },{"23":23,"24":24,"35":35}],17:[function(require,module,exports){
1923
1936
  "use strict";
1924
1937
  module.exports = Field;
1925
1938
 
1926
1939
  // extends ReflectionObject
1927
- var ReflectionObject = require(22);
1940
+ var ReflectionObject = require(24);
1928
1941
  ((Field.prototype = Object.create(ReflectionObject.prototype)).constructor = Field).className = "Field";
1929
1942
 
1930
- var Enum = require(14),
1931
- types = require(32),
1932
- util = require(33);
1943
+ var Enum = require(16),
1944
+ types = require(34),
1945
+ util = require(35);
1933
1946
 
1934
1947
  var Type; // cyclic
1935
1948
 
@@ -2374,9 +2387,9 @@ Field._configure = function configure(Type_) {
2374
2387
  Type = Type_;
2375
2388
  };
2376
2389
 
2377
- },{"14":14,"22":22,"32":32,"33":33}],16:[function(require,module,exports){
2390
+ },{"16":16,"24":24,"34":34,"35":35}],18:[function(require,module,exports){
2378
2391
  "use strict";
2379
- var protobuf = module.exports = require(17);
2392
+ var protobuf = module.exports = require(19);
2380
2393
 
2381
2394
  protobuf.build = "light";
2382
2395
 
@@ -2449,30 +2462,30 @@ function loadSync(filename, root) {
2449
2462
  protobuf.loadSync = loadSync;
2450
2463
 
2451
2464
  // Serialization
2452
- protobuf.encoder = require(13);
2453
- protobuf.decoder = require(12);
2454
- protobuf.verifier = require(37);
2455
- protobuf.converter = require(11);
2465
+ protobuf.encoder = require(15);
2466
+ protobuf.decoder = require(14);
2467
+ protobuf.verifier = require(40);
2468
+ protobuf.converter = require(13);
2456
2469
 
2457
2470
  // Reflection
2458
- protobuf.ReflectionObject = require(22);
2459
- protobuf.Namespace = require(21);
2460
- protobuf.Root = require(26);
2461
- protobuf.Enum = require(14);
2462
- protobuf.Type = require(31);
2463
- protobuf.Field = require(15);
2464
- protobuf.OneOf = require(23);
2465
- protobuf.MapField = require(18);
2466
- protobuf.Service = require(30);
2467
- protobuf.Method = require(20);
2471
+ protobuf.ReflectionObject = require(24);
2472
+ protobuf.Namespace = require(23);
2473
+ protobuf.Root = require(28);
2474
+ protobuf.Enum = require(16);
2475
+ protobuf.Type = require(33);
2476
+ protobuf.Field = require(17);
2477
+ protobuf.OneOf = require(25);
2478
+ protobuf.MapField = require(20);
2479
+ protobuf.Service = require(32);
2480
+ protobuf.Method = require(22);
2468
2481
 
2469
2482
  // Runtime
2470
- protobuf.Message = require(19);
2471
- protobuf.wrappers = require(38);
2483
+ protobuf.Message = require(21);
2484
+ protobuf.wrappers = require(41);
2472
2485
 
2473
2486
  // Utility
2474
- protobuf.types = require(32);
2475
- protobuf.util = require(33);
2487
+ protobuf.types = require(34);
2488
+ protobuf.util = require(35);
2476
2489
 
2477
2490
  // Set up possibly cyclic reflection dependencies
2478
2491
  protobuf.ReflectionObject._configure(protobuf.Root);
@@ -2480,7 +2493,7 @@ protobuf.Namespace._configure(protobuf.Type, protobuf.Service, protobuf.Enum);
2480
2493
  protobuf.Root._configure(protobuf.Type);
2481
2494
  protobuf.Field._configure(protobuf.Type);
2482
2495
 
2483
- },{"11":11,"12":12,"13":13,"14":14,"15":15,"17":17,"18":18,"19":19,"20":20,"21":21,"22":22,"23":23,"26":26,"30":30,"31":31,"32":32,"33":33,"37":37,"38":38}],17:[function(require,module,exports){
2496
+ },{"13":13,"14":14,"15":15,"16":16,"17":17,"19":19,"20":20,"21":21,"22":22,"23":23,"24":24,"25":25,"28":28,"32":32,"33":33,"34":34,"35":35,"40":40,"41":41}],19:[function(require,module,exports){
2484
2497
  "use strict";
2485
2498
  var protobuf = exports;
2486
2499
 
@@ -2493,15 +2506,15 @@ var protobuf = exports;
2493
2506
  protobuf.build = "minimal";
2494
2507
 
2495
2508
  // Serialization
2496
- protobuf.Writer = require(39);
2497
- protobuf.BufferWriter = require(40);
2498
- protobuf.Reader = require(24);
2499
- protobuf.BufferReader = require(25);
2509
+ protobuf.Writer = require(42);
2510
+ protobuf.BufferWriter = require(43);
2511
+ protobuf.Reader = require(26);
2512
+ protobuf.BufferReader = require(27);
2500
2513
 
2501
2514
  // Utility
2502
- protobuf.util = require(35);
2503
- protobuf.rpc = require(28);
2504
- protobuf.roots = require(27);
2515
+ protobuf.util = require(38);
2516
+ protobuf.rpc = require(30);
2517
+ protobuf.roots = require(29);
2505
2518
  protobuf.configure = configure;
2506
2519
 
2507
2520
  /* istanbul ignore next */
@@ -2518,16 +2531,16 @@ function configure() {
2518
2531
  // Set up buffer utility according to the environment
2519
2532
  configure();
2520
2533
 
2521
- },{"24":24,"25":25,"27":27,"28":28,"35":35,"39":39,"40":40}],18:[function(require,module,exports){
2534
+ },{"26":26,"27":27,"29":29,"30":30,"38":38,"42":42,"43":43}],20:[function(require,module,exports){
2522
2535
  "use strict";
2523
2536
  module.exports = MapField;
2524
2537
 
2525
2538
  // extends Field
2526
- var Field = require(15);
2539
+ var Field = require(17);
2527
2540
  ((MapField.prototype = Object.create(Field.prototype)).constructor = MapField).className = "MapField";
2528
2541
 
2529
- var types = require(32),
2530
- util = require(33);
2542
+ var types = require(34),
2543
+ util = require(35);
2531
2544
 
2532
2545
  /**
2533
2546
  * Constructs a new map field instance.
@@ -2646,11 +2659,11 @@ MapField.d = function decorateMapField(fieldId, fieldKeyType, fieldValueType) {
2646
2659
  };
2647
2660
  };
2648
2661
 
2649
- },{"15":15,"32":32,"33":33}],19:[function(require,module,exports){
2662
+ },{"17":17,"34":34,"35":35}],21:[function(require,module,exports){
2650
2663
  "use strict";
2651
2664
  module.exports = Message;
2652
2665
 
2653
- var util = require(35);
2666
+ var util = require(38);
2654
2667
 
2655
2668
  /**
2656
2669
  * Constructs a new message instance.
@@ -2791,15 +2804,15 @@ Message.prototype.toJSON = function toJSON() {
2791
2804
 
2792
2805
  /*eslint-enable valid-jsdoc*/
2793
2806
 
2794
- },{"35":35}],20:[function(require,module,exports){
2807
+ },{"38":38}],22:[function(require,module,exports){
2795
2808
  "use strict";
2796
2809
  module.exports = Method;
2797
2810
 
2798
2811
  // extends ReflectionObject
2799
- var ReflectionObject = require(22);
2812
+ var ReflectionObject = require(24);
2800
2813
  ((Method.prototype = Object.create(ReflectionObject.prototype)).constructor = Method).className = "Method";
2801
2814
 
2802
- var util = require(33);
2815
+ var util = require(35);
2803
2816
 
2804
2817
  /**
2805
2818
  * Constructs a new service method instance.
@@ -2953,17 +2966,17 @@ Method.prototype.resolve = function resolve() {
2953
2966
  return ReflectionObject.prototype.resolve.call(this);
2954
2967
  };
2955
2968
 
2956
- },{"22":22,"33":33}],21:[function(require,module,exports){
2969
+ },{"24":24,"35":35}],23:[function(require,module,exports){
2957
2970
  "use strict";
2958
2971
  module.exports = Namespace;
2959
2972
 
2960
2973
  // extends ReflectionObject
2961
- var ReflectionObject = require(22);
2974
+ var ReflectionObject = require(24);
2962
2975
  ((Namespace.prototype = Object.create(ReflectionObject.prototype)).constructor = Namespace).className = "Namespace";
2963
2976
 
2964
- var Field = require(15),
2965
- util = require(33),
2966
- OneOf = require(23);
2977
+ var Field = require(17),
2978
+ util = require(35),
2979
+ OneOf = require(25);
2967
2980
 
2968
2981
  var Type, // cyclic
2969
2982
  Service,
@@ -2985,11 +2998,13 @@ var Type, // cyclic
2985
2998
  * @function
2986
2999
  * @param {string} name Namespace name
2987
3000
  * @param {Object.<string,*>} json JSON object
3001
+ * @param {number} [depth] Current nesting depth, defaults to `0`
2988
3002
  * @returns {Namespace} Created namespace
2989
3003
  * @throws {TypeError} If arguments are invalid
2990
3004
  */
2991
- Namespace.fromJSON = function fromJSON(name, json) {
2992
- return new Namespace(name, json.options).addJSON(json.nested);
3005
+ Namespace.fromJSON = function fromJSON(name, json, depth) {
3006
+ depth = util.checkDepth(depth);
3007
+ return new Namespace(name, json.options).addJSON(json.nested, depth);
2993
3008
  };
2994
3009
 
2995
3010
  /**
@@ -3147,9 +3162,11 @@ Namespace.prototype.toJSON = function toJSON(toJSONOptions) {
3147
3162
  /**
3148
3163
  * Adds nested objects to this namespace from nested object descriptors.
3149
3164
  * @param {Object.<string,AnyNestedObject>} nestedJson Any nested object descriptors
3165
+ * @param {number} [depth] Current nesting depth, defaults to `0`
3150
3166
  * @returns {Namespace} `this`
3151
3167
  */
3152
- Namespace.prototype.addJSON = function addJSON(nestedJson) {
3168
+ Namespace.prototype.addJSON = function addJSON(nestedJson, depth) {
3169
+ depth = util.checkDepth(depth);
3153
3170
  var ns = this;
3154
3171
  /* istanbul ignore else */
3155
3172
  if (nestedJson) {
@@ -3164,7 +3181,7 @@ Namespace.prototype.addJSON = function addJSON(nestedJson) {
3164
3181
  ? Service.fromJSON
3165
3182
  : nested.id !== undefined
3166
3183
  ? Field.fromJSON
3167
- : Namespace.fromJSON )(names[i], nested)
3184
+ : Namespace.fromJSON )(names[i], nested, depth + 1)
3168
3185
  );
3169
3186
  }
3170
3187
  }
@@ -3507,14 +3524,14 @@ Namespace._configure = function(Type_, Service_, Enum_) {
3507
3524
  Enum = Enum_;
3508
3525
  };
3509
3526
 
3510
- },{"15":15,"22":22,"23":23,"33":33}],22:[function(require,module,exports){
3527
+ },{"17":17,"24":24,"25":25,"35":35}],24:[function(require,module,exports){
3511
3528
  "use strict";
3512
3529
  module.exports = ReflectionObject;
3513
3530
 
3514
3531
  ReflectionObject.className = "ReflectionObject";
3515
3532
 
3516
- const OneOf = require(23);
3517
- var util = require(33);
3533
+ const OneOf = require(25);
3534
+ var util = require(35);
3518
3535
 
3519
3536
  var Root; // cyclic
3520
3537
 
@@ -3891,16 +3908,16 @@ ReflectionObject._configure = function(Root_) {
3891
3908
  Root = Root_;
3892
3909
  };
3893
3910
 
3894
- },{"23":23,"33":33}],23:[function(require,module,exports){
3911
+ },{"25":25,"35":35}],25:[function(require,module,exports){
3895
3912
  "use strict";
3896
3913
  module.exports = OneOf;
3897
3914
 
3898
3915
  // extends ReflectionObject
3899
- var ReflectionObject = require(22);
3916
+ var ReflectionObject = require(24);
3900
3917
  ((OneOf.prototype = Object.create(ReflectionObject.prototype)).constructor = OneOf).className = "OneOf";
3901
3918
 
3902
- var Field = require(15),
3903
- util = require(33);
3919
+ var Field = require(17),
3920
+ util = require(35);
3904
3921
 
3905
3922
  /**
3906
3923
  * Constructs a new oneof instance.
@@ -4115,11 +4132,11 @@ OneOf.d = function decorateOneOf() {
4115
4132
  };
4116
4133
  };
4117
4134
 
4118
- },{"15":15,"22":22,"33":33}],24:[function(require,module,exports){
4135
+ },{"17":17,"24":24,"35":35}],26:[function(require,module,exports){
4119
4136
  "use strict";
4120
4137
  module.exports = Reader;
4121
4138
 
4122
- var util = require(35);
4139
+ var util = require(38);
4123
4140
 
4124
4141
  var BufferReader; // cyclic
4125
4142
 
@@ -4543,15 +4560,15 @@ Reader._configure = function(BufferReader_) {
4543
4560
  });
4544
4561
  };
4545
4562
 
4546
- },{"35":35}],25:[function(require,module,exports){
4563
+ },{"38":38}],27:[function(require,module,exports){
4547
4564
  "use strict";
4548
4565
  module.exports = BufferReader;
4549
4566
 
4550
4567
  // extends Reader
4551
- var Reader = require(24);
4568
+ var Reader = require(26);
4552
4569
  (BufferReader.prototype = Object.create(Reader.prototype)).constructor = BufferReader;
4553
4570
 
4554
- var util = require(35);
4571
+ var util = require(38);
4555
4572
 
4556
4573
  /**
4557
4574
  * Constructs a new buffer reader instance.
@@ -4596,18 +4613,18 @@ BufferReader.prototype.string = function read_string_buffer() {
4596
4613
 
4597
4614
  BufferReader._configure();
4598
4615
 
4599
- },{"24":24,"35":35}],26:[function(require,module,exports){
4616
+ },{"26":26,"38":38}],28:[function(require,module,exports){
4600
4617
  "use strict";
4601
4618
  module.exports = Root;
4602
4619
 
4603
4620
  // extends Namespace
4604
- var Namespace = require(21);
4621
+ var Namespace = require(23);
4605
4622
  ((Root.prototype = Object.create(Namespace.prototype)).constructor = Root).className = "Root";
4606
4623
 
4607
- var Field = require(15),
4608
- Enum = require(14),
4609
- OneOf = require(23),
4610
- util = require(33);
4624
+ var Field = require(17),
4625
+ Enum = require(16),
4626
+ OneOf = require(25),
4627
+ util = require(35);
4611
4628
 
4612
4629
  var Type, // cyclic
4613
4630
  parse, // might be excluded
@@ -4654,14 +4671,16 @@ function Root(options) {
4654
4671
  * Loads a namespace descriptor into a root namespace.
4655
4672
  * @param {INamespace} json Namespace descriptor
4656
4673
  * @param {Root} [root] Root namespace, defaults to create a new one if omitted
4674
+ * @param {number} [depth] Current nesting depth, defaults to `0`
4657
4675
  * @returns {Root} Root namespace
4658
4676
  */
4659
- Root.fromJSON = function fromJSON(json, root) {
4677
+ Root.fromJSON = function fromJSON(json, root, depth) {
4678
+ depth = util.checkDepth(depth);
4660
4679
  if (!root)
4661
4680
  root = new Root();
4662
4681
  if (json.options)
4663
4682
  root.setOptions(json.options);
4664
- return root.addJSON(json.nested).resolveAll();
4683
+ return root.addJSON(json.nested, depth).resolveAll();
4665
4684
  };
4666
4685
 
4667
4686
  /**
@@ -5002,7 +5021,7 @@ Root._configure = function(Type_, parse_, common_) {
5002
5021
  common = common_;
5003
5022
  };
5004
5023
 
5005
- },{"14":14,"15":15,"21":21,"23":23,"33":33}],27:[function(require,module,exports){
5024
+ },{"16":16,"17":17,"23":23,"25":25,"35":35}],29:[function(require,module,exports){
5006
5025
  "use strict";
5007
5026
  module.exports = {};
5008
5027
 
@@ -5022,7 +5041,7 @@ module.exports = {};
5022
5041
  * var root = protobuf.roots["myroot"];
5023
5042
  */
5024
5043
 
5025
- },{}],28:[function(require,module,exports){
5044
+ },{}],30:[function(require,module,exports){
5026
5045
  "use strict";
5027
5046
 
5028
5047
  /**
@@ -5058,13 +5077,13 @@ var rpc = exports;
5058
5077
  * @returns {undefined}
5059
5078
  */
5060
5079
 
5061
- rpc.Service = require(29);
5080
+ rpc.Service = require(31);
5062
5081
 
5063
- },{"29":29}],29:[function(require,module,exports){
5082
+ },{"31":31}],31:[function(require,module,exports){
5064
5083
  "use strict";
5065
5084
  module.exports = Service;
5066
5085
 
5067
- var util = require(35);
5086
+ var util = require(38);
5068
5087
 
5069
5088
  // Extends EventEmitter
5070
5089
  (Service.prototype = Object.create(util.EventEmitter.prototype)).constructor = Service;
@@ -5204,17 +5223,17 @@ Service.prototype.end = function end(endedByRPC) {
5204
5223
  return this;
5205
5224
  };
5206
5225
 
5207
- },{"35":35}],30:[function(require,module,exports){
5226
+ },{"38":38}],32:[function(require,module,exports){
5208
5227
  "use strict";
5209
5228
  module.exports = Service;
5210
5229
 
5211
5230
  // extends Namespace
5212
- var Namespace = require(21);
5231
+ var Namespace = require(23);
5213
5232
  ((Service.prototype = Object.create(Namespace.prototype)).constructor = Service).className = "Service";
5214
5233
 
5215
- var Method = require(20),
5216
- util = require(33),
5217
- rpc = require(28);
5234
+ var Method = require(22),
5235
+ util = require(35),
5236
+ rpc = require(30);
5218
5237
 
5219
5238
  var reservedRe = util.patterns.reservedRe;
5220
5239
 
@@ -5255,17 +5274,19 @@ function Service(name, options) {
5255
5274
  * Constructs a service from a service descriptor.
5256
5275
  * @param {string} name Service name
5257
5276
  * @param {IService} json Service descriptor
5277
+ * @param {number} [depth] Current nesting depth, defaults to `0`
5258
5278
  * @returns {Service} Created service
5259
5279
  * @throws {TypeError} If arguments are invalid
5260
5280
  */
5261
- Service.fromJSON = function fromJSON(name, json) {
5281
+ Service.fromJSON = function fromJSON(name, json, depth) {
5282
+ depth = util.checkDepth(depth);
5262
5283
  var service = new Service(name, json.options);
5263
5284
  /* istanbul ignore else */
5264
5285
  if (json.methods)
5265
5286
  for (var names = Object.keys(json.methods), i = 0; i < names.length; ++i)
5266
5287
  service.add(Method.fromJSON(names[i], json.methods[names[i]]));
5267
5288
  if (json.nested)
5268
- service.addJSON(json.nested);
5289
+ service.addJSON(json.nested, depth);
5269
5290
  if (json.edition)
5270
5291
  service._edition = json.edition;
5271
5292
  service.comment = json.comment;
@@ -5399,28 +5420,28 @@ Service.prototype.create = function create(rpcImpl, requestDelimited, responseDe
5399
5420
  return rpcService;
5400
5421
  };
5401
5422
 
5402
- },{"20":20,"21":21,"28":28,"33":33}],31:[function(require,module,exports){
5423
+ },{"22":22,"23":23,"30":30,"35":35}],33:[function(require,module,exports){
5403
5424
  "use strict";
5404
5425
  module.exports = Type;
5405
5426
 
5406
5427
  // extends Namespace
5407
- var Namespace = require(21);
5428
+ var Namespace = require(23);
5408
5429
  ((Type.prototype = Object.create(Namespace.prototype)).constructor = Type).className = "Type";
5409
5430
 
5410
- var Enum = require(14),
5411
- OneOf = require(23),
5412
- Field = require(15),
5413
- MapField = require(18),
5414
- Service = require(30),
5415
- Message = require(19),
5416
- Reader = require(24),
5417
- Writer = require(39),
5418
- util = require(33),
5419
- encoder = require(13),
5420
- decoder = require(12),
5421
- verifier = require(37),
5422
- converter = require(11),
5423
- wrappers = require(38);
5431
+ var Enum = require(16),
5432
+ OneOf = require(25),
5433
+ Field = require(17),
5434
+ MapField = require(20),
5435
+ Service = require(32),
5436
+ Message = require(21),
5437
+ Reader = require(26),
5438
+ Writer = require(42),
5439
+ util = require(35),
5440
+ encoder = require(15),
5441
+ decoder = require(14),
5442
+ verifier = require(40),
5443
+ converter = require(13),
5444
+ wrappers = require(41);
5424
5445
 
5425
5446
  /**
5426
5447
  * Constructs a new reflected message type instance.
@@ -5635,9 +5656,11 @@ function clearCache(type) {
5635
5656
  * Creates a message type from a message type descriptor.
5636
5657
  * @param {string} name Message name
5637
5658
  * @param {IType} json Message type descriptor
5659
+ * @param {number} [depth] Current nesting depth, defaults to `0`
5638
5660
  * @returns {Type} Created message type
5639
5661
  */
5640
- Type.fromJSON = function fromJSON(name, json) {
5662
+ Type.fromJSON = function fromJSON(name, json, depth) {
5663
+ depth = util.checkDepth(depth);
5641
5664
  var type = new Type(name, json.options);
5642
5665
  type.extensions = json.extensions;
5643
5666
  type.reserved = json.reserved;
@@ -5664,7 +5687,7 @@ Type.fromJSON = function fromJSON(name, json) {
5664
5687
  ? Enum.fromJSON
5665
5688
  : nested.methods !== undefined
5666
5689
  ? Service.fromJSON
5667
- : Namespace.fromJSON )(names[i], nested)
5690
+ : Namespace.fromJSON )(names[i], nested, depth + 1)
5668
5691
  );
5669
5692
  }
5670
5693
  if (json.extensions && json.extensions.length)
@@ -6026,7 +6049,7 @@ Type.d = function decorateType(typeName) {
6026
6049
  };
6027
6050
  };
6028
6051
 
6029
- },{"11":11,"12":12,"13":13,"14":14,"15":15,"18":18,"19":19,"21":21,"23":23,"24":24,"30":30,"33":33,"37":37,"38":38,"39":39}],32:[function(require,module,exports){
6052
+ },{"13":13,"14":14,"15":15,"16":16,"17":17,"20":20,"21":21,"23":23,"25":25,"26":26,"32":32,"35":35,"40":40,"41":41,"42":42}],34:[function(require,module,exports){
6030
6053
  "use strict";
6031
6054
 
6032
6055
  /**
@@ -6035,7 +6058,7 @@ Type.d = function decorateType(typeName) {
6035
6058
  */
6036
6059
  var types = exports;
6037
6060
 
6038
- var util = require(33);
6061
+ var util = require(35);
6039
6062
 
6040
6063
  var s = [
6041
6064
  "double", // 0
@@ -6224,24 +6247,24 @@ types.packed = bake([
6224
6247
  /* bool */ 0
6225
6248
  ]);
6226
6249
 
6227
- },{"33":33}],33:[function(require,module,exports){
6250
+ },{"35":35}],35:[function(require,module,exports){
6228
6251
  "use strict";
6229
6252
 
6230
6253
  /**
6231
6254
  * Various utility functions.
6232
6255
  * @namespace
6233
6256
  */
6234
- var util = module.exports = require(35);
6257
+ var util = module.exports = require(38);
6235
6258
 
6236
- var roots = require(27);
6259
+ var roots = require(29);
6237
6260
 
6238
6261
  var Type, // cyclic
6239
6262
  Enum;
6240
6263
 
6241
6264
  util.codegen = require(3);
6242
6265
  util.fetch = require(5);
6243
- util.path = require(8);
6244
- util.patterns = require(36);
6266
+ util.path = require(9);
6267
+ util.patterns = require(39);
6245
6268
 
6246
6269
  var reservedRe = util.patterns.reservedRe,
6247
6270
  unsafePropertyRe = util.patterns.unsafePropertyRe;
@@ -6250,7 +6273,21 @@ var reservedRe = util.patterns.reservedRe,
6250
6273
  * Node's fs module if available.
6251
6274
  * @type {Object.<string,*>}
6252
6275
  */
6253
- util.fs = util.inquire("fs");
6276
+ util.fs = require(36);
6277
+
6278
+ /**
6279
+ * Checks a recursion depth.
6280
+ * @param {number|undefined} depth Depth of recursion
6281
+ * @returns {number} Depth of recursion
6282
+ * @throws {Error} If depth exceeds util.recursionLimit
6283
+ */
6284
+ util.checkDepth = function checkDepth(depth) {
6285
+ if (depth === undefined)
6286
+ depth = 0;
6287
+ if (depth > util.recursionLimit)
6288
+ throw Error("max depth exceeded");
6289
+ return depth;
6290
+ };
6254
6291
 
6255
6292
  /**
6256
6293
  * Converts an object's values to an array.
@@ -6360,7 +6397,7 @@ util.decorateType = function decorateType(ctor, typeName) {
6360
6397
 
6361
6398
  /* istanbul ignore next */
6362
6399
  if (!Type)
6363
- Type = require(31);
6400
+ Type = require(33);
6364
6401
 
6365
6402
  var type = new Type(typeName || ctor.name);
6366
6403
  util.decorateRoot.add(type);
@@ -6385,7 +6422,7 @@ util.decorateEnum = function decorateEnum(object) {
6385
6422
 
6386
6423
  /* istanbul ignore next */
6387
6424
  if (!Enum)
6388
- Enum = require(14);
6425
+ Enum = require(16);
6389
6426
 
6390
6427
  var enm = new Enum("Enum" + decorateEnumIndex++, object);
6391
6428
  util.decorateRoot.add(enm);
@@ -6437,15 +6474,28 @@ util.setProperty = function setProperty(dst, path, value, ifNotSet) {
6437
6474
  */
6438
6475
  Object.defineProperty(util, "decorateRoot", {
6439
6476
  get: function() {
6440
- return roots["decorated"] || (roots["decorated"] = new (require(26))());
6477
+ return roots["decorated"] || (roots["decorated"] = new (require(28))());
6441
6478
  }
6442
6479
  });
6443
6480
 
6444
- },{"14":14,"26":26,"27":27,"3":3,"31":31,"35":35,"36":36,"5":5,"8":8}],34:[function(require,module,exports){
6481
+ },{"16":16,"28":28,"29":29,"3":3,"33":33,"36":36,"38":38,"39":39,"5":5,"9":9}],36:[function(require,module,exports){
6482
+ "use strict";
6483
+
6484
+ var fs = null;
6485
+ try {
6486
+ fs = require(12);
6487
+ if (!fs || !fs.readFile || !fs.readFileSync)
6488
+ fs = null;
6489
+ } catch (e) {
6490
+ // `fs` is unavailable in browsers and browser-like bundles.
6491
+ }
6492
+ module.exports = fs;
6493
+
6494
+ },{"12":12}],37:[function(require,module,exports){
6445
6495
  "use strict";
6446
6496
  module.exports = LongBits;
6447
6497
 
6448
- var util = require(35);
6498
+ var util = require(38);
6449
6499
 
6450
6500
  /**
6451
6501
  * Constructs new long bits.
@@ -6643,7 +6693,7 @@ LongBits.prototype.length = function length() {
6643
6693
  : part2 < 128 ? 9 : 10;
6644
6694
  };
6645
6695
 
6646
- },{"35":35}],35:[function(require,module,exports){
6696
+ },{"38":38}],38:[function(require,module,exports){
6647
6697
  "use strict";
6648
6698
  var util = exports;
6649
6699
 
@@ -6657,19 +6707,19 @@ util.base64 = require(2);
6657
6707
  util.EventEmitter = require(4);
6658
6708
 
6659
6709
  // float handling accross browsers
6660
- util.float = require(6);
6710
+ util.float = require(7);
6661
6711
 
6662
6712
  // requires modules optionally and hides the call from bundlers
6663
- util.inquire = require(7);
6713
+ util.inquire = require(8);
6664
6714
 
6665
6715
  // converts to / from utf8 encoded strings
6666
- util.utf8 = require(10);
6716
+ util.utf8 = require(11);
6667
6717
 
6668
6718
  // provides a node-like buffer pool in the browser
6669
- util.pool = require(9);
6719
+ util.pool = require(10);
6670
6720
 
6671
6721
  // utility to work with the low and high bits of a 64 bit value
6672
- util.LongBits = require(34);
6722
+ util.LongBits = require(37);
6673
6723
 
6674
6724
  /**
6675
6725
  * Whether running within node or not.
@@ -6771,7 +6821,7 @@ util.isSet = function isSet(obj, prop) {
6771
6821
  */
6772
6822
  util.Buffer = (function() {
6773
6823
  try {
6774
- var Buffer = util.inquire("buffer").Buffer;
6824
+ var Buffer = util.global.Buffer;
6775
6825
  // refuse to use non-node buffers if not explicitly assigned (perf reasons):
6776
6826
  return Buffer.prototype.utf8Write ? Buffer : /* istanbul ignore next */ null;
6777
6827
  } catch (e) {
@@ -6825,7 +6875,15 @@ util.Array = typeof Uint8Array !== "undefined" ? Uint8Array /* istanbul ignore n
6825
6875
  */
6826
6876
  util.Long = /* istanbul ignore next */ util.global.dcodeIO && /* istanbul ignore next */ util.global.dcodeIO.Long
6827
6877
  || /* istanbul ignore next */ util.global.Long
6828
- || util.inquire("long");
6878
+ || (function() {
6879
+ try {
6880
+ var Long = require("long");
6881
+ return Long && Long.isLong ? Long : null;
6882
+ } catch (e) {
6883
+ /* istanbul ignore next */
6884
+ return null;
6885
+ }
6886
+ })();
6829
6887
 
6830
6888
  /**
6831
6889
  * Regular expression used to verify 2 bit (`bool`) map keys.
@@ -7106,7 +7164,7 @@ util._configure = function() {
7106
7164
  };
7107
7165
  };
7108
7166
 
7109
- },{"1":1,"10":10,"2":2,"34":34,"4":4,"6":6,"7":7,"9":9}],36:[function(require,module,exports){
7167
+ },{"1":1,"10":10,"11":11,"2":2,"37":37,"4":4,"7":7,"8":8,"long":"long"}],39:[function(require,module,exports){
7110
7168
  "use strict";
7111
7169
 
7112
7170
  var patterns = exports;
@@ -7116,12 +7174,12 @@ patterns.typeRefRe = /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]
7116
7174
  patterns.reservedRe = /^(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$/;
7117
7175
  patterns.unsafePropertyRe = /^(?:__proto__|prototype|constructor)$/;
7118
7176
 
7119
- },{}],37:[function(require,module,exports){
7177
+ },{}],40:[function(require,module,exports){
7120
7178
  "use strict";
7121
7179
  module.exports = verifier;
7122
7180
 
7123
- var Enum = require(14),
7124
- util = require(33);
7181
+ var Enum = require(16),
7182
+ util = require(35);
7125
7183
 
7126
7184
  function invalid(field, expected) {
7127
7185
  return field.name + ": " + expected + (field.repeated && expected !== "array" ? "[]" : field.map && expected !== "object" ? "{k:"+field.keyType+"}" : "") + " expected";
@@ -7298,7 +7356,7 @@ function verifier(mtype) {
7298
7356
  /* eslint-enable no-unexpected-multiline */
7299
7357
  }
7300
7358
 
7301
- },{"14":14,"33":33}],38:[function(require,module,exports){
7359
+ },{"16":16,"35":35}],41:[function(require,module,exports){
7302
7360
  "use strict";
7303
7361
 
7304
7362
  /**
@@ -7308,7 +7366,7 @@ function verifier(mtype) {
7308
7366
  */
7309
7367
  var wrappers = exports;
7310
7368
 
7311
- var Message = require(19);
7369
+ var Message = require(21);
7312
7370
 
7313
7371
  /**
7314
7372
  * From object converter part of an {@link IWrapper}.
@@ -7403,11 +7461,11 @@ wrappers[".google.protobuf.Any"] = {
7403
7461
  }
7404
7462
  };
7405
7463
 
7406
- },{"19":19}],39:[function(require,module,exports){
7464
+ },{"21":21}],42:[function(require,module,exports){
7407
7465
  "use strict";
7408
7466
  module.exports = Writer;
7409
7467
 
7410
- var util = require(35);
7468
+ var util = require(38);
7411
7469
 
7412
7470
  var BufferWriter; // cyclic
7413
7471
 
@@ -7870,15 +7928,15 @@ Writer._configure = function(BufferWriter_) {
7870
7928
  BufferWriter._configure();
7871
7929
  };
7872
7930
 
7873
- },{"35":35}],40:[function(require,module,exports){
7931
+ },{"38":38}],43:[function(require,module,exports){
7874
7932
  "use strict";
7875
7933
  module.exports = BufferWriter;
7876
7934
 
7877
7935
  // extends Writer
7878
- var Writer = require(39);
7936
+ var Writer = require(42);
7879
7937
  (BufferWriter.prototype = Object.create(Writer.prototype)).constructor = BufferWriter;
7880
7938
 
7881
- var util = require(35);
7939
+ var util = require(38);
7882
7940
 
7883
7941
  /**
7884
7942
  * Constructs a new buffer writer instance.
@@ -7957,7 +8015,7 @@ BufferWriter.prototype.string = function write_string_buffer(value) {
7957
8015
 
7958
8016
  BufferWriter._configure();
7959
8017
 
7960
- },{"35":35,"39":39}]},{},[16])
8018
+ },{"38":38,"42":42}]},{},[18])
7961
8019
 
7962
8020
  })();
7963
8021
  //# sourceMappingURL=protobuf.js.map