mobx 5.14.1 → 5.15.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.
@@ -73,7 +73,7 @@ function __spread() {
73
73
  return ar;
74
74
  }
75
75
 
76
- var OBFUSCATED_ERROR = "An invariant failed, however the error is obfuscated because this is an production build.";
76
+ var OBFUSCATED_ERROR = "An invariant failed, however the error is obfuscated because this is a production build.";
77
77
  var EMPTY_ARRAY = [];
78
78
  Object.freeze(EMPTY_ARRAY);
79
79
  var EMPTY_OBJECT = {};
@@ -317,14 +317,27 @@ function createPropertyInitializerDescriptor(prop, enumerable) {
317
317
  }));
318
318
  }
319
319
  function initializeInstance(target) {
320
+ var e_1, _a;
320
321
  if (target[mobxDidRunLazyInitializersSymbol] === true)
321
322
  return;
322
323
  var decorators = target[mobxPendingDecorators];
323
324
  if (decorators) {
324
325
  addHiddenProp(target, mobxDidRunLazyInitializersSymbol, true);
325
- for (var key in decorators) {
326
- var d = decorators[key];
327
- d.propertyCreator(target, d.prop, d.descriptor, d.decoratorTarget, d.decoratorArguments);
326
+ // Build property key array from both strings and symbols
327
+ var keys = __spread(Object.getOwnPropertySymbols(decorators), Object.keys(decorators));
328
+ try {
329
+ for (var keys_1 = __values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) {
330
+ var key = keys_1_1.value;
331
+ var d = decorators[key];
332
+ d.propertyCreator(target, d.prop, d.descriptor, d.decoratorTarget, d.decoratorArguments);
333
+ }
334
+ }
335
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
336
+ finally {
337
+ try {
338
+ if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
339
+ }
340
+ finally { if (e_1) throw e_1.error; }
328
341
  }
329
342
  }
330
343
  }
@@ -367,7 +380,8 @@ function createPropDecorator(propertyInitiallyEnumerable, propertyCreator) {
367
380
  };
368
381
  }
369
382
  function quacksLikeADecorator(args) {
370
- return (((args.length === 2 || args.length === 3) && typeof args[1] === "string") ||
383
+ return (((args.length === 2 || args.length === 3) &&
384
+ (typeof args[1] === "string" || typeof args[1] === "symbol")) ||
371
385
  (args.length === 4 && args[3] === true));
372
386
  }
373
387
 
@@ -484,7 +498,7 @@ function getEnhancerFromOptions(options) {
484
498
  */
485
499
  function createObservable(v, arg2, arg3) {
486
500
  // @observable someProp;
487
- if (typeof arguments[1] === "string") {
501
+ if (typeof arguments[1] === "string" || typeof arguments[1] === "symbol") {
488
502
  return deepDecorator.apply(null, arguments);
489
503
  }
490
504
  // it is an observable already, done
@@ -652,6 +666,8 @@ function shouldCompute(derivation) {
652
666
  case IDerivationState.STALE:
653
667
  return true;
654
668
  case IDerivationState.POSSIBLY_STALE: {
669
+ // state propagation can occur outside of action/reactive context #2195
670
+ var prevAllowStateReads = allowStateReadsStart(true);
655
671
  var prevUntracked = untrackedStart(); // no need for those computeds to be reported, they will be picked up in trackDerivedFunction.
656
672
  var obs = derivation.observing, l = obs.length;
657
673
  for (var i = 0; i < l; i++) {
@@ -667,6 +683,7 @@ function shouldCompute(derivation) {
667
683
  catch (e) {
668
684
  // we are not interested in the value *or* exception at this moment, but if there is one, notify all
669
685
  untrackedEnd(prevUntracked);
686
+ allowStateReadsEnd(prevAllowStateReads);
670
687
  return true;
671
688
  }
672
689
  }
@@ -675,12 +692,14 @@ function shouldCompute(derivation) {
675
692
  // invariantShouldCompute(derivation)
676
693
  if (derivation.dependenciesState === IDerivationState.STALE) {
677
694
  untrackedEnd(prevUntracked);
695
+ allowStateReadsEnd(prevAllowStateReads);
678
696
  return true;
679
697
  }
680
698
  }
681
699
  }
682
700
  changeDependenciesStateTo0(derivation);
683
701
  untrackedEnd(prevUntracked);
702
+ allowStateReadsEnd(prevAllowStateReads);
684
703
  return false;
685
704
  }
686
705
  }
@@ -1129,8 +1148,7 @@ var ComputedValue = /** @class */ (function () {
1129
1148
  this.isComputing = false; // to check for cycles
1130
1149
  this.isRunningSetter = false;
1131
1150
  this.isTracing = TraceMode.NONE;
1132
- if (process.env.NODE_ENV !== "production" && !options.get)
1133
- throw "[mobx] missing option for computed: get";
1151
+ invariant(options.get, "missing option for computed: get");
1134
1152
  this.derivation = options.get;
1135
1153
  this.name = options.name || "ComputedValue@" + getNextId();
1136
1154
  if (options.set)
@@ -1424,6 +1442,19 @@ var MobXGlobals = /** @class */ (function () {
1424
1442
  }
1425
1443
  return MobXGlobals;
1426
1444
  }());
1445
+ var mockGlobal = {};
1446
+ function getGlobal() {
1447
+ if (typeof window !== "undefined") {
1448
+ return window;
1449
+ }
1450
+ if (typeof global !== "undefined") {
1451
+ return global;
1452
+ }
1453
+ if (typeof self !== "undefined") {
1454
+ return self;
1455
+ }
1456
+ return mockGlobal;
1457
+ }
1427
1458
  var canMergeGlobalState = true;
1428
1459
  var isolateCalled = false;
1429
1460
  var globalState = (function () {
@@ -1477,16 +1508,6 @@ function resetGlobalState() {
1477
1508
  globalState[key] = defaultGlobals[key];
1478
1509
  globalState.allowStateChanges = !globalState.enforceActions;
1479
1510
  }
1480
- var mockGlobal = {};
1481
- function getGlobal() {
1482
- if (typeof window !== "undefined") {
1483
- return window;
1484
- }
1485
- if (typeof global !== "undefined") {
1486
- return global;
1487
- }
1488
- return mockGlobal;
1489
- }
1490
1511
 
1491
1512
  function hasObservers(observable) {
1492
1513
  return observable.observers && observable.observers.size > 0;
@@ -1892,7 +1913,7 @@ function spyReport(event) {
1892
1913
  function spyReportStart(event) {
1893
1914
  if (process.env.NODE_ENV === "production")
1894
1915
  return;
1895
- var change = __assign({}, event, { spyReportStart: true });
1916
+ var change = __assign(__assign({}, event), { spyReportStart: true });
1896
1917
  spyReport(change);
1897
1918
  }
1898
1919
  var END_EVENT = { spyReportEnd: true };
@@ -1900,7 +1921,7 @@ function spyReportEnd(change) {
1900
1921
  if (process.env.NODE_ENV === "production")
1901
1922
  return;
1902
1923
  if (change)
1903
- spyReport(__assign({}, change, { spyReportEnd: true }));
1924
+ spyReport(__assign(__assign({}, change), { spyReportEnd: true }));
1904
1925
  else
1905
1926
  spyReport(END_EVENT);
1906
1927
  }
@@ -2295,8 +2316,6 @@ function extendObservableObjectWithProperties(target, properties, decorators, de
2295
2316
  if (process.env.NODE_ENV !== "production") {
2296
2317
  if (!isPlainObject(properties))
2297
2318
  fail("'extendObservabe' only accepts plain objects as second argument");
2298
- if (Object.getOwnPropertyDescriptor(target, key))
2299
- fail("'extendObservable' can only be used to introduce new properties. Use 'set' or 'decorate' instead. The property '" + stringifyKey(key) + "' already exists on '" + target + "'");
2300
2319
  if (isComputed(descriptor.value))
2301
2320
  fail("Passing a 'computed' as initial property value is no longer supported by extendObservable. Use a getter or decorator instead");
2302
2321
  }
@@ -2350,9 +2369,16 @@ function nodeToObserverTree(node) {
2350
2369
  }
2351
2370
 
2352
2371
  var generatorId = 0;
2372
+ function FlowCancellationError() {
2373
+ this.message = "FLOW_CANCELLED";
2374
+ }
2375
+ FlowCancellationError.prototype = Object.create(Error.prototype);
2376
+ function isFlowCancellationError(error) {
2377
+ return error instanceof FlowCancellationError;
2378
+ }
2353
2379
  function flow(generator) {
2354
2380
  if (arguments.length !== 1)
2355
- fail(!!process.env.NODE_ENV && "Flow expects one 1 argument and cannot be used as decorator");
2381
+ fail(!!process.env.NODE_ENV && "Flow expects 1 argument and cannot be used as decorator");
2356
2382
  var name = generator.name || "<unnamed flow>";
2357
2383
  // Implementation based on https://github.com/tj/co/blob/master/index.js
2358
2384
  return function () {
@@ -2405,13 +2431,13 @@ function flow(generator) {
2405
2431
  if (pendingPromise)
2406
2432
  cancelPromise(pendingPromise);
2407
2433
  // Finally block can return (or yield) stuff..
2408
- var res = gen.return();
2434
+ var res = gen.return(undefined);
2409
2435
  // eat anything that promise would do, it's cancelled!
2410
2436
  var yieldedPromise = Promise.resolve(res.value);
2411
2437
  yieldedPromise.then(noop, noop);
2412
2438
  cancelPromise(yieldedPromise); // maybe it can be cancelled :)
2413
2439
  // reject our original promise
2414
- rejector(new Error("FLOW_CANCELLED"));
2440
+ rejector(new FlowCancellationError());
2415
2441
  }
2416
2442
  catch (e) {
2417
2443
  rejector(e); // there could be a throwing finally block
@@ -2858,7 +2884,7 @@ function whenPromise(predicate, opts) {
2858
2884
  return fail("the options 'onError' and 'promise' cannot be combined");
2859
2885
  var cancel;
2860
2886
  var res = new Promise(function (resolve, reject) {
2861
- var disposer = _when(predicate, resolve, __assign({}, opts, { onError: reject }));
2887
+ var disposer = _when(predicate, resolve, __assign(__assign({}, opts), { onError: reject }));
2862
2888
  cancel = function () {
2863
2889
  disposer();
2864
2890
  reject("WHEN_CANCELLED");
@@ -3175,7 +3201,7 @@ var ObservableArrayAdministration = /** @class */ (function () {
3175
3201
  // The reason why this is on right hand side here (and not above), is this way the uglifier will drop it, but it won't
3176
3202
  // cause any runtime overhead in development mode without NODE_ENV set, unless spying is enabled
3177
3203
  if (notifySpy && process.env.NODE_ENV !== "production")
3178
- spyReportStart(__assign({}, change, { name: this.atom.name }));
3204
+ spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));
3179
3205
  this.atom.reportChanged();
3180
3206
  if (notify)
3181
3207
  notifyListeners(this, change);
@@ -3197,7 +3223,7 @@ var ObservableArrayAdministration = /** @class */ (function () {
3197
3223
  }
3198
3224
  : null;
3199
3225
  if (notifySpy && process.env.NODE_ENV !== "production")
3200
- spyReportStart(__assign({}, change, { name: this.atom.name }));
3226
+ spyReportStart(__assign(__assign({}, change), { name: this.atom.name }));
3201
3227
  this.atom.reportChanged();
3202
3228
  // conform: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/observe
3203
3229
  if (notify)
@@ -3466,7 +3492,7 @@ var ObservableMap = /** @class */ (function () {
3466
3492
  }
3467
3493
  : null;
3468
3494
  if (notifySpy && process.env.NODE_ENV !== "production")
3469
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
3495
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
3470
3496
  transaction(function () {
3471
3497
  _this._keysAtom.reportChanged();
3472
3498
  _this._updateHasMapEntry(key, false);
@@ -3504,7 +3530,7 @@ var ObservableMap = /** @class */ (function () {
3504
3530
  }
3505
3531
  : null;
3506
3532
  if (notifySpy && process.env.NODE_ENV !== "production")
3507
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
3533
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
3508
3534
  observable.setNewValue(newValue);
3509
3535
  if (notify)
3510
3536
  notifyListeners(this, change);
@@ -3533,7 +3559,7 @@ var ObservableMap = /** @class */ (function () {
3533
3559
  }
3534
3560
  : null;
3535
3561
  if (notifySpy && process.env.NODE_ENV !== "production")
3536
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
3562
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
3537
3563
  if (notify)
3538
3564
  notifyListeners(this, change);
3539
3565
  if (notifySpy && process.env.NODE_ENV !== "production")
@@ -3587,17 +3613,17 @@ var ObservableMap = /** @class */ (function () {
3587
3613
  return this.entries();
3588
3614
  };
3589
3615
  ObservableMap.prototype.forEach = function (callback, thisArg) {
3590
- var e_1, _a;
3616
+ var e_1, _b;
3591
3617
  try {
3592
- for (var _b = __values(this), _c = _b.next(); !_c.done; _c = _b.next()) {
3593
- var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
3618
+ for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {
3619
+ var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
3594
3620
  callback.call(thisArg, value, key, this);
3595
3621
  }
3596
3622
  }
3597
3623
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
3598
3624
  finally {
3599
3625
  try {
3600
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3626
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
3601
3627
  }
3602
3628
  finally { if (e_1) throw e_1.error; }
3603
3629
  }
@@ -3612,8 +3638,8 @@ var ObservableMap = /** @class */ (function () {
3612
3638
  if (isPlainObject(other))
3613
3639
  getPlainObjectKeys(other).forEach(function (key) { return _this.set(key, other[key]); });
3614
3640
  else if (Array.isArray(other))
3615
- other.forEach(function (_a) {
3616
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
3641
+ other.forEach(function (_b) {
3642
+ var _c = __read(_b, 2), key = _c[0], value = _c[1];
3617
3643
  return _this.set(key, value);
3618
3644
  });
3619
3645
  else if (isES6Map(other)) {
@@ -3630,17 +3656,17 @@ var ObservableMap = /** @class */ (function () {
3630
3656
  var _this = this;
3631
3657
  transaction(function () {
3632
3658
  untracked(function () {
3633
- var e_2, _a;
3659
+ var e_2, _b;
3634
3660
  try {
3635
- for (var _b = __values(_this.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
3636
- var key = _c.value;
3661
+ for (var _c = __values(_this.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
3662
+ var key = _d.value;
3637
3663
  _this.delete(key);
3638
3664
  }
3639
3665
  }
3640
3666
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
3641
3667
  finally {
3642
3668
  try {
3643
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3669
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
3644
3670
  }
3645
3671
  finally { if (e_2) throw e_2.error; }
3646
3672
  }
@@ -3675,11 +3701,11 @@ var ObservableMap = /** @class */ (function () {
3675
3701
  * If there are duplicating keys after converting them to strings, behaviour is undetermined.
3676
3702
  */
3677
3703
  ObservableMap.prototype.toPOJO = function () {
3678
- var e_3, _a;
3704
+ var e_3, _b;
3679
3705
  var res = {};
3680
3706
  try {
3681
- for (var _b = __values(this), _c = _b.next(); !_c.done; _c = _b.next()) {
3682
- var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
3707
+ for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {
3708
+ var _e = __read(_d.value, 2), key = _e[0], value = _e[1];
3683
3709
  // We lie about symbol key types due to https://github.com/Microsoft/TypeScript/issues/1863
3684
3710
  res[typeof key === "symbol" ? key : stringifyKey(key)] = value;
3685
3711
  }
@@ -3687,7 +3713,7 @@ var ObservableMap = /** @class */ (function () {
3687
3713
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
3688
3714
  finally {
3689
3715
  try {
3690
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3716
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
3691
3717
  }
3692
3718
  finally { if (e_3) throw e_3.error; }
3693
3719
  }
@@ -3760,17 +3786,17 @@ var ObservableSet = /** @class */ (function () {
3760
3786
  var _this = this;
3761
3787
  transaction(function () {
3762
3788
  untracked(function () {
3763
- var e_1, _a;
3789
+ var e_1, _b;
3764
3790
  try {
3765
- for (var _b = __values(_this._data.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
3766
- var value = _c.value;
3791
+ for (var _c = __values(_this._data.values()), _d = _c.next(); !_d.done; _d = _c.next()) {
3792
+ var value = _d.value;
3767
3793
  _this.delete(value);
3768
3794
  }
3769
3795
  }
3770
3796
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
3771
3797
  finally {
3772
3798
  try {
3773
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3799
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
3774
3800
  }
3775
3801
  finally { if (e_1) throw e_1.error; }
3776
3802
  }
@@ -3778,17 +3804,17 @@ var ObservableSet = /** @class */ (function () {
3778
3804
  });
3779
3805
  };
3780
3806
  ObservableSet.prototype.forEach = function (callbackFn, thisArg) {
3781
- var e_2, _a;
3807
+ var e_2, _b;
3782
3808
  try {
3783
- for (var _b = __values(this), _c = _b.next(); !_c.done; _c = _b.next()) {
3784
- var value = _c.value;
3809
+ for (var _c = __values(this), _d = _c.next(); !_d.done; _d = _c.next()) {
3810
+ var value = _d.value;
3785
3811
  callbackFn.call(thisArg, value, value, this);
3786
3812
  }
3787
3813
  }
3788
3814
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
3789
3815
  finally {
3790
3816
  try {
3791
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3817
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
3792
3818
  }
3793
3819
  finally { if (e_2) throw e_2.error; }
3794
3820
  }
@@ -3860,7 +3886,7 @@ var ObservableSet = /** @class */ (function () {
3860
3886
  }
3861
3887
  : null;
3862
3888
  if (notifySpy && process.env.NODE_ENV !== "production")
3863
- spyReportStart(__assign({}, change, { name: this.name }));
3889
+ spyReportStart(__assign(__assign({}, change), { name: this.name }));
3864
3890
  transaction(function () {
3865
3891
  _this._atom.reportChanged();
3866
3892
  _this._data.delete(value);
@@ -3995,7 +4021,7 @@ var ObservableObjectAdministration = /** @class */ (function () {
3995
4021
  }
3996
4022
  : null;
3997
4023
  if (notifySpy && process.env.NODE_ENV !== "production")
3998
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
4024
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
3999
4025
  observable.setNewValue(newValue);
4000
4026
  if (notify)
4001
4027
  notifyListeners(this, change);
@@ -4085,7 +4111,7 @@ var ObservableObjectAdministration = /** @class */ (function () {
4085
4111
  }
4086
4112
  : null;
4087
4113
  if (notifySpy && process.env.NODE_ENV !== "production")
4088
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
4114
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
4089
4115
  if (notify)
4090
4116
  notifyListeners(this, change);
4091
4117
  if (notifySpy && process.env.NODE_ENV !== "production")
@@ -4142,7 +4168,7 @@ var ObservableObjectAdministration = /** @class */ (function () {
4142
4168
  }
4143
4169
  : null;
4144
4170
  if (notifySpy && process.env.NODE_ENV !== "production")
4145
- spyReportStart(__assign({}, change, { name: this.name, key: key }));
4171
+ spyReportStart(__assign(__assign({}, change), { name: this.name, key: key }));
4146
4172
  if (notify)
4147
4173
  notifyListeners(this, change);
4148
4174
  if (notifySpy && process.env.NODE_ENV !== "production")
@@ -4334,9 +4360,6 @@ function eq(a, b, depth, aStack, bStack) {
4334
4360
  var type = typeof a;
4335
4361
  if (type !== "function" && type !== "object" && typeof b != "object")
4336
4362
  return false;
4337
- // Unwrap any wrapped objects.
4338
- a = unwrap(a);
4339
- b = unwrap(b);
4340
4363
  // Compare `[[Class]]` names.
4341
4364
  var className = toString.call(a);
4342
4365
  if (className !== toString.call(b))
@@ -4364,7 +4387,18 @@ function eq(a, b, depth, aStack, bStack) {
4364
4387
  return +a === +b;
4365
4388
  case "[object Symbol]":
4366
4389
  return (typeof Symbol !== "undefined" && Symbol.valueOf.call(a) === Symbol.valueOf.call(b));
4390
+ case "[object Map]":
4391
+ case "[object Set]":
4392
+ // Maps and Sets are unwrapped to arrays of entry-pairs, adding an incidental level.
4393
+ // Hide this extra level by increasing the depth.
4394
+ if (depth >= 0) {
4395
+ depth++;
4396
+ }
4397
+ break;
4367
4398
  }
4399
+ // Unwrap any wrapped objects.
4400
+ a = unwrap(a);
4401
+ b = unwrap(b);
4368
4402
  var areArrays = className === "[object Array]";
4369
4403
  if (!areArrays) {
4370
4404
  if (typeof a != "object" || typeof b != "object")
@@ -4517,4 +4551,4 @@ if (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === "object") {
4517
4551
  });
4518
4552
  }
4519
4553
 
4520
- export { $mobx, IDerivationState, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, allowStateChangesInsideComputed as _allowStateChangesInsideComputed, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, decorate, entries, extendObservable, flow, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isArrayLike, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };
4554
+ export { $mobx, FlowCancellationError, IDerivationState, ObservableMap, ObservableSet, Reaction, allowStateChanges as _allowStateChanges, allowStateChangesInsideComputed as _allowStateChangesInsideComputed, allowStateReadsEnd as _allowStateReadsEnd, allowStateReadsStart as _allowStateReadsStart, _endAction, getAdministration as _getAdministration, getGlobalState as _getGlobalState, interceptReads as _interceptReads, isComputingDerivation as _isComputingDerivation, resetGlobalState as _resetGlobalState, _startAction, action, autorun, comparer, computed, configure, createAtom, decorate, entries, extendObservable, flow, get, getAtom, getDebugName, getDependencyTree, getObserverTree, has, intercept, isAction, isArrayLike, isObservableValue as isBoxedObservable, isComputed, isComputedProp, isFlowCancellationError, isObservable, isObservableArray, isObservableMap, isObservableObject, isObservableProp, isObservableSet, keys, observable, observe, onBecomeObserved, onBecomeUnobserved, onReactionError, reaction, remove, runInAction, set, spy, toJS, trace, transaction, untracked, values, when };