mobx 6.13.5 → 6.13.7

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/dist/mobx.esm.js CHANGED
@@ -4703,8 +4703,8 @@ var ObservableSet = /*#__PURE__*/function () {
4703
4703
  if (!change) {
4704
4704
  return this;
4705
4705
  }
4706
- // ideally, value = change.value would be done here, so that values can be
4707
- // changed by interceptor. Same applies for other Set and Map api's.
4706
+ // implemented reassignment same as it's done for ObservableMap
4707
+ value = change.newValue;
4708
4708
  }
4709
4709
  if (!this.has(value)) {
4710
4710
  transaction(function () {
@@ -4776,19 +4776,18 @@ var ObservableSet = /*#__PURE__*/function () {
4776
4776
  return this.data_.has(this.dehanceValue_(value));
4777
4777
  };
4778
4778
  _proto.entries = function entries() {
4779
- var nextIndex = 0;
4780
- var keys = Array.from(this.keys());
4781
- var values = Array.from(this.values());
4779
+ var values = this.values();
4782
4780
  return makeIterableForSet({
4783
4781
  next: function next() {
4784
- var index = nextIndex;
4785
- nextIndex += 1;
4786
- return index < values.length ? {
4787
- value: [keys[index], values[index]],
4788
- done: false
4782
+ var _values$next = values.next(),
4783
+ value = _values$next.value,
4784
+ done = _values$next.done;
4785
+ return !done ? {
4786
+ value: [value, value],
4787
+ done: done
4789
4788
  } : {
4790
4789
  value: undefined,
4791
- done: true
4790
+ done: done
4792
4791
  };
4793
4792
  }
4794
4793
  });
@@ -4799,16 +4798,18 @@ var ObservableSet = /*#__PURE__*/function () {
4799
4798
  _proto.values = function values() {
4800
4799
  this.atom_.reportObserved();
4801
4800
  var self = this;
4802
- var nextIndex = 0;
4803
- var observableValues = Array.from(this.data_.values());
4801
+ var values = this.data_.values();
4804
4802
  return makeIterableForSet({
4805
4803
  next: function next() {
4806
- return nextIndex < observableValues.length ? {
4807
- value: self.dehanceValue_(observableValues[nextIndex++]),
4808
- done: false
4804
+ var _values$next2 = values.next(),
4805
+ value = _values$next2.value,
4806
+ done = _values$next2.done;
4807
+ return !done ? {
4808
+ value: self.dehanceValue_(value),
4809
+ done: done
4809
4810
  } : {
4810
4811
  value: undefined,
4811
- done: true
4812
+ done: done
4812
4813
  };
4813
4814
  }
4814
4815
  });
@@ -5758,6 +5759,8 @@ function deepEqual(a, b, depth) {
5758
5759
  return eq(a, b, depth);
5759
5760
  }
5760
5761
  // Copied from https://github.com/jashkenas/underscore/blob/5c237a7c682fb68fd5378203f0bf22dce1624854/underscore.js#L1186-L1289
5762
+ // Modified: "Deep compare objects" part to iterate over keys in forward order instead of reverse order.
5763
+ //
5761
5764
  // Internal recursive comparison function for `isEqual`.
5762
5765
  function eq(a, b, depth, aStack, bStack) {
5763
5766
  // Identical objects are equal. `0 === -0`, but they aren't identical.
@@ -5870,15 +5873,14 @@ function eq(a, b, depth, aStack, bStack) {
5870
5873
  } else {
5871
5874
  // Deep compare objects.
5872
5875
  var keys = Object.keys(a);
5873
- var key;
5874
- length = keys.length;
5876
+ var _length = keys.length;
5875
5877
  // Ensure that both objects contain the same number of properties before comparing deep equality.
5876
- if (Object.keys(b).length !== length) {
5878
+ if (Object.keys(b).length !== _length) {
5877
5879
  return false;
5878
5880
  }
5879
- while (length--) {
5881
+ for (var i = 0; i < _length; i++) {
5880
5882
  // Deep compare each member
5881
- key = keys[length];
5883
+ var key = keys[i];
5882
5884
  if (!(hasProp(b, key) && eq(a[key], b[key], depth - 1, aStack, bStack))) {
5883
5885
  return false;
5884
5886
  }