protobufjs 8.1.0-experimental → 8.1.1-experimental

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 v8.1.0-experimental (c) 2016, daniel wirtz
3
- * compiled wed, 07 may 2025 17:43:49 utc
2
+ * protobuf.js v8.1.1-experimental (c) 2016, daniel wirtz
3
+ * compiled wed, 07 may 2025 22:28:18 utc
4
4
  * licensed under the bsd-3-clause license
5
5
  * see: https://github.com/dcodeio/protobuf.js for details
6
6
  */
@@ -3424,6 +3424,12 @@ function ReflectionObject(name, options) {
3424
3424
  */
3425
3425
  this._features = {};
3426
3426
 
3427
+ /**
3428
+ * Whether or not features have been resolved.
3429
+ * @type {boolean}
3430
+ * /
3431
+ this._featuresResolved = false;
3432
+
3427
3433
  /**
3428
3434
  * Parent namespace.
3429
3435
  * @type {Namespace|null}
@@ -3530,7 +3536,6 @@ ReflectionObject.prototype.resolve = function resolve() {
3530
3536
  if (this.resolved)
3531
3537
  return this;
3532
3538
  if (this instanceof Root) {
3533
- this._resolveFeaturesRecursive(this._edition);
3534
3539
  this.resolved = true;
3535
3540
  }
3536
3541
  return this;
@@ -3551,6 +3556,10 @@ ReflectionObject.prototype._resolveFeaturesRecursive = function _resolveFeatures
3551
3556
  * @returns {undefined}
3552
3557
  */
3553
3558
  ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition) {
3559
+ if (this._featuresResolved) {
3560
+ return;
3561
+ }
3562
+
3554
3563
  var defaults = {};
3555
3564
 
3556
3565
  /* istanbul ignore if */
@@ -3574,6 +3583,7 @@ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition)
3574
3583
  throw new Error("Unknown edition: " + edition);
3575
3584
  }
3576
3585
  this._features = Object.assign(defaults, protoFeatures || {});
3586
+ this._featuresResolved = true;
3577
3587
  return;
3578
3588
  }
3579
3589
 
@@ -3595,6 +3605,7 @@ ReflectionObject.prototype._resolveFeatures = function _resolveFeatures(edition)
3595
3605
  // Sister fields should have the same features as their extensions.
3596
3606
  this.extensionField._features = this._features;
3597
3607
  }
3608
+ this._featuresResolved = true;
3598
3609
  };
3599
3610
 
3600
3611
  /**
@@ -4690,6 +4701,7 @@ Root.prototype.resolveAll = function resolveAll() {
4690
4701
  throw Error("unresolvable extensions: " + this.deferred.map(function(field) {
4691
4702
  return "'extend " + field.extend + "' in " + field.parent.fullName;
4692
4703
  }).join(", "));
4704
+ this._resolveFeaturesRecursive(this._edition);
4693
4705
  return Namespace.prototype.resolveAll.call(this);
4694
4706
  };
4695
4707