cloud-business 0.1.114-5 → 0.1.114-6

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/cloud-business.js CHANGED
@@ -178175,27 +178175,45 @@
178175
178175
  }
178176
178176
  return atomState.v;
178177
178177
  };
178178
- var createStore$2 = function createStore() {
178178
+ var createStore$1$1 = function createStore() {
178179
178179
  var atomStateMap = new WeakMap();
178180
178180
  var mountedMap = new WeakMap();
178181
- var pendingMap = new Map();
178182
- var storeListenersRev2;
178181
+ var pendingStack = [];
178182
+ var pendingMap = new WeakMap();
178183
+ var devListenersRev2;
178183
178184
  var mountedAtoms;
178184
178185
  {
178185
- storeListenersRev2 = new Set();
178186
+ devListenersRev2 = new Set();
178186
178187
  mountedAtoms = new Set();
178187
178188
  }
178188
178189
  var getAtomState = function getAtomState(atom) {
178189
178190
  return atomStateMap.get(atom);
178190
178191
  };
178192
+ var addPendingDependent = function addPendingDependent(atom, atomState) {
178193
+ atomState.d.forEach(function (_, a) {
178194
+ if (!pendingMap.has(a)) {
178195
+ var _pendingStack;
178196
+ var aState = getAtomState(a);
178197
+ (_pendingStack = pendingStack[pendingStack.length - 1]) == null || _pendingStack.add(a);
178198
+ pendingMap.set(a, [aState, new Set()]);
178199
+ if (aState) {
178200
+ addPendingDependent(a, aState);
178201
+ }
178202
+ }
178203
+ pendingMap.get(a)[1].add(atom);
178204
+ });
178205
+ };
178191
178206
  var setAtomState = function setAtomState(atom, atomState) {
178192
178207
  {
178193
178208
  Object.freeze(atomState);
178194
178209
  }
178195
- var prevAtomState = atomStateMap.get(atom);
178210
+ var prevAtomState = getAtomState(atom);
178196
178211
  atomStateMap.set(atom, atomState);
178197
178212
  if (!pendingMap.has(atom)) {
178198
- pendingMap.set(atom, prevAtomState);
178213
+ var _pendingStack2;
178214
+ (_pendingStack2 = pendingStack[pendingStack.length - 1]) == null || _pendingStack2.add(atom);
178215
+ pendingMap.set(atom, [prevAtomState, new Set()]);
178216
+ addPendingDependent(atom, atomState);
178199
178217
  }
178200
178218
  if (hasPromiseAtomValue(prevAtomState)) {
178201
178219
  var _next = 'v' in atomState ? atomState.v instanceof Promise ? atomState.v : Promise.resolve(atomState.v) : Promise.reject(atomState.e);
@@ -178324,7 +178342,7 @@
178324
178342
  if (Array.from(atomState.d).every(function (_ref) {
178325
178343
  var a = _ref[0],
178326
178344
  s = _ref[1];
178327
- if (isSelfAtom(atom, a)) {
178345
+ if (a === atom) {
178328
178346
  return true;
178329
178347
  }
178330
178348
  var aState = readAtomState(a);
@@ -178396,79 +178414,63 @@
178396
178414
  var readAtom = function readAtom(atom) {
178397
178415
  return returnAtomValue(readAtomState(atom));
178398
178416
  };
178399
- var addAtom = function addAtom(atom) {
178400
- var mounted = mountedMap.get(atom);
178401
- if (!mounted) {
178402
- mounted = mountAtom(atom);
178403
- }
178404
- return mounted;
178405
- };
178406
- var canUnmountAtom = function canUnmountAtom(atom, mounted) {
178407
- return !mounted.l.size && (!mounted.t.size || mounted.t.size === 1 && mounted.t.has(atom));
178408
- };
178409
- var delAtom = function delAtom(atom) {
178410
- var mounted = mountedMap.get(atom);
178411
- if (mounted && canUnmountAtom(atom, mounted)) {
178412
- unmountAtom(atom);
178413
- }
178414
- };
178415
178417
  var recomputeDependents = function recomputeDependents(atom) {
178416
- var dependencyMap = new Map();
178417
- var dirtyMap = new WeakMap();
178418
178418
  var getDependents = function getDependents(a) {
178419
- var _mountedMap$get;
178419
+ var _mountedMap$get, _pendingMap$get;
178420
178420
  var dependents = new Set((_mountedMap$get = mountedMap.get(a)) == null ? void 0 : _mountedMap$get.t);
178421
- pendingMap.forEach(function (_, pendingAtom) {
178422
- var _getAtomState;
178423
- if ((_getAtomState = getAtomState(pendingAtom)) != null && _getAtomState.d.has(a)) {
178424
- dependents.add(pendingAtom);
178425
- }
178421
+ (_pendingMap$get = pendingMap.get(a)) == null || _pendingMap$get[1].forEach(function (dependent) {
178422
+ dependents.add(dependent);
178426
178423
  });
178427
178424
  return dependents;
178428
178425
  };
178429
- var loop1 = function loop1(a) {
178430
- getDependents(a).forEach(function (dependent) {
178431
- if (dependent !== a) {
178432
- dependencyMap.set(dependent, (dependencyMap.get(dependent) || new Set()).add(a));
178433
- dirtyMap.set(dependent, (dirtyMap.get(dependent) || 0) + 1);
178434
- loop1(dependent);
178435
- }
178436
- });
178437
- };
178438
- loop1(atom);
178439
- var loop2 = function loop2(a) {
178440
- getDependents(a).forEach(function (dependent) {
178441
- if (dependent !== a) {
178442
- var dirtyCount = dirtyMap.get(dependent);
178443
- if (dirtyCount) {
178444
- dirtyMap.set(dependent, --dirtyCount);
178445
- }
178446
- if (!dirtyCount) {
178447
- var _dependencyMap$get;
178448
- var isChanged = !!((_dependencyMap$get = dependencyMap.get(dependent)) != null && _dependencyMap$get.size);
178449
- if (isChanged) {
178450
- var prevAtomState = getAtomState(dependent);
178451
- var nextAtomState = readAtomState(dependent, true);
178452
- isChanged = !isEqualAtomValue(prevAtomState, nextAtomState);
178453
- }
178454
- if (!isChanged) {
178455
- dependencyMap.forEach(function (s) {
178456
- return s.delete(dependent);
178457
- });
178458
- }
178459
- }
178460
- loop2(dependent);
178426
+ var topsortedAtoms = new Array();
178427
+ var markedAtoms = new Set();
178428
+ var visit = function visit(n) {
178429
+ if (markedAtoms.has(n)) {
178430
+ return;
178431
+ }
178432
+ markedAtoms.add(n);
178433
+ for (var _iterator = _createForOfIteratorHelperLoose(getDependents(n)), _step; !(_step = _iterator()).done;) {
178434
+ var m = _step.value;
178435
+ if (n !== m) {
178436
+ visit(m);
178461
178437
  }
178462
- });
178438
+ }
178439
+ topsortedAtoms.push(n);
178463
178440
  };
178464
- loop2(atom);
178441
+ visit(atom);
178442
+ var changedAtoms = new Set([atom]);
178443
+ for (var i = topsortedAtoms.length - 1; i >= 0; --i) {
178444
+ var _a = topsortedAtoms[i];
178445
+ var _prevAtomState = getAtomState(_a);
178446
+ if (!_prevAtomState) {
178447
+ continue;
178448
+ }
178449
+ var hasChangedDeps = false;
178450
+ for (var _iterator2 = _createForOfIteratorHelperLoose(_prevAtomState.d.keys()), _step2; !(_step2 = _iterator2()).done;) {
178451
+ var dep = _step2.value;
178452
+ if (dep !== _a && changedAtoms.has(dep)) {
178453
+ hasChangedDeps = true;
178454
+ break;
178455
+ }
178456
+ }
178457
+ if (hasChangedDeps) {
178458
+ var nextAtomState = readAtomState(_a, true);
178459
+ if (!isEqualAtomValue(_prevAtomState, nextAtomState)) {
178460
+ changedAtoms.add(_a);
178461
+ }
178462
+ }
178463
+ }
178465
178464
  };
178466
178465
  var writeAtomState = function writeAtomState(atom) {
178467
- var isSync = true;
178468
178466
  var getter = function getter(a) {
178469
178467
  return returnAtomValue(readAtomState(a));
178470
178468
  };
178471
178469
  var setter = function setter(a) {
178470
+ var isSync = pendingStack.length > 0;
178471
+ if (!isSync) {
178472
+ pendingStack.push(new Set([a]));
178473
+ }
178472
178474
  var r;
178473
178475
  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
178474
178476
  args[_key3 - 1] = arguments[_key3];
@@ -178477,18 +178479,18 @@
178477
178479
  if (!hasInitialValue(a)) {
178478
178480
  throw new Error('atom not writable');
178479
178481
  }
178480
- var prevAtomState = getAtomState(a);
178482
+ var _prevAtomState2 = getAtomState(a);
178481
178483
  var nextAtomState = setAtomValueOrPromise(a, args[0]);
178482
- if (!isEqualAtomValue(prevAtomState, nextAtomState)) {
178484
+ if (!isEqualAtomValue(_prevAtomState2, nextAtomState)) {
178483
178485
  recomputeDependents(a);
178484
178486
  }
178485
178487
  } else {
178486
178488
  r = writeAtomState.apply(void 0, [a].concat(args));
178487
178489
  }
178488
178490
  if (!isSync) {
178489
- var flushed = flushPending();
178491
+ var flushed = flushPending(pendingStack.pop());
178490
178492
  {
178491
- storeListenersRev2.forEach(function (l) {
178493
+ devListenersRev2.forEach(function (l) {
178492
178494
  return l({
178493
178495
  type: 'async-write',
178494
178496
  flushed: flushed
@@ -178502,17 +178504,17 @@
178502
178504
  args[_key2 - 1] = arguments[_key2];
178503
178505
  }
178504
178506
  var result = atom.write.apply(atom, [getter, setter].concat(args));
178505
- isSync = false;
178506
178507
  return result;
178507
178508
  };
178508
178509
  var writeAtom = function writeAtom(atom) {
178510
+ pendingStack.push(new Set([atom]));
178509
178511
  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
178510
178512
  args[_key4 - 1] = arguments[_key4];
178511
178513
  }
178512
178514
  var result = writeAtomState.apply(void 0, [atom].concat(args));
178513
- var flushed = flushPending();
178515
+ var flushed = flushPending(pendingStack.pop());
178514
178516
  {
178515
- storeListenersRev2.forEach(function (l) {
178517
+ devListenersRev2.forEach(function (l) {
178516
178518
  return l({
178517
178519
  type: 'write',
178518
178520
  flushed: flushed
@@ -178522,16 +178524,18 @@
178522
178524
  return result;
178523
178525
  };
178524
178526
  var mountAtom = function mountAtom(atom, initialDependent, onMountQueue) {
178525
- var _getAtomState2;
178527
+ var _getAtomState;
178528
+ var existingMount = mountedMap.get(atom);
178529
+ if (existingMount) {
178530
+ if (initialDependent) {
178531
+ existingMount.t.add(initialDependent);
178532
+ }
178533
+ return existingMount;
178534
+ }
178526
178535
  var queue = onMountQueue || [];
178527
- (_getAtomState2 = getAtomState(atom)) == null || _getAtomState2.d.forEach(function (_, a) {
178528
- var aMounted = mountedMap.get(a);
178529
- if (aMounted) {
178530
- aMounted.t.add(atom);
178531
- } else {
178532
- if (a !== atom) {
178533
- mountAtom(a, atom, queue);
178534
- }
178536
+ (_getAtomState = getAtomState(atom)) == null || _getAtomState.d.forEach(function (_, a) {
178537
+ if (a !== atom) {
178538
+ mountAtom(a, atom, queue);
178535
178539
  }
178536
178540
  });
178537
178541
  readAtomState(atom);
@@ -178564,9 +178568,14 @@
178564
178568
  }
178565
178569
  return mounted;
178566
178570
  };
178567
- var unmountAtom = function unmountAtom(atom) {
178568
- var _mountedMap$get2;
178569
- var onUnmount = (_mountedMap$get2 = mountedMap.get(atom)) == null ? void 0 : _mountedMap$get2.u;
178571
+ var canUnmountAtom = function canUnmountAtom(atom, mounted) {
178572
+ return !mounted.l.size && (!mounted.t.size || mounted.t.size === 1 && mounted.t.has(atom));
178573
+ };
178574
+ var tryUnmountAtom = function tryUnmountAtom(atom, mounted) {
178575
+ if (!canUnmountAtom(atom, mounted)) {
178576
+ return;
178577
+ }
178578
+ var onUnmount = mounted.u;
178570
178579
  if (onUnmount) {
178571
178580
  onUnmount();
178572
178581
  }
@@ -178581,12 +178590,10 @@
178581
178590
  }
178582
178591
  atomState.d.forEach(function (_, a) {
178583
178592
  if (a !== atom) {
178584
- var mounted = mountedMap.get(a);
178585
- if (mounted) {
178586
- mounted.t.delete(atom);
178587
- if (canUnmountAtom(a, mounted)) {
178588
- unmountAtom(a);
178589
- }
178593
+ var mountedDep = mountedMap.get(a);
178594
+ if (mountedDep) {
178595
+ mountedDep.t.delete(atom);
178596
+ tryUnmountAtom(a, mountedDep);
178590
178597
  }
178591
178598
  }
178592
178599
  });
@@ -178609,61 +178616,73 @@
178609
178616
  }
178610
178617
  });
178611
178618
  depSet.forEach(function (a) {
178612
- var mounted = mountedMap.get(a);
178613
- if (mounted) {
178614
- mounted.t.add(atom);
178615
- } else if (mountedMap.has(atom)) {
178616
- mountAtom(a, atom);
178617
- }
178619
+ mountAtom(a, atom);
178618
178620
  });
178619
178621
  maybeUnmountAtomSet.forEach(function (a) {
178620
178622
  var mounted = mountedMap.get(a);
178621
- if (mounted && canUnmountAtom(a, mounted)) {
178622
- unmountAtom(a);
178623
+ if (mounted) {
178624
+ tryUnmountAtom(a, mounted);
178623
178625
  }
178624
178626
  });
178625
178627
  };
178626
- var flushPending = function flushPending() {
178628
+ var flushPending = function flushPending(pendingAtoms) {
178627
178629
  var flushed;
178628
178630
  {
178629
178631
  flushed = new Set();
178630
178632
  }
178631
- while (pendingMap.size) {
178632
- var pending = Array.from(pendingMap);
178633
- pendingMap.clear();
178634
- pending.forEach(function (_ref2) {
178635
- var atom = _ref2[0],
178636
- prevAtomState = _ref2[1];
178637
- var atomState = getAtomState(atom);
178638
- if (atomState) {
178639
- var mounted = mountedMap.get(atom);
178640
- if (mounted && atomState.d !== (prevAtomState == null ? void 0 : prevAtomState.d)) {
178641
- mountDependencies(atom, atomState, prevAtomState == null ? void 0 : prevAtomState.d);
178642
- }
178643
- if (mounted && !(!hasPromiseAtomValue(prevAtomState) && (isEqualAtomValue(prevAtomState, atomState) || isEqualAtomError(prevAtomState, atomState)))) {
178644
- mounted.l.forEach(function (listener) {
178645
- return listener();
178646
- });
178647
- {
178648
- flushed.add(atom);
178649
- }
178650
- }
178651
- } else {
178633
+ var pending = [];
178634
+ var collectPending = function collectPending(pendingAtom) {
178635
+ var _getAtomState2;
178636
+ if (!pendingMap.has(pendingAtom)) {
178637
+ return;
178638
+ }
178639
+ var _ref2 = pendingMap.get(pendingAtom),
178640
+ prevAtomState = _ref2[0],
178641
+ dependents = _ref2[1];
178642
+ pendingMap.delete(pendingAtom);
178643
+ pending.push([pendingAtom, prevAtomState]);
178644
+ dependents.forEach(collectPending);
178645
+ (_getAtomState2 = getAtomState(pendingAtom)) == null || _getAtomState2.d.forEach(function (_, a) {
178646
+ return collectPending(a);
178647
+ });
178648
+ };
178649
+ pendingAtoms.forEach(collectPending);
178650
+ pending.forEach(function (_ref3) {
178651
+ var atom = _ref3[0],
178652
+ prevAtomState = _ref3[1];
178653
+ var atomState = getAtomState(atom);
178654
+ if (!atomState) {
178655
+ {
178652
178656
  console.warn('[Bug] no atom state to flush');
178653
178657
  }
178654
- });
178655
- }
178658
+ return;
178659
+ }
178660
+ if (atomState !== prevAtomState) {
178661
+ var mounted = mountedMap.get(atom);
178662
+ if (mounted && atomState.d !== (prevAtomState == null ? void 0 : prevAtomState.d)) {
178663
+ mountDependencies(atom, atomState, prevAtomState == null ? void 0 : prevAtomState.d);
178664
+ }
178665
+ if (mounted && !(!hasPromiseAtomValue(prevAtomState) && (isEqualAtomValue(prevAtomState, atomState) || isEqualAtomError(prevAtomState, atomState)))) {
178666
+ mounted.l.forEach(function (listener) {
178667
+ return listener();
178668
+ });
178669
+ {
178670
+ flushed.add(atom);
178671
+ }
178672
+ }
178673
+ }
178674
+ });
178656
178675
  {
178657
178676
  return flushed;
178658
178677
  }
178659
178678
  };
178660
178679
  var subscribeAtom = function subscribeAtom(atom, listener) {
178661
- var mounted = addAtom(atom);
178662
- var flushed = flushPending();
178680
+ var mounted = mountAtom(atom);
178681
+ var flushed = flushPending([atom]);
178663
178682
  var listeners = mounted.l;
178664
178683
  listeners.add(listener);
178665
178684
  {
178666
- storeListenersRev2.forEach(function (l) {
178685
+ devListenersRev2.forEach(function (l) {
178667
178686
  return l({
178668
178687
  type: 'sub',
178669
178688
  flushed: flushed
@@ -178672,9 +178691,9 @@
178672
178691
  }
178673
178692
  return function () {
178674
178693
  listeners.delete(listener);
178675
- delAtom(atom);
178694
+ tryUnmountAtom(atom, mounted);
178676
178695
  {
178677
- storeListenersRev2.forEach(function (l) {
178696
+ devListenersRev2.forEach(function (l) {
178678
178697
  return l({
178679
178698
  type: 'unsub'
178680
178699
  });
@@ -178687,13 +178706,10 @@
178687
178706
  get: readAtom,
178688
178707
  set: writeAtom,
178689
178708
  sub: subscribeAtom,
178690
- dev_subscribe_store: function dev_subscribe_store(l, rev) {
178691
- if (rev !== 2) {
178692
- throw new Error('The current StoreListener revision is 2.');
178693
- }
178694
- storeListenersRev2.add(l);
178709
+ dev_subscribe_store: function dev_subscribe_store(l) {
178710
+ devListenersRev2.add(l);
178695
178711
  return function () {
178696
- storeListenersRev2.delete(l);
178712
+ devListenersRev2.delete(l);
178697
178713
  };
178698
178714
  },
178699
178715
  dev_get_mounted_atoms: function dev_get_mounted_atoms() {
@@ -178706,17 +178722,18 @@
178706
178722
  return mountedMap.get(a);
178707
178723
  },
178708
178724
  dev_restore_atoms: function dev_restore_atoms(values) {
178709
- for (var _iterator = _createForOfIteratorHelperLoose(values), _step; !(_step = _iterator()).done;) {
178710
- var _step$value = _step.value,
178711
- atom = _step$value[0],
178712
- valueOrPromise = _step$value[1];
178713
- if (hasInitialValue(atom)) {
178714
- setAtomValueOrPromise(atom, valueOrPromise);
178715
- recomputeDependents(atom);
178716
- }
178717
- }
178718
- var flushed = flushPending();
178719
- storeListenersRev2.forEach(function (l) {
178725
+ pendingStack.push(new Set());
178726
+ for (var _iterator3 = _createForOfIteratorHelperLoose(values), _step3; !(_step3 = _iterator3()).done;) {
178727
+ var _step3$value = _step3.value,
178728
+ _atom = _step3$value[0],
178729
+ valueOrPromise = _step3$value[1];
178730
+ if (hasInitialValue(_atom)) {
178731
+ setAtomValueOrPromise(_atom, valueOrPromise);
178732
+ recomputeDependents(_atom);
178733
+ }
178734
+ }
178735
+ var flushed = flushPending(pendingStack.pop());
178736
+ devListenersRev2.forEach(function (l) {
178720
178737
  return l({
178721
178738
  type: 'restore',
178722
178739
  flushed: flushed
@@ -178727,23 +178744,23 @@
178727
178744
  }
178728
178745
  };
178729
178746
  var defaultStore;
178730
- {
178731
- if (typeof globalThis.__NUMBER_OF_JOTAI_INSTANCES__ === 'number') {
178732
- ++globalThis.__NUMBER_OF_JOTAI_INSTANCES__;
178733
- } else {
178734
- globalThis.__NUMBER_OF_JOTAI_INSTANCES__ = 1;
178735
- }
178736
- }
178737
- var getDefaultStore = function getDefaultStore() {
178747
+ var getDefaultStore$1 = function getDefaultStore() {
178738
178748
  if (!defaultStore) {
178739
- if ( globalThis.__NUMBER_OF_JOTAI_INSTANCES__ !== 1) {
178740
- console.warn('Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044');
178749
+ defaultStore = createStore$1$1();
178750
+ {
178751
+ var _ref4;
178752
+ (_ref4 = globalThis).__JOTAI_DEFAULT_STORE__ || (_ref4.__JOTAI_DEFAULT_STORE__ = defaultStore);
178753
+ if (globalThis.__JOTAI_DEFAULT_STORE__ !== defaultStore) {
178754
+ console.warn('Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044');
178755
+ }
178741
178756
  }
178742
- defaultStore = createStore$2();
178743
178757
  }
178744
178758
  return defaultStore;
178745
178759
  };
178746
178760
 
178761
+ var createStore$2 = createStore$1$1;
178762
+ var getDefaultStore = getDefaultStore$1;
178763
+
178747
178764
  var atom_1 = atom;
178748
178765
  var createStore_1 = createStore$2;
178749
178766
  var getDefaultStore_1 = getDefaultStore;
@@ -179006,11 +179023,11 @@
179006
179023
  var getCached$2 = function getCached(c, m, k) {
179007
179024
  return (m.has(k) ? m : m.set(k, c())).get(k);
179008
179025
  };
179009
- var cache1$4 = new WeakMap();
179026
+ var cache1$3 = new WeakMap();
179010
179027
  var memo3 = function memo3(create, dep1, dep2, dep3) {
179011
179028
  var cache2 = getCached$2(function () {
179012
179029
  return new WeakMap();
179013
- }, cache1$4, dep1);
179030
+ }, cache1$3, dep1);
179014
179031
  var cache3 = getCached$2(function () {
179015
179032
  return new WeakMap();
179016
179033
  }, cache2, dep2);
@@ -179034,9 +179051,6 @@
179034
179051
  var derivedAtom = vanilla.atom(function (get) {
179035
179052
  var prev = get(derivedAtom);
179036
179053
  var value = get(anAtom);
179037
- if (value instanceof Promise || prev instanceof Promise) {
179038
- return Promise.all([value, prev]).then(selectValue);
179039
- }
179040
179054
  return selectValue([value, prev]);
179041
179055
  });
179042
179056
  derivedAtom.init = EMPTY;
@@ -179044,10 +179058,7 @@
179044
179058
  }, anAtom, selector, equalityFn);
179045
179059
  }
179046
179060
 
179047
- var cache1$3 = new WeakMap();
179048
- var memo1$1 = function memo1(create, dep1) {
179049
- return (cache1$3.has(dep1) ? cache1$3 : cache1$3.set(dep1, create())).get(dep1);
179050
- };
179061
+ var frozenAtoms = new WeakSet();
179051
179062
  var deepFreeze = function deepFreeze(obj) {
179052
179063
  if (typeof obj !== 'object' || obj === null) return;
179053
179064
  Object.freeze(obj);
@@ -179060,23 +179071,39 @@
179060
179071
  return obj;
179061
179072
  };
179062
179073
  function freezeAtom(anAtom) {
179063
- return memo1$1(function () {
179064
- var frozenAtom = vanilla.atom(function (get) {
179065
- return deepFreeze(get(anAtom));
179066
- }, function (_get, set, arg) {
179067
- return set(anAtom, arg);
179068
- });
179069
- return frozenAtom;
179070
- }, anAtom);
179074
+ if (frozenAtoms.has(anAtom)) {
179075
+ return anAtom;
179076
+ }
179077
+ frozenAtoms.add(anAtom);
179078
+ var origRead = anAtom.read;
179079
+ anAtom.read = function (get, options) {
179080
+ return deepFreeze(origRead.call(this, get, options));
179081
+ };
179082
+ if ('write' in anAtom) {
179083
+ var origWrite = anAtom.write;
179084
+ anAtom.write = function (get, set) {
179085
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
179086
+ args[_key - 2] = arguments[_key];
179087
+ }
179088
+ return origWrite.call.apply(origWrite, [this, get, function () {
179089
+ for (var _len2 = arguments.length, setArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
179090
+ setArgs[_key2] = arguments[_key2];
179091
+ }
179092
+ if (setArgs[0] === anAtom) {
179093
+ setArgs[1] = deepFreeze(setArgs[1]);
179094
+ }
179095
+ return set.apply(void 0, setArgs);
179096
+ }].concat(args));
179097
+ };
179098
+ }
179099
+ return anAtom;
179071
179100
  }
179072
179101
  function freezeAtomCreator(createAtom) {
179102
+ {
179103
+ console.warn('[DEPRECATED] freezeAtomCreator is deprecated, define it on users end');
179104
+ }
179073
179105
  return function () {
179074
- var anAtom = createAtom.apply(void 0, arguments);
179075
- var origRead = anAtom.read;
179076
- anAtom.read = function (get, options) {
179077
- return deepFreeze(origRead.call(this, get, options));
179078
- };
179079
- return anAtom;
179106
+ return freezeAtom(createAtom.apply(void 0, arguments));
179080
179107
  };
179081
179108
  }
179082
179109
 
@@ -179343,9 +179370,7 @@
179343
179370
  baseAtom.debugPrivate = true;
179344
179371
  }
179345
179372
  baseAtom.onMount = function (setAtom) {
179346
- if (!getOnInit) {
179347
- setAtom(storage.getItem(key, initialValue));
179348
- }
179373
+ setAtom(storage.getItem(key, initialValue));
179349
179374
  var unsub;
179350
179375
  if (storage.subscribe) {
179351
179376
  unsub = storage.subscribe(key, setAtom, initialValue);
@@ -179494,6 +179519,9 @@
179494
179519
  var memo1 = function memo1(create, dep1) {
179495
179520
  return (cache1$1.has(dep1) ? cache1$1 : cache1$1.set(dep1, create())).get(dep1);
179496
179521
  };
179522
+ var isPromise$1 = function isPromise(x) {
179523
+ return x instanceof Promise;
179524
+ };
179497
179525
  var LOADING = {
179498
179526
  state: 'loading'
179499
179527
  };
@@ -179516,29 +179544,45 @@
179516
179544
  error: error
179517
179545
  };
179518
179546
  }
179519
- if (!(value instanceof Promise)) {
179547
+ if (!isPromise$1(value)) {
179520
179548
  return {
179521
179549
  state: 'hasData',
179522
179550
  data: value
179523
179551
  };
179524
179552
  }
179525
179553
  var promise = value;
179526
- var cached = loadableCache.get(promise);
179527
- if (cached) {
179528
- return cached;
179554
+ var cached1 = loadableCache.get(promise);
179555
+ if (cached1) {
179556
+ return cached1;
179529
179557
  }
179530
- loadableCache.set(promise, LOADING);
179531
- promise.then(function (data) {
179558
+ if (promise.status === 'fulfilled') {
179532
179559
  loadableCache.set(promise, {
179533
179560
  state: 'hasData',
179534
- data: data
179561
+ data: promise.value
179535
179562
  });
179536
- }, function (error) {
179563
+ } else if (promise.status === 'rejected') {
179537
179564
  loadableCache.set(promise, {
179538
179565
  state: 'hasError',
179539
- error: error
179566
+ error: promise.reason
179540
179567
  });
179541
- }).finally(setSelf);
179568
+ } else {
179569
+ promise.then(function (data) {
179570
+ loadableCache.set(promise, {
179571
+ state: 'hasData',
179572
+ data: data
179573
+ });
179574
+ }, function (error) {
179575
+ loadableCache.set(promise, {
179576
+ state: 'hasError',
179577
+ error: error
179578
+ });
179579
+ }).finally(setSelf);
179580
+ }
179581
+ var cached2 = loadableCache.get(promise);
179582
+ if (cached2) {
179583
+ return cached2;
179584
+ }
179585
+ loadableCache.set(promise, LOADING);
179542
179586
  return LOADING;
179543
179587
  }, function (_get, set) {
179544
179588
  set(refreshAtom, function (c) {
@@ -179564,6 +179608,9 @@
179564
179608
  }, cache1, dep1);
179565
179609
  return getCached(create, cache2, dep2);
179566
179610
  };
179611
+ var isPromise = function isPromise(x) {
179612
+ return x instanceof Promise;
179613
+ };
179567
179614
  var defaultFallback = function defaultFallback() {
179568
179615
  return undefined;
179569
179616
  };
@@ -179583,28 +179630,32 @@
179583
179630
  get(refreshAtom);
179584
179631
  var prev = get(promiseAndValueAtom);
179585
179632
  var promise = get(anAtom);
179586
- if (!(promise instanceof Promise)) {
179633
+ if (!isPromise(promise)) {
179587
179634
  return {
179588
179635
  v: promise
179589
179636
  };
179590
179637
  }
179591
- if (promise === (prev == null ? void 0 : prev.p)) {
179592
- if (promiseErrorCache.has(promise)) {
179593
- throw promiseErrorCache.get(promise);
179594
- }
179595
- if (promiseResultCache.has(promise)) {
179596
- return {
179597
- p: promise,
179598
- v: promiseResultCache.get(promise)
179599
- };
179638
+ if (promise !== (prev == null ? void 0 : prev.p)) {
179639
+ if (promise.status === 'fulfilled') {
179640
+ promiseResultCache.set(promise, promise.value);
179641
+ } else if (promise.status === 'rejected') {
179642
+ promiseErrorCache.set(promise, promise.reason);
179643
+ } else {
179644
+ promise.then(function (v) {
179645
+ return promiseResultCache.set(promise, v);
179646
+ }, function (e) {
179647
+ return promiseErrorCache.set(promise, e);
179648
+ }).finally(setSelf);
179600
179649
  }
179601
179650
  }
179602
- if (promise !== (prev == null ? void 0 : prev.p)) {
179603
- promise.then(function (v) {
179604
- return promiseResultCache.set(promise, v);
179605
- }, function (e) {
179606
- return promiseErrorCache.set(promise, e);
179607
- }).finally(setSelf);
179651
+ if (promiseErrorCache.has(promise)) {
179652
+ throw promiseErrorCache.get(promise);
179653
+ }
179654
+ if (promiseResultCache.has(promise)) {
179655
+ return {
179656
+ p: promise,
179657
+ v: promiseResultCache.get(promise)
179658
+ };
179608
179659
  }
179609
179660
  if (prev && 'v' in prev) {
179610
179661
  return {
@@ -179641,11 +179692,46 @@
179641
179692
  }, anAtom, fallback);
179642
179693
  }
179643
179694
 
179695
+ function atomWithRefresh(read, write) {
179696
+ var refreshAtom = vanilla.atom(0);
179697
+ {
179698
+ refreshAtom.debugPrivate = true;
179699
+ }
179700
+ return vanilla.atom(function (get, options) {
179701
+ get(refreshAtom);
179702
+ return read(get, options);
179703
+ }, function (get, set) {
179704
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
179705
+ args[_key - 2] = arguments[_key];
179706
+ }
179707
+ if (args.length === 0) {
179708
+ set(refreshAtom, function (c) {
179709
+ return c + 1;
179710
+ });
179711
+ } else if (write) {
179712
+ return write.apply(void 0, [get, set].concat(args));
179713
+ }
179714
+ });
179715
+ }
179716
+
179717
+ function atomWithLazy(makeInitial) {
179718
+ var a = vanilla.atom(undefined);
179719
+ delete a.init;
179720
+ Object.defineProperty(a, 'init', {
179721
+ get: function get() {
179722
+ return makeInitial();
179723
+ }
179724
+ });
179725
+ return a;
179726
+ }
179727
+
179644
179728
  var RESET_1 = RESET;
179645
179729
  var atomFamily_1 = atomFamily;
179646
179730
  var atomWithDefault_1 = atomWithDefault;
179731
+ var atomWithLazy_1 = atomWithLazy;
179647
179732
  var atomWithObservable_1 = atomWithObservable;
179648
179733
  var atomWithReducer_1 = atomWithReducer;
179734
+ var atomWithRefresh_1 = atomWithRefresh;
179649
179735
  var atomWithReset_1 = atomWithReset;
179650
179736
  var atomWithStorage_1 = atomWithStorage;
179651
179737
  var createJSONStorage_1 = createJSONStorage;
@@ -179661,8 +179747,10 @@
179661
179747
  RESET: RESET_1,
179662
179748
  atomFamily: atomFamily_1,
179663
179749
  atomWithDefault: atomWithDefault_1,
179750
+ atomWithLazy: atomWithLazy_1,
179664
179751
  atomWithObservable: atomWithObservable_1,
179665
179752
  atomWithReducer: atomWithReducer_1,
179753
+ atomWithRefresh: atomWithRefresh_1,
179666
179754
  atomWithReset: atomWithReset_1,
179667
179755
  atomWithStorage: atomWithStorage_1,
179668
179756
  createJSONStorage: createJSONStorage_1,
@@ -179684,6 +179772,9 @@
179684
179772
  }
179685
179773
 
179686
179774
  function useReducerAtom(anAtom, reducer, options) {
179775
+ {
179776
+ console.warn('[DEPRECATED] useReducerAtom is deprecated and will be removed in the future. Please create your own version using the recipe. https://github.com/pmndrs/jotai/pull/2467');
179777
+ }
179687
179778
  var _useAtom = react.useAtom(anAtom, options),
179688
179779
  state = _useAtom[0],
179689
179780
  setState = _useAtom[1];
@@ -209603,7 +209694,7 @@
209603
209694
  }
209604
209695
  // 检验当前运行环境
209605
209696
  if (typeof window === 'undefined') {
209606
- console.warn('cloud-business@0.1.114-5 仅支持在浏览器环境进行使用!');
209697
+ console.warn('cloud-business@0.1.114-6 仅支持在浏览器环境进行使用!');
209607
209698
  }
209608
209699
  var bodys = document.getElementsByTagName('body')[0];
209609
209700
  var colors = [1, 2, 3, 4, 5, 6, 7];
@@ -209613,7 +209704,7 @@
209613
209704
  bodys.style.setProperty("--shuyunBlue".concat(i$2 + 1), color);
209614
209705
  }
209615
209706
  }
209616
- var version = '0.1.114-5';
209707
+ var version = '0.1.114-6';
209617
209708
 
209618
209709
  exports.AreaSelector = AreaSelector;
209619
209710
  exports.AreaSelectorNew = AreaSelector$1;