state-decorator 7.0.0 → 7.0.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.
- package/README.md +7 -13
- package/es/impl.js +1 -1
- package/es/index.d.ts +13 -3
- package/es/index.js +1 -1
- package/impl.js +1 -1
- package/index.d.ts +13 -3
- package/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -152,19 +152,13 @@ export function App(props: Props) => {
|
|
|
152
152
|
|
|
153
153
|
# React hooks
|
|
154
154
|
|
|
155
|
-
| Hook | Purpose
|
|
156
|
-
| -------------------- |
|
|
157
|
-
| useLocalStore | Create a store and binds it to the react component.
|
|
158
|
-
| useStore | Binds a store instance to the react component.
|
|
159
|
-
|
|
|
160
|
-
|
|
|
161
|
-
|
|
162
|
-
# React 18 compatibility
|
|
163
|
-
|
|
164
|
-
V6 is designed to work with a react version supporting hooks (>=16.8) but as React 18 is different
|
|
165
|
-
|
|
166
|
-
- _useLocalStore_ can be safely used in React 18 (as it's using props drilling).
|
|
167
|
-
- _useStore_ and _useStoreSlice_ **cannot** be used with React 18, v7 version will support these use cases.
|
|
155
|
+
| Hook | Purpose | Returns | Is component refreshed on store change? | Is store destroyed on unmount? |
|
|
156
|
+
| -------------------- | ------------------------------------------------------------- | ------- | --------------------------------------- | ------------------------------ |
|
|
157
|
+
| useLocalStore | Create a store and binds it to the react component. | Store | if **refreshOnUpdate** is set | Y |
|
|
158
|
+
| useStore | Binds a store instance to the react component. | Store | yes | N |
|
|
159
|
+
| useBindStore | Binds a store instance to the react component (inject props). | Store | yes | N |
|
|
160
|
+
| useStoreSlice | Get a slice of a store. | Slice | yes | N |
|
|
161
|
+
| useStoreContextSlice | Get a slice of a store stored in a context | Slice | If slice has changed only | N |
|
|
168
162
|
|
|
169
163
|
# Initial state
|
|
170
164
|
|
package/es/impl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(o,i){function c(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(c,u)}a((n=n.apply(e,r||[])).next())}))}function o(e,r){var t,n,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(a){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(c=0)),c;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,n=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){c.label=u[1];break}if(6===u[0]&&c.label<o[1]){c.label=o[1],o=u;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(u);break}o[2]&&c.ops.pop(),c.trys.pop();continue}u=r.call(e,c)}catch(e){u=[6,e],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,a])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}var c,u=function(){function e(e){this.keys=e,this.adj={}}return e.prototype.isCyclicUtil=function(e,r,t){var n;if(t.has(e))return!0;if(r.has(e))return!1;r.add(e),t.add(e);for(var o=0,i=null!==(n=this.adj[e])&&void 0!==n?n:[];o<i.length;o++){var c=i[o];if(this.isCyclicUtil(c,r,t))return!0}return t.delete(e),!1},e.prototype.setEdges=function(e,r){this.adj[e]=r},e.prototype.isCyclic=function(){for(var e=new Set,r=new Set,t=0,n=this.keys;t<n.length;t++){var o=n[t];if(this.isCyclicUtil(o,e,r))return!0}return!1},e}();!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(c||(c={}));var a=function(e){function t(r,n){var o=e.call(this,r.message)||this;return o.source=r,o.initialError=n,Object.setPrototypeOf(o,t.prototype),o}return r(t,e),t}(Error),l={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.prototype.hasOwnProperty.call(r,t[o])||!Object.is(e[t[o]],r[t[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function s(e){Object.keys(e).forEach((function(r){null!=e[r]&&(l[r]=e[r])}))}function f(e){try{return l.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function d(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))}function v(e){return"function"==typeof e}function p(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function h(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function g(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function y(e){return g(e)?t(t({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:c.REUSE}):e}function E(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=!1,a)),u))}function S(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=void 0,a)),u))}var w=function(e){function t(r){var n=e.call(this,"Error")||this;return n.promiseIds=r,Object.setPrototypeOf(n,t.prototype),n}return r(t,e),t}(Error);function P(e){return Object.keys(e).reduce((function(r,t){var n=e[t];if(null==n[z]);else if(n[z])r[t]=n[z];else{var o=Object.keys(n).reduce((function(e,r){return null!=n[r]&&(e.hasErr=!0,e.map[r]=n[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[t]=new w(o.map))}return r}),{})}function m(e,r,t,i){return void 0===r&&(r=1),void 0===t&&(t=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var u=e(c);return null===u?null:function u(a,l){return n(this,void 0,void 0,(function(){return o(this,(function(n){return null===l?[2,null]:[2,l.catch((function(n){return i(n)?a===r?Promise.reject(n):new Promise((function(r,n){setTimeout((function(){var t=e(c);u(a+1,t).then(r).catch(n)}),t*a)})):Promise.reject(n)}))]}))}))}(1,u)}}function b(e){return void 0===e&&(e=null),{current:e}}function O(e,r,t){var n,o;return{state:e.current,s:e.current,ds:null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:t.current,p:t.current}}function R(e,r,t,n){return _(O(e,r,t),n)}function j(e,r,n,o){return t(t({},O(e,r,n)),{abortedActions:o})}function A(e,r,t,n,o,i,c){var u=O(e,r,t);return u.indices=n,u.index=o,u.isInit=i,u.getInitialState=c,u}function L(e,r,t,n,o){var i=O(e,r,t);return i.args=n,o&&(i.promiseId=o),i}function C(e,r,t,n,o,i){var c=L(e,r,t,n,i);return c.result=o,c.res=o,c}function k(e,r){var t=e;return t.state=r.current,t.s=r.current,t}function _(e,r){var t=e;return t.actions=r.current,t.a=r.current,t}function T(e,r,t,n,o,i){var c,u=_(e,n);k(e,r);var a=null===(c=null==t?void 0:t.current)||void 0===c?void 0:c.state;return u.derived=a,u.ds=a,u.notifyWarning=o,u.clearError=i,u}function M(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function x(e,r,n){return n?r:null==r?null:t(t({},e.current),r)}function D(e){return e.hasOwnProperty("getInitialState")}function I(e,r,t,n,o,i,c,u){return function(){for(var a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];if(i.current){var s=L(t,n,o,a),f=x(t,r(s),c.fullStateEffects);u(f,null,e,"effects",!1,s,!1)}else M(e)}}function N(e,r,t,n,o,i,c,u,a,l,s){var f,d=C(t,n,o,s,void 0),v=!1;if(null!=r.effects){var p=x(t,r.effects(d),u.fullStateEffects);null===p?v=!0:a(p,void 0,e,"effects",!1,d,!1)}if(!v)if(r.debounceSideEffectsTimeout>0){var h=c.current[e];h&&clearTimeout(h),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,T(d,t,n,i,u.notifyWarning,l)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(f=r.sideEffects)||void 0===f||f.call(r,T(d,t,n,i,u.notifyWarning,l))}function G(e,r,t,n,o,i,c,u,a,l,s){return function(){for(var f=[],d=0;d<arguments.length;d++)f[d]=arguments[d];if(c.current)if(r.debounceTimeout){var v=u.current[e];v&&clearTimeout(v),u.current[e]=setTimeout((function(){delete u.current[e],N(e,r,t,n,o,i,u,a,l,s,f)}),r.debounceTimeout)}else N(e,r,t,n,o,i,u,a,l,s,f);else M(e)}}function U(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,u=e.propsRef,s=e.actionsRef,f=e.loadingParallelMapRef,d=e.errorMapRef,v=e.promisesRef,p=e.conflictActionsRef,h=e.actionName,g=e.options,y=e.clearError,w=e.setState;if(e.initializedRef.current){var P=null,m=t,b=function(e,r,t,n,o,i){var c=L(e,r,t,n,i);return c.error=o,c.err=o,c}(i,c,u,n,m,r);if(o.errorEffects)try{P=x(i,o.errorEffects(b),g.fullStateEffects)}catch(e){m=new a(e,t)}d.current=S(d.current,h,r,m),w(P,E(f.current,h,r,!1),h,"errorEffects",!0,b,!1);var O=!1;(null!=P||o.errorSideEffects||o.isErrorManaged||g.isErrorManaged)&&(O=!0);var R=g.notifyError||l.notifyError;if(R){var j=void 0;o.getErrorMessage&&(j=o.getErrorMessage(b)),void 0===j&&!O&&l.getErrorMessage&&(j=l.getErrorMessage(m)),j&&(O=!0,R(j))}return l.asyncErrorHandler(m,O||o.rejectPromiseOnError,i.current,u.current,h,n),delete v.current[h][r],o.errorSideEffects&&o.errorSideEffects(T(b,i,c,s,l.notifyWarning,y)),J(h,s.current,p.current),!O||o.rejectPromiseOnError?Promise.reject(m):Promise.resolve()}}function K(e){var r=e.action,n=e.stateRef,o=e.derivedStateRef,u=e.propsRef,s=e.actionsRef,d=e.promisesRef,v=e.loadingParallelMapRef,p=e.errorMapRef,h=e.initializedRef,g=e.conflictActionsRef,y=e.actionName,w=e.setState,P=e.options;return function(){for(var b,O,R,j=[],A=0;A<arguments.length;A++)j[A]=arguments[A];if(!h.current)return M(y),null;var k=d.current,D=r.conflictPolicy,I=void 0===D?c.KEEP_ALL:D,N=I===c.PARALLEL,G=null;if(N){if(!r.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");G=r.getPromiseId.apply(r,j)}else G=z;if(!N&&(null===(O=k[y])||void 0===O?void 0:O[G]))return function(e,r,t,n,o){var i=n;if(i===c.REUSE){if(F(e[t][z].refArgs,o))return e[t][z].promise;i=c.KEEP_ALL}return new Promise((function(e,n){var u={resolve:e,reject:n,args:f(o),timestamp:Date.now()};switch(i){case c.IGNORE:e(void 0);break;case c.REJECT:n(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case c.KEEP_LAST:r[t]=[u];break;case c.KEEP_ALL:var a=r[t];a||(r[t]=a=[]),a.push(u);case c.PARALLEL:case c.REUSE:}}))}(k,g.current,y,I,j);var K=null,W=!1,H=L(n,o,u,j,G);if(r.preEffects){try{K=x(n,r.preEffects(H),P.fullStateEffects)}catch(e){return l.asyncErrorHandler(new a(e),!1,n.current,u.current,y,j),Promise.reject(new a(e))}K&&(W=!0,n.current=K)}var V=r.abortable,q=r.retryCount,B=r.retryDelaySeed,Q=r.isTriggerRetryError,X=V&&window.AbortController?new AbortController:null,Y=null===(R=m(r.getPromise,q?1+q:1,B,Q||l.retryOnErrorFunction)(function(e,r,t,n,o,i,c){var u=_(L(e,r,t,n,c),o);return u.abortSignal=i,u}(n,o,u,j,s,null==X?void 0:X.signal)))||void 0===R?void 0:R.then((function(r){return function(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,u=e.propsRef,s=e.promisesRef,f=e.actionsRef,d=e.loadingParallelMapRef,v=e.conflictActionsRef,p=e.actionName,h=e.options,g=e.setState,y=e.clearError;if(e.initializedRef.current){var S=null,w=C(i,c,u,n,t,r);if(o.effects)try{S=x(i,o.effects(w),h.fullStateEffects)}catch(e){return Promise.reject(new a(e))}g(S,E(d.current,p,r,!1),p,"effects",!0,w,!1);var P=h.notifySuccess||l.notifySuccess;if(P){var m=void 0;o.getSuccessMessage&&(m=o.getSuccessMessage(w)),m&&P(m)}return delete s.current[p][r],o.sideEffects&&o.sideEffects(T(w,i,c,f,l.notifyWarning,y)),J(p,f.current,v.current),t}}(e,G,r,j)})).catch((function(r){return U(e,G,r,j)}));return null!=Y&&(k[y]=t(t({},k[y]||{}),((b={})[G||z]={abortController:X,promise:Y,refArgs:I===c.REUSE&&j.length>0?i([],j,!0):[]},b))),p.current=S(p.current,y,G,null),w(null!=Y||W?n.current:void 0,null==Y?void 0:E(v.current,y,G,!0),y,"preEffects",!0,H,!1),Y}}function W(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.some((function(r){var t,n=null,o=z;Array.isArray(r)?(n=r[0],o=void 0===(t=r[1])?z:t):n=r;var i=e[n];return null!=i&&(null!=i[o]&&i[o])}))}var z="__def__";function F(e,r){return e.length===r.length&&-1===e.findIndex((function(e,t){return r[t]!==e}))}function J(e,r,t){var n=t[e];if(n&&n.length>0){var o=t[e].shift();if(o){var i=r[e].apply(r,o.args);null==i?J(e,r,t):i.then((function(n){null===n&&J(e,r,t),o.resolve(n)})).catch((function(e){return o.reject(e)}))}}}function H(e,r,n,o){if(null==(null==o?void 0:o.derivedState))return!1;var i=!1,c=l.comparator,u=n.current.deps,a=O(e,null,r),s=Object.keys(o.derivedState);return n.current.state=s.reduce((function(e,r){var l,s,f=!1,d=o.derivedState[r],v=u[r],p=null!==(s=null===(l=d.getDeps)||void 0===l?void 0:l.call(d,a))&&void 0!==s?s:[];return d.derivedDeps&&d.derivedDeps.forEach((function(r){var t,o,i;return p.push(null!==(t=e[r])&&void 0!==t?t:null===(i=null===(o=n.current)||void 0===o?void 0:o.state)||void 0===i?void 0:i[r])})),f=null==v||null!=p.find((function(e,r){return v.length<r||!c(v[r],e)})),i=i||f,u[r]=p,e[r]=f?o.derivedState[r].get(function(e,r){return t(t({},e),{ds:r,derived:r})}(a,e)):n.current.state[r],e}),{}),i}function V(e){var r,t=Object.keys(e.derivedState),n=new u(t);if(t.forEach((function(r){n.setEdges(r,e.derivedState[r].derivedDeps)})),n.isCyclic())throw new Error("There are cycles in the derived state dependencies");for(var o=!1,i={},c=0,a=t;c<a.length;c++){var l=a[c],s=null!==(r=e.derivedState[l].derivedDeps)&&void 0!==r?r:[];o=o||s.length>0,i[l]=s.concat()}if(o){t.sort((function(e,r){return i[e].length-i[r].length}));for(var f=[],d=new Set,v=t.length;d.size!==v;){var p=t.pop();if(!d.has(p))i[p]=i[p].filter((function(e){return!d.has(e)})),0===i[p].length?(f.push(p),d.add(p)):t.splice(0,0,p)}for(var h={},g=0,y=f;g<y.length;g++){h[p=y[g]]=e.derivedState[p]}e.derivedState=h}}function q(e,r,n,o,i,c,u,a,s,f){var d=null!=(null==c?void 0:c.derivedState);if(null!=c.onPropsChange){var v;v=Array.isArray(c.onPropsChange)?c.onPropsChange:[c.onPropsChange];var p=!1,h=b(e.current),g=[],y=l.comparator;v.forEach((function(t,i){var l,d=t.getDeps;if(d){var v=!1,E=[];if(s){if(!(!f&&t.onMount||f&&t.onMountDeferred))return;v=!0}else{var S=d(o),w=d(n.current);S.length!==w.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),v=!0):S.forEach((function(e,r){y(e,w[r])||(v=!0,E.push(r))}))}if(v){var P=A(h,r,n,E,i,s,u),m=x(e,null===(l=t.effects)||void 0===l?void 0:l.call(t,P),c.fullStateEffects);null!=m&&(p=!0,h.current=m,a(h.current,void 0,"onPropsChange","effects",!1,P,!0,s)),t.sideEffects&&g.push({index:i,indices:E,ctx:P})}}})),!p&&d&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),g.length>0&&g.forEach((function(e){v[e.index].sideEffects(t(t({},k(_(e.ctx,i),h)),{indices:e.indices}))}))}else null!=(null==c?void 0:c.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function B(e,r,t,n,o,i,c,u){if("onPropsChange"===o&&void 0===t)return{newState:null,newLoading:!1};if(e&&e.length>0){var a=e.reduce((function(e,r){var t=r.effects({isAsync:c,name:o,type:i,context:u},e.oldState,e.newState,n);return{newState:(null==t?void 0:t.state)||e.newState,oldState:(null==t?void 0:t.state)?e.newState:e.oldState,loading:null==(null==t?void 0:t.loading)?e.loading:t.loading}}),{oldState:r,newState:t,loading:n});return{newLoading:a.loading,newState:a.newState}}return{newState:t,newLoading:n}}export{z as DEFAULT_PROMISE_ID,a as EffectError,w as ParallelActionError,_ as addContextActions,k as addStateToContext,F as areSameArgs,P as buildErrorMap,O as buildInvocationContextBase,E as buildLoadingMap,R as buildOnMountInvocationContext,A as buildOnPropChangeEffects,j as buildOnUnMountInvocationContext,y as computeAsyncActionInput,H as computeDerivedValues,b as createRef,K as decorateAsyncAction,I as decorateSimpleSyncAction,G as decorateSyncAction,V as fixDerivedDeps,l as globalConfig,d as isAsyncAction,h as isAsyncGetPromiseAction,g as isAsyncGetPromiseGetAction,D as isFuncConfig,W as isLoadingImpl,v as isSimpleSyncAction,p as isSyncAction,q as onPropChange,m as retryPromiseDecorator,B as runMiddlewares,s as setGlobalConfig,S as updateErrorMap};
|
|
1
|
+
var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(o,i){function c(e){try{a(n.next(e))}catch(e){i(e)}}function u(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(c,u)}a((n=n.apply(e,r||[])).next())}))}function o(e,r){var t,n,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(a){return function(u){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(c=0)),c;)try{if(t=1,n&&(o=2&u[0]?n.return:u[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,u[1])).done)return o;switch(n=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return c.label++,{value:u[1],done:!1};case 5:c.label++,n=u[1],u=[0];continue;case 7:u=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==u[0]&&2!==u[0])){c=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){c.label=u[1];break}if(6===u[0]&&c.label<o[1]){c.label=o[1],o=u;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(u);break}o[2]&&c.ops.pop(),c.trys.pop();continue}u=r.call(e,c)}catch(e){u=[6,e],n=0}finally{t=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,a])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}var c,u=function(){function e(e){this.keys=e,this.adj={}}return e.prototype.isCyclicUtil=function(e,r,t){var n;if(t.has(e))return!0;if(r.has(e))return!1;r.add(e),t.add(e);for(var o=0,i=null!==(n=this.adj[e])&&void 0!==n?n:[];o<i.length;o++){var c=i[o];if(this.isCyclicUtil(c,r,t))return!0}return t.delete(e),!1},e.prototype.setEdges=function(e,r){this.adj[e]=r},e.prototype.isCyclic=function(){for(var e=new Set,r=new Set,t=0,n=this.keys;t<n.length;t++){var o=n[t];if(this.isCyclicUtil(o,e,r))return!0}return!1},e}();!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(c||(c={}));var a=function(e){function t(r,n){var o=e.call(this,r.message)||this;return o.source=r,o.initialError=n,Object.setPrototypeOf(o,t.prototype),o}return r(t,e),t}(Error),l={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.prototype.hasOwnProperty.call(r,t[o])||!Object.is(e[t[o]],r[t[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function f(e){Object.keys(e).forEach((function(r){null!=e[r]&&(l[r]=e[r])}))}function s(e){try{return l.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function d(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))}function v(e){return"function"==typeof e}function p(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function h(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")}function g(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function y(e){return g(e)?t(t({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:c.REUSE}):e}function E(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=!1,a)),u))}function S(e,r,n,o){var i,c,u,a;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((u={})[r]=t(t({},e[r]),((a={})[n]=void 0,a)),u))}var w=function(e){function t(r){var n=e.call(this,"Error")||this;return n.promiseIds=r,Object.setPrototypeOf(n,t.prototype),n}return r(t,e),t}(Error);function P(e){return Object.keys(e).reduce((function(r,t){var n=e[t];if(null==n[W]);else if(n[W])r[t]=n[W];else{var o=Object.keys(n).reduce((function(e,r){return null!=n[r]&&(e.hasErr=!0,e.map[r]=n[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[t]=new w(o.map))}return r}),{})}function m(e,r,t,i){return void 0===r&&(r=1),void 0===t&&(t=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var u=e(c);return null===u?null:function u(a,l){return n(this,void 0,void 0,(function(){return o(this,(function(n){return null===l?[2,null]:[2,l.catch((function(n){return i(n)?a===r?Promise.reject(n):new Promise((function(r,n){setTimeout((function(){var t=e(c);u(a+1,t).then(r).catch(n)}),t*a)})):Promise.reject(n)}))]}))}))}(1,u)}}function b(e){return void 0===e&&(e=null),{current:e}}function O(e,r,t){var n,o;return{state:e.current,s:e.current,ds:null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:t.current,p:t.current}}function R(e,r,t,n){return _(O(e,r,t),n)}function j(e,r,n,o){return t(t({},O(e,r,n)),{abortedActions:o})}function A(e,r,t,n,o,i,c){var u=O(e,r,t);return u.indices=n,u.index=o,u.isInit=i,u.getInitialState=c,u}function L(e,r,t,n,o){var i=O(e,r,t);return i.args=n,o&&(i.promiseId=o),i}function C(e,r,t,n,o,i){var c=L(e,r,t,n,i);return c.result=o,c.res=o,c}function k(e,r){var t=e;return t.state=r.current,t.s=r.current,t}function _(e,r){var t=e;return t.actions=r.current,t.a=r.current,t}function T(e,r,t,n,o,i){var c,u=_(e,n);k(e,r);var a=null===(c=null==t?void 0:t.current)||void 0===c?void 0:c.state;return u.derived=a,u.ds=a,u.notifyWarning=o,u.clearError=i,u}function M(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function x(e,r,n){return n?r:null==r?null:t(t({},e.current),r)}function D(e){return e.hasOwnProperty("getInitialState")}function I(e,r,t,n,o,i,c,u){return function(){for(var a=[],l=0;l<arguments.length;l++)a[l]=arguments[l];if(i.current){var f=L(t,n,o,a),s=x(t,r(f),c.fullStateEffects);u(s,null,e,"effects",!1,f,!1)}else M(e)}}function N(e,r,t,n,o,i,c,u,a,l,f){var s,d=C(t,n,o,f,void 0),v=!1;if(null!=r.effects){var p=x(t,r.effects(d),u.fullStateEffects);null===p?v=!0:a(p,void 0,e,"effects",!1,d,!1)}if(!v)if(r.debounceSideEffectsTimeout>0){var h=c.current[e];h&&clearTimeout(h),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,T(d,t,n,i,u.notifyWarning,l)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(s=r.sideEffects)||void 0===s||s.call(r,T(d,t,n,i,u.notifyWarning,l))}function G(e,r,t,n,o,i,c,u,a,l,f){return function(){for(var s=[],d=0;d<arguments.length;d++)s[d]=arguments[d];if(c.current)if(r.debounceTimeout){var v=u.current[e];v&&clearTimeout(v),u.current[e]=setTimeout((function(){delete u.current[e],N(e,r,t,n,o,i,u,a,l,f,s)}),r.debounceTimeout)}else N(e,r,t,n,o,i,u,a,l,f,s);else M(e)}}function U(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,u=e.propsRef,f=e.actionsRef,s=e.loadingParallelMapRef,d=e.errorMapRef,v=e.promisesRef,p=e.conflictActionsRef,h=e.actionName,g=e.options,y=e.clearError,w=e.setState;if(e.initializedRef.current){var P=null,m=t,b=function(e,r,t,n,o,i){var c=L(e,r,t,n,i);return c.error=o,c.err=o,c}(i,c,u,n,m,r);if(o.errorEffects)try{P=x(i,o.errorEffects(b),g.fullStateEffects)}catch(e){m=new a(e,t)}d.current=S(d.current,h,r,m),w(P,E(s.current,h,r,!1),h,"errorEffects",!0,b,!1);var O=!1;(null!=P||o.errorSideEffects||o.isErrorManaged||g.isErrorManaged)&&(O=!0);var R=g.notifyError||l.notifyError;if(R){var j=void 0;o.getErrorMessage&&(j=o.getErrorMessage(b)),void 0===j&&!O&&l.getErrorMessage&&(j=l.getErrorMessage(m)),j&&(O=!0,R(j))}return l.asyncErrorHandler(m,O||o.rejectPromiseOnError,i.current,u.current,h,n),delete v.current[h][r],o.errorSideEffects&&o.errorSideEffects(T(b,i,c,f,l.notifyWarning,y)),J(e.initializedRef,h,f.current,p.current),!O||o.rejectPromiseOnError?Promise.reject(m):Promise.resolve()}}function z(e){var r=e.action,n=e.stateRef,o=e.derivedStateRef,u=e.propsRef,f=e.actionsRef,d=e.promisesRef,v=e.loadingParallelMapRef,p=e.errorMapRef,h=e.initializedRef,g=e.conflictActionsRef,y=e.actionName,w=e.setState,P=e.options;return function(){for(var b,O,R,j=[],A=0;A<arguments.length;A++)j[A]=arguments[A];if(!h.current)return M(y),null;var k=d.current,D=r.conflictPolicy,I=void 0===D?c.KEEP_ALL:D,N=I===c.PARALLEL,G=null;if(N){if(!r.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");G=r.getPromiseId.apply(r,j)}else G=W;if(!N&&(null===(O=k[y])||void 0===O?void 0:O[G]))return function(e,r,t,n,o){var i=n;if(i===c.REUSE){if(F(e[t][W].refArgs,o))return e[t][W].promise;i=c.KEEP_ALL}return new Promise((function(e,n){var u={resolve:e,reject:n,args:s(o),timestamp:Date.now()};switch(i){case c.IGNORE:e(void 0);break;case c.REJECT:n(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case c.KEEP_LAST:r[t]=[u];break;case c.KEEP_ALL:var a=r[t];a||(r[t]=a=[]),a.push(u);case c.PARALLEL:case c.REUSE:}}))}(k,g.current,y,I,j);var z=null,K=!1,H=L(n,o,u,j,G);if(r.preEffects){try{z=x(n,r.preEffects(H),P.fullStateEffects)}catch(e){return l.asyncErrorHandler(new a(e),!1,n.current,u.current,y,j),Promise.reject(new a(e))}z&&(K=!0,n.current=z)}var V=r.abortable,q=r.retryCount,B=r.retryDelaySeed,Q=r.isTriggerRetryError,X=V&&window.AbortController?new AbortController:null,Y=null===(R=m(r.getPromise,q?1+q:1,B,Q||l.retryOnErrorFunction)(function(e,r,t,n,o,i,c){var u=_(L(e,r,t,n,c),o);return u.abortSignal=i,u}(n,o,u,j,f,null==X?void 0:X.signal)))||void 0===R?void 0:R.then((function(r){return function(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,u=e.propsRef,f=e.promisesRef,s=e.actionsRef,d=e.loadingParallelMapRef,v=e.conflictActionsRef,p=e.actionName,h=e.options,g=e.setState,y=e.clearError;if(e.initializedRef.current){var S=null,w=C(i,c,u,n,t,r);if(o.effects)try{S=x(i,o.effects(w),h.fullStateEffects)}catch(e){return Promise.reject(new a(e))}g(S,E(d.current,p,r,!1),p,"effects",!0,w,!1);var P=h.notifySuccess||l.notifySuccess;if(P){var m=void 0;o.getSuccessMessage&&(m=o.getSuccessMessage(w)),m&&P(m)}return delete f.current[p][r],o.sideEffects&&o.sideEffects(T(w,i,c,s,l.notifyWarning,y)),J(e.initializedRef,p,s.current,v.current),t}}(e,G,r,j)})).catch((function(r){return U(e,G,r,j)}));return null!=Y&&(k[y]=t(t({},k[y]||{}),((b={})[G||W]={abortController:X,promise:Y,refArgs:I===c.REUSE&&j.length>0?i([],j,!0):[]},b))),p.current=S(p.current,y,G,null),w(null!=Y||K?n.current:void 0,null==Y?void 0:E(v.current,y,G,!0),y,"preEffects",!0,H,!1),Y}}function K(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.some((function(r){var t,n=null,o=W;Array.isArray(r)?(n=r[0],o=void 0===(t=r[1])?W:t):n=r;var i=e[n];return null!=i&&(null!=i[o]&&i[o])}))}var W="__def__";function F(e,r){return e.length===r.length&&-1===e.findIndex((function(e,t){return r[t]!==e}))}function J(e,r,t,n){if(e.current){var o=n[r];if(o&&o.length>0){var i=n[r].shift();if(i){var c=t[r].apply(t,i.args);null==c?J(e,r,t,n):c.then((function(o){null===o&&J(e,r,t,n),i.resolve(o)})).catch((function(e){return i.reject(e)}))}}}}function H(e,r,n,o){if(null==(null==o?void 0:o.derivedState))return!1;var i=!1,c=l.comparator,u=n.current.deps,a=O(e,null,r),f=Object.keys(o.derivedState);return n.current.state=f.reduce((function(e,r){var l,f,s=!1,d=o.derivedState[r],v=u[r],p=null!==(f=null===(l=d.getDeps)||void 0===l?void 0:l.call(d,a))&&void 0!==f?f:[];return d.derivedDeps&&d.derivedDeps.forEach((function(r){var t,o,i;return p.push(null!==(t=e[r])&&void 0!==t?t:null===(i=null===(o=n.current)||void 0===o?void 0:o.state)||void 0===i?void 0:i[r])})),s=null==v||null!=p.find((function(e,r){return v.length<r||!c(v[r],e)})),i=i||s,u[r]=p,e[r]=s?o.derivedState[r].get(function(e,r){return t(t({},e),{ds:r,derived:r})}(a,e)):n.current.state[r],e}),{}),i}function V(e){var r,t=Object.keys(e.derivedState),n=new u(t);if(t.forEach((function(r){n.setEdges(r,e.derivedState[r].derivedDeps)})),n.isCyclic())throw new Error("There are cycles in the derived state dependencies");for(var o=!1,i={},c=0,a=t;c<a.length;c++){var l=a[c],f=null!==(r=e.derivedState[l].derivedDeps)&&void 0!==r?r:[];o=o||f.length>0,i[l]=f.concat()}if(o){t.sort((function(e,r){return i[e].length-i[r].length}));for(var s=[],d=new Set,v=t.length;d.size!==v;){var p=t.pop();if(!d.has(p))i[p]=i[p].filter((function(e){return!d.has(e)})),0===i[p].length?(s.push(p),d.add(p)):t.splice(0,0,p)}for(var h={},g=0,y=s;g<y.length;g++){h[p=y[g]]=e.derivedState[p]}e.derivedState=h}}function q(e,r,n,o,i,c,u,a,f,s){var d=null!=(null==c?void 0:c.derivedState);if(null!=c.onPropsChange){var v;v=Array.isArray(c.onPropsChange)?c.onPropsChange:[c.onPropsChange];var p=!1,h=b(e.current),g=[],y=l.comparator;v.forEach((function(t,i){var l,d=t.getDeps;if(d){var v=!1,E=[];if(f){if(!(!s&&t.onMount||s&&t.onMountDeferred))return;v=!0}else{var S=d(o),w=d(n.current);S.length!==w.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),v=!0):S.forEach((function(e,r){y(e,w[r])||(v=!0,E.push(r))}))}if(v){var P=A(h,r,n,E,i,f,u),m=x(e,null===(l=t.effects)||void 0===l?void 0:l.call(t,P),c.fullStateEffects);null!=m&&(p=!0,h.current=m,a(h.current,void 0,"onPropsChange","effects",!1,P,!0,f)),t.sideEffects&&g.push({index:i,indices:E,ctx:P})}}})),!p&&d&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0),g.length>0&&g.forEach((function(e){v[e.index].sideEffects(t(t({},k(_(e.ctx,i),h)),{indices:e.indices}))}))}else null!=(null==c?void 0:c.derivedState)&&a(void 0,void 0,"onPropsChange","effects",!1,null,!0)}function B(e,r,t,n,o,i,c,u){if("onPropsChange"===o&&void 0===t)return{newState:null,newLoading:!1};if(e&&e.length>0){var a=e.reduce((function(e,r){var t=r.effects({isAsync:c,name:o,type:i,context:u},e.oldState,e.newState,n);return{newState:(null==t?void 0:t.state)||e.newState,oldState:(null==t?void 0:t.state)?e.newState:e.oldState,loading:null==(null==t?void 0:t.loading)?e.loading:t.loading}}),{oldState:r,newState:t,loading:n});return{newLoading:a.loading,newState:a.newState}}return{newState:t,newLoading:n}}export{W as DEFAULT_PROMISE_ID,a as EffectError,w as ParallelActionError,_ as addContextActions,k as addStateToContext,F as areSameArgs,P as buildErrorMap,O as buildInvocationContextBase,E as buildLoadingMap,R as buildOnMountInvocationContext,A as buildOnPropChangeEffects,j as buildOnUnMountInvocationContext,y as computeAsyncActionInput,H as computeDerivedValues,b as createRef,z as decorateAsyncAction,I as decorateSimpleSyncAction,G as decorateSyncAction,V as fixDerivedDeps,l as globalConfig,d as isAsyncAction,h as isAsyncGetPromiseAction,g as isAsyncGetPromiseGetAction,D as isFuncConfig,K as isLoadingImpl,v as isSimpleSyncAction,p as isSyncAction,q as onPropChange,m as retryPromiseDecorator,B as runMiddlewares,f as setGlobalConfig,S as updateErrorMap};
|
|
2
2
|
//# sourceMappingURL=impl.js.map
|
package/es/index.d.ts
CHANGED
|
@@ -134,13 +134,23 @@ export declare function useStoreContextSlice<S, A extends DecoratedActions, P, D
|
|
|
134
134
|
* Store will NOT be destroyed when component is unmouted.
|
|
135
135
|
*
|
|
136
136
|
* @param getInitialState Function to compute initial state from props.
|
|
137
|
-
* @param actionImpl Actions implementation.
|
|
138
137
|
* @param props Owner component props to update state or react on prop changes
|
|
139
|
-
* @param options The store options.
|
|
140
138
|
* @param refreshOnUpdate Whether refresh the component if store state changes.
|
|
141
|
-
* @returns The
|
|
139
|
+
* @returns The Store
|
|
142
140
|
*/
|
|
143
141
|
export declare function useLocalStore<S, A extends DecoratedActions, P, DS = {}>(config: StoreConfig<S, A, P, DS>, props?: P, refreshOnUpdate?: boolean): StoreApi<S, A, P, DS>;
|
|
142
|
+
/**
|
|
143
|
+
* Binds a store to a component and inject props.
|
|
144
|
+
* This hook must be the only one used with this store (or else props will the set several times).
|
|
145
|
+
* The component will be refreshed for every change in the store.
|
|
146
|
+
* Store will NOT be destroyed when component is unmouted.
|
|
147
|
+
*
|
|
148
|
+
* @param getInitialState Function to compute initial state from props.
|
|
149
|
+
* @param actionImpl Actions implementation.
|
|
150
|
+
* @param props Owner component props to update state or react on prop changes
|
|
151
|
+
* @returns the Store.
|
|
152
|
+
*/
|
|
153
|
+
export declare function useBindStore<S, A extends DecoratedActions, P, DS = {}>(store: StoreApi<S, A, P, DS>, props?: P): StoreApi<S, A, P, DS>;
|
|
144
154
|
export default useLocalStore;
|
|
145
155
|
/**
|
|
146
156
|
* Creates a new object by picking properties to the object passed a first parameter
|
package/es/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r,{useMemo as n,useContext as e,useRef as t,useEffect as u,useReducer as o,useLayoutEffect as c}from"react";import{createRef as i,isFuncConfig as a,isSimpleSyncAction as l,decorateSimpleSyncAction as f,isAsyncAction as s,decorateAsyncAction as d,computeAsyncActionInput as v,isSyncAction as p,decorateSyncAction as O,globalConfig as _,onPropChange as E,DEFAULT_PROMISE_ID as S,fixDerivedDeps as y,computeDerivedValues as g,buildOnMountInvocationContext as L,buildOnUnMountInvocationContext as h,isLoadingImpl as b,runMiddlewares as A,buildLoadingMap as m,buildErrorMap as R}from"./impl";export{EffectError,ParallelActionError,setGlobalConfig}from"./impl";import{logDetailedEffects as T}from"./development";var w=function(){return w=Object.assign||function(r){for(var n,e=1,t=arguments.length;e<t;e++)for(var u in n=arguments[e])Object.prototype.hasOwnProperty.call(n,u)&&(r[u]=n[u]);return r},w.apply(this,arguments)};function M(r){var n={exports:{}};return r(n,n.exports),n.exports}var j="function"==typeof Object.is?Object.is:function(r,n){return r===n&&(0!==r||1/r==1/n)||r!=r&&n!=n},D=r.useState,V=r.useEffect,x=r.useLayoutEffect,k=r.useDebugValue;function C(r){var n=r.getSnapshot;r=r.value;try{var e=n();return!j(r,e)}catch(r){return!0}}var I="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(r,n){return n()}:function(r,n){var e=n(),t=D({inst:{value:e,getSnapshot:n}}),u=t[0].inst,o=t[1];return x((function(){u.value=e,u.getSnapshot=n,C(u)&&o({inst:u})}),[r,e,n]),V((function(){return C(u)&&o({inst:u}),r((function(){C(u)&&o({inst:u})}))}),[r]),k(e),e},P={useSyncExternalStore:void 0!==r.useSyncExternalStore?r.useSyncExternalStore:I},G=M((function(n,e){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var n=r,t=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function u(r){for(var n=arguments.length,e=new Array(n>1?n-1:0),u=1;u<n;u++)e[u-1]=arguments[u];!function(r,n,e){var u=t.ReactDebugCurrentFrame.getStackAddendum();""!==u&&(n+="%s",e=e.concat([u]));var o=e.map((function(r){return String(r)}));o.unshift("Warning: "+n),Function.prototype.apply.call(console[r],console,o)}("error",r,e)}var o="function"==typeof Object.is?Object.is:function(r,n){return r===n&&(0!==r||1/r==1/n)||r!=r&&n!=n},c=n.useState,i=n.useEffect,a=n.useLayoutEffect,l=n.useDebugValue,f=!1,s=!1;function d(r){var n=r.getSnapshot,e=r.value;try{var t=n();return!o(e,t)}catch(r){return!0}}var v=!!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?function(r,n,e){return n()}:function(r,e,t){f||void 0!==n.startTransition&&(f=!0,u("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=e();if(!s){var p=e();o(v,p)||(u("The result of getSnapshot should be cached to avoid an infinite loop"),s=!0)}var O=c({inst:{value:v,getSnapshot:e}}),_=O[0].inst,E=O[1];return a((function(){_.value=v,_.getSnapshot=e,d(_)&&E({inst:_})}),[r,v,e]),i((function(){d(_)&&E({inst:_});return r((function(){d(_)&&E({inst:_})}))}),[r]),l(v),v},p=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:v;e.useSyncExternalStore=p,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),K=P,B=G,N=M((function(r){"production"===process.env.NODE_ENV?r.exports=K:r.exports=B})),H=N;var U,W="function"==typeof Object.is?Object.is:function(r,n){return r===n&&(0!==r||1/r==1/n)||r!=r&&n!=n},F=N.useSyncExternalStore,Y=r.useRef,z=r.useEffect,J=r.useMemo,q=r.useDebugValue,Q={useSyncExternalStoreWithSelector:function(r,n,e,t,u){var o=Y(null);if(null===o.current){var c={hasValue:!1,value:null};o.current=c}else c=o.current;o=J((function(){function r(r){if(!a){if(a=!0,o=r,r=t(r),void 0!==u&&c.hasValue){var n=c.value;if(u(n,r))return i=n}return i=r}if(n=i,W(o,r))return n;var e=t(r);return void 0!==u&&u(n,e)?n:(o=r,i=e)}var o,i,a=!1,l=void 0===e?null:e;return[function(){return r(n())},null===l?void 0:function(){return r(l())}]}),[n,e,t,u]);var i=F(r,o[0],o[1]);return z((function(){c.hasValue=!0,c.value=i}),[i]),q(i),i}},X=M((function(n,e){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var n=r,t=N;var u="function"==typeof Object.is?Object.is:function(r,n){return r===n&&(0!==r||1/r==1/n)||r!=r&&n!=n},o=t.useSyncExternalStore,c=n.useRef,i=n.useEffect,a=n.useMemo,l=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(r,n,e,t,f){var s,d=c(null);null===d.current?(s={hasValue:!1,value:null},d.current=s):s=d.current;var v=a((function(){var r,o,c=!1,i=function(n){if(!c){c=!0,r=n;var e=t(n);if(void 0!==f&&s.hasValue){var i=s.value;if(f(i,e))return o=i,i}return o=e,e}var a=o;if(u(r,n))return a;var l=t(n);return void 0!==f&&f(a,l)?a:(r=n,o=l,l)},a=void 0===e?null:e;return[function(){return i(n())},null===a?void 0:function(){return i(a())}]}),[n,e,t,f]),p=v[0],O=v[1],_=o(r,p,O);return i((function(){s.hasValue=!0,s.value=_}),[_]),l(_),_},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),Z=Q,$=X,rr=M((function(r){"production"===process.env.NODE_ENV?r.exports=Z:r.exports=$}));!function(r){r.REJECT="reject",r.IGNORE="ignore",r.KEEP_LAST="keepLast",r.KEEP_ALL="keepAll",r.PARALLEL="parallel",r.REUSE="reuse"}(U||(U={}));var nr=rr.useSyncExternalStoreWithSelector,er=H.useSyncExternalStore;function tr(r){var n=i(),e=i(),t=i(),u=i(),o=i(),c=i(),M=i(),j=i(),D=i(),V=i(),x=i(),k=i(!1),C=i(),I=i([]),P=r.actions,G=r.middlewares,K=void 0===G?[]:G,B=function(r,n){var e={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&n.indexOf(t)<0&&(e[t]=r[t]);if(null!=r&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(t=Object.getOwnPropertySymbols(r);u<t.length;u++)n.indexOf(t[u])<0&&Object.prototype.propertyIsEnumerable.call(r,t[u])&&(e[t[u]]=r[t[u]])}return e}(r,["actions","middlewares"]),N=a(r)?r.getInitialState:function(){return r.initialState},H={},U=0;function W(){C.current=w(w(w(w({},u.current),n.current),e.current.state),{isLoading:X,abortAction:Z,loading:j.current,loadingMap:M.current,loadingParallelMap:c.current,errorMap:$(),errorParallelMap:D.current}),Object.keys(H).forEach((function(r){var n;null===(n=H[r])||void 0===n||n.call(H)}))}function F(r){n.current=r,g(n,t,e,B),W()}function Y(r){c.current=r,M.current=function(){if(k.current){var r=c.current;return Object.keys(r).reduce((function(n,e){var t=r[e];return n[e]=null!=Object.keys(t).find((function(r){return!!t[r]})),n}),{})}return null}(),j.current=function(){if(k.current){var r=c.current;return null!=Object.keys(r).find((function(n){var e=r[n];return Object.keys(e).find((function(r){return!!e[r]}))}))}return null}()}function z(c){var i;if(!k.current){t.current=c,k.current=!0,n.current=N(c);var a=new Set(null==B?void 0:B.initialActionsMarkedLoading),l=Object.keys(P).reduce((function(r,n){var e;return r[n]=a.has(n)?((e={})[S]=!0,e):{},r}),{});Y(l),D.current=Object.keys(P).reduce((function(r,n){return r[n]={},r}),{}),o.current={},V.current={},x.current={},e.current={state:null,deps:{}},(null==B?void 0:B.derivedState)&&y(B),I.current=[];var f={options:B,get state(){return n.current},actions:P,setState:F};r.logEnabled&&T&&K.push(T());var s=function(r){var n,e=r();I.current.push(e),null===(n=e.init)||void 0===n||n.call(e,f)};null===(i=_.defaultMiddlewares)||void 0===i||i.forEach(s),null==K||K.forEach(s),g(n,t,e,B),E(n,e,t,null,u,B,N,q,!0,!1),(null==B?void 0:B.onMount)&&B.onMount(L(n,e,t,u)),W()}}function J(r,n){void 0===n&&(n=S);var e=D.current[r];(null==e?void 0:e[n])&&delete e[n],W()}function q(r,u,o,i,a,l,f,s){void 0===f&&(f=!1),void 0===s&&(s=!1);var d=!1;if(k.current){var v=u,p=!!a&&b(v||c.current,[o,null==l?void 0:l.promiseId]),O=A(I.current,n.current,r,p,o,i,a,l),_=O.newState,E=O.newLoading;if(null!=_&&(d=!0,n.current=_),p!==E&&(v=m(v,o,(null==l?void 0:l.promiseId)||S,E),0===Object.keys(v).length&&(v=void 0)),null!=v&&(d=!0,Y(v)),d)g(n,t,e,B),s||(n.current=_||n.current,W());else if(f){g(n,t,e,B)&&!s&&W()}}}var Q=Object.keys(P);function X(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return b.apply(void 0,function(r,n,e){if(e||2===arguments.length)for(var t,u=0,o=n.length;u<o;u++)!t&&u in n||(t||(t=Array.prototype.slice.call(n,0,u)),t[u]=n[u]);return r.concat(t||Array.prototype.slice.call(n))}([c.current],r,!1))}function Z(r,n){var e,t;void 0===n&&(n=S);var u=null===(t=null===(e=V.current[r])||void 0===e?void 0:e[n])||void 0===t?void 0:t.abortController,o=!1;return u&&(u.abort(),o=!0),o}function $(){return k.current?R(D.current):null}return u.current=Q.reduce((function(r,i){var a=P[i];return l(a)?r[i]=f(i,a,n,e,t,k,B,q):s(a)?r[i]=d({actionName:i,stateRef:n,derivedStateRef:e,propsRef:t,loadingParallelMapRef:c,errorMapRef:D,actionsRef:u,promisesRef:V,conflictActionsRef:x,initializedRef:k,options:B,setState:q,clearError:J,action:v(a)}):p(a)&&(r[i]=O(i,a,n,e,t,u,k,o,B,q,J)),r}),{}),{getConfig:function(){return w({},r)},setProps:function(r){var o=t.current;t.current=r,k.current?E(n,e,t,o,u,B,N,q,!1,!1):z(r)},addStateListener:function(r){var n="".concat(U++);return H[n]=r,function(){delete H[n]}},init:z,destroy:function(){var r;if(k.current){var u=Object.keys(P).reduce((function(r,n){var e=P[n];if(s(e)&&e.abortable){var t=c.current[n],u=Object.keys(t).reduce((function(r,e){return t[e]&&(Z(n,e),r.push(e)),r}),[]);u.length>0&&(r[n]=u)}return r}),{});null===(r=null==B?void 0:B.onUnmount)||void 0===r||r.call(B,h(n,e,t,u)),t.current=null,n.current=null,c.current=null,M.current=null,j.current=null,D.current=null,V.current=null,x.current=null,e.current=null,C.current=null,Object.keys(o.current).forEach((function(r){clearTimeout(o.current[r])})),o.current=null,H={},k.current=!1,I.current.forEach((function(r){var n;null===(n=r.destroy)||void 0===n||n.call(r)})),I.current=[]}},isLoading:X,abortAction:Z,clearError:J,getSnapshot:function(){return C.current},invokeOnMountDeferred:function(){E(n,e,t,null,u,B,N,q,!0,!0),(null==B?void 0:B.onMountDeferred)&&B.onMountDeferred(L(n,e,t,u))},get actions(){return u.current},get state(){return k.current?w(w({},n.current),e.current.state):null},get loading(){return j.current},get loadingMap(){return M.current},get errorMap(){return $()},get loadingParallelMap(){return k.current?c.current:null},get errorParallelMap(){return k.current?D.current:null}}}function ur(r,e){var t=n((function(){return e instanceof Function?e:function(r){return ar(r,e)}}),[e]);return nr(r.addStateListener,r.getSnapshot,r.getSnapshot,t,_.comparator)}function or(r){return er(r.addStateListener,r.getSnapshot),r}function cr(r,n){return ur(e(r),n)}function ir(r,n,e){void 0===e&&(e=!0);var i=t();return null==i.current&&(i.current=tr(r)),u((function(){return i.current.invokeOnMountDeferred(),function(){var r;null===(r=i.current)||void 0===r||r.destroy()}}),[]),function(r,n,e){void 0===n&&(n=null),void 0===e&&(e=!0);var u=o((function(r){return r>100?0:r+1}),0)[1],i=t(r);return r.setProps(n),c((function(){r.init(n)}),[]),c((function(){if(e)return i.current.addStateListener((function(){u()}))}),[e]),r}(i.current,n,e)}function ar(r,n){return n.reduce((function(n,e){return r.hasOwnProperty(e)&&(n[e]=r[e]),n}),{})}function lr(){for(var r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];return function(n){return ar(n,r)}}export{U as ConflictPolicy,tr as createStore,ir as default,ar as pick,lr as slice,ir as useLocalStore,or as useStore,cr as useStoreContextSlice,ur as useStoreSlice};
|
|
1
|
+
import n,{useMemo as r,useContext as e,useRef as t,useEffect as u,useLayoutEffect as o,useReducer as c}from"react";import{createRef as i,isFuncConfig as a,isSimpleSyncAction as l,decorateSimpleSyncAction as f,isAsyncAction as s,decorateAsyncAction as d,computeAsyncActionInput as v,isSyncAction as p,decorateSyncAction as O,globalConfig as _,onPropChange as E,DEFAULT_PROMISE_ID as S,fixDerivedDeps as y,computeDerivedValues as g,buildOnMountInvocationContext as L,buildOnUnMountInvocationContext as h,isLoadingImpl as b,runMiddlewares as A,buildLoadingMap as m,buildErrorMap as R}from"./impl";export{EffectError,ParallelActionError,setGlobalConfig}from"./impl";import{logDetailedEffects as T}from"./development";var w=function(){return w=Object.assign||function(n){for(var r,e=1,t=arguments.length;e<t;e++)for(var u in r=arguments[e])Object.prototype.hasOwnProperty.call(r,u)&&(n[u]=r[u]);return n},w.apply(this,arguments)};function M(n){var r={exports:{}};return n(r,r.exports),r.exports}var D="function"==typeof Object.is?Object.is:function(n,r){return n===r&&(0!==n||1/n==1/r)||n!=n&&r!=r},j=n.useState,V=n.useEffect,x=n.useLayoutEffect,k=n.useDebugValue;function C(n){var r=n.getSnapshot;n=n.value;try{var e=r();return!D(n,e)}catch(n){return!0}}var P="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(n,r){return r()}:function(n,r){var e=r(),t=j({inst:{value:e,getSnapshot:r}}),u=t[0].inst,o=t[1];return x((function(){u.value=e,u.getSnapshot=r,C(u)&&o({inst:u})}),[n,e,r]),V((function(){return C(u)&&o({inst:u}),n((function(){C(u)&&o({inst:u})}))}),[n]),k(e),e},I={useSyncExternalStore:void 0!==n.useSyncExternalStore?n.useSyncExternalStore:P},G=M((function(r,e){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var r=n,t=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function u(n){for(var r=arguments.length,e=new Array(r>1?r-1:0),u=1;u<r;u++)e[u-1]=arguments[u];!function(n,r,e){var u=t.ReactDebugCurrentFrame.getStackAddendum();""!==u&&(r+="%s",e=e.concat([u]));var o=e.map((function(n){return String(n)}));o.unshift("Warning: "+r),Function.prototype.apply.call(console[n],console,o)}("error",n,e)}var o="function"==typeof Object.is?Object.is:function(n,r){return n===r&&(0!==n||1/n==1/r)||n!=n&&r!=r},c=r.useState,i=r.useEffect,a=r.useLayoutEffect,l=r.useDebugValue,f=!1,s=!1;function d(n){var r=n.getSnapshot,e=n.value;try{var t=r();return!o(e,t)}catch(n){return!0}}var v=!!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?function(n,r,e){return r()}:function(n,e,t){f||void 0!==r.startTransition&&(f=!0,u("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=e();if(!s){var p=e();o(v,p)||(u("The result of getSnapshot should be cached to avoid an infinite loop"),s=!0)}var O=c({inst:{value:v,getSnapshot:e}}),_=O[0].inst,E=O[1];return a((function(){_.value=v,_.getSnapshot=e,d(_)&&E({inst:_})}),[n,v,e]),i((function(){d(_)&&E({inst:_});return n((function(){d(_)&&E({inst:_})}))}),[n]),l(v),v},p=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:v;e.useSyncExternalStore=p,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),K=I,B=G,N=M((function(n){"production"===process.env.NODE_ENV?n.exports=K:n.exports=B})),H=N;var U,W="function"==typeof Object.is?Object.is:function(n,r){return n===r&&(0!==n||1/n==1/r)||n!=n&&r!=r},F=N.useSyncExternalStore,Y=n.useRef,z=n.useEffect,J=n.useMemo,q=n.useDebugValue,Q={useSyncExternalStoreWithSelector:function(n,r,e,t,u){var o=Y(null);if(null===o.current){var c={hasValue:!1,value:null};o.current=c}else c=o.current;o=J((function(){function n(n){if(!a){if(a=!0,o=n,n=t(n),void 0!==u&&c.hasValue){var r=c.value;if(u(r,n))return i=r}return i=n}if(r=i,W(o,n))return r;var e=t(n);return void 0!==u&&u(r,e)?r:(o=n,i=e)}var o,i,a=!1,l=void 0===e?null:e;return[function(){return n(r())},null===l?void 0:function(){return n(l())}]}),[r,e,t,u]);var i=F(n,o[0],o[1]);return z((function(){c.hasValue=!0,c.value=i}),[i]),q(i),i}},X=M((function(r,e){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var r=n,t=N;var u="function"==typeof Object.is?Object.is:function(n,r){return n===r&&(0!==n||1/n==1/r)||n!=n&&r!=r},o=t.useSyncExternalStore,c=r.useRef,i=r.useEffect,a=r.useMemo,l=r.useDebugValue;e.useSyncExternalStoreWithSelector=function(n,r,e,t,f){var s,d=c(null);null===d.current?(s={hasValue:!1,value:null},d.current=s):s=d.current;var v=a((function(){var n,o,c=!1,i=function(r){if(!c){c=!0,n=r;var e=t(r);if(void 0!==f&&s.hasValue){var i=s.value;if(f(i,e))return o=i,i}return o=e,e}var a=o;if(u(n,r))return a;var l=t(r);return void 0!==f&&f(a,l)?a:(n=r,o=l,l)},a=void 0===e?null:e;return[function(){return i(r())},null===a?void 0:function(){return i(a())}]}),[r,e,t,f]),p=v[0],O=v[1],_=o(n,p,O);return i((function(){s.hasValue=!0,s.value=_}),[_]),l(_),_},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),Z=Q,$=X,nn=M((function(n){"production"===process.env.NODE_ENV?n.exports=Z:n.exports=$}));!function(n){n.REJECT="reject",n.IGNORE="ignore",n.KEEP_LAST="keepLast",n.KEEP_ALL="keepAll",n.PARALLEL="parallel",n.REUSE="reuse"}(U||(U={}));var rn=nn.useSyncExternalStoreWithSelector,en=H.useSyncExternalStore;function tn(n){var r=i(),e=i(),t=i(),u=i(),o=i(),c=i(),M=i(),D=i(),j=i(),V=i(),x=i(),k=i(!1),C=i(),P=i([]),I=n.actions,G=n.middlewares,K=void 0===G?[]:G,B=function(n,r){var e={};for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&r.indexOf(t)<0&&(e[t]=n[t]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(t=Object.getOwnPropertySymbols(n);u<t.length;u++)r.indexOf(t[u])<0&&Object.prototype.propertyIsEnumerable.call(n,t[u])&&(e[t[u]]=n[t[u]])}return e}(n,["actions","middlewares"]),N=a(n)?n.getInitialState:function(){return n.initialState},H={},U=0;function W(){C.current=w(w(w(w({},u.current),r.current),e.current.state),{isLoading:X,abortAction:Z,loading:D.current,loadingMap:M.current,loadingParallelMap:c.current,errorMap:$(),errorParallelMap:j.current}),Object.keys(H).forEach((function(n){var r;null===(r=H[n])||void 0===r||r.call(H)}))}function F(n){r.current=n,g(r,t,e,B),W()}function Y(n){c.current=n,M.current=function(){if(k.current){var n=c.current;return Object.keys(n).reduce((function(r,e){var t=n[e];return r[e]=null!=Object.keys(t).find((function(n){return!!t[n]})),r}),{})}return null}(),D.current=function(){if(k.current){var n=c.current;return null!=Object.keys(n).find((function(r){var e=n[r];return Object.keys(e).find((function(n){return!!e[n]}))}))}return null}()}function z(c){var i;if(!k.current){t.current=c,k.current=!0,r.current=N(c);var a=new Set(null==B?void 0:B.initialActionsMarkedLoading),l=Object.keys(I).reduce((function(n,r){var e;return n[r]=a.has(r)?((e={})[S]=!0,e):{},n}),{});Y(l),j.current=Object.keys(I).reduce((function(n,r){return n[r]={},n}),{}),o.current={},V.current={},x.current={},e.current={state:null,deps:{}},(null==B?void 0:B.derivedState)&&y(B),P.current=[];var f={options:B,get state(){return r.current},actions:I,setState:F};n.logEnabled&&T&&K.push(T());var s=function(n){var r,e=n();P.current.push(e),null===(r=e.init)||void 0===r||r.call(e,f)};null===(i=_.defaultMiddlewares)||void 0===i||i.forEach(s),null==K||K.forEach(s),g(r,t,e,B),E(r,e,t,null,u,B,N,q,!0,!1),(null==B?void 0:B.onMount)&&B.onMount(L(r,e,t,u)),W()}}function J(n,r){void 0===r&&(r=S);var e=j.current[n];(null==e?void 0:e[r])&&delete e[r],W()}function q(n,u,o,i,a,l,f,s){void 0===f&&(f=!1),void 0===s&&(s=!1);var d=!1;if(k.current){var v=u,p=!!a&&b(v||c.current,[o,null==l?void 0:l.promiseId]),O=A(P.current,r.current,n,p,o,i,a,l),_=O.newState,E=O.newLoading;if(null!=_&&(d=!0,r.current=_),p!==E&&(v=m(v,o,(null==l?void 0:l.promiseId)||S,E),0===Object.keys(v).length&&(v=void 0)),null!=v&&(d=!0,Y(v)),d)g(r,t,e,B),s||(r.current=_||r.current,W());else if(f){g(r,t,e,B)&&!s&&W()}}}var Q=Object.keys(I);function X(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return b.apply(void 0,function(n,r,e){if(e||2===arguments.length)for(var t,u=0,o=r.length;u<o;u++)!t&&u in r||(t||(t=Array.prototype.slice.call(r,0,u)),t[u]=r[u]);return n.concat(t||Array.prototype.slice.call(r))}([c.current],n,!1))}function Z(n,r){var e,t;void 0===r&&(r=S);var u=null===(t=null===(e=V.current[n])||void 0===e?void 0:e[r])||void 0===t?void 0:t.abortController,o=!1;return u&&(u.abort(),o=!0),o}function $(){return k.current?R(j.current):null}return u.current=Q.reduce((function(n,i){var a=I[i];return l(a)?n[i]=f(i,a,r,e,t,k,B,q):s(a)?n[i]=d({actionName:i,stateRef:r,derivedStateRef:e,propsRef:t,loadingParallelMapRef:c,errorMapRef:j,actionsRef:u,promisesRef:V,conflictActionsRef:x,initializedRef:k,options:B,setState:q,clearError:J,action:v(a)}):p(a)&&(n[i]=O(i,a,r,e,t,u,k,o,B,q,J)),n}),{}),{getConfig:function(){return w({},n)},setProps:function(n){var o=t.current;t.current=n,k.current?E(r,e,t,o,u,B,N,q,!1,!1):z(n)},addStateListener:function(n){var r="".concat(U++);return H[r]=n,function(){delete H[r]}},init:z,destroy:function(){var n;if(k.current){var u=Object.keys(I).reduce((function(n,r){var e=I[r];if(s(e)&&e.abortable){var t=c.current[r],u=Object.keys(t).reduce((function(n,e){return t[e]&&(Z(r,e),n.push(e)),n}),[]);u.length>0&&(n[r]=u)}return n}),{});null===(n=null==B?void 0:B.onUnmount)||void 0===n||n.call(B,h(r,e,t,u)),t.current=null,r.current=null,c.current=null,M.current=null,D.current=null,j.current=null,V.current=null,x.current=null,e.current=null,C.current=null,Object.keys(o.current).forEach((function(n){clearTimeout(o.current[n])})),o.current=null,H={},k.current=!1,P.current.forEach((function(n){var r;null===(r=n.destroy)||void 0===r||r.call(n)})),P.current=[]}},isLoading:X,abortAction:Z,clearError:J,getSnapshot:function(){return C.current},invokeOnMountDeferred:function(){E(r,e,t,null,u,B,N,q,!0,!0),(null==B?void 0:B.onMountDeferred)&&B.onMountDeferred(L(r,e,t,u))},get actions(){return u.current},get state(){return k.current?w(w({},r.current),e.current.state):null},get loading(){return D.current},get loadingMap(){return M.current},get errorMap(){return $()},get loadingParallelMap(){return k.current?c.current:null},get errorParallelMap(){return k.current?j.current:null}}}function un(n,e){var t=r((function(){return e instanceof Function?e:function(n){return fn(n,e)}}),[e]);return rn(n.addStateListener,n.getSnapshot,n.getSnapshot,t,_.comparator)}function on(n){return en(n.addStateListener,n.getSnapshot),n}function cn(n,r){return un(e(n),r)}function an(n,r,e){void 0===e&&(e=!0);var i=t();return null==i.current&&(i.current=tn(n)),u((function(){return i.current.invokeOnMountDeferred(),function(){var n;null===(n=i.current)||void 0===n||n.destroy()}}),[]),function(n,r,e){void 0===r&&(r=null),void 0===e&&(e=!0);var u=c((function(n){return n>100?0:n+1}),0)[1],i=t(n);return n.setProps(r),o((function(){n.init(r)}),[]),o((function(){if(e)return i.current.addStateListener((function(){u()}))}),[e]),n}(i.current,r,e)}function ln(n,r){return n.setProps(r),en(n.addStateListener,n.getSnapshot),o((function(){n.init(r)}),[]),u((function(){n.invokeOnMountDeferred()}),[n]),n}function fn(n,r){return r.reduce((function(r,e){return n.hasOwnProperty(e)&&(r[e]=n[e]),r}),{})}function sn(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return function(r){return fn(r,n)}}export{U as ConflictPolicy,tn as createStore,an as default,fn as pick,sn as slice,ln as useBindStore,an as useLocalStore,on as useStore,cn as useStoreContextSlice,un as useStoreSlice};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/impl.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(o,i){function c(e){try{u(n.next(e))}catch(e){i(e)}}function a(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(c,a)}u((n=n.apply(e,r||[])).next())}))}function o(e,r){var t,n,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(c=0)),c;)try{if(t=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,n=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=r.call(e,c)}catch(e){a=[6,e],n=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}var c,a=function(){function e(e){this.keys=e,this.adj={}}return e.prototype.isCyclicUtil=function(e,r,t){var n;if(t.has(e))return!0;if(r.has(e))return!1;r.add(e),t.add(e);for(var o=0,i=null!==(n=this.adj[e])&&void 0!==n?n:[];o<i.length;o++){var c=i[o];if(this.isCyclicUtil(c,r,t))return!0}return t.delete(e),!1},e.prototype.setEdges=function(e,r){this.adj[e]=r},e.prototype.isCyclic=function(){for(var e=new Set,r=new Set,t=0,n=this.keys;t<n.length;t++){var o=n[t];if(this.isCyclicUtil(o,e,r))return!0}return!1},e}();!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(c||(c={}));var u=function(e){function t(r,n){var o=e.call(this,r.message)||this;return o.source=r,o.initialError=n,Object.setPrototypeOf(o,t.prototype),o}return r(t,e),t}(Error),s={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.prototype.hasOwnProperty.call(r,t[o])||!Object.is(e[t[o]],r[t[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function l(e){try{return s.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function f(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function d(e,r,n,o){var i,c,a,u;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((a={})[r]=t(t({},e[r]),((u={})[n]=!1,u)),a))}function p(e,r,n,o){var i,c,a,u;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((a={})[r]=t(t({},e[r]),((u={})[n]=void 0,u)),a))}var v=function(e){function t(r){var n=e.call(this,"Error")||this;return n.promiseIds=r,Object.setPrototypeOf(n,t.prototype),n}return r(t,e),t}(Error);function g(e,r,t,i){return void 0===r&&(r=1),void 0===t&&(t=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var a=e(c);return null===a?null:function a(u,s){return n(this,void 0,void 0,(function(){return o(this,(function(n){return null===s?[2,null]:[2,s.catch((function(n){return i(n)?u===r?Promise.reject(n):new Promise((function(r,n){setTimeout((function(){var t=e(c);a(u+1,t).then(r).catch(n)}),t*u)})):Promise.reject(n)}))]}))}))}(1,a)}}function h(e){return void 0===e&&(e=null),{current:e}}function y(e,r,t){var n,o;return{state:e.current,s:e.current,ds:null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:t.current,p:t.current}}function E(e,r,t,n,o,i,c){var a=y(e,r,t);return a.indices=n,a.index=o,a.isInit=i,a.getInitialState=c,a}function S(e,r,t,n,o){var i=y(e,r,t);return i.args=n,o&&(i.promiseId=o),i}function m(e,r,t,n,o,i){var c=S(e,r,t,n,i);return c.result=o,c.res=o,c}function P(e,r){var t=e;return t.state=r.current,t.s=r.current,t}function w(e,r){var t=e;return t.actions=r.current,t.a=r.current,t}function b(e,r,t,n,o,i){var c,a=w(e,n);P(e,r);var u=null===(c=null==t?void 0:t.current)||void 0===c?void 0:c.state;return a.derived=u,a.ds=u,a.notifyWarning=o,a.clearError=i,a}function x(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function A(e,r,n){return n?r:null==r?null:t(t({},e.current),r)}function O(e,r,t,n,o,i,c,a,u,s,l){var f,d=m(t,n,o,l,void 0),p=!1;if(null!=r.effects){var v=A(t,r.effects(d),a.fullStateEffects);null===v?p=!0:u(v,void 0,e,"effects",!1,d,!1)}if(!p)if(r.debounceSideEffectsTimeout>0){var g=c.current[e];g&&clearTimeout(g),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,b(d,t,n,i,a.notifyWarning,s)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(f=r.sideEffects)||void 0===f||f.call(r,b(d,t,n,i,a.notifyWarning,s))}function R(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.loadingParallelMapRef,v=e.errorMapRef,g=e.promisesRef,h=e.conflictActionsRef,y=e.actionName,E=e.options,m=e.clearError,P=e.setState;if(e.initializedRef.current){var w=null,x=t,O=function(e,r,t,n,o,i){var c=S(e,r,t,n,i);return c.error=o,c.err=o,c}(i,c,a,n,x,r);if(o.errorEffects)try{w=A(i,o.errorEffects(O),E.fullStateEffects)}catch(e){x=new u(e,t)}v.current=p(v.current,y,r,x),P(w,d(f.current,y,r,!1),y,"errorEffects",!0,O,!1);var R=!1;(null!=w||o.errorSideEffects||o.isErrorManaged||E.isErrorManaged)&&(R=!0);var C=E.notifyError||s.notifyError;if(C){var j=void 0;o.getErrorMessage&&(j=o.getErrorMessage(O)),void 0===j&&!R&&s.getErrorMessage&&(j=s.getErrorMessage(x)),j&&(R=!0,C(j))}return s.asyncErrorHandler(x,R||o.rejectPromiseOnError,i.current,a.current,y,n),delete g.current[y][r],o.errorSideEffects&&o.errorSideEffects(b(O,i,c,l,s.notifyWarning,m)),L(y,l.current,h.current),!R||o.rejectPromiseOnError?Promise.reject(x):Promise.resolve()}}var C="__def__";function j(e,r){return e.length===r.length&&-1===e.findIndex((function(e,t){return r[t]!==e}))}function L(e,r,t){var n=t[e];if(n&&n.length>0){var o=t[e].shift();if(o){var i=r[e].apply(r,o.args);null==i?L(e,r,t):i.then((function(n){null===n&&L(e,r,t),o.resolve(n)})).catch((function(e){return o.reject(e)}))}}}exports.DEFAULT_PROMISE_ID=C,exports.EffectError=u,exports.ParallelActionError=v,exports.addContextActions=w,exports.addStateToContext=P,exports.areSameArgs=j,exports.buildErrorMap=function(e){return Object.keys(e).reduce((function(r,t){var n=e[t];if(null==n[C]);else if(n[C])r[t]=n[C];else{var o=Object.keys(n).reduce((function(e,r){return null!=n[r]&&(e.hasErr=!0,e.map[r]=n[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[t]=new v(o.map))}return r}),{})},exports.buildInvocationContextBase=y,exports.buildLoadingMap=d,exports.buildOnMountInvocationContext=function(e,r,t,n){return w(y(e,r,t),n)},exports.buildOnPropChangeEffects=E,exports.buildOnUnMountInvocationContext=function(e,r,n,o){return t(t({},y(e,r,n)),{abortedActions:o})},exports.computeAsyncActionInput=function(e){return f(e)?t(t({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:c.REUSE}):e},exports.computeDerivedValues=function(e,r,n,o){if(null==(null==o?void 0:o.derivedState))return!1;var i=!1,c=s.comparator,a=n.current.deps,u=y(e,null,r),l=Object.keys(o.derivedState);return n.current.state=l.reduce((function(e,r){var s,l,f=!1,d=o.derivedState[r],p=a[r],v=null!==(l=null===(s=d.getDeps)||void 0===s?void 0:s.call(d,u))&&void 0!==l?l:[];return d.derivedDeps&&d.derivedDeps.forEach((function(r){var t,o,i;return v.push(null!==(t=e[r])&&void 0!==t?t:null===(i=null===(o=n.current)||void 0===o?void 0:o.state)||void 0===i?void 0:i[r])})),f=null==p||null!=v.find((function(e,r){return p.length<r||!c(p[r],e)})),i=i||f,a[r]=v,e[r]=f?o.derivedState[r].get(function(e,r){return t(t({},e),{ds:r,derived:r})}(u,e)):n.current.state[r],e}),{}),i},exports.createRef=h,exports.decorateAsyncAction=function(e){var r=e.action,n=e.stateRef,o=e.derivedStateRef,a=e.propsRef,f=e.actionsRef,v=e.promisesRef,h=e.loadingParallelMapRef,y=e.errorMapRef,E=e.initializedRef,P=e.conflictActionsRef,O=e.actionName,M=e.setState,_=e.options;return function(){for(var k,D,T,I=[],G=0;G<arguments.length;G++)I[G]=arguments[G];if(!E.current)return x(O),null;var N=v.current,U=r.conflictPolicy,F=void 0===U?c.KEEP_ALL:U,K=F===c.PARALLEL,W=null;if(K){if(!r.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");W=r.getPromiseId.apply(r,I)}else W=C;if(!K&&(null===(D=N[O])||void 0===D?void 0:D[W]))return function(e,r,t,n,o){var i=n;if(i===c.REUSE){if(j(e[t][C].refArgs,o))return e[t][C].promise;i=c.KEEP_ALL}return new Promise((function(e,n){var a={resolve:e,reject:n,args:l(o),timestamp:Date.now()};switch(i){case c.IGNORE:e(void 0);break;case c.REJECT:n(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case c.KEEP_LAST:r[t]=[a];break;case c.KEEP_ALL:var u=r[t];u||(r[t]=u=[]),u.push(a);case c.PARALLEL:case c.REUSE:}}))}(N,P.current,O,F,I);var z=null,J=!1,H=S(n,o,a,I,W);if(r.preEffects){try{z=A(n,r.preEffects(H),_.fullStateEffects)}catch(e){return s.asyncErrorHandler(new u(e),!1,n.current,a.current,O,I),Promise.reject(new u(e))}z&&(J=!0,n.current=z)}var V=r.abortable,B=r.retryCount,q=r.retryDelaySeed,Q=r.isTriggerRetryError,X=V&&window.AbortController?new AbortController:null,Y=null===(T=g(r.getPromise,B?1+B:1,q,Q||s.retryOnErrorFunction)(function(e,r,t,n,o,i,c){var a=w(S(e,r,t,n,c),o);return a.abortSignal=i,a}(n,o,a,I,f,null==X?void 0:X.signal)))||void 0===T?void 0:T.then((function(r){return function(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,a=e.propsRef,l=e.promisesRef,f=e.actionsRef,p=e.loadingParallelMapRef,v=e.conflictActionsRef,g=e.actionName,h=e.options,y=e.setState,E=e.clearError;if(e.initializedRef.current){var S=null,P=m(i,c,a,n,t,r);if(o.effects)try{S=A(i,o.effects(P),h.fullStateEffects)}catch(e){return Promise.reject(new u(e))}y(S,d(p.current,g,r,!1),g,"effects",!0,P,!1);var w=h.notifySuccess||s.notifySuccess;if(w){var x=void 0;o.getSuccessMessage&&(x=o.getSuccessMessage(P)),x&&w(x)}return delete l.current[g][r],o.sideEffects&&o.sideEffects(b(P,i,c,f,s.notifyWarning,E)),L(g,f.current,v.current),t}}(e,W,r,I)})).catch((function(r){return R(e,W,r,I)}));return null!=Y&&(N[O]=t(t({},N[O]||{}),((k={})[W||C]={abortController:X,promise:Y,refArgs:F===c.REUSE&&I.length>0?i([],I,!0):[]},k))),y.current=p(y.current,O,W,null),M(null!=Y||J?n.current:void 0,null==Y?void 0:d(h.current,O,W,!0),O,"preEffects",!0,H,!1),Y}},exports.decorateSimpleSyncAction=function(e,r,t,n,o,i,c,a){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];if(i.current){var l=S(t,n,o,u),f=A(t,r(l),c.fullStateEffects);a(f,null,e,"effects",!1,l,!1)}else x(e)}},exports.decorateSyncAction=function(e,r,t,n,o,i,c,a,u,s,l){return function(){for(var f=[],d=0;d<arguments.length;d++)f[d]=arguments[d];if(c.current)if(r.debounceTimeout){var p=a.current[e];p&&clearTimeout(p),a.current[e]=setTimeout((function(){delete a.current[e],O(e,r,t,n,o,i,a,u,s,l,f)}),r.debounceTimeout)}else O(e,r,t,n,o,i,a,u,s,l,f);else x(e)}},exports.fixDerivedDeps=function(e){var r,t=Object.keys(e.derivedState),n=new a(t);if(t.forEach((function(r){n.setEdges(r,e.derivedState[r].derivedDeps)})),n.isCyclic())throw new Error("There are cycles in the derived state dependencies");for(var o=!1,i={},c=0,u=t;c<u.length;c++){var s=u[c],l=null!==(r=e.derivedState[s].derivedDeps)&&void 0!==r?r:[];o=o||l.length>0,i[s]=l.concat()}if(o){t.sort((function(e,r){return i[e].length-i[r].length}));for(var f=[],d=new Set,p=t.length;d.size!==p;){var v=t.pop();if(!d.has(v))i[v]=i[v].filter((function(e){return!d.has(e)})),0===i[v].length?(f.push(v),d.add(v)):t.splice(0,0,v)}for(var g={},h=0,y=f;h<y.length;h++){g[v=y[h]]=e.derivedState[v]}e.derivedState=g}},exports.globalConfig=s,exports.isAsyncAction=function(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))},exports.isAsyncGetPromiseAction=function(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.isAsyncGetPromiseGetAction=f,exports.isFuncConfig=function(e){return e.hasOwnProperty("getInitialState")},exports.isLoadingImpl=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.some((function(r){var t,n=null,o=C;Array.isArray(r)?(n=r[0],o=void 0===(t=r[1])?C:t):n=r;var i=e[n];return null!=i&&(null!=i[o]&&i[o])}))},exports.isSimpleSyncAction=function(e){return"function"==typeof e},exports.isSyncAction=function(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.onPropChange=function(e,r,n,o,i,c,a,u,l,f){var d=null!=(null==c?void 0:c.derivedState);if(null!=c.onPropsChange){var p;p=Array.isArray(c.onPropsChange)?c.onPropsChange:[c.onPropsChange];var v=!1,g=h(e.current),y=[],S=s.comparator;p.forEach((function(t,i){var s,d=t.getDeps;if(d){var p=!1,h=[];if(l){if(!(!f&&t.onMount||f&&t.onMountDeferred))return;p=!0}else{var m=d(o),P=d(n.current);m.length!==P.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),p=!0):m.forEach((function(e,r){S(e,P[r])||(p=!0,h.push(r))}))}if(p){var w=E(g,r,n,h,i,l,a),b=A(e,null===(s=t.effects)||void 0===s?void 0:s.call(t,w),c.fullStateEffects);null!=b&&(v=!0,g.current=b,u(g.current,void 0,"onPropsChange","effects",!1,w,!0,l)),t.sideEffects&&y.push({index:i,indices:h,ctx:w})}}})),!v&&d&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0),y.length>0&&y.forEach((function(e){p[e.index].sideEffects(t(t({},P(w(e.ctx,i),g)),{indices:e.indices}))}))}else null!=(null==c?void 0:c.derivedState)&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0)},exports.retryPromiseDecorator=g,exports.runMiddlewares=function(e,r,t,n,o,i,c,a){if("onPropsChange"===o&&void 0===t)return{newState:null,newLoading:!1};if(e&&e.length>0){var u=e.reduce((function(e,r){var t=r.effects({isAsync:c,name:o,type:i,context:a},e.oldState,e.newState,n);return{newState:(null==t?void 0:t.state)||e.newState,oldState:(null==t?void 0:t.state)?e.newState:e.oldState,loading:null==(null==t?void 0:t.loading)?e.loading:t.loading}}),{oldState:r,newState:t,loading:n});return{newLoading:u.loading,newState:u.newState}}return{newState:t,newLoading:n}},exports.setGlobalConfig=function(e){Object.keys(e).forEach((function(r){null!=e[r]&&(s[r]=e[r])}))},exports.updateErrorMap=p;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var o in r=arguments[t])Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(o,i){function c(e){try{u(n.next(e))}catch(e){i(e)}}function a(e){try{u(n.throw(e))}catch(e){i(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(c,a)}u((n=n.apply(e,r||[])).next())}))}function o(e,r){var t,n,o,i,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(u){return function(a){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(c=0)),c;)try{if(t=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return c.label++,{value:a[1],done:!1};case 5:c.label++,n=a[1],a=[0];continue;case 7:a=c.ops.pop(),c.trys.pop();continue;default:if(!(o=c.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){c.label=a[1];break}if(6===a[0]&&c.label<o[1]){c.label=o[1],o=a;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(a);break}o[2]&&c.ops.pop(),c.trys.pop();continue}a=r.call(e,c)}catch(e){a=[6,e],n=0}finally{t=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,u])}}}function i(e,r,t){if(t||2===arguments.length)for(var n,o=0,i=r.length;o<i;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}var c,a=function(){function e(e){this.keys=e,this.adj={}}return e.prototype.isCyclicUtil=function(e,r,t){var n;if(t.has(e))return!0;if(r.has(e))return!1;r.add(e),t.add(e);for(var o=0,i=null!==(n=this.adj[e])&&void 0!==n?n:[];o<i.length;o++){var c=i[o];if(this.isCyclicUtil(c,r,t))return!0}return t.delete(e),!1},e.prototype.setEdges=function(e,r){this.adj[e]=r},e.prototype.isCyclic=function(){for(var e=new Set,r=new Set,t=0,n=this.keys;t<n.length;t++){var o=n[t];if(this.isCyclicUtil(o,e,r))return!0}return!1},e}();!function(e){e.REJECT="reject",e.IGNORE="ignore",e.KEEP_LAST="keepLast",e.KEEP_ALL="keepAll",e.PARALLEL="parallel",e.REUSE="reuse"}(c||(c={}));var u=function(e){function t(r,n){var o=e.call(this,r.message)||this;return o.source=r,o.initialError=n,Object.setPrototypeOf(o,t.prototype),o}return r(t,e),t}(Error),s={clone:function(e){return JSON.parse(JSON.stringify(e))},comparator:function(e,r){if(Object.is(e,r))return!0;if("object"!=typeof e||null===e||"object"!=typeof r||null===r)return!1;if(e instanceof Set||r instanceof Set)return!1;var t=Object.keys(e),n=Object.keys(r);if(t.length!==n.length)return!1;for(var o=0;o<t.length;o++)if(!Object.prototype.hasOwnProperty.call(r,t[o])||!Object.is(e[t[o]],r[t[o]]))return!1;return!0},asyncErrorHandler:function(){},retryOnErrorFunction:function(e){return e instanceof TypeError},notifySuccess:void 0,notifyError:void 0,notifyWarning:void 0,getErrorMessage:void 0,defaultMiddlewares:[]};function l(e){try{return s.clone(e)}catch(e){var r="StateDecorator: Cannot clone object. Set setCloneFunction on global global with another implementation like lodash/cloneDeep.";throw"development"===process.env.NODE_ENV&&(console.error(r),console.error(e.toString())),new Error(r)}}function f(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&e.hasOwnProperty("getGetPromise")}function d(e,r,n,o){var i,c,a,u;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((a={})[r]=t(t({},e[r]),((u={})[n]=!1,u)),a))}function p(e,r,n,o){var i,c,a,u;return t(t({},e),o?((i={})[r]=t(t({},e[r]||{}),((c={})[n]=o,c)),i):((a={})[r]=t(t({},e[r]),((u={})[n]=void 0,u)),a))}var v=function(e){function t(r){var n=e.call(this,"Error")||this;return n.promiseIds=r,Object.setPrototypeOf(n,t.prototype),n}return r(t,e),t}(Error);function g(e,r,t,i){return void 0===r&&(r=1),void 0===t&&(t=1e3),void 0===i&&(i=function(){return!0}),1===r?e:function(c){var a=e(c);return null===a?null:function a(u,s){return n(this,void 0,void 0,(function(){return o(this,(function(n){return null===s?[2,null]:[2,s.catch((function(n){return i(n)?u===r?Promise.reject(n):new Promise((function(r,n){setTimeout((function(){var t=e(c);a(u+1,t).then(r).catch(n)}),t*u)})):Promise.reject(n)}))]}))}))}(1,a)}}function h(e){return void 0===e&&(e=null),{current:e}}function y(e,r,t){var n,o;return{state:e.current,s:e.current,ds:null===(n=null==r?void 0:r.current)||void 0===n?void 0:n.state,derived:null===(o=null==r?void 0:r.current)||void 0===o?void 0:o.state,props:t.current,p:t.current}}function E(e,r,t,n,o,i,c){var a=y(e,r,t);return a.indices=n,a.index=o,a.isInit=i,a.getInitialState=c,a}function S(e,r,t,n,o){var i=y(e,r,t);return i.args=n,o&&(i.promiseId=o),i}function m(e,r,t,n,o,i){var c=S(e,r,t,n,i);return c.result=o,c.res=o,c}function P(e,r){var t=e;return t.state=r.current,t.s=r.current,t}function w(e,r){var t=e;return t.actions=r.current,t.a=r.current,t}function b(e,r,t,n,o,i){var c,a=w(e,n);P(e,r);var u=null===(c=null==t?void 0:t.current)||void 0===c?void 0:c.state;return a.derived=u,a.ds=u,a.notifyWarning=o,a.clearError=i,a}function x(e){"development"===process.env.NODE_ENV&&console.warn("[state-decorator] ".concat(e," action was called while store is not initialized or destroyed, this is probably a leak"))}function A(e,r,n){return n?r:null==r?null:t(t({},e.current),r)}function O(e,r,t,n,o,i,c,a,u,s,l){var f,d=m(t,n,o,l,void 0),p=!1;if(null!=r.effects){var v=A(t,r.effects(d),a.fullStateEffects);null===v?p=!0:u(v,void 0,e,"effects",!1,d,!1)}if(!p)if(r.debounceSideEffectsTimeout>0){var g=c.current[e];g&&clearTimeout(g),c.current[e]=setTimeout((function(){var o;null===(o=r.sideEffects)||void 0===o||o.call(r,b(d,t,n,i,a.notifyWarning,s)),delete c.current[e]}),r.debounceSideEffectsTimeout)}else null===(f=r.sideEffects)||void 0===f||f.call(r,b(d,t,n,i,a.notifyWarning,s))}function R(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,a=e.propsRef,l=e.actionsRef,f=e.loadingParallelMapRef,v=e.errorMapRef,g=e.promisesRef,h=e.conflictActionsRef,y=e.actionName,E=e.options,m=e.clearError,P=e.setState;if(e.initializedRef.current){var w=null,x=t,O=function(e,r,t,n,o,i){var c=S(e,r,t,n,i);return c.error=o,c.err=o,c}(i,c,a,n,x,r);if(o.errorEffects)try{w=A(i,o.errorEffects(O),E.fullStateEffects)}catch(e){x=new u(e,t)}v.current=p(v.current,y,r,x),P(w,d(f.current,y,r,!1),y,"errorEffects",!0,O,!1);var R=!1;(null!=w||o.errorSideEffects||o.isErrorManaged||E.isErrorManaged)&&(R=!0);var C=E.notifyError||s.notifyError;if(C){var j=void 0;o.getErrorMessage&&(j=o.getErrorMessage(O)),void 0===j&&!R&&s.getErrorMessage&&(j=s.getErrorMessage(x)),j&&(R=!0,C(j))}return s.asyncErrorHandler(x,R||o.rejectPromiseOnError,i.current,a.current,y,n),delete g.current[y][r],o.errorSideEffects&&o.errorSideEffects(b(O,i,c,l,s.notifyWarning,m)),L(e.initializedRef,y,l.current,h.current),!R||o.rejectPromiseOnError?Promise.reject(x):Promise.resolve()}}var C="__def__";function j(e,r){return e.length===r.length&&-1===e.findIndex((function(e,t){return r[t]!==e}))}function L(e,r,t,n){if(e.current){var o=n[r];if(o&&o.length>0){var i=n[r].shift();if(i){var c=t[r].apply(t,i.args);null==c?L(e,r,t,n):c.then((function(o){null===o&&L(e,r,t,n),i.resolve(o)})).catch((function(e){return i.reject(e)}))}}}}exports.DEFAULT_PROMISE_ID=C,exports.EffectError=u,exports.ParallelActionError=v,exports.addContextActions=w,exports.addStateToContext=P,exports.areSameArgs=j,exports.buildErrorMap=function(e){return Object.keys(e).reduce((function(r,t){var n=e[t];if(null==n[C]);else if(n[C])r[t]=n[C];else{var o=Object.keys(n).reduce((function(e,r){return null!=n[r]&&(e.hasErr=!0,e.map[r]=n[r]),e}),{hasErr:!1,map:{}});o.hasErr&&(r[t]=new v(o.map))}return r}),{})},exports.buildInvocationContextBase=y,exports.buildLoadingMap=d,exports.buildOnMountInvocationContext=function(e,r,t,n){return w(y(e,r,t),n)},exports.buildOnPropChangeEffects=E,exports.buildOnUnMountInvocationContext=function(e,r,n,o){return t(t({},y(e,r,n)),{abortedActions:o})},exports.computeAsyncActionInput=function(e){return f(e)?t(t({},e),{getPromise:e.getGetPromise,retryCount:3,conflictPolicy:c.REUSE}):e},exports.computeDerivedValues=function(e,r,n,o){if(null==(null==o?void 0:o.derivedState))return!1;var i=!1,c=s.comparator,a=n.current.deps,u=y(e,null,r),l=Object.keys(o.derivedState);return n.current.state=l.reduce((function(e,r){var s,l,f=!1,d=o.derivedState[r],p=a[r],v=null!==(l=null===(s=d.getDeps)||void 0===s?void 0:s.call(d,u))&&void 0!==l?l:[];return d.derivedDeps&&d.derivedDeps.forEach((function(r){var t,o,i;return v.push(null!==(t=e[r])&&void 0!==t?t:null===(i=null===(o=n.current)||void 0===o?void 0:o.state)||void 0===i?void 0:i[r])})),f=null==p||null!=v.find((function(e,r){return p.length<r||!c(p[r],e)})),i=i||f,a[r]=v,e[r]=f?o.derivedState[r].get(function(e,r){return t(t({},e),{ds:r,derived:r})}(u,e)):n.current.state[r],e}),{}),i},exports.createRef=h,exports.decorateAsyncAction=function(e){var r=e.action,n=e.stateRef,o=e.derivedStateRef,a=e.propsRef,f=e.actionsRef,v=e.promisesRef,h=e.loadingParallelMapRef,y=e.errorMapRef,E=e.initializedRef,P=e.conflictActionsRef,O=e.actionName,M=e.setState,_=e.options;return function(){for(var k,D,T,I=[],G=0;G<arguments.length;G++)I[G]=arguments[G];if(!E.current)return x(O),null;var N=v.current,U=r.conflictPolicy,z=void 0===U?c.KEEP_ALL:U,F=z===c.PARALLEL,K=null;if(F){if(!r.getPromiseId)throw new Error("If conflict policy is set to ConflictPolicy.PARALLEL, getPromiseId must be set and return a string.");K=r.getPromiseId.apply(r,I)}else K=C;if(!F&&(null===(D=N[O])||void 0===D?void 0:D[K]))return function(e,r,t,n,o){var i=n;if(i===c.REUSE){if(j(e[t][C].refArgs,o))return e[t][C].promise;i=c.KEEP_ALL}return new Promise((function(e,n){var a={resolve:e,reject:n,args:l(o),timestamp:Date.now()};switch(i){case c.IGNORE:e(void 0);break;case c.REJECT:n(new Error("An asynchronous action ".concat(t," is already ongoing.")));break;case c.KEEP_LAST:r[t]=[a];break;case c.KEEP_ALL:var u=r[t];u||(r[t]=u=[]),u.push(a);case c.PARALLEL:case c.REUSE:}}))}(N,P.current,O,z,I);var W=null,J=!1,H=S(n,o,a,I,K);if(r.preEffects){try{W=A(n,r.preEffects(H),_.fullStateEffects)}catch(e){return s.asyncErrorHandler(new u(e),!1,n.current,a.current,O,I),Promise.reject(new u(e))}W&&(J=!0,n.current=W)}var V=r.abortable,B=r.retryCount,q=r.retryDelaySeed,Q=r.isTriggerRetryError,X=V&&window.AbortController?new AbortController:null,Y=null===(T=g(r.getPromise,B?1+B:1,q,Q||s.retryOnErrorFunction)(function(e,r,t,n,o,i,c){var a=w(S(e,r,t,n,c),o);return a.abortSignal=i,a}(n,o,a,I,f,null==X?void 0:X.signal)))||void 0===T?void 0:T.then((function(r){return function(e,r,t,n){var o=e.action,i=e.stateRef,c=e.derivedStateRef,a=e.propsRef,l=e.promisesRef,f=e.actionsRef,p=e.loadingParallelMapRef,v=e.conflictActionsRef,g=e.actionName,h=e.options,y=e.setState,E=e.clearError;if(e.initializedRef.current){var S=null,P=m(i,c,a,n,t,r);if(o.effects)try{S=A(i,o.effects(P),h.fullStateEffects)}catch(e){return Promise.reject(new u(e))}y(S,d(p.current,g,r,!1),g,"effects",!0,P,!1);var w=h.notifySuccess||s.notifySuccess;if(w){var x=void 0;o.getSuccessMessage&&(x=o.getSuccessMessage(P)),x&&w(x)}return delete l.current[g][r],o.sideEffects&&o.sideEffects(b(P,i,c,f,s.notifyWarning,E)),L(e.initializedRef,g,f.current,v.current),t}}(e,K,r,I)})).catch((function(r){return R(e,K,r,I)}));return null!=Y&&(N[O]=t(t({},N[O]||{}),((k={})[K||C]={abortController:X,promise:Y,refArgs:z===c.REUSE&&I.length>0?i([],I,!0):[]},k))),y.current=p(y.current,O,K,null),M(null!=Y||J?n.current:void 0,null==Y?void 0:d(h.current,O,K,!0),O,"preEffects",!0,H,!1),Y}},exports.decorateSimpleSyncAction=function(e,r,t,n,o,i,c,a){return function(){for(var u=[],s=0;s<arguments.length;s++)u[s]=arguments[s];if(i.current){var l=S(t,n,o,u),f=A(t,r(l),c.fullStateEffects);a(f,null,e,"effects",!1,l,!1)}else x(e)}},exports.decorateSyncAction=function(e,r,t,n,o,i,c,a,u,s,l){return function(){for(var f=[],d=0;d<arguments.length;d++)f[d]=arguments[d];if(c.current)if(r.debounceTimeout){var p=a.current[e];p&&clearTimeout(p),a.current[e]=setTimeout((function(){delete a.current[e],O(e,r,t,n,o,i,a,u,s,l,f)}),r.debounceTimeout)}else O(e,r,t,n,o,i,a,u,s,l,f);else x(e)}},exports.fixDerivedDeps=function(e){var r,t=Object.keys(e.derivedState),n=new a(t);if(t.forEach((function(r){n.setEdges(r,e.derivedState[r].derivedDeps)})),n.isCyclic())throw new Error("There are cycles in the derived state dependencies");for(var o=!1,i={},c=0,u=t;c<u.length;c++){var s=u[c],l=null!==(r=e.derivedState[s].derivedDeps)&&void 0!==r?r:[];o=o||l.length>0,i[s]=l.concat()}if(o){t.sort((function(e,r){return i[e].length-i[r].length}));for(var f=[],d=new Set,p=t.length;d.size!==p;){var v=t.pop();if(!d.has(v))i[v]=i[v].filter((function(e){return!d.has(e)})),0===i[v].length?(f.push(v),d.add(v)):t.splice(0,0,v)}for(var g={},h=0,y=f;h<y.length;h++){g[v=y[h]]=e.derivedState[v]}e.derivedState=g}},exports.globalConfig=s,exports.isAsyncAction=function(e){return!(e instanceof Function)&&(e.hasOwnProperty("getPromise")||e.hasOwnProperty("getGetPromise"))},exports.isAsyncGetPromiseAction=function(e){return"function"!=typeof e&&e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.isAsyncGetPromiseGetAction=f,exports.isFuncConfig=function(e){return e.hasOwnProperty("getInitialState")},exports.isLoadingImpl=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];return r.some((function(r){var t,n=null,o=C;Array.isArray(r)?(n=r[0],o=void 0===(t=r[1])?C:t):n=r;var i=e[n];return null!=i&&(null!=i[o]&&i[o])}))},exports.isSimpleSyncAction=function(e){return"function"==typeof e},exports.isSyncAction=function(e){return"function"!=typeof e&&!e.hasOwnProperty("getPromise")&&!e.hasOwnProperty("getGetPromise")},exports.onPropChange=function(e,r,n,o,i,c,a,u,l,f){var d=null!=(null==c?void 0:c.derivedState);if(null!=c.onPropsChange){var p;p=Array.isArray(c.onPropsChange)?c.onPropsChange:[c.onPropsChange];var v=!1,g=h(e.current),y=[],S=s.comparator;p.forEach((function(t,i){var s,d=t.getDeps;if(d){var p=!1,h=[];if(l){if(!(!f&&t.onMount||f&&t.onMountDeferred))return;p=!0}else{var m=d(o),P=d(n.current);m.length!==P.length?(console.warn("options.onPropsChange.getDeps returned array must be stable (same length)"),p=!0):m.forEach((function(e,r){S(e,P[r])||(p=!0,h.push(r))}))}if(p){var w=E(g,r,n,h,i,l,a),b=A(e,null===(s=t.effects)||void 0===s?void 0:s.call(t,w),c.fullStateEffects);null!=b&&(v=!0,g.current=b,u(g.current,void 0,"onPropsChange","effects",!1,w,!0,l)),t.sideEffects&&y.push({index:i,indices:h,ctx:w})}}})),!v&&d&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0),y.length>0&&y.forEach((function(e){p[e.index].sideEffects(t(t({},P(w(e.ctx,i),g)),{indices:e.indices}))}))}else null!=(null==c?void 0:c.derivedState)&&u(void 0,void 0,"onPropsChange","effects",!1,null,!0)},exports.retryPromiseDecorator=g,exports.runMiddlewares=function(e,r,t,n,o,i,c,a){if("onPropsChange"===o&&void 0===t)return{newState:null,newLoading:!1};if(e&&e.length>0){var u=e.reduce((function(e,r){var t=r.effects({isAsync:c,name:o,type:i,context:a},e.oldState,e.newState,n);return{newState:(null==t?void 0:t.state)||e.newState,oldState:(null==t?void 0:t.state)?e.newState:e.oldState,loading:null==(null==t?void 0:t.loading)?e.loading:t.loading}}),{oldState:r,newState:t,loading:n});return{newLoading:u.loading,newState:u.newState}}return{newState:t,newLoading:n}},exports.setGlobalConfig=function(e){Object.keys(e).forEach((function(r){null!=e[r]&&(s[r]=e[r])}))},exports.updateErrorMap=p;
|
|
2
2
|
//# sourceMappingURL=impl.js.map
|
package/index.d.ts
CHANGED
|
@@ -134,13 +134,23 @@ export declare function useStoreContextSlice<S, A extends DecoratedActions, P, D
|
|
|
134
134
|
* Store will NOT be destroyed when component is unmouted.
|
|
135
135
|
*
|
|
136
136
|
* @param getInitialState Function to compute initial state from props.
|
|
137
|
-
* @param actionImpl Actions implementation.
|
|
138
137
|
* @param props Owner component props to update state or react on prop changes
|
|
139
|
-
* @param options The store options.
|
|
140
138
|
* @param refreshOnUpdate Whether refresh the component if store state changes.
|
|
141
|
-
* @returns The
|
|
139
|
+
* @returns The Store
|
|
142
140
|
*/
|
|
143
141
|
export declare function useLocalStore<S, A extends DecoratedActions, P, DS = {}>(config: StoreConfig<S, A, P, DS>, props?: P, refreshOnUpdate?: boolean): StoreApi<S, A, P, DS>;
|
|
142
|
+
/**
|
|
143
|
+
* Binds a store to a component and inject props.
|
|
144
|
+
* This hook must be the only one used with this store (or else props will the set several times).
|
|
145
|
+
* The component will be refreshed for every change in the store.
|
|
146
|
+
* Store will NOT be destroyed when component is unmouted.
|
|
147
|
+
*
|
|
148
|
+
* @param getInitialState Function to compute initial state from props.
|
|
149
|
+
* @param actionImpl Actions implementation.
|
|
150
|
+
* @param props Owner component props to update state or react on prop changes
|
|
151
|
+
* @returns the Store.
|
|
152
|
+
*/
|
|
153
|
+
export declare function useBindStore<S, A extends DecoratedActions, P, DS = {}>(store: StoreApi<S, A, P, DS>, props?: P): StoreApi<S, A, P, DS>;
|
|
144
154
|
export default useLocalStore;
|
|
145
155
|
/**
|
|
146
156
|
* Creates a new object by picking properties to the object passed a first parameter
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("./impl"),t=require("./development");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=n(e),o=function(){return o=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var u in r=arguments[t])Object.prototype.hasOwnProperty.call(r,u)&&(e[u]=r[u]);return e},o.apply(this,arguments)};function c(e){var r={exports:{}};return e(r,r.exports),r.exports}var i="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},a=u.default.useState,l=u.default.useEffect,f=u.default.useLayoutEffect,s=u.default.useDebugValue;function d(e){var r=e.getSnapshot;e=e.value;try{var t=r();return!i(e,t)}catch(e){return!0}}var v="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,r){return r()}:function(e,r){var t=r(),n=a({inst:{value:t,getSnapshot:r}}),u=n[0].inst,o=n[1];return f((function(){u.value=t,u.getSnapshot=r,d(u)&&o({inst:u})}),[e,t,r]),l((function(){return d(u)&&o({inst:u}),e((function(){d(u)&&o({inst:u})}))}),[e]),s(t),t},p={useSyncExternalStore:void 0!==u.default.useSyncExternalStore?u.default.useSyncExternalStore:v},O=c((function(e,r){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=u.default,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),u=1;u<r;u++)n[u-1]=arguments[u];!function(e,r,n){var u=t.ReactDebugCurrentFrame.getStackAddendum();""!==u&&(r+="%s",n=n.concat([u]));var o=n.map((function(e){return String(e)}));o.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,o)}("error",e,n)}var o="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},c=e.useState,i=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue,f=!1,s=!1;function d(e){var r=e.getSnapshot,t=e.value;try{var n=r();return!o(t,n)}catch(e){return!0}}var v=!!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?function(e,r,t){return r()}:function(r,t,u){f||void 0!==e.startTransition&&(f=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=t();if(!s){var p=t();o(v,p)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),s=!0)}var O=c({inst:{value:v,getSnapshot:t}}),_=O[0].inst,E=O[1];return a((function(){_.value=v,_.getSnapshot=t,d(_)&&E({inst:_})}),[r,v,t]),i((function(){d(_)&&E({inst:_});return r((function(){d(_)&&E({inst:_})}))}),[r]),l(v),v},p=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:v;r.useSyncExternalStore=p,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),_=p,E=O,S=c((function(e){"production"===process.env.NODE_ENV?e.exports=_:e.exports=E})),y=S;var g,L="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},b=S.useSyncExternalStore,A=u.default.useRef,h=u.default.useEffect,R=u.default.useMemo,x=u.default.useDebugValue,D={useSyncExternalStoreWithSelector:function(e,r,t,n,u){var o=A(null);if(null===o.current){var c={hasValue:!1,value:null};o.current=c}else c=o.current;o=R((function(){function e(e){if(!a){if(a=!0,o=e,e=n(e),void 0!==u&&c.hasValue){var r=c.value;if(u(r,e))return i=r}return i=e}if(r=i,L(o,e))return r;var t=n(e);return void 0!==u&&u(r,t)?r:(o=e,i=t)}var o,i,a=!1,l=void 0===t?null:t;return[function(){return e(r())},null===l?void 0:function(){return e(l())}]}),[r,t,n,u]);var i=b(e,o[0],o[1]);return h((function(){c.hasValue=!0,c.value=i}),[i]),x(i),i}},M=c((function(e,r){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=u.default,t=S;var n="function"==typeof Object.is?Object.is:function(e,r){return e===r&&(0!==e||1/e==1/r)||e!=e&&r!=r},o=t.useSyncExternalStore,c=e.useRef,i=e.useEffect,a=e.useMemo,l=e.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,r,t,u,f){var s,d=c(null);null===d.current?(s={hasValue:!1,value:null},d.current=s):s=d.current;var v=a((function(){var e,o,c=!1,i=function(r){if(!c){c=!0,e=r;var t=u(r);if(void 0!==f&&s.hasValue){var i=s.value;if(f(i,t))return o=i,i}return o=t,t}var a=o;if(n(e,r))return a;var l=u(r);return void 0!==f&&f(a,l)?a:(e=r,o=l,l)},a=void 0===t?null:t;return[function(){return i(r())},null===a?void 0:function(){return i(a())}]}),[r,t,u,f]),p=v[0],O=v[1],_=o(e,p,O);return i((function(){s.hasValue=!0,s.value=_}),[_]),l(_),_},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),m=D,T=M,C=c((function(e){"production"===process.env.NODE_ENV?e.exports=m:e.exports=T}));exports.ConflictPolicy=void 0,(g=exports.ConflictPolicy||(exports.ConflictPolicy={})).REJECT="reject",g.IGNORE="ignore",g.KEEP_LAST="keepLast",g.KEEP_ALL="keepAll",g.PARALLEL="parallel",g.REUSE="reuse";var j=C.useSyncExternalStoreWithSelector,w=y.useSyncExternalStore;function P(e){var n=r.createRef(),u=r.createRef(),c=r.createRef(),i=r.createRef(),a=r.createRef(),l=r.createRef(),f=r.createRef(),s=r.createRef(),d=r.createRef(),v=r.createRef(),p=r.createRef(),O=r.createRef(!1),_=r.createRef(),E=r.createRef([]),S=e.actions,y=e.middlewares,g=void 0===y?[]:y,L=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(n=Object.getOwnPropertySymbols(e);u<n.length;u++)r.indexOf(n[u])<0&&Object.prototype.propertyIsEnumerable.call(e,n[u])&&(t[n[u]]=e[n[u]])}return t}(e,["actions","middlewares"]),b=r.isFuncConfig(e)?e.getInitialState:function(){return e.initialState},A={},h=0;function R(){_.current=o(o(o(o({},i.current),n.current),u.current.state),{isLoading:j,abortAction:w,loading:s.current,loadingMap:f.current,loadingParallelMap:l.current,errorMap:P(),errorParallelMap:d.current}),Object.keys(A).forEach((function(e){var r;null===(r=A[e])||void 0===r||r.call(A)}))}function x(e){n.current=e,r.computeDerivedValues(n,c,u,L),R()}function D(e){l.current=e,f.current=function(){if(O.current){var e=l.current;return Object.keys(e).reduce((function(r,t){var n=e[t];return r[t]=null!=Object.keys(n).find((function(e){return!!n[e]})),r}),{})}return null}(),s.current=function(){if(O.current){var e=l.current;return null!=Object.keys(e).find((function(r){var t=e[r];return Object.keys(t).find((function(e){return!!t[e]}))}))}return null}()}function M(o){var l;if(!O.current){c.current=o,O.current=!0,n.current=b(o);var f=new Set(null==L?void 0:L.initialActionsMarkedLoading),s=Object.keys(S).reduce((function(e,t){var n;return e[t]=f.has(t)?((n={})[r.DEFAULT_PROMISE_ID]=!0,n):{},e}),{});D(s),d.current=Object.keys(S).reduce((function(e,r){return e[r]={},e}),{}),a.current={},v.current={},p.current={},u.current={state:null,deps:{}},(null==L?void 0:L.derivedState)&&r.fixDerivedDeps(L),E.current=[];var _={options:L,get state(){return n.current},actions:S,setState:x};e.logEnabled&&t.logDetailedEffects&&g.push(t.logDetailedEffects());var y=function(e){var r,t=e();E.current.push(t),null===(r=t.init)||void 0===r||r.call(t,_)};null===(l=r.globalConfig.defaultMiddlewares)||void 0===l||l.forEach(y),null==g||g.forEach(y),r.computeDerivedValues(n,c,u,L),r.onPropChange(n,u,c,null,i,L,b,T,!0,!1),(null==L?void 0:L.onMount)&&L.onMount(r.buildOnMountInvocationContext(n,u,c,i)),R()}}function m(e,t){void 0===t&&(t=r.DEFAULT_PROMISE_ID);var n=d.current[e];(null==n?void 0:n[t])&&delete n[t],R()}function T(e,t,o,i,a,f,s,d){void 0===s&&(s=!1),void 0===d&&(d=!1);var v=!1;if(O.current){var p=t,_=!!a&&r.isLoadingImpl(p||l.current,[o,null==f?void 0:f.promiseId]),S=r.runMiddlewares(E.current,n.current,e,_,o,i,a,f),y=S.newState,g=S.newLoading;if(null!=y&&(v=!0,n.current=y),_!==g&&(p=r.buildLoadingMap(p,o,(null==f?void 0:f.promiseId)||r.DEFAULT_PROMISE_ID,g),0===Object.keys(p).length&&(p=void 0)),null!=p&&(v=!0,D(p)),v)r.computeDerivedValues(n,c,u,L),d||(n.current=y||n.current,R());else if(s){r.computeDerivedValues(n,c,u,L)&&!d&&R()}}}var C=Object.keys(S);function j(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.isLoadingImpl.apply(void 0,function(e,r,t){if(t||2===arguments.length)for(var n,u=0,o=r.length;u<o;u++)!n&&u in r||(n||(n=Array.prototype.slice.call(r,0,u)),n[u]=r[u]);return e.concat(n||Array.prototype.slice.call(r))}([l.current],e,!1))}function w(e,t){var n,u;void 0===t&&(t=r.DEFAULT_PROMISE_ID);var o=null===(u=null===(n=v.current[e])||void 0===n?void 0:n[t])||void 0===u?void 0:u.abortController,c=!1;return o&&(o.abort(),c=!0),c}function P(){return O.current?r.buildErrorMap(d.current):null}return i.current=C.reduce((function(e,t){var o=S[t];return r.isSimpleSyncAction(o)?e[t]=r.decorateSimpleSyncAction(t,o,n,u,c,O,L,T):r.isAsyncAction(o)?e[t]=r.decorateAsyncAction({actionName:t,stateRef:n,derivedStateRef:u,propsRef:c,loadingParallelMapRef:l,errorMapRef:d,actionsRef:i,promisesRef:v,conflictActionsRef:p,initializedRef:O,options:L,setState:T,clearError:m,action:r.computeAsyncActionInput(o)}):r.isSyncAction(o)&&(e[t]=r.decorateSyncAction(t,o,n,u,c,i,O,a,L,T,m)),e}),{}),{getConfig:function(){return o({},e)},setProps:function(e){var t=c.current;c.current=e,O.current?r.onPropChange(n,u,c,t,i,L,b,T,!1,!1):M(e)},addStateListener:function(e){var r="".concat(h++);return A[r]=e,function(){delete A[r]}},init:M,destroy:function(){var e;if(O.current){var t=Object.keys(S).reduce((function(e,t){var n=S[t];if(r.isAsyncAction(n)&&n.abortable){var u=l.current[t],o=Object.keys(u).reduce((function(e,r){return u[r]&&(w(t,r),e.push(r)),e}),[]);o.length>0&&(e[t]=o)}return e}),{});null===(e=null==L?void 0:L.onUnmount)||void 0===e||e.call(L,r.buildOnUnMountInvocationContext(n,u,c,t)),c.current=null,n.current=null,l.current=null,f.current=null,s.current=null,d.current=null,v.current=null,p.current=null,u.current=null,_.current=null,Object.keys(a.current).forEach((function(e){clearTimeout(a.current[e])})),a.current=null,A={},O.current=!1,E.current.forEach((function(e){var r;null===(r=e.destroy)||void 0===r||r.call(e)})),E.current=[]}},isLoading:j,abortAction:w,clearError:m,getSnapshot:function(){return _.current},invokeOnMountDeferred:function(){r.onPropChange(n,u,c,null,i,L,b,T,!0,!0),(null==L?void 0:L.onMountDeferred)&&L.onMountDeferred(r.buildOnMountInvocationContext(n,u,c,i))},get actions(){return i.current},get state(){return O.current?o(o({},n.current),u.current.state):null},get loading(){return s.current},get loadingMap(){return f.current},get errorMap(){return P()},get loadingParallelMap(){return O.current?l.current:null},get errorParallelMap(){return O.current?d.current:null}}}function I(t,n){var u=e.useMemo((function(){return n instanceof Function?n:function(e){return k(e,n)}}),[n]);return j(t.addStateListener,t.getSnapshot,t.getSnapshot,u,r.globalConfig.comparator)}function V(r,t,n){void 0===n&&(n=!0);var u=e.useRef();return null==u.current&&(u.current=P(r)),e.useEffect((function(){return u.current.invokeOnMountDeferred(),function(){var e;null===(e=u.current)||void 0===e||e.destroy()}}),[]),function(r,t,n){void 0===t&&(t=null),void 0===n&&(n=!0);var u=e.useReducer((function(e){return e>100?0:e+1}),0)[1],o=e.useRef(r);return r.setProps(t),e.useLayoutEffect((function(){r.init(t)}),[]),e.useLayoutEffect((function(){if(n)return o.current.addStateListener((function(){u()}))}),[n]),r}(u.current,t,n)}function k(e,r){return r.reduce((function(r,t){return e.hasOwnProperty(t)&&(r[t]=e[t]),r}),{})}Object.defineProperty(exports,"EffectError",{enumerable:!0,get:function(){return r.EffectError}}),Object.defineProperty(exports,"ParallelActionError",{enumerable:!0,get:function(){return r.ParallelActionError}}),Object.defineProperty(exports,"setGlobalConfig",{enumerable:!0,get:function(){return r.setGlobalConfig}}),exports.createStore=P,exports.default=V,exports.pick=k,exports.slice=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return function(r){return k(r,e)}},exports.useLocalStore=V,exports.useStore=function(e){return w(e.addStateListener,e.getSnapshot),e},exports.useStoreContextSlice=function(r,t){return I(e.useContext(r),t)},exports.useStoreSlice=I;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./impl"),r=require("./development");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=n(e),o=function(){return o=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var u in t=arguments[r])Object.prototype.hasOwnProperty.call(t,u)&&(e[u]=t[u]);return e},o.apply(this,arguments)};function c(e){var t={exports:{}};return e(t,t.exports),t.exports}var i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=u.default.useState,l=u.default.useEffect,f=u.default.useLayoutEffect,s=u.default.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var v="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=a({inst:{value:r,getSnapshot:t}}),u=n[0].inst,o=n[1];return f((function(){u.value=r,u.getSnapshot=t,d(u)&&o({inst:u})}),[e,r,t]),l((function(){return d(u)&&o({inst:u}),e((function(){d(u)&&o({inst:u})}))}),[e]),s(r),r},p={useSyncExternalStore:void 0!==u.default.useSyncExternalStore?u.default.useSyncExternalStore:v},O=c((function(e,t){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=u.default,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),u=1;u<t;u++)n[u-1]=arguments[u];!function(e,t,n){var u=r.ReactDebugCurrentFrame.getStackAddendum();""!==u&&(t+="%s",n=n.concat([u]));var o=n.map((function(e){return String(e)}));o.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,o)}("error",e,n)}var o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},c=e.useState,i=e.useEffect,a=e.useLayoutEffect,l=e.useDebugValue,f=!1,s=!1;function d(e){var t=e.getSnapshot,r=e.value;try{var n=t();return!o(r,n)}catch(e){return!0}}var v=!!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?function(e,t,r){return t()}:function(t,r,u){f||void 0!==e.startTransition&&(f=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=r();if(!s){var p=r();o(v,p)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),s=!0)}var O=c({inst:{value:v,getSnapshot:r}}),_=O[0].inst,E=O[1];return a((function(){_.value=v,_.getSnapshot=r,d(_)&&E({inst:_})}),[t,v,r]),i((function(){d(_)&&E({inst:_});return t((function(){d(_)&&E({inst:_})}))}),[t]),l(v),v},p=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:v;t.useSyncExternalStore=p,"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),_=p,E=O,S=c((function(e){"production"===process.env.NODE_ENV?e.exports=_:e.exports=E})),y=S;var g,L="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},b=S.useSyncExternalStore,h=u.default.useRef,A=u.default.useEffect,R=u.default.useMemo,x=u.default.useDebugValue,D={useSyncExternalStoreWithSelector:function(e,t,r,n,u){var o=h(null);if(null===o.current){var c={hasValue:!1,value:null};o.current=c}else c=o.current;o=R((function(){function e(e){if(!a){if(a=!0,o=e,e=n(e),void 0!==u&&c.hasValue){var t=c.value;if(u(t,e))return i=t}return i=e}if(t=i,L(o,e))return t;var r=n(e);return void 0!==u&&u(t,r)?t:(o=e,i=r)}var o,i,a=!1,l=void 0===r?null:r;return[function(){return e(t())},null===l?void 0:function(){return e(l())}]}),[t,r,n,u]);var i=b(e,o[0],o[1]);return A((function(){c.hasValue=!0,c.value=i}),[i]),x(i),i}},M=c((function(e,t){"production"!==process.env.NODE_ENV&&function(){"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=u.default,r=S;var n="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useSyncExternalStore,c=e.useRef,i=e.useEffect,a=e.useMemo,l=e.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,u,f){var s,d=c(null);null===d.current?(s={hasValue:!1,value:null},d.current=s):s=d.current;var v=a((function(){var e,o,c=!1,i=function(t){if(!c){c=!0,e=t;var r=u(t);if(void 0!==f&&s.hasValue){var i=s.value;if(f(i,r))return o=i,i}return o=r,r}var a=o;if(n(e,t))return a;var l=u(t);return void 0!==f&&f(a,l)?a:(e=t,o=l,l)},a=void 0===r?null:r;return[function(){return i(t())},null===a?void 0:function(){return i(a())}]}),[t,r,u,f]),p=v[0],O=v[1],_=o(e,p,O);return i((function(){s.hasValue=!0,s.value=_}),[_]),l(_),_},"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()})),m=D,T=M,C=c((function(e){"production"===process.env.NODE_ENV?e.exports=m:e.exports=T}));exports.ConflictPolicy=void 0,(g=exports.ConflictPolicy||(exports.ConflictPolicy={})).REJECT="reject",g.IGNORE="ignore",g.KEEP_LAST="keepLast",g.KEEP_ALL="keepAll",g.PARALLEL="parallel",g.REUSE="reuse";var j=C.useSyncExternalStoreWithSelector,w=y.useSyncExternalStore;function P(e){var n=t.createRef(),u=t.createRef(),c=t.createRef(),i=t.createRef(),a=t.createRef(),l=t.createRef(),f=t.createRef(),s=t.createRef(),d=t.createRef(),v=t.createRef(),p=t.createRef(),O=t.createRef(!1),_=t.createRef(),E=t.createRef([]),S=e.actions,y=e.middlewares,g=void 0===y?[]:y,L=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var u=0;for(n=Object.getOwnPropertySymbols(e);u<n.length;u++)t.indexOf(n[u])<0&&Object.prototype.propertyIsEnumerable.call(e,n[u])&&(r[n[u]]=e[n[u]])}return r}(e,["actions","middlewares"]),b=t.isFuncConfig(e)?e.getInitialState:function(){return e.initialState},h={},A=0;function R(){_.current=o(o(o(o({},i.current),n.current),u.current.state),{isLoading:j,abortAction:w,loading:s.current,loadingMap:f.current,loadingParallelMap:l.current,errorMap:P(),errorParallelMap:d.current}),Object.keys(h).forEach((function(e){var t;null===(t=h[e])||void 0===t||t.call(h)}))}function x(e){n.current=e,t.computeDerivedValues(n,c,u,L),R()}function D(e){l.current=e,f.current=function(){if(O.current){var e=l.current;return Object.keys(e).reduce((function(t,r){var n=e[r];return t[r]=null!=Object.keys(n).find((function(e){return!!n[e]})),t}),{})}return null}(),s.current=function(){if(O.current){var e=l.current;return null!=Object.keys(e).find((function(t){var r=e[t];return Object.keys(r).find((function(e){return!!r[e]}))}))}return null}()}function M(o){var l;if(!O.current){c.current=o,O.current=!0,n.current=b(o);var f=new Set(null==L?void 0:L.initialActionsMarkedLoading),s=Object.keys(S).reduce((function(e,r){var n;return e[r]=f.has(r)?((n={})[t.DEFAULT_PROMISE_ID]=!0,n):{},e}),{});D(s),d.current=Object.keys(S).reduce((function(e,t){return e[t]={},e}),{}),a.current={},v.current={},p.current={},u.current={state:null,deps:{}},(null==L?void 0:L.derivedState)&&t.fixDerivedDeps(L),E.current=[];var _={options:L,get state(){return n.current},actions:S,setState:x};e.logEnabled&&r.logDetailedEffects&&g.push(r.logDetailedEffects());var y=function(e){var t,r=e();E.current.push(r),null===(t=r.init)||void 0===t||t.call(r,_)};null===(l=t.globalConfig.defaultMiddlewares)||void 0===l||l.forEach(y),null==g||g.forEach(y),t.computeDerivedValues(n,c,u,L),t.onPropChange(n,u,c,null,i,L,b,T,!0,!1),(null==L?void 0:L.onMount)&&L.onMount(t.buildOnMountInvocationContext(n,u,c,i)),R()}}function m(e,r){void 0===r&&(r=t.DEFAULT_PROMISE_ID);var n=d.current[e];(null==n?void 0:n[r])&&delete n[r],R()}function T(e,r,o,i,a,f,s,d){void 0===s&&(s=!1),void 0===d&&(d=!1);var v=!1;if(O.current){var p=r,_=!!a&&t.isLoadingImpl(p||l.current,[o,null==f?void 0:f.promiseId]),S=t.runMiddlewares(E.current,n.current,e,_,o,i,a,f),y=S.newState,g=S.newLoading;if(null!=y&&(v=!0,n.current=y),_!==g&&(p=t.buildLoadingMap(p,o,(null==f?void 0:f.promiseId)||t.DEFAULT_PROMISE_ID,g),0===Object.keys(p).length&&(p=void 0)),null!=p&&(v=!0,D(p)),v)t.computeDerivedValues(n,c,u,L),d||(n.current=y||n.current,R());else if(s){t.computeDerivedValues(n,c,u,L)&&!d&&R()}}}var C=Object.keys(S);function j(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t.isLoadingImpl.apply(void 0,function(e,t,r){if(r||2===arguments.length)for(var n,u=0,o=t.length;u<o;u++)!n&&u in t||(n||(n=Array.prototype.slice.call(t,0,u)),n[u]=t[u]);return e.concat(n||Array.prototype.slice.call(t))}([l.current],e,!1))}function w(e,r){var n,u;void 0===r&&(r=t.DEFAULT_PROMISE_ID);var o=null===(u=null===(n=v.current[e])||void 0===n?void 0:n[r])||void 0===u?void 0:u.abortController,c=!1;return o&&(o.abort(),c=!0),c}function P(){return O.current?t.buildErrorMap(d.current):null}return i.current=C.reduce((function(e,r){var o=S[r];return t.isSimpleSyncAction(o)?e[r]=t.decorateSimpleSyncAction(r,o,n,u,c,O,L,T):t.isAsyncAction(o)?e[r]=t.decorateAsyncAction({actionName:r,stateRef:n,derivedStateRef:u,propsRef:c,loadingParallelMapRef:l,errorMapRef:d,actionsRef:i,promisesRef:v,conflictActionsRef:p,initializedRef:O,options:L,setState:T,clearError:m,action:t.computeAsyncActionInput(o)}):t.isSyncAction(o)&&(e[r]=t.decorateSyncAction(r,o,n,u,c,i,O,a,L,T,m)),e}),{}),{getConfig:function(){return o({},e)},setProps:function(e){var r=c.current;c.current=e,O.current?t.onPropChange(n,u,c,r,i,L,b,T,!1,!1):M(e)},addStateListener:function(e){var t="".concat(A++);return h[t]=e,function(){delete h[t]}},init:M,destroy:function(){var e;if(O.current){var r=Object.keys(S).reduce((function(e,r){var n=S[r];if(t.isAsyncAction(n)&&n.abortable){var u=l.current[r],o=Object.keys(u).reduce((function(e,t){return u[t]&&(w(r,t),e.push(t)),e}),[]);o.length>0&&(e[r]=o)}return e}),{});null===(e=null==L?void 0:L.onUnmount)||void 0===e||e.call(L,t.buildOnUnMountInvocationContext(n,u,c,r)),c.current=null,n.current=null,l.current=null,f.current=null,s.current=null,d.current=null,v.current=null,p.current=null,u.current=null,_.current=null,Object.keys(a.current).forEach((function(e){clearTimeout(a.current[e])})),a.current=null,h={},O.current=!1,E.current.forEach((function(e){var t;null===(t=e.destroy)||void 0===t||t.call(e)})),E.current=[]}},isLoading:j,abortAction:w,clearError:m,getSnapshot:function(){return _.current},invokeOnMountDeferred:function(){t.onPropChange(n,u,c,null,i,L,b,T,!0,!0),(null==L?void 0:L.onMountDeferred)&&L.onMountDeferred(t.buildOnMountInvocationContext(n,u,c,i))},get actions(){return i.current},get state(){return O.current?o(o({},n.current),u.current.state):null},get loading(){return s.current},get loadingMap(){return f.current},get errorMap(){return P()},get loadingParallelMap(){return O.current?l.current:null},get errorParallelMap(){return O.current?d.current:null}}}function I(r,n){var u=e.useMemo((function(){return n instanceof Function?n:function(e){return k(e,n)}}),[n]);return j(r.addStateListener,r.getSnapshot,r.getSnapshot,u,t.globalConfig.comparator)}function V(t,r,n){void 0===n&&(n=!0);var u=e.useRef();return null==u.current&&(u.current=P(t)),e.useEffect((function(){return u.current.invokeOnMountDeferred(),function(){var e;null===(e=u.current)||void 0===e||e.destroy()}}),[]),function(t,r,n){void 0===r&&(r=null),void 0===n&&(n=!0);var u=e.useReducer((function(e){return e>100?0:e+1}),0)[1],o=e.useRef(t);return t.setProps(r),e.useLayoutEffect((function(){t.init(r)}),[]),e.useLayoutEffect((function(){if(n)return o.current.addStateListener((function(){u()}))}),[n]),t}(u.current,r,n)}function k(e,t){return t.reduce((function(t,r){return e.hasOwnProperty(r)&&(t[r]=e[r]),t}),{})}Object.defineProperty(exports,"EffectError",{enumerable:!0,get:function(){return t.EffectError}}),Object.defineProperty(exports,"ParallelActionError",{enumerable:!0,get:function(){return t.ParallelActionError}}),Object.defineProperty(exports,"setGlobalConfig",{enumerable:!0,get:function(){return t.setGlobalConfig}}),exports.createStore=P,exports.default=V,exports.pick=k,exports.slice=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){return k(t,e)}},exports.useBindStore=function(t,r){return t.setProps(r),w(t.addStateListener,t.getSnapshot),e.useLayoutEffect((function(){t.init(r)}),[]),e.useEffect((function(){t.invokeOnMountDeferred()}),[t]),t},exports.useLocalStore=V,exports.useStore=function(e){return w(e.addStateListener,e.getSnapshot),e},exports.useStoreContextSlice=function(t,r){return I(e.useContext(t),r)},exports.useStoreSlice=I;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|