cloud-business 0.1.124-5 → 0.1.124-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/cloud-business.js CHANGED
@@ -45496,7 +45496,7 @@
45496
45496
  });
45497
45497
  setGlobalSelect(_objectSpread2({}, selectObj));
45498
45498
  } else {
45499
- setGlobalSelect({});
45499
+ setGlobalSelect(_objectSpread2({}, originSelectObj));
45500
45500
  }
45501
45501
  };
45502
45502
 
@@ -51616,6 +51616,7 @@
51616
51616
  };
51617
51617
  }();
51618
51618
  var handleMatch = function handleMatch() {
51619
+ var _batchResult$data, _batchResult$data$dat;
51619
51620
  if (!isMatch) {
51620
51621
  cloudReactV2.Message.error('请先进行匹配');
51621
51622
  return;
@@ -51627,7 +51628,7 @@
51627
51628
  }
51628
51629
  var addNum = props.limit - resultGoodsLength$1(ctxValue.globalSelect);
51629
51630
  // TODO 去重
51630
- var addList = batchResult.data.data.slice(0, addNum);
51631
+ var addList = ((_batchResult$data = batchResult.data) === null || _batchResult$data === void 0 ? void 0 : (_batchResult$data$dat = _batchResult$data.data) === null || _batchResult$data$dat === void 0 ? void 0 : _batchResult$data$dat.length) ? batchResult.data.data.slice(0, addNum) : [];
51631
51632
  ctxValue.setAllGlobalSelect(addList, ctxValue.globalSelect, true);
51632
51633
  if (!isSupportAllPlatShop) {
51633
51634
  ctxValue.setAllGlobalSearch(addList);
@@ -54604,7 +54605,7 @@
54604
54605
  // const tableList = Object.values(ctxValue.globalTableList);
54605
54606
  // ctxValue.setSkuToggleStatus(tableList, ctxValue.globalTableList, false);
54606
54607
  // ctxValue.setIsExpandAll(false);
54607
- ctxValue.setAllGlobalSelect([], ctxValue.globalSelect, false);
54608
+ ctxValue.setAllGlobalSelect([], [], false);
54608
54609
  resultGoodsLength$1([]);
54609
54610
  setTimeout(function () {
54610
54611
  setLoading(false);
@@ -114797,7 +114798,7 @@
114797
114798
  var key = "atom" + ++keyCount;
114798
114799
  var config = {
114799
114800
  toString: function toString() {
114800
- return key;
114801
+ return this.debugLabel ? key + ':' + this.debugLabel : key;
114801
114802
  }
114802
114803
  };
114803
114804
  if (typeof read === 'function') {
@@ -114827,7 +114828,7 @@
114827
114828
  function _createForOfIteratorHelperLoose(r, e) {
114828
114829
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
114829
114830
  if (t) return (t = t.call(r)).next.bind(t);
114830
- if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e ) {
114831
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e) {
114831
114832
  t && (r = t);
114832
114833
  var o = 0;
114833
114834
  return function () {
@@ -114858,240 +114859,237 @@
114858
114859
  var isActuallyWritableAtom = function isActuallyWritableAtom(atom) {
114859
114860
  return !!atom.write;
114860
114861
  };
114861
- var cancelPromiseMap = new WeakMap();
114862
- var registerCancelPromise = function registerCancelPromise(promise, cancel) {
114863
- cancelPromiseMap.set(promise, cancel);
114864
- promise.catch(function () {}).finally(function () {
114865
- return cancelPromiseMap.delete(promise);
114866
- });
114867
- };
114868
- var cancelPromise = function cancelPromise(promise, next) {
114869
- var cancel = cancelPromiseMap.get(promise);
114870
- if (cancel) {
114871
- cancelPromiseMap.delete(promise);
114872
- cancel(next);
114862
+ var CONTINUE_PROMISE = Symbol( 'CONTINUE_PROMISE' );
114863
+ var PENDING = 'pending';
114864
+ var FULFILLED = 'fulfilled';
114865
+ var REJECTED = 'rejected';
114866
+ var isContinuablePromise = function isContinuablePromise(promise) {
114867
+ return typeof promise === 'object' && promise !== null && CONTINUE_PROMISE in promise;
114868
+ };
114869
+ var continuablePromiseMap = new WeakMap();
114870
+ var createContinuablePromise = function createContinuablePromise(promise, abort, complete) {
114871
+ if (!continuablePromiseMap.has(promise)) {
114872
+ var continuePromise;
114873
+ var p = new Promise(function (resolve, reject) {
114874
+ var curr = promise;
114875
+ var onFulfilled = function onFulfilled(me) {
114876
+ return function (v) {
114877
+ if (curr === me) {
114878
+ p.status = FULFILLED;
114879
+ p.value = v;
114880
+ resolve(v);
114881
+ complete();
114882
+ }
114883
+ };
114884
+ };
114885
+ var onRejected = function onRejected(me) {
114886
+ return function (e) {
114887
+ if (curr === me) {
114888
+ p.status = REJECTED;
114889
+ p.reason = e;
114890
+ reject(e);
114891
+ complete();
114892
+ }
114893
+ };
114894
+ };
114895
+ promise.then(onFulfilled(promise), onRejected(promise));
114896
+ continuePromise = function continuePromise(nextPromise, nextAbort) {
114897
+ if (nextPromise) {
114898
+ continuablePromiseMap.set(nextPromise, p);
114899
+ curr = nextPromise;
114900
+ nextPromise.then(onFulfilled(nextPromise), onRejected(nextPromise));
114901
+ abort();
114902
+ abort = nextAbort;
114903
+ }
114904
+ };
114905
+ });
114906
+ p.status = PENDING;
114907
+ p[CONTINUE_PROMISE] = continuePromise;
114908
+ continuablePromiseMap.set(promise, p);
114873
114909
  }
114874
- };
114875
- var resolvePromise = function resolvePromise(promise, value) {
114876
- promise.status = 'fulfilled';
114877
- promise.value = value;
114878
- };
114879
- var rejectPromise = function rejectPromise(promise, e) {
114880
- promise.status = 'rejected';
114881
- promise.reason = e;
114910
+ return continuablePromiseMap.get(promise);
114882
114911
  };
114883
114912
  var isPromiseLike = function isPromiseLike(x) {
114884
114913
  return typeof (x == null ? void 0 : x.then) === 'function';
114885
114914
  };
114886
- var isEqualAtomValue = function isEqualAtomValue(a, b) {
114887
- return !!a && 'v' in a && 'v' in b && Object.is(a.v, b.v);
114888
- };
114889
- var isEqualAtomError = function isEqualAtomError(a, b) {
114890
- return !!a && 'e' in a && 'e' in b && Object.is(a.e, b.e);
114891
- };
114892
- var hasPromiseAtomValue = function hasPromiseAtomValue(a) {
114893
- return !!a && 'v' in a && a.v instanceof Promise;
114894
- };
114895
- var isEqualPromiseAtomValue = function isEqualPromiseAtomValue(a, b) {
114896
- return 'v' in a && 'v' in b && a.v.orig && a.v.orig === b.v.orig;
114915
+ var isAtomStateInitialized = function isAtomStateInitialized(atomState) {
114916
+ return 'v' in atomState || 'e' in atomState;
114897
114917
  };
114898
114918
  var returnAtomValue = function returnAtomValue(atomState) {
114899
114919
  if ('e' in atomState) {
114900
114920
  throw atomState.e;
114901
114921
  }
114922
+ if ( !('v' in atomState)) {
114923
+ throw new Error('[Bug] atom state is not initialized');
114924
+ }
114902
114925
  return atomState.v;
114903
114926
  };
114904
- var createStore$1$1 = function createStore() {
114927
+ var getPendingContinuablePromise = function getPendingContinuablePromise(atomState) {
114928
+ var value = atomState.v;
114929
+ if (isContinuablePromise(value) && value.status === PENDING) {
114930
+ return value;
114931
+ }
114932
+ return null;
114933
+ };
114934
+ var addPendingContinuablePromiseToDependency = function addPendingContinuablePromiseToDependency(atom, promise, dependencyAtomState) {
114935
+ if (!dependencyAtomState.p.has(atom)) {
114936
+ dependencyAtomState.p.add(atom);
114937
+ promise.then(function () {
114938
+ dependencyAtomState.p.delete(atom);
114939
+ }, function () {
114940
+ dependencyAtomState.p.delete(atom);
114941
+ });
114942
+ }
114943
+ };
114944
+ var createPending = function createPending() {
114945
+ return [new Map(), new Map(), new Set()];
114946
+ };
114947
+ var addPendingAtom = function addPendingAtom(pending, atom, atomState) {
114948
+ if (!pending[0].has(atom)) {
114949
+ pending[0].set(atom, new Set());
114950
+ }
114951
+ pending[1].set(atom, atomState);
114952
+ };
114953
+ var addPendingDependent = function addPendingDependent(pending, atom, dependent) {
114954
+ var dependents = pending[0].get(atom);
114955
+ if (dependents) {
114956
+ dependents.add(dependent);
114957
+ }
114958
+ };
114959
+ var getPendingDependents = function getPendingDependents(pending, atom) {
114960
+ return pending[0].get(atom);
114961
+ };
114962
+ var addPendingFunction = function addPendingFunction(pending, fn) {
114963
+ pending[2].add(fn);
114964
+ };
114965
+ var flushPending = function flushPending(pending) {
114966
+ while (pending[1].size || pending[2].size) {
114967
+ pending[0].clear();
114968
+ var _atomStates = new Set(pending[1].values());
114969
+ pending[1].clear();
114970
+ var _functions = new Set(pending[2]);
114971
+ pending[2].clear();
114972
+ _atomStates.forEach(function (atomState) {
114973
+ var _atomState$m;
114974
+ return (_atomState$m = atomState.m) == null ? void 0 : _atomState$m.l.forEach(function (l) {
114975
+ return l();
114976
+ });
114977
+ });
114978
+ _functions.forEach(function (fn) {
114979
+ return fn();
114980
+ });
114981
+ }
114982
+ };
114983
+ var createStore$2 = function createStore() {
114905
114984
  var atomStateMap = new WeakMap();
114906
- var mountedMap = new WeakMap();
114907
- var pendingStack = [];
114908
- var pendingMap = new WeakMap();
114909
- var devListenersRev2;
114910
- var mountedAtoms;
114985
+ var debugMountedAtoms;
114911
114986
  {
114912
- devListenersRev2 = new Set();
114913
- mountedAtoms = new Set();
114987
+ debugMountedAtoms = new Set();
114914
114988
  }
114915
114989
  var getAtomState = function getAtomState(atom) {
114916
- return atomStateMap.get(atom);
114917
- };
114918
- var addPendingDependent = function addPendingDependent(atom, atomState) {
114919
- atomState.d.forEach(function (_, a) {
114920
- if (!pendingMap.has(a)) {
114921
- var aState = getAtomState(a);
114922
- pendingMap.set(a, [aState, new Set()]);
114923
- if (aState) {
114924
- addPendingDependent(a, aState);
114925
- }
114926
- }
114927
- pendingMap.get(a)[1].add(atom);
114928
- });
114929
- };
114930
- var setAtomState = function setAtomState(atom, atomState) {
114931
- var _pendingStack;
114932
- {
114933
- Object.freeze(atomState);
114934
- }
114935
- var prevAtomState = getAtomState(atom);
114936
- atomStateMap.set(atom, atomState);
114937
- (_pendingStack = pendingStack[pendingStack.length - 1]) == null || _pendingStack.add(atom);
114938
- if (!pendingMap.has(atom)) {
114939
- pendingMap.set(atom, [prevAtomState, new Set()]);
114940
- addPendingDependent(atom, atomState);
114941
- }
114942
- if (hasPromiseAtomValue(prevAtomState)) {
114943
- var _next = 'v' in atomState ? atomState.v instanceof Promise ? atomState.v : Promise.resolve(atomState.v) : Promise.reject(atomState.e);
114944
- if (prevAtomState.v !== _next) {
114945
- cancelPromise(prevAtomState.v, _next);
114946
- }
114947
- }
114948
- };
114949
- var updateDependencies = function updateDependencies(atom, nextAtomState, nextDependencies, keepPreviousDependencies) {
114950
- var dependencies = new Map(keepPreviousDependencies ? nextAtomState.d : null);
114951
- var changed = false;
114952
- nextDependencies.forEach(function (aState, a) {
114953
- if (!aState && isSelfAtom(atom, a)) {
114954
- aState = nextAtomState;
114955
- }
114956
- if (aState) {
114957
- dependencies.set(a, aState);
114958
- if (nextAtomState.d.get(a) !== aState) {
114959
- changed = true;
114960
- }
114961
- } else {
114962
- console.warn('[Bug] atom state not found');
114963
- }
114964
- });
114965
- if (changed || nextAtomState.d.size !== dependencies.size) {
114966
- nextAtomState.d = dependencies;
114990
+ var atomState = atomStateMap.get(atom);
114991
+ if (!atomState) {
114992
+ atomState = {
114993
+ d: new Map(),
114994
+ p: new Set(),
114995
+ n: 0
114996
+ };
114997
+ atomStateMap.set(atom, atomState);
114967
114998
  }
114999
+ return atomState;
114968
115000
  };
114969
- var setAtomValue = function setAtomValue(atom, value, nextDependencies, keepPreviousDependencies) {
114970
- var prevAtomState = getAtomState(atom);
114971
- var nextAtomState = {
114972
- d: (prevAtomState == null ? void 0 : prevAtomState.d) || new Map(),
114973
- v: value
114974
- };
114975
- if (nextDependencies) {
114976
- updateDependencies(atom, nextAtomState, nextDependencies, keepPreviousDependencies);
114977
- }
114978
- if (isEqualAtomValue(prevAtomState, nextAtomState) && prevAtomState.d === nextAtomState.d) {
114979
- return prevAtomState;
115001
+ var setAtomStateValueOrPromise = function setAtomStateValueOrPromise(atom, atomState, valueOrPromise, abortPromise, completePromise) {
115002
+ if (abortPromise === void 0) {
115003
+ abortPromise = function abortPromise() {};
114980
115004
  }
114981
- if (hasPromiseAtomValue(prevAtomState) && hasPromiseAtomValue(nextAtomState) && isEqualPromiseAtomValue(prevAtomState, nextAtomState)) {
114982
- if (prevAtomState.d === nextAtomState.d) {
114983
- return prevAtomState;
114984
- } else {
114985
- nextAtomState.v = prevAtomState.v;
114986
- }
115005
+ if (completePromise === void 0) {
115006
+ completePromise = function completePromise() {};
114987
115007
  }
114988
- setAtomState(atom, nextAtomState);
114989
- return nextAtomState;
114990
- };
114991
- var setAtomValueOrPromise = function setAtomValueOrPromise(atom, valueOrPromise, nextDependencies, abortPromise) {
115008
+ var hasPrevValue = 'v' in atomState;
115009
+ var prevValue = atomState.v;
115010
+ var pendingPromise = getPendingContinuablePromise(atomState);
114992
115011
  if (isPromiseLike(valueOrPromise)) {
114993
- var continuePromise;
114994
- var updatePromiseDependencies = function updatePromiseDependencies() {
114995
- var prevAtomState = getAtomState(atom);
114996
- if (!hasPromiseAtomValue(prevAtomState) || prevAtomState.v !== promise) {
114997
- return;
114998
- }
114999
- var nextAtomState = setAtomValue(atom, promise, nextDependencies);
115000
- if (mountedMap.has(atom) && prevAtomState.d !== nextAtomState.d) {
115001
- mountDependencies(atom, nextAtomState, prevAtomState.d);
115012
+ if (pendingPromise) {
115013
+ if (pendingPromise !== valueOrPromise) {
115014
+ pendingPromise[CONTINUE_PROMISE](valueOrPromise, abortPromise);
115015
+ ++atomState.n;
115002
115016
  }
115003
- };
115004
- var promise = new Promise(function (resolve, reject) {
115005
- var settled = false;
115006
- valueOrPromise.then(function (v) {
115007
- if (!settled) {
115008
- settled = true;
115009
- resolvePromise(promise, v);
115010
- resolve(v);
115011
- updatePromiseDependencies();
115012
- }
115013
- }, function (e) {
115014
- if (!settled) {
115015
- settled = true;
115016
- rejectPromise(promise, e);
115017
- reject(e);
115018
- updatePromiseDependencies();
115019
- }
115020
- });
115021
- continuePromise = function continuePromise(next) {
115022
- if (!settled) {
115023
- settled = true;
115024
- next.then(function (v) {
115025
- return resolvePromise(promise, v);
115026
- }, function (e) {
115027
- return rejectPromise(promise, e);
115028
- });
115029
- resolve(next);
115017
+ } else {
115018
+ var continuablePromise = createContinuablePromise(valueOrPromise, abortPromise, completePromise);
115019
+ if (continuablePromise.status === PENDING) {
115020
+ for (var _iterator = _createForOfIteratorHelperLoose(atomState.d.keys()), _step; !(_step = _iterator()).done;) {
115021
+ var a = _step.value;
115022
+ var aState = getAtomState(a);
115023
+ addPendingContinuablePromiseToDependency(atom, continuablePromise, aState);
115030
115024
  }
115031
- };
115032
- });
115033
- promise.orig = valueOrPromise;
115034
- promise.status = 'pending';
115035
- registerCancelPromise(promise, function (next) {
115036
- if (next) {
115037
- continuePromise(next);
115038
- abortPromise == null || abortPromise();
115039
115025
  }
115040
- });
115041
- return setAtomValue(atom, promise, nextDependencies, true);
115026
+ atomState.v = continuablePromise;
115027
+ delete atomState.e;
115028
+ }
115029
+ } else {
115030
+ if (pendingPromise) {
115031
+ pendingPromise[CONTINUE_PROMISE](Promise.resolve(valueOrPromise), abortPromise);
115032
+ }
115033
+ atomState.v = valueOrPromise;
115034
+ delete atomState.e;
115035
+ }
115036
+ if (!hasPrevValue || !Object.is(prevValue, atomState.v)) {
115037
+ ++atomState.n;
115042
115038
  }
115043
- return setAtomValue(atom, valueOrPromise, nextDependencies);
115044
115039
  };
115045
- var setAtomError = function setAtomError(atom, error, nextDependencies) {
115046
- var prevAtomState = getAtomState(atom);
115047
- var nextAtomState = {
115048
- d: (prevAtomState == null ? void 0 : prevAtomState.d) || new Map(),
115049
- e: error
115050
- };
115051
- if (nextDependencies) {
115052
- updateDependencies(atom, nextAtomState, nextDependencies);
115040
+ var addDependency = function addDependency(pending, atom, a, aState) {
115041
+ var _aState$m;
115042
+ if ( a === atom) {
115043
+ throw new Error('[Bug] atom cannot depend on itself');
115053
115044
  }
115054
- if (isEqualAtomError(prevAtomState, nextAtomState) && prevAtomState.d === nextAtomState.d) {
115055
- return prevAtomState;
115045
+ var atomState = getAtomState(atom);
115046
+ atomState.d.set(a, aState.n);
115047
+ var continuablePromise = getPendingContinuablePromise(atomState);
115048
+ if (continuablePromise) {
115049
+ addPendingContinuablePromiseToDependency(atom, continuablePromise, aState);
115050
+ }
115051
+ (_aState$m = aState.m) == null || _aState$m.t.add(atom);
115052
+ if (pending) {
115053
+ addPendingDependent(pending, a, atom);
115056
115054
  }
115057
- setAtomState(atom, nextAtomState);
115058
- return nextAtomState;
115059
115055
  };
115060
- var readAtomState = function readAtomState(atom, force) {
115056
+ var readAtomState = function readAtomState(pending, atom, force) {
115061
115057
  var atomState = getAtomState(atom);
115062
- if (!(force != null && force(atom)) && atomState) {
115063
- if (mountedMap.has(atom)) {
115058
+ if (!(force != null && force(atom)) && isAtomStateInitialized(atomState)) {
115059
+ if (atomState.m) {
115064
115060
  return atomState;
115065
115061
  }
115066
115062
  if (Array.from(atomState.d).every(function (_ref) {
115067
115063
  var a = _ref[0],
115068
- s = _ref[1];
115069
- if (a === atom) {
115070
- return true;
115071
- }
115072
- var aState = readAtomState(a, force);
115073
- return aState === s || isEqualAtomValue(aState, s);
115064
+ n = _ref[1];
115065
+ return readAtomState(pending, a, force).n === n;
115074
115066
  })) {
115075
115067
  return atomState;
115076
115068
  }
115077
115069
  }
115078
- var nextDependencies = new Map();
115070
+ atomState.d.clear();
115079
115071
  var isSync = true;
115080
115072
  var getter = function getter(a) {
115081
115073
  if (isSelfAtom(atom, a)) {
115082
115074
  var _aState = getAtomState(a);
115083
- if (_aState) {
115084
- nextDependencies.set(a, _aState);
115085
- return returnAtomValue(_aState);
115086
- }
115087
- if (hasInitialValue(a)) {
115088
- nextDependencies.set(a, undefined);
115089
- return a.init;
115075
+ if (!isAtomStateInitialized(_aState)) {
115076
+ if (hasInitialValue(a)) {
115077
+ setAtomStateValueOrPromise(a, _aState, a.init);
115078
+ } else {
115079
+ throw new Error('no atom init');
115080
+ }
115090
115081
  }
115091
- throw new Error('no atom init');
115082
+ return returnAtomValue(_aState);
115083
+ }
115084
+ var aState = readAtomState(pending, a, force);
115085
+ if (isSync) {
115086
+ addDependency(pending, atom, a, aState);
115087
+ } else {
115088
+ var _pending = createPending();
115089
+ addDependency(_pending, atom, a, aState);
115090
+ mountDependencies(_pending, atom, atomState);
115091
+ flushPending(_pending);
115092
115092
  }
115093
- var aState = readAtomState(a, force);
115094
- nextDependencies.set(a, aState);
115095
115093
  return returnAtomValue(aState);
115096
115094
  };
115097
115095
  var controller;
@@ -115125,37 +115123,52 @@
115125
115123
  };
115126
115124
  try {
115127
115125
  var valueOrPromise = atom.read(getter, options);
115128
- return setAtomValueOrPromise(atom, valueOrPromise, nextDependencies, function () {
115126
+ setAtomStateValueOrPromise(atom, atomState, valueOrPromise, function () {
115129
115127
  var _controller;
115130
115128
  return (_controller = controller) == null ? void 0 : _controller.abort();
115129
+ }, function () {
115130
+ if (atomState.m) {
115131
+ var _pending2 = createPending();
115132
+ mountDependencies(_pending2, atom, atomState);
115133
+ flushPending(_pending2);
115134
+ }
115131
115135
  });
115136
+ return atomState;
115132
115137
  } catch (error) {
115133
- return setAtomError(atom, error, nextDependencies);
115138
+ delete atomState.v;
115139
+ atomState.e = error;
115140
+ ++atomState.n;
115141
+ return atomState;
115134
115142
  } finally {
115135
115143
  isSync = false;
115136
115144
  }
115137
115145
  };
115138
115146
  var readAtom = function readAtom(atom) {
115139
- return returnAtomValue(readAtomState(atom));
115147
+ return returnAtomValue(readAtomState(undefined, atom));
115140
115148
  };
115141
- var recomputeDependents = function recomputeDependents(atom) {
115149
+ var recomputeDependents = function recomputeDependents(pending, atom) {
115142
115150
  var getDependents = function getDependents(a) {
115143
- var _mountedMap$get, _pendingMap$get;
115144
- var dependents = new Set((_mountedMap$get = mountedMap.get(a)) == null ? void 0 : _mountedMap$get.t);
115145
- (_pendingMap$get = pendingMap.get(a)) == null || _pendingMap$get[1].forEach(function (dependent) {
115151
+ var _aState$m2, _getPendingDependents;
115152
+ var aState = getAtomState(a);
115153
+ var dependents = new Set((_aState$m2 = aState.m) == null ? void 0 : _aState$m2.t);
115154
+ for (var _iterator2 = _createForOfIteratorHelperLoose(aState.p), _step2; !(_step2 = _iterator2()).done;) {
115155
+ var atomWithPendingContinuablePromise = _step2.value;
115156
+ dependents.add(atomWithPendingContinuablePromise);
115157
+ }
115158
+ (_getPendingDependents = getPendingDependents(pending, a)) == null || _getPendingDependents.forEach(function (dependent) {
115146
115159
  dependents.add(dependent);
115147
115160
  });
115148
115161
  return dependents;
115149
115162
  };
115150
- var topsortedAtoms = new Array();
115163
+ var topsortedAtoms = [];
115151
115164
  var markedAtoms = new Set();
115152
115165
  var visit = function visit(n) {
115153
115166
  if (markedAtoms.has(n)) {
115154
115167
  return;
115155
115168
  }
115156
115169
  markedAtoms.add(n);
115157
- for (var _iterator = _createForOfIteratorHelperLoose(getDependents(n)), _step; !(_step = _iterator()).done;) {
115158
- var m = _step.value;
115170
+ for (var _iterator3 = _createForOfIteratorHelperLoose(getDependents(n)), _step3; !(_step3 = _iterator3()).done;) {
115171
+ var m = _step3.value;
115159
115172
  if (n !== m) {
115160
115173
  visit(m);
115161
115174
  }
@@ -115169,37 +115182,32 @@
115169
115182
  };
115170
115183
  for (var i = topsortedAtoms.length - 1; i >= 0; --i) {
115171
115184
  var a = topsortedAtoms[i];
115172
- var _prevAtomState = getAtomState(a);
115173
- if (!_prevAtomState) {
115174
- continue;
115175
- }
115185
+ var aState = getAtomState(a);
115186
+ var prevEpochNumber = aState.n;
115176
115187
  var hasChangedDeps = false;
115177
- for (var _iterator2 = _createForOfIteratorHelperLoose(_prevAtomState.d.keys()), _step2; !(_step2 = _iterator2()).done;) {
115178
- var dep = _step2.value;
115188
+ for (var _iterator4 = _createForOfIteratorHelperLoose(aState.d.keys()), _step4; !(_step4 = _iterator4()).done;) {
115189
+ var dep = _step4.value;
115179
115190
  if (dep !== a && changedAtoms.has(dep)) {
115180
115191
  hasChangedDeps = true;
115181
115192
  break;
115182
115193
  }
115183
115194
  }
115184
115195
  if (hasChangedDeps) {
115185
- var nextAtomState = readAtomState(a, isMarked);
115186
- addPendingDependent(a, nextAtomState);
115187
- if (!isEqualAtomValue(_prevAtomState, nextAtomState)) {
115196
+ readAtomState(pending, a, isMarked);
115197
+ mountDependencies(pending, a, aState);
115198
+ if (prevEpochNumber !== aState.n) {
115199
+ addPendingAtom(pending, a, aState);
115188
115200
  changedAtoms.add(a);
115189
115201
  }
115190
115202
  }
115191
115203
  markedAtoms.delete(a);
115192
115204
  }
115193
115205
  };
115194
- var writeAtomState = function writeAtomState(atom) {
115206
+ var writeAtomState = function writeAtomState(pending, atom) {
115195
115207
  var getter = function getter(a) {
115196
- return returnAtomValue(readAtomState(a));
115208
+ return returnAtomValue(readAtomState(pending, a));
115197
115209
  };
115198
115210
  var setter = function setter(a) {
115199
- var isSync = pendingStack.length > 0;
115200
- if (!isSync) {
115201
- pendingStack.push(new Set([a]));
115202
- }
115203
115211
  var r;
115204
115212
  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
115205
115213
  args[_key3 - 1] = arguments[_key3];
@@ -115208,277 +115216,177 @@
115208
115216
  if (!hasInitialValue(a)) {
115209
115217
  throw new Error('atom not writable');
115210
115218
  }
115211
- var _prevAtomState2 = getAtomState(a);
115212
- var nextAtomState = setAtomValueOrPromise(a, args[0]);
115213
- if (!isEqualAtomValue(_prevAtomState2, nextAtomState)) {
115214
- recomputeDependents(a);
115219
+ var aState = getAtomState(a);
115220
+ var hasPrevValue = 'v' in aState;
115221
+ var prevValue = aState.v;
115222
+ var v = args[0];
115223
+ setAtomStateValueOrPromise(a, aState, v);
115224
+ mountDependencies(pending, a, aState);
115225
+ if (!hasPrevValue || !Object.is(prevValue, aState.v)) {
115226
+ addPendingAtom(pending, a, aState);
115227
+ recomputeDependents(pending, a);
115215
115228
  }
115216
115229
  } else {
115217
- r = writeAtomState.apply(void 0, [a].concat(args));
115218
- }
115219
- if (!isSync) {
115220
- var flushed = flushPending(pendingStack.pop());
115221
- {
115222
- devListenersRev2.forEach(function (l) {
115223
- return l({
115224
- type: 'async-write',
115225
- flushed: flushed
115226
- });
115227
- });
115228
- }
115230
+ r = writeAtomState.apply(void 0, [pending, a].concat(args));
115229
115231
  }
115232
+ flushPending(pending);
115230
115233
  return r;
115231
115234
  };
115232
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
115233
- args[_key2 - 1] = arguments[_key2];
115235
+ for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
115236
+ args[_key2 - 2] = arguments[_key2];
115234
115237
  }
115235
115238
  var result = atom.write.apply(atom, [getter, setter].concat(args));
115236
115239
  return result;
115237
115240
  };
115238
115241
  var writeAtom = function writeAtom(atom) {
115239
- pendingStack.push(new Set([atom]));
115242
+ var pending = createPending();
115240
115243
  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
115241
115244
  args[_key4 - 1] = arguments[_key4];
115242
115245
  }
115243
- var result = writeAtomState.apply(void 0, [atom].concat(args));
115244
- var flushed = flushPending(pendingStack.pop());
115245
- {
115246
- devListenersRev2.forEach(function (l) {
115247
- return l({
115248
- type: 'write',
115249
- flushed: flushed
115250
- });
115251
- });
115252
- }
115246
+ var result = writeAtomState.apply(void 0, [pending, atom].concat(args));
115247
+ flushPending(pending);
115253
115248
  return result;
115254
115249
  };
115255
- var mountAtom = function mountAtom(atom, initialDependent, onMountQueue) {
115256
- var _getAtomState;
115257
- var existingMount = mountedMap.get(atom);
115258
- if (existingMount) {
115259
- if (initialDependent) {
115260
- existingMount.t.add(initialDependent);
115261
- }
115262
- return existingMount;
115263
- }
115264
- var queue = onMountQueue || [];
115265
- (_getAtomState = getAtomState(atom)) == null || _getAtomState.d.forEach(function (_, a) {
115266
- if (a !== atom) {
115267
- mountAtom(a, atom, queue);
115250
+ var mountDependencies = function mountDependencies(pending, atom, atomState) {
115251
+ if (atomState.m && !getPendingContinuablePromise(atomState)) {
115252
+ for (var _iterator5 = _createForOfIteratorHelperLoose(atomState.d.keys()), _step5; !(_step5 = _iterator5()).done;) {
115253
+ var a = _step5.value;
115254
+ if (!atomState.m.d.has(a)) {
115255
+ var aMounted = mountAtom(pending, a);
115256
+ aMounted.t.add(atom);
115257
+ atomState.m.d.add(a);
115258
+ }
115268
115259
  }
115269
- });
115270
- readAtomState(atom);
115271
- var mounted = {
115272
- t: new Set(initialDependent && [initialDependent]),
115273
- l: new Set()
115274
- };
115275
- mountedMap.set(atom, mounted);
115276
- {
115277
- mountedAtoms.add(atom);
115278
- }
115279
- if (isActuallyWritableAtom(atom) && atom.onMount) {
115280
- var onMount = atom.onMount;
115281
- queue.push(function () {
115282
- var onUnmount = onMount(function () {
115283
- for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
115284
- args[_key5] = arguments[_key5];
115285
- }
115286
- return writeAtom.apply(void 0, [atom].concat(args));
115287
- });
115288
- if (onUnmount) {
115289
- mounted.u = onUnmount;
115260
+ for (var _iterator6 = _createForOfIteratorHelperLoose(atomState.m.d || []), _step6; !(_step6 = _iterator6()).done;) {
115261
+ var _a = _step6.value;
115262
+ if (!atomState.d.has(_a)) {
115263
+ atomState.m.d.delete(_a);
115264
+ var _aMounted = unmountAtom(pending, _a);
115265
+ _aMounted == null || _aMounted.t.delete(atom);
115290
115266
  }
115291
- });
115292
- }
115293
- if (!onMountQueue) {
115294
- queue.forEach(function (f) {
115295
- return f();
115296
- });
115267
+ }
115297
115268
  }
115298
- return mounted;
115299
- };
115300
- var canUnmountAtom = function canUnmountAtom(atom, mounted) {
115301
- return !mounted.l.size && (!mounted.t.size || mounted.t.size === 1 && mounted.t.has(atom));
115302
115269
  };
115303
- var tryUnmountAtom = function tryUnmountAtom(atom, mounted) {
115304
- if (!canUnmountAtom(atom, mounted)) {
115305
- return;
115306
- }
115307
- var onUnmount = mounted.u;
115308
- if (onUnmount) {
115309
- onUnmount();
115310
- }
115311
- mountedMap.delete(atom);
115312
- {
115313
- mountedAtoms.delete(atom);
115314
- }
115270
+ var mountAtom = function mountAtom(pending, atom) {
115315
115271
  var atomState = getAtomState(atom);
115316
- if (atomState) {
115317
- if (hasPromiseAtomValue(atomState)) {
115318
- cancelPromise(atomState.v);
115319
- }
115320
- atomState.d.forEach(function (_, a) {
115321
- if (a !== atom) {
115322
- var mountedDep = mountedMap.get(a);
115323
- if (mountedDep) {
115324
- mountedDep.t.delete(atom);
115325
- tryUnmountAtom(a, mountedDep);
115272
+ if (!atomState.m) {
115273
+ readAtomState(pending, atom);
115274
+ for (var _iterator7 = _createForOfIteratorHelperLoose(atomState.d.keys()), _step7; !(_step7 = _iterator7()).done;) {
115275
+ var a = _step7.value;
115276
+ var aMounted = mountAtom(pending, a);
115277
+ aMounted.t.add(atom);
115278
+ }
115279
+ atomState.m = {
115280
+ l: new Set(),
115281
+ d: new Set(atomState.d.keys()),
115282
+ t: new Set()
115283
+ };
115284
+ {
115285
+ debugMountedAtoms.add(atom);
115286
+ }
115287
+ if (isActuallyWritableAtom(atom) && atom.onMount) {
115288
+ var mounted = atomState.m;
115289
+ var onMount = atom.onMount;
115290
+ addPendingFunction(pending, function () {
115291
+ var onUnmount = onMount(function () {
115292
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
115293
+ args[_key5] = arguments[_key5];
115294
+ }
115295
+ return writeAtomState.apply(void 0, [pending, atom].concat(args));
115296
+ });
115297
+ if (onUnmount) {
115298
+ mounted.u = onUnmount;
115326
115299
  }
115327
- }
115328
- });
115329
- } else {
115330
- console.warn('[Bug] could not find atom state to unmount', atom);
115300
+ });
115301
+ }
115331
115302
  }
115303
+ return atomState.m;
115332
115304
  };
115333
- var mountDependencies = function mountDependencies(atom, atomState, prevDependencies) {
115334
- var depSet = new Set(atomState.d.keys());
115335
- var maybeUnmountAtomSet = new Set();
115336
- prevDependencies == null || prevDependencies.forEach(function (_, a) {
115337
- if (depSet.has(a)) {
115338
- depSet.delete(a);
115339
- return;
115340
- }
115341
- maybeUnmountAtomSet.add(a);
115342
- var mounted = mountedMap.get(a);
115343
- if (mounted) {
115344
- mounted.t.delete(atom);
115345
- }
115346
- });
115347
- depSet.forEach(function (a) {
115348
- mountAtom(a, atom);
115349
- });
115350
- maybeUnmountAtomSet.forEach(function (a) {
115351
- var mounted = mountedMap.get(a);
115352
- if (mounted) {
115353
- tryUnmountAtom(a, mounted);
115305
+ var unmountAtom = function unmountAtom(pending, atom) {
115306
+ var atomState = getAtomState(atom);
115307
+ if (atomState.m && !atomState.m.l.size && !Array.from(atomState.m.t).some(function (a) {
115308
+ var _getAtomState$m;
115309
+ return (_getAtomState$m = getAtomState(a).m) == null ? void 0 : _getAtomState$m.d.has(atom);
115310
+ })) {
115311
+ var onUnmount = atomState.m.u;
115312
+ if (onUnmount) {
115313
+ addPendingFunction(pending, onUnmount);
115354
115314
  }
115355
- });
115356
- };
115357
- var flushPending = function flushPending(pendingAtoms) {
115358
- var flushed;
115359
- {
115360
- flushed = new Set();
115361
- }
115362
- var pending = [];
115363
- var collectPending = function collectPending(pendingAtom) {
115364
- var _getAtomState2;
115365
- if (!pendingMap.has(pendingAtom)) {
115366
- return;
115315
+ delete atomState.m;
115316
+ {
115317
+ debugMountedAtoms.delete(atom);
115367
115318
  }
115368
- var _ref2 = pendingMap.get(pendingAtom),
115369
- prevAtomState = _ref2[0],
115370
- dependents = _ref2[1];
115371
- pendingMap.delete(pendingAtom);
115372
- pending.push([pendingAtom, prevAtomState]);
115373
- dependents.forEach(collectPending);
115374
- (_getAtomState2 = getAtomState(pendingAtom)) == null || _getAtomState2.d.forEach(function (_, a) {
115375
- return collectPending(a);
115376
- });
115377
- };
115378
- pendingAtoms.forEach(collectPending);
115379
- pending.forEach(function (_ref3) {
115380
- var atom = _ref3[0],
115381
- prevAtomState = _ref3[1];
115382
- var atomState = getAtomState(atom);
115383
- if (!atomState) {
115384
- {
115385
- console.warn('[Bug] no atom state to flush');
115386
- }
115387
- return;
115319
+ for (var _iterator8 = _createForOfIteratorHelperLoose(atomState.d.keys()), _step8; !(_step8 = _iterator8()).done;) {
115320
+ var a = _step8.value;
115321
+ var aMounted = unmountAtom(pending, a);
115322
+ aMounted == null || aMounted.t.delete(atom);
115388
115323
  }
115389
- if (atomState !== prevAtomState) {
115390
- var mounted = mountedMap.get(atom);
115391
- if (mounted && atomState.d !== (prevAtomState == null ? void 0 : prevAtomState.d)) {
115392
- mountDependencies(atom, atomState, prevAtomState == null ? void 0 : prevAtomState.d);
115393
- }
115394
- if (mounted && !(!hasPromiseAtomValue(prevAtomState) && (isEqualAtomValue(prevAtomState, atomState) || isEqualAtomError(prevAtomState, atomState)))) {
115395
- mounted.l.forEach(function (listener) {
115396
- return listener();
115397
- });
115398
- {
115399
- flushed.add(atom);
115400
- }
115401
- }
115324
+ var pendingPromise = getPendingContinuablePromise(atomState);
115325
+ if (pendingPromise) {
115326
+ pendingPromise[CONTINUE_PROMISE](undefined, function () {});
115402
115327
  }
115403
- });
115404
- {
115405
- return flushed;
115328
+ return undefined;
115406
115329
  }
115330
+ return atomState.m;
115407
115331
  };
115408
115332
  var subscribeAtom = function subscribeAtom(atom, listener) {
115409
- var mounted = mountAtom(atom);
115410
- var flushed = flushPending([atom]);
115333
+ var pending = createPending();
115334
+ var mounted = mountAtom(pending, atom);
115335
+ flushPending(pending);
115411
115336
  var listeners = mounted.l;
115412
115337
  listeners.add(listener);
115413
- {
115414
- devListenersRev2.forEach(function (l) {
115415
- return l({
115416
- type: 'sub',
115417
- flushed: flushed
115418
- });
115419
- });
115420
- }
115421
115338
  return function () {
115422
115339
  listeners.delete(listener);
115423
- tryUnmountAtom(atom, mounted);
115424
- {
115425
- devListenersRev2.forEach(function (l) {
115426
- return l({
115427
- type: 'unsub'
115428
- });
115429
- });
115430
- }
115340
+ var pending = createPending();
115341
+ unmountAtom(pending, atom);
115342
+ flushPending(pending);
115431
115343
  };
115432
115344
  };
115345
+ var store = {
115346
+ get: readAtom,
115347
+ set: writeAtom,
115348
+ sub: subscribeAtom
115349
+ };
115433
115350
  {
115434
- return {
115435
- get: readAtom,
115436
- set: writeAtom,
115437
- sub: subscribeAtom,
115438
- dev_subscribe_store: function dev_subscribe_store(l) {
115439
- devListenersRev2.add(l);
115440
- return function () {
115441
- devListenersRev2.delete(l);
115442
- };
115443
- },
115444
- dev_get_mounted_atoms: function dev_get_mounted_atoms() {
115445
- return mountedAtoms.values();
115446
- },
115447
- dev_get_atom_state: function dev_get_atom_state(a) {
115448
- return atomStateMap.get(a);
115351
+ var devStore = {
115352
+ dev4_get_internal_weak_map: function dev4_get_internal_weak_map() {
115353
+ return atomStateMap;
115449
115354
  },
115450
- dev_get_mounted: function dev_get_mounted(a) {
115451
- return mountedMap.get(a);
115355
+ dev4_get_mounted_atoms: function dev4_get_mounted_atoms() {
115356
+ return debugMountedAtoms;
115452
115357
  },
115453
- dev_restore_atoms: function dev_restore_atoms(values) {
115454
- pendingStack.push(new Set());
115455
- for (var _iterator3 = _createForOfIteratorHelperLoose(values), _step3; !(_step3 = _iterator3()).done;) {
115456
- var _step3$value = _step3.value,
115457
- atom = _step3$value[0],
115458
- valueOrPromise = _step3$value[1];
115358
+ dev4_restore_atoms: function dev4_restore_atoms(values) {
115359
+ var pending = createPending();
115360
+ for (var _iterator9 = _createForOfIteratorHelperLoose(values), _step9; !(_step9 = _iterator9()).done;) {
115361
+ var _step9$value = _step9.value,
115362
+ atom = _step9$value[0],
115363
+ value = _step9$value[1];
115459
115364
  if (hasInitialValue(atom)) {
115460
- setAtomValueOrPromise(atom, valueOrPromise);
115461
- recomputeDependents(atom);
115365
+ var atomState = getAtomState(atom);
115366
+ var hasPrevValue = 'v' in atomState;
115367
+ var prevValue = atomState.v;
115368
+ setAtomStateValueOrPromise(atom, atomState, value);
115369
+ mountDependencies(pending, atom, atomState);
115370
+ if (!hasPrevValue || !Object.is(prevValue, atomState.v)) {
115371
+ addPendingAtom(pending, atom, atomState);
115372
+ recomputeDependents(pending, atom);
115373
+ }
115462
115374
  }
115463
115375
  }
115464
- var flushed = flushPending(pendingStack.pop());
115465
- devListenersRev2.forEach(function (l) {
115466
- return l({
115467
- type: 'restore',
115468
- flushed: flushed
115469
- });
115470
- });
115376
+ flushPending(pending);
115471
115377
  }
115472
115378
  };
115379
+ Object.assign(store, devStore);
115473
115380
  }
115381
+ return store;
115474
115382
  };
115475
115383
  var defaultStore;
115476
- var getDefaultStore$1 = function getDefaultStore() {
115384
+ var getDefaultStore = function getDefaultStore() {
115477
115385
  if (!defaultStore) {
115478
- defaultStore = createStore$1$1();
115386
+ defaultStore = createStore$2();
115479
115387
  {
115480
- var _ref4;
115481
- (_ref4 = globalThis).__JOTAI_DEFAULT_STORE__ || (_ref4.__JOTAI_DEFAULT_STORE__ = defaultStore);
115388
+ var _ref2;
115389
+ (_ref2 = globalThis).__JOTAI_DEFAULT_STORE__ || (_ref2.__JOTAI_DEFAULT_STORE__ = defaultStore);
115482
115390
  if (globalThis.__JOTAI_DEFAULT_STORE__ !== defaultStore) {
115483
115391
  console.warn('Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044');
115484
115392
  }
@@ -115487,9 +115395,6 @@
115487
115395
  return defaultStore;
115488
115396
  };
115489
115397
 
115490
- var createStore$2 = createStore$1$1;
115491
- var getDefaultStore = getDefaultStore$1;
115492
-
115493
115398
  var atom_1 = atom;
115494
115399
  var createStore_1 = createStore$2;
115495
115400
  var getDefaultStore_1 = getDefaultStore;
@@ -115653,7 +115558,7 @@
115653
115558
  function _createForOfIteratorHelperLoose$1(r, e) {
115654
115559
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
115655
115560
  if (t) return (t = t.call(r)).next.bind(t);
115656
- if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e ) {
115561
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e) {
115657
115562
  t && (r = t);
115658
115563
  var o = 0;
115659
115564
  return function () {
@@ -116543,7 +116448,7 @@
116543
116448
  function _createForOfIteratorHelperLoose$2(r, e) {
116544
116449
  var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
116545
116450
  if (t) return (t = t.call(r)).next.bind(t);
116546
- if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e ) {
116451
+ if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e) {
116547
116452
  t && (r = t);
116548
116453
  var o = 0;
116549
116454
  return function () {
@@ -146435,7 +146340,7 @@
146435
146340
  }
146436
146341
  // 检验当前运行环境
146437
146342
  if (typeof window === 'undefined') {
146438
- console.warn('cloud-business@0.1.124-5 仅支持在浏览器环境进行使用!');
146343
+ console.warn('cloud-business@0.1.124-7 仅支持在浏览器环境进行使用!');
146439
146344
  }
146440
146345
  var bodys = document.getElementsByTagName('body')[0];
146441
146346
  var colors = [1, 2, 3, 4, 5, 6, 7];
@@ -146445,7 +146350,7 @@
146445
146350
  bodys.style.setProperty("--shuyunBlue".concat(i$2 + 1), color);
146446
146351
  }
146447
146352
  }
146448
- var version = '0.1.124-5';
146353
+ var version = '0.1.124-7';
146449
146354
 
146450
146355
  exports.AreaSelector = AreaSelector;
146451
146356
  exports.AreaSelectorNew = AreaSelector$1;