UNPKG

state-decorator

Version:
3 lines (2 loc) 6.41 kB
import{isFuncConfig as t,createRef as r,computeDerivedValues as n,onPropChange as e,buildOnMountInvocationContext as o,isSimpleSyncAction as i,decorateSimpleSyncAction as u,isSyncAction as c,decorateSyncAction as s,isAsyncAction as a,computeAsyncActionInput as f,decorateAsyncAction as l,buildErrorMap as p}from"./impl";var v=function(t,r){return v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,r){t.__proto__=r}||function(t,r){for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])},v(t,r)};var d=function(){return d=Object.assign||function(t){for(var r,n=1,e=arguments.length;n<e;n++)for(var o in r=arguments[n])Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o]);return t},d.apply(this,arguments)};function y(t,r){return void 0===r&&(r={}),m(t.getConfig(),r)}function m(r,n){void 0===n&&(n={});var e=r.actions,o=function(t,r){var n={};for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&r.indexOf(e)<0&&(n[e]=t[e]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(e=Object.getOwnPropertySymbols(t);o<e.length;o++)r.indexOf(e[o])<0&&Object.prototype.propertyIsEnumerable.call(t,e[o])&&(n[e[o]]=t[e[o]])}return n}(r,["actions"]);return P(t(r)?r.getInitialState:function(){return r.initialState},e,n,o)}function P(t,i,u,c,s){void 0===u&&(u={}),void 0===c&&(c={});var a=r(t(u)),f=r(u);function l(t,r,n){return P((function(){return null!=t?t:a.current}),i,null!=r?r:f.current,c,null!=n?n:s)}function p(t,e){void 0===t&&(t=void 0),void 0===e&&(e=void 0);var o=r({state:null,deps:{}});return n(t||a,e||f,o,c,r({})),d(d({},(null==t?void 0:t.current)||a.current),o.current.state||{})}return{getInitialState:t,test:function(t){return t(p(),f.current),this},setMockActions:function(t){return l(void 0,void 0,t)},onMount:function(t){return void 0===t&&(t={}),this.onInit(t)},setState:function(t){return l(t,void 0)},setProps:function(t){return l(void 0,t)},setPartialState:function(t){return l(d(d({},a.current),t),void 0)},setPartialProps:function(t){return l(void 0,d(d({},f.current),t))},onPropsChange:function(t,n){void 0===n&&(n=!1);var e=r(a.current),o=r(d(d({},f.current),t)),u=r({state:null,deps:{}}),c=h(i,s),l=this.onPropsChangeImpl(e,o,u,c,(function(t,r,n,o,i){return null!=t&&(e.current=t),function(){}}),n,!1);return d(d({},l),{test:function(t){t(l)}})},onPropsChangeImpl:function(o,i,u,s,l,v,d){return n(a,f,u,c,r({})),e(o,u,i,f.current,s,c,t,l,v,d),{prevState:p(a,f),state:p(o,i),props:i.current,actions:s.current,errorMap:{}}},onInit:function(n){void 0===n&&(n={});var e=d(d({},f.current),n),u=t(e),a=r(u),l=r(e),v=r({state:null,deps:{}}),y=h(i,s),m=function(t,r,n,e,o){return null!=t&&(a.current=t),function(){}};this.onPropsChangeImpl(a,l,v,y,m,!0,!1),(null==c?void 0:c.onMount)&&c.onMount(o(a,v,l,y)),this.onPropsChangeImpl(a,l,v,y,m,!0,!0),(null==c?void 0:c.onMountDeferred)&&c.onMountDeferred(o(a,v,l,y));var P={prevState:null,state:p(a,l),props:l.current,actions:y.current,errorMap:{}};return d(d({},P),{test:function(t){t(P)}})},getAction:function(t){return b(a.current,t,i,f.current,null,c,void 0)}}}function h(t,n){var e=Object.keys(t);return r(e.reduce((function(t,r){return t[r]=O(null==n?void 0:n[r]),t}),{}))}"function"==typeof SuppressedError&&SuppressedError;var O=function(t){return jest.fn(t)};function S(t){O=t}var g=function(t){function r(n,e,o,i,u){var c=t.call(this,n.message)||this;return Object.setPrototypeOf(c,r.prototype),c.sourceError=n,c.prevState=e,c.props=i,c.state=o,c.actions=u,Error.captureStackTrace&&Error.captureStackTrace(c,r),c}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function n(){this.constructor=t}v(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}(r,t),r}(Error);function b(t,e,o,v,y,m,P,O){void 0===O&&(O={});var S=r(t),j=r(O),E=r(v),R=y;function M(t,r,n,i,u){return void 0===i&&(i=P),void 0===u&&(u=null),b(null!=t?t:S.current,e,o,null!=r?r:E.current,null!=n?n:R,m,i,null!=u?u:j.current)}function w(t,e){void 0===t&&(t=void 0),void 0===e&&(e=void 0);var o=r({state:null,deps:{}});return n(null!=t?t:S,null!=e?e:E,o,m,j),d(d({},(null==t?void 0:t.current)||S.current),o.current.state||{})}return{setMockActions:function(t){return M(void 0,void 0,void 0,t)},setState:function(t){return M(t,void 0,void 0)},setPartialDerivedStateOverride:function(t){return M(void 0,void 0,void 0,void 0,t)},setProps:function(t){return M(void 0,t,void 0)},setPartialState:function(t){return M(d(d({},S.current),t),void 0,void 0)},setPartialProps:function(t){return M(void 0,d(d({},E.current),t),void 0)},promiseResolves:function(t){return M(void 0,void 0,Promise.resolve(t))},promiseRejects:function(t){return M(void 0,void 0,Promise.reject(t))},test:function(t){return t(w(),E.current),this},call:function(){for(var t=[],v=0;v<arguments.length;v++)t[v]=arguments[v];var y=r(d({},S.current)),O=r(!1),b=r({state:null,deps:{}});n(y,E,b,m,j),Object.keys(j.current).length>0&&(b.current.state=d(d({},b.current.state),j.current));var M=h(o,P),I=r({}),_=r({}),C=function(t){return null!=t&&(y.current=t),function(){}},k=o[e],A=null;if(i(k))u(e,k,y,b,E,r(!0),m,C).apply(void 0,t),A=Promise.resolve();else if(c(k))s(e,d(d({},k),{debounceSideEffectsTimeout:0,debounceTimeout:0}),y,b,E,M,r(!0),null,r(!1),m,C,(function(t){})).apply(void 0,t),A=Promise.resolve();else if(a(k)){var T=r({}),x=r({}),D=r(!0),N=d({},f(k));if(R&&(N.getPromise=function(){return R}),N.optimisticEffects){if(N.effects){var z=N.optimisticEffects,L=N.effects;N.effects=function(t){var r=z(t);return r=d(d({},t.state),r),d(d({},r),L(d(d({},t),{state:r,s:r})))}}else N.effects=N.optimisticEffects;delete N.optimisticEffects}A=l({actionName:e,derivedStateRef:b,propsRef:E,loadingParallelMapRef:I,errorMapRef:_,promisesRef:T,conflictActionsRef:x,initializedRef:D,timeoutRef:r({}),needNotifyListenersRef:O,options:m,setState:C,stateRef:y,actionsRef:M,action:N,clearError:function(t){}}).apply(void 0,t)}return(null!=A?A:Promise.resolve()).then((function(){return I.current={},{prevState:w(S),state:w(y),props:E.current,errorMap:p(_.current),actions:M.current}})).catch((function(t){return Promise.reject(new g(t,w(S),w(y),E.current,M.current))}))}}}export{g as ActionError,y as createMockFromStore,m as createMockStore,b as createMockStoreAction,P as createMockStoreV6,S as setMockFactory}; //# sourceMappingURL=test.js.map