easy-soft-dva 3.10.88 → 3.10.90
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/es/dva-core/index.js +1 -1
- package/es/dva-loading/index.js +1 -1
- package/es/index.js +1 -1
- package/package.json +34 -34
package/es/dva-core/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"invariant";import{combineReducers as t}from"redux";import n from"redux-saga";import*as r from"redux-saga";export{r as saga};import{isPlainObject as o}from"is-plain-object";import a from"flatten";import{configureStore as c}from"@reduxjs/toolkit";import u from"warning";export{Provider,connect}from"react-redux";const s=Array.isArray.bind(Array),i=e=>"function"==typeof e,f=e=>e;var l=Object.freeze({__proto__:null,findIndex:(e,t)=>{for(let n=0,{length:r}=e;n<r;n+=1)if(t(e[n],n))return n;return-1},isArray:s,isFunction:i,isPlainObject:o,noop:()=>{},returnSelf:f});function p(t,n){const{namespace:r,reducers:a,effects:c,subscriptions:u}=t;e(r,"[app.model] namespace should be defined"),e("string"==typeof r,"[app.model] namespace should be string, but got "+typeof r),e(!n.some((e=>e.namespace===r)),"[app.model] namespace should be unique"),a&&(e(o(a)||s(a),"[app.model] reducers should be plain object or array, but got "+typeof a),e(!s(a)||o(a[0])&&i(a[1]),"[app.model] reducers with array should be [Object, Function]")),c&&e(o(c),"[app.model] effects should be plain object, but got "+typeof c),u&&(e(o(u),"[app.model] subscriptions should be plain object, but got "+typeof u),e(function(e){return Object.keys(e).every((t=>i(e[t])))}(u),"[app.model] subscription should be function"))}const d="/";function h(e){return()=>t=>n=>{const{type:r}=n;return function(t){if(!t||"string"!=typeof t)return!1;const[n]=t.split(d),r=e._models.find((e=>e.namespace===n));if(r&&r.effects&&r.effects[t])return!0;return!1}(r)?new Promise(((e,r)=>{t({__dva_resolve:e,__dva_reject:r,...n})})):t(n)}}function y(e){return e}function v(t,n,r){const o=Object.keys(t).map((n=>function(t,n=y,r){return(o,a)=>{const{type:c}=a;return e(c,"dispatch: action should be a plain Object with type"),t===c?n(o,a,r):o}}(n,t[n],r))),a=function(...e){return(t,n)=>e.reduce(((e,t)=>t(e,n)),t)}(...o);return(e=n,t)=>a(e,t,r)}function m(e,t,n,r){return Array.isArray(e)?e[1]((n||v)(e[0],t,r)):(n||v)(e||{},t,r)}var g=function(e){return"@@redux-saga/"+e},E=g("CANCEL_PROMISE"),b=g("IO"),_=g("MULTICAST"),w=g("SELF_CANCELLATION"),N=g("TASK");function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},A.apply(null,arguments)}var O=function(e){return null!=e},k=function(e){return"function"==typeof e},x=function(e){return"string"==typeof e},S=Array.isArray,C=function(e){return e&&!S(e)&&"object"==typeof e},q=function(e){return e&&e[N]},j=function(e){return e&&k(e.isEmpty)&&k(e.take)&&k(e.put)},T=function e(t){return t&&(x(t)||$(t)||k(t)||S(t)&&t.every(e))},L=function(e){return e&&k(e.take)&&k(e.close)},$=function(e){return Boolean(e)&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},D=function(e){return e&&e[b]},P=2147483647;function R(e,t){if(void 0===t&&(t=!0),"production"!==process.env.NODE_ENV&&e>P)throw new Error("delay only supports a maximum value of "+P+"ms");var n,r=new Promise((function(r){n=setTimeout(r,Math.min(P,e),t)}));return r[E]=function(){clearTimeout(n)},r}process.env.NODE_ENV;var V=function(e){return e};function U(e,t,n){if(!t(e))throw new Error(n)}var F=function(e){throw e},M=function(e){return{value:e,done:!0}};var I=function(e){return function(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,o=0,a=0,c=function(t){n[o]=t,o=(o+1)%e,r++},u=function(){if(0!=r){var t=n[a];return n[a]=null,r--,a=(a+1)%e,t}},s=function(){for(var e=[];r;)e.push(u());return e};return{isEmpty:function(){return 0==r},put:function(u){var i;if(r<e)c(u);else switch(t){case 1:throw new Error("Channel's Buffer overflow!");case 3:n[o]=u,a=o=(o+1)%e;break;case 4:i=2*e,n=s(),r=n.length,o=n.length,a=0,n.length=i,e=i,c(u)}},take:u,flush:s}}(e,3)},H="TAKE",K="RACE",z="CALL",X="FORK",B="JOIN",G="CANCEL",J="SELECT",W="ACTION_CHANNEL",Q="CANCELLED",Y="FLUSH",Z="GET_CONTEXT",ee="SET_CONTEXT",te=Object.freeze({__proto__:null,TAKE:H,PUT:"PUT",ALL:"ALL",RACE:K,CALL:z,CPS:"CPS",FORK:X,JOIN:B,CANCEL:G,SELECT:J,ACTION_CHANNEL:W,CANCELLED:Q,FLUSH:Y,GET_CONTEXT:Z,SET_CONTEXT:ee}),ne="\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)",re=function(e,t){var n;return(n={})[b]=!0,n.combinator=!1,n.type=e,n.payload=t,n},oe=function(e){return D(e)&&e.type===X};function ae(e,t){if(void 0===e&&(e="*"),"production"!==process.env.NODE_ENV&&arguments.length&&U(arguments[0],O,"take(patternOrChannel): patternOrChannel is undefined"),T(e))return O(t)&&console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"),re(H,{pattern:e});if(L(n=e)&&n[_]&&O(t)&&T(t))return re(H,{channel:e,pattern:t});var n;if(L(e))return O(t)&&console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."),re(H,{channel:e});if("production"!==process.env.NODE_ENV)throw new Error("take(patternOrChannel): argument "+e+" is not valid channel or a valid pattern")}function ce(e,t){return"production"!==process.env.NODE_ENV&&(arguments.length>1?(U(e,O,"put(channel, action): argument channel is undefined"),U(e,L,"put(channel, action): argument "+e+" is not a valid channel"),U(t,O,"put(channel, action): argument action is undefined")):U(e,O,"put(action): argument action is undefined")),null==t&&(t=e,e=void 0),re("PUT",{channel:e,action:t})}function ue(e){var t=re(K,e);return t.combinator=!0,t}var se=function(e,t){if(U(t,O,e+": argument fn is undefined or null"),!k(t)){var n,r=null;if(S(t))r=t[0],U(n=t[1],O,e+": argument of type [context, fn] has undefined or null `fn`");else{if(!C(t))return void U(t,k,e+": argument fn is not function");r=t.context,U(n=t.fn,O,e+": argument of type {context, fn} has undefined or null `fn`")}r&&x(n)?U(r[n],k,e+': context arguments has no such method - "'+n+'"'):U(n,k,e+": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")}};function ie(e,t){var n,r=null;return k(e)?n=e:(S(e)?(r=e[0],n=e[1]):(r=e.context,n=e.fn),r&&x(n)&&k(r[n])&&(n=r[n])),{context:r,fn:n,args:t}}var fe=function(e){return e!==ye};function le(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if("production"!==process.env.NODE_ENV){var o="number"==typeof n[0]?n[0]:"ms";U(e,fe,"instead of writing `yield call(delay, "+o+")` where delay is an effect from `redux-saga/effects` you should write `yield delay("+o+")`"),se("call",e)}return re(z,ie(e,n))}function pe(e){"production"!==process.env.NODE_ENV&&(se("fork",e),U(e,(function(e){return!D(e)}),"fork: argument must not be an effect"));for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return re(X,ie(e,n))}function de(e){if(void 0===e&&(e=w),"production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.");S(e)?e.forEach((function(e){U(e,q,"cancel([...tasks]): argument "+e+" is not a valid Task object "+ne)})):e!==w&&O(e)&&U(e,q,"cancel(task): argument "+e+" is not a valid Task object "+ne)}return re(G,e)}function he(e,t){return"production"!==process.env.NODE_ENV&&(U(e,T,"actionChannel(pattern,...): argument pattern is not valid"),arguments.length>1&&(U(t,O,"actionChannel(pattern, buffer): argument buffer is undefined"),U(t,j,"actionChannel(pattern, buffer): argument "+t+" is not a valid buffer"))),re(W,{pattern:e,buffer:t})}var ye=le.bind(null,R),ve=function(e){return{done:!0,value:e}},me={};function ge(e){return L(e)?"channel":k(t=e)&&t.hasOwnProperty("toString")?String(e):k(e)?e.name:String(e);var t}function Ee(e,t,n){var r,o,a,c=t;function u(t,n){if(c===me)return ve(t);if(n&&!o)throw c=me,n;r&&r(t);var u=n?e[o](n):e[c]();return c=u.nextState,a=u.effect,r=u.stateUpdater,o=u.errorState,c===me?ve(t):a}return function(e,t,n){void 0===t&&(t=F),void 0===n&&(n="iterator");var r={meta:{name:n},next:e,throw:t,return:M,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}(u,(function(e){return u(null,e)}),n)}function be(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:ae(e)},u=function(e){return a=e};return Ee({q1:function(){return{nextState:"q2",effect:c,stateUpdater:u}},q2:function(){return{nextState:"q1",effect:(e=a,{done:!1,value:pe.apply(void 0,[t].concat(r,[e]))})};var e}},"q1","takeEvery("+ge(e)+", "+t.name+")")}function _e(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c,u={done:!1,value:ae(e)},s=function(e){return{done:!1,value:pe.apply(void 0,[t].concat(r,[e]))}},i=function(e){return{done:!1,value:de(e)}},f=function(e){return a=e},l=function(e){return c=e};return Ee({q1:function(){return{nextState:"q2",effect:u,stateUpdater:l}},q2:function(){return a?{nextState:"q3",effect:i(a)}:{nextState:"q1",effect:s(c),stateUpdater:f}},q3:function(){return{nextState:"q1",effect:s(c),stateUpdater:f}}},"q1","takeLatest("+ge(e)+", "+t.name+")")}function we(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:ae(e)},u=function(e){return a=e};return Ee({q1:function(){return{nextState:"q2",effect:c,stateUpdater:u}},q2:function(){return{nextState:"q1",effect:(e=a,{done:!1,value:le.apply(void 0,[t].concat(r,[e]))})};var e}},"q1","takeLeading("+ge(e)+", "+t.name+")")}function Ne(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,u,s={done:!1,value:ye(e)},i=function(e){return c=e},f=function(e){return u=e},l=!L(t);return l||f(t),Ee({q1:function(){return{nextState:"q2",effect:{done:!1,value:he(t,I(1))},stateUpdater:f}},q2:function(){return{nextState:"q3",effect:{done:!1,value:ae(u)},stateUpdater:i}},q3:function(){return{nextState:"q4",effect:(e=c,{done:!1,value:pe.apply(void 0,[n].concat(o,[e]))})};var e},q4:function(){return{nextState:"q2",effect:s}}},l?"q1":"q2","throttle("+ge(t)+", "+n.name+")")}function Ae(e,t,n){for(var r=e,o=arguments.length,a=new Array(o>3?o-3:0),c=3;c<o;c++)a[c-3]=arguments[c];var u={done:!1,value:le.apply(void 0,[n].concat(a))},s={done:!1,value:ye(t)};return Ee({q1:function(){return{nextState:"q2",effect:u,errorState:"q10"}},q2:function(){return{nextState:me}},q10:function(e){if((r-=1)<=0)throw e;return{nextState:"q1",effect:s}}},"q1","retry("+n.name+")")}function Oe(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,u,s={done:!1,value:ae(t)},i={done:!1,value:ue({action:ae(t),debounce:ye(e)})},f=function(e){return c=e},l=function(e){return u=e};return Ee({q1:function(){return{nextState:"q2",effect:s,stateUpdater:f}},q2:function(){return{nextState:"q3",effect:i,stateUpdater:l}},q3:function(){return u.debounce?{nextState:"q1",effect:(t=c,{done:!1,value:pe.apply(void 0,[n].concat(o,[t]))})}:{nextState:"q2",effect:(e=u.action,{done:!1,value:e}),stateUpdater:f};var e,t}},"q1","debounce("+ge(t)+", "+n.name+")")}var ke=function(e,t,n){U(t,O,e.name+" requires a pattern or channel"),U(n,O,e.name+" requires a saga parameter")};function xe(e,t){"production"!==process.env.NODE_ENV&&ke(xe,e,t);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return pe.apply(void 0,[be,e,t].concat(r))}function Se(e,t){"production"!==process.env.NODE_ENV&&ke(Se,e,t);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return pe.apply(void 0,[_e,e,t].concat(r))}function Ce(e,t,n){"production"!==process.env.NODE_ENV&&(U(t,O,"throttle requires a pattern or channel"),U(n,O,"throttle requires a saga parameter"));for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return pe.apply(void 0,[Ne,e,t,n].concat(o))}var qe=Object.freeze({__proto__:null,actionChannel:he,all:function(e){var t=re("ALL",e);return t.combinator=!0,t},apply:function(e,t,n){void 0===n&&(n=[]);var r=[e,t];return"production"!==process.env.NODE_ENV&&se("apply",r),re(z,ie([e,t],n))},call:le,cancel:de,cancelled:function(){return re(Q,{})},cps:function(e){"production"!==process.env.NODE_ENV&&se("cps",e);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return re("CPS",ie(e,n))},debounce:function(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return pe.apply(void 0,[Oe,e,t,n].concat(o))},delay:ye,effectTypes:te,flush:function(e){return"production"!==process.env.NODE_ENV&&U(e,L,"flush(channel): argument "+e+" is not valid channel"),re(Y,e)},fork:pe,getContext:function(e){return"production"!==process.env.NODE_ENV&&U(e,x,"getContext(prop): argument "+e+" is not a string"),re(Z,e)},join:function(e){if("production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.");S(e)?e.forEach((function(e){U(e,q,"join([...tasks]): argument "+e+" is not a valid Task object "+ne)})):U(e,q,"join(task): argument "+e+" is not a valid Task object "+ne)}return re(B,e)},put:ce,putResolve:function(){var e=ce.apply(void 0,arguments);return e.payload.resolve=!0,e},race:ue,retry:function(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return le.apply(void 0,[Ae,e,t,n].concat(o))},select:function(e){void 0===e&&(e=V);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return"production"!==process.env.NODE_ENV&&arguments.length&&(U(arguments[0],O,"select(selector, [...]): argument selector is undefined"),U(e,k,"select(selector, [...]): argument "+e+" is not a function")),re(J,{selector:e,args:n})},setContext:function(e){return"production"!==process.env.NODE_ENV&&U(e,C,function(e,t){return"setContext(props): argument "+t+" is not a plain object"}(0,e)),re(ee,e)},spawn:function(e){"production"!==process.env.NODE_ENV&&se("spawn",e);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return o=pe.apply(void 0,[e].concat(n)),"production"!==process.env.NODE_ENV&&U(o,oe,"detach(eff): argument must be a fork effect"),re(X,A({},o.payload,{detached:!0}));var o},take:ae,takeEvery:xe,takeLatest:Se,takeLeading:function e(t,n){"production"!==process.env.NODE_ENV&&ke(e,t,n);for(var r=arguments.length,o=new Array(r>2?r-2:0),a=2;a<r;a++)o[a-2]=arguments[a];return pe.apply(void 0,[we,t,n].concat(o))},takeMaybe:function(){var e=ae.apply(void 0,arguments);return e.payload.maybe=!0,e},throttle:Ce});function je(e,t){const n=`${t.namespace}${d}${e}`,r=n.replace(/\/@@[^/]+?$/,"");return(Array.isArray(t.reducers)?t.reducers[0][r]:t.reducers&&t.reducers[r])||t.effects&&t.effects[r]?n:e}function Te(){}function Le(e,t,n,r,o={}){return function*(){for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){const c=$e(a,e[a],t,n,r,o),u=yield pe(c);yield pe((function*(){yield ae(`${t.namespace}/@@CANCEL_EFFECTS`),yield de(u)}))}}}function $e(t,n,r,o,a,c){let s,i,f=n,l="takeEvery";if(Array.isArray(n)){[f]=n;const t=n[1];t&&t.type&&(({type:l}=t),"throttle"===l&&(e(t.ms,"app.start: opts.ms should be defined if type is throttle"),({ms:s}=t)),"poll"===l&&(e(t.delay,"app.start: opts.delay should be defined if type is poll"),({delay:i}=t))),e(["watcher","takeEvery","takeLatest","throttle","poll"].includes(l),"app.start: effect type should be takeEvery, takeLatest, throttle, poll or watcher")}function*p(...n){const{__dva_resolve:a=Te,__dva_reject:s=Te}=n.length>0?n[0]:{};try{yield ce({type:`${t}${d}@@start`});const o=yield f(...n.concat(function(t,n){function r(r,o){e(r,"dispatch: action should be a plain Object with type");const{namespacePrefixWarning:a=!0}=n;a&&u(0!==r.indexOf(`${t.namespace}${d}`),`[${o}] ${r} should not be prefixed with namespace ${t.namespace}`)}function o(e){const{type:n}=e;return r(n,"sagaEffects.put"),ce({...e,type:je(n,t)})}function a(e){const{type:n}=e;return r(n,"sagaEffects.put.resolve"),ce.resolve({...e,type:je(n,t)})}function c(e){return"string"==typeof e?(r(e,"sagaEffects.take"),ae(je(e,t))):Array.isArray(e)?ae(e.map((e=>"string"==typeof e?(r(e,"sagaEffects.take"),je(e,t)):e))):ae(e)}return o.resolve=a,{...qe,put:o,take:c}}(r,c)));yield ce({type:`${t}${d}@@end`}),a(o)}catch(e){o(e,{key:t,effectArgs:n}),e._doNotReject||s(e)}}const h=function(e,t,n,r){for(const o of e)t=o(t,qe,n,r);return t}(a,p,r,t);switch(l){case"watcher":return p;case"takeLatest":return function*(){yield Se(t,h)};case"throttle":return function*(){yield Ce(s,t,h)};case"poll":return function*(){function e(e){return new Promise((t=>setTimeout(t,e)))}function*n(t,n){const{call:r}=t;for(;;)yield r(h,n),yield r(e,i)}const{call:r,take:o,race:a}=qe;for(;;){const e=yield o(`${t}-start`);yield a([r(n,qe,e),o(`${t}-stop`)])}};default:return function*(){yield xe(t,h)}}}const De=["onError","onStateChange","onAction","onHmr","onReducer","onEffect","extraReducers","extraEnhancers","_handleActions"];class Pe{constructor(){this._handleActions=null,this.hooks=De.reduce(((e,t)=>(e[t]=[],e)),{})}use(t){e(o(t),"plugin.use: plugin should be plain object");const{hooks:n}=this;for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e(n[r],`plugin.use: unknown plugin property: ${r}`),"_handleActions"===r?this._handleActions=t[r]:"extraEnhancers"===r?n[r]=t[r]:n[r].push(t[r]))}apply(t,n){const{hooks:r}=this;e(["onError","onHmr"].includes(t),`plugin.apply: hook ${t} cannot be applied`);const o=r[t];return(...e)=>{if(o.length>0)for(const t of o)t(...e);else n&&n(...e)}}get(t){const{hooks:n}=this;return e(t in n,`plugin.get: hook ${t} cannot be got`),"extraReducers"===t?function(e){let t={};for(const n of e)t={...t,...n};return t}(n[t]):"onReducer"===t?(r=n[t],function(e){for(const t of r)e=t(e);return e}):n[t];var r}}function Re(e,t,n){return Object.keys(e).reduce(((r,o)=>{u(0!==o.indexOf(`${t}${d}`),`[prefixNamespace]: ${n} ${o} should not be prefixed with namespace ${t}`);return r[`${t}${d}${o}`]=e[o],r}),{})}function Ve(e){const{namespace:t,reducers:n,effects:r}=e;if(n)if(s(n)){const[r,...o]=n;e.reducers=[Re(r,t,"reducer"),...o]}else e.reducers=Re(n,t,"reducer");return r&&(e.effects=Re(r,t,"effect")),e}function Ue(t,n){return r=>{const{type:o}=r;return e(o,"dispatch: action should be a plain Object with type"),u(0!==o.indexOf(`${n.namespace}${d}`),`dispatch: ${o} should not be prefixed with namespace ${n.namespace}`),t({...r,type:je(o,n)})}}function Fe(e,t,n,r){const o=[],a=[];for(const c in e)if(Object.prototype.hasOwnProperty.call(e,c)){const u=(0,e[c])({dispatch:Ue(n._store.dispatch,t),history:n._history},r);i(u)?o.push(u):a.push(c)}return{funcs:o,nonFuncs:a}}function Me(e,t){if(!e[t])return;const{funcs:n,nonFuncs:r}=e[t];u(0===r.length,`[app.unModel] subscription should return unListener function, check these subscriptions ${r.join(", ")}`);for(const e of n)e();delete e[t]}const{noop:Ie,findIndex:He}=l,Ke={namespace:"@@dva",state:0,reducers:{UPDATE:e=>e+1}};function ze(r={},o={}){const{initialReducer:u,setupApp:i=Ie}=o,l=new Pe;l.use(function(e){return Object.keys(e).reduce(((t,n)=>(De.includes(n)&&(t[n]=e[n]),t)),{})}(r));const d={_models:[Ve({...Ke})],_store:null,_plugin:l,use:l.use.bind(l),model:y,start:function(){const p=(e,t)=>{e&&("string"==typeof e&&(e=new Error(e)),e.preventDefault=()=>{e._doNotReject=!0},l.apply("onError",(e=>{throw new Error(e.stack||e)}))(e,d._store.dispatch,t))},y=n(),b=h(d);d._getSaga=Le.bind(null);const _=[],w={...u};for(const e of d._models)w[e.namespace]=m(e.reducers,e.state,l._handleActions,e.namespace),e.effects&&_.push(d._getSaga(e.effects,e,p,l.get("onEffect"),r));const N=l.get("onReducer"),A=l.get("extraReducers");e(Object.keys(A).every((e=>!(e in w))),`[app.start] extraReducers is conflict with other reducers, reducers list: ${Object.keys(w).join(", ")}`),d._store=function({reducers:t,initialState:n,plugin:r,sagaMiddleware:o,promiseMiddleware:u,createOpts:{setupMiddleWares:i=f}}){const l=r.get("extraEnhancers");e(s(l),"[app.start] extraEnhancers should be array, but got "+typeof l);const p=r.get("onAction"),d=i([u,o,...a(p)]);return c({reducer:t,preloadedState:n,middleware:e=>[...e({serializableCheck:!1}),...d],enhancers:e=>[...e(),...l]})}({reducers:S(),initialState:r.initialState||{},plugin:l,createOpts:o,sagaMiddleware:y,promiseMiddleware:b});const O=d._store;O.runSaga=y.run,O.asyncReducers={};const k=l.get("onStateChange");for(const e of k)O.subscribe((()=>{e(O.getState())}));_.forEach((e=>{y.run(e)})),i(d);const x={};for(const e of this._models)e.subscriptions&&(x[e.namespace]=Fe(e.subscriptions,e,d,p));function S(){return N(t({...w,...A,...d._store?d._store.asyncReducers:{}}))}d.model=v.bind(d,S,p,x),d.unModel=g.bind(d,S,w,x),d.replaceModel=E.bind(d,S,w,x,p)}};return d;function y(e){"production"!==process.env.NODE_ENV&&p(e,d._models);const t=Ve({...e});return d._models.push(t),t}function v(e,t,n,o){o=y(o);const a=d._store;a.asyncReducers[o.namespace]=m(o.reducers,o.state,l._handleActions,o.namespace),a.replaceReducer(e()),o.effects&&a.runSaga(d._getSaga(o.effects,o,t,l.get("onEffect"),r)),o.subscriptions&&(n[o.namespace]=Fe(o.subscriptions,o,d,t))}function g(e,t,n,r){const o=d._store;delete o.asyncReducers[r],delete t[r],o.replaceReducer(e()),o.dispatch({type:"@@dva/UPDATE"}),o.dispatch({type:`${r}/@@CANCEL_EFFECTS`}),Me(n,r),d._models=d._models.filter((e=>e.namespace!==r))}function E(e,t,n,r,o){const a=d._store,{namespace:c}=o,u=He(d._models,(e=>e.namespace===c));~u&&(a.dispatch({type:`${c}/@@CANCEL_EFFECTS`}),delete a.asyncReducers[c],delete t[c],Me(n,c),d._models.splice(u,1)),d.model(o),a.dispatch({type:"@@dva/UPDATE"})}}export{ze as create,l as utils};
|
|
1
|
+
import e from"invariant";import{combineReducers as t}from"redux";import n from"redux-saga";import*as r from"redux-saga";export{r as saga};import{isPlainObject as o}from"is-plain-object";import a from"flatten";import{configureStore as c}from"@reduxjs/toolkit";import u from"warning";export{Provider,connect}from"react-redux";const s=Array.isArray.bind(Array),i=e=>"function"==typeof e,f=e=>e;var l=Object.freeze({__proto__:null,findIndex:(e,t)=>{for(let n=0,{length:r}=e;n<r;n+=1)if(t(e[n],n))return n;return-1},isArray:s,isFunction:i,isPlainObject:o,noop:()=>{},returnSelf:f});function p(t,n){const{namespace:r,reducers:a,effects:c,subscriptions:u}=t;e(r,"[app.model] namespace should be defined"),e("string"==typeof r,"[app.model] namespace should be string, but got "+typeof r),e(!n.some(e=>e.namespace===r),"[app.model] namespace should be unique"),a&&(e(o(a)||s(a),"[app.model] reducers should be plain object or array, but got "+typeof a),e(!s(a)||o(a[0])&&i(a[1]),"[app.model] reducers with array should be [Object, Function]")),c&&e(o(c),"[app.model] effects should be plain object, but got "+typeof c),u&&(e(o(u),"[app.model] subscriptions should be plain object, but got "+typeof u),e(function(e){return Object.keys(e).every(t=>i(e[t]))}(u),"[app.model] subscription should be function"))}const d="/";function h(e){return()=>t=>n=>{const{type:r}=n;return function(t){if(!t||"string"!=typeof t)return!1;const[n]=t.split(d),r=e._models.find(e=>e.namespace===n);if(r&&r.effects&&r.effects[t])return!0;return!1}(r)?new Promise((e,r)=>{t({__dva_resolve:e,__dva_reject:r,...n})}):t(n)}}function y(e){return e}function v(t,n,r){const o=Object.keys(t).map(n=>function(t,n=y,r){return(o,a)=>{const{type:c}=a;return e(c,"dispatch: action should be a plain Object with type"),t===c?n(o,a,r):o}}(n,t[n],r)),a=function(...e){return(t,n)=>e.reduce((e,t)=>t(e,n),t)}(...o);return(e=n,t)=>a(e,t,r)}function m(e,t,n,r){return Array.isArray(e)?e[1]((n||v)(e[0],t,r)):(n||v)(e||{},t,r)}var g=function(e){return"@@redux-saga/"+e},E=g("CANCEL_PROMISE"),b=g("IO"),_=g("MULTICAST"),w=g("SELF_CANCELLATION"),N=g("TASK");function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},A.apply(null,arguments)}var O=function(e){return null!=e},k=function(e){return"function"==typeof e},x=function(e){return"string"==typeof e},S=Array.isArray,C=function(e){return e&&!S(e)&&"object"==typeof e},q=function(e){return e&&e[N]},j=function(e){return e&&k(e.isEmpty)&&k(e.take)&&k(e.put)},T=function e(t){return t&&(x(t)||$(t)||k(t)||S(t)&&t.every(e))},L=function(e){return e&&k(e.take)&&k(e.close)},$=function(e){return Boolean(e)&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype},D=function(e){return e&&e[b]},P=2147483647;function R(e,t){if(void 0===t&&(t=!0),"production"!==process.env.NODE_ENV&&e>P)throw new Error("delay only supports a maximum value of "+P+"ms");var n,r=new Promise(function(r){n=setTimeout(r,Math.min(P,e),t)});return r[E]=function(){clearTimeout(n)},r}process.env.NODE_ENV;var V=function(e){return e};function U(e,t,n){if(!t(e))throw new Error(n)}var F=function(e){throw e},M=function(e){return{value:e,done:!0}};var I=function(e){return function(e,t){void 0===e&&(e=10);var n=new Array(e),r=0,o=0,a=0,c=function(t){n[o]=t,o=(o+1)%e,r++},u=function(){if(0!=r){var t=n[a];return n[a]=null,r--,a=(a+1)%e,t}},s=function(){for(var e=[];r;)e.push(u());return e};return{isEmpty:function(){return 0==r},put:function(u){var i;if(r<e)c(u);else switch(t){case 1:throw new Error("Channel's Buffer overflow!");case 3:n[o]=u,a=o=(o+1)%e;break;case 4:i=2*e,n=s(),r=n.length,o=n.length,a=0,n.length=i,e=i,c(u)}},take:u,flush:s}}(e,3)},H="TAKE",K="RACE",z="CALL",X="FORK",B="JOIN",G="CANCEL",J="SELECT",W="ACTION_CHANNEL",Q="CANCELLED",Y="FLUSH",Z="GET_CONTEXT",ee="SET_CONTEXT",te=Object.freeze({__proto__:null,TAKE:H,PUT:"PUT",ALL:"ALL",RACE:K,CALL:z,CPS:"CPS",FORK:X,JOIN:B,CANCEL:G,SELECT:J,ACTION_CHANNEL:W,CANCELLED:Q,FLUSH:Y,GET_CONTEXT:Z,SET_CONTEXT:ee}),ne="\n(HINT: if you are getting these errors in tests, consider using createMockTask from @redux-saga/testing-utils)",re=function(e,t){var n;return(n={})[b]=!0,n.combinator=!1,n.type=e,n.payload=t,n},oe=function(e){return D(e)&&e.type===X};function ae(e,t){if(void 0===e&&(e="*"),"production"!==process.env.NODE_ENV&&arguments.length&&U(arguments[0],O,"take(patternOrChannel): patternOrChannel is undefined"),T(e))return O(t)&&console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"),re(H,{pattern:e});if(L(n=e)&&n[_]&&O(t)&&T(t))return re(H,{channel:e,pattern:t});var n;if(L(e))return O(t)&&console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."),re(H,{channel:e});if("production"!==process.env.NODE_ENV)throw new Error("take(patternOrChannel): argument "+e+" is not valid channel or a valid pattern")}function ce(e,t){return"production"!==process.env.NODE_ENV&&(arguments.length>1?(U(e,O,"put(channel, action): argument channel is undefined"),U(e,L,"put(channel, action): argument "+e+" is not a valid channel"),U(t,O,"put(channel, action): argument action is undefined")):U(e,O,"put(action): argument action is undefined")),null==t&&(t=e,e=void 0),re("PUT",{channel:e,action:t})}function ue(e){var t=re(K,e);return t.combinator=!0,t}var se=function(e,t){if(U(t,O,e+": argument fn is undefined or null"),!k(t)){var n,r=null;if(S(t))r=t[0],U(n=t[1],O,e+": argument of type [context, fn] has undefined or null `fn`");else{if(!C(t))return void U(t,k,e+": argument fn is not function");r=t.context,U(n=t.fn,O,e+": argument of type {context, fn} has undefined or null `fn`")}r&&x(n)?U(r[n],k,e+': context arguments has no such method - "'+n+'"'):U(n,k,e+": unpacked fn argument (from [context, fn] or {context, fn}) is not a function")}};function ie(e,t){var n,r=null;return k(e)?n=e:(S(e)?(r=e[0],n=e[1]):(r=e.context,n=e.fn),r&&x(n)&&k(r[n])&&(n=r[n])),{context:r,fn:n,args:t}}var fe=function(e){return e!==ye};function le(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if("production"!==process.env.NODE_ENV){var o="number"==typeof n[0]?n[0]:"ms";U(e,fe,"instead of writing `yield call(delay, "+o+")` where delay is an effect from `redux-saga/effects` you should write `yield delay("+o+")`"),se("call",e)}return re(z,ie(e,n))}function pe(e){"production"!==process.env.NODE_ENV&&(se("fork",e),U(e,function(e){return!D(e)},"fork: argument must not be an effect"));for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return re(X,ie(e,n))}function de(e){if(void 0===e&&(e=w),"production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("cancel(...tasks) is not supported any more. Please use cancel([...tasks]) to cancel multiple tasks.");S(e)?e.forEach(function(e){U(e,q,"cancel([...tasks]): argument "+e+" is not a valid Task object "+ne)}):e!==w&&O(e)&&U(e,q,"cancel(task): argument "+e+" is not a valid Task object "+ne)}return re(G,e)}function he(e,t){return"production"!==process.env.NODE_ENV&&(U(e,T,"actionChannel(pattern,...): argument pattern is not valid"),arguments.length>1&&(U(t,O,"actionChannel(pattern, buffer): argument buffer is undefined"),U(t,j,"actionChannel(pattern, buffer): argument "+t+" is not a valid buffer"))),re(W,{pattern:e,buffer:t})}var ye=le.bind(null,R),ve=function(e){return{done:!0,value:e}},me={};function ge(e){return L(e)?"channel":k(t=e)&&t.hasOwnProperty("toString")?String(e):k(e)?e.name:String(e);var t}function Ee(e,t,n){var r,o,a,c=t;function u(t,n){if(c===me)return ve(t);if(n&&!o)throw c=me,n;r&&r(t);var u=n?e[o](n):e[c]();return c=u.nextState,a=u.effect,r=u.stateUpdater,o=u.errorState,c===me?ve(t):a}return function(e,t,n){void 0===t&&(t=F),void 0===n&&(n="iterator");var r={meta:{name:n},next:e,throw:t,return:M,isSagaIterator:!0};return"undefined"!=typeof Symbol&&(r[Symbol.iterator]=function(){return r}),r}(u,function(e){return u(null,e)},n)}function be(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:ae(e)},u=function(e){return a=e};return Ee({q1:function(){return{nextState:"q2",effect:c,stateUpdater:u}},q2:function(){return{nextState:"q1",effect:(e=a,{done:!1,value:pe.apply(void 0,[t].concat(r,[e]))})};var e}},"q1","takeEvery("+ge(e)+", "+t.name+")")}function _e(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c,u={done:!1,value:ae(e)},s=function(e){return{done:!1,value:pe.apply(void 0,[t].concat(r,[e]))}},i=function(e){return{done:!1,value:de(e)}},f=function(e){return a=e},l=function(e){return c=e};return Ee({q1:function(){return{nextState:"q2",effect:u,stateUpdater:l}},q2:function(){return a?{nextState:"q3",effect:i(a)}:{nextState:"q1",effect:s(c),stateUpdater:f}},q3:function(){return{nextState:"q1",effect:s(c),stateUpdater:f}}},"q1","takeLatest("+ge(e)+", "+t.name+")")}function we(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];var a,c={done:!1,value:ae(e)},u=function(e){return a=e};return Ee({q1:function(){return{nextState:"q2",effect:c,stateUpdater:u}},q2:function(){return{nextState:"q1",effect:(e=a,{done:!1,value:le.apply(void 0,[t].concat(r,[e]))})};var e}},"q1","takeLeading("+ge(e)+", "+t.name+")")}function Ne(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,u,s={done:!1,value:ye(e)},i=function(e){return c=e},f=function(e){return u=e},l=!L(t);return l||f(t),Ee({q1:function(){return{nextState:"q2",effect:{done:!1,value:he(t,I(1))},stateUpdater:f}},q2:function(){return{nextState:"q3",effect:{done:!1,value:ae(u)},stateUpdater:i}},q3:function(){return{nextState:"q4",effect:(e=c,{done:!1,value:pe.apply(void 0,[n].concat(o,[e]))})};var e},q4:function(){return{nextState:"q2",effect:s}}},l?"q1":"q2","throttle("+ge(t)+", "+n.name+")")}function Ae(e,t,n){for(var r=e,o=arguments.length,a=new Array(o>3?o-3:0),c=3;c<o;c++)a[c-3]=arguments[c];var u={done:!1,value:le.apply(void 0,[n].concat(a))},s={done:!1,value:ye(t)};return Ee({q1:function(){return{nextState:"q2",effect:u,errorState:"q10"}},q2:function(){return{nextState:me}},q10:function(e){if((r-=1)<=0)throw e;return{nextState:"q1",effect:s}}},"q1","retry("+n.name+")")}function Oe(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];var c,u,s={done:!1,value:ae(t)},i={done:!1,value:ue({action:ae(t),debounce:ye(e)})},f=function(e){return c=e},l=function(e){return u=e};return Ee({q1:function(){return{nextState:"q2",effect:s,stateUpdater:f}},q2:function(){return{nextState:"q3",effect:i,stateUpdater:l}},q3:function(){return u.debounce?{nextState:"q1",effect:(t=c,{done:!1,value:pe.apply(void 0,[n].concat(o,[t]))})}:{nextState:"q2",effect:(e=u.action,{done:!1,value:e}),stateUpdater:f};var e,t}},"q1","debounce("+ge(t)+", "+n.name+")")}var ke=function(e,t,n){U(t,O,e.name+" requires a pattern or channel"),U(n,O,e.name+" requires a saga parameter")};function xe(e,t){"production"!==process.env.NODE_ENV&&ke(xe,e,t);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return pe.apply(void 0,[be,e,t].concat(r))}function Se(e,t){"production"!==process.env.NODE_ENV&&ke(Se,e,t);for(var n=arguments.length,r=new Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return pe.apply(void 0,[_e,e,t].concat(r))}function Ce(e,t,n){"production"!==process.env.NODE_ENV&&(U(t,O,"throttle requires a pattern or channel"),U(n,O,"throttle requires a saga parameter"));for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return pe.apply(void 0,[Ne,e,t,n].concat(o))}var qe=Object.freeze({__proto__:null,actionChannel:he,all:function(e){var t=re("ALL",e);return t.combinator=!0,t},apply:function(e,t,n){void 0===n&&(n=[]);var r=[e,t];return"production"!==process.env.NODE_ENV&&se("apply",r),re(z,ie([e,t],n))},call:le,cancel:de,cancelled:function(){return re(Q,{})},cps:function(e){"production"!==process.env.NODE_ENV&&se("cps",e);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return re("CPS",ie(e,n))},debounce:function(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return pe.apply(void 0,[Oe,e,t,n].concat(o))},delay:ye,effectTypes:te,flush:function(e){return"production"!==process.env.NODE_ENV&&U(e,L,"flush(channel): argument "+e+" is not valid channel"),re(Y,e)},fork:pe,getContext:function(e){return"production"!==process.env.NODE_ENV&&U(e,x,"getContext(prop): argument "+e+" is not a string"),re(Z,e)},join:function(e){if("production"!==process.env.NODE_ENV){if(arguments.length>1)throw new Error("join(...tasks) is not supported any more. Please use join([...tasks]) to join multiple tasks.");S(e)?e.forEach(function(e){U(e,q,"join([...tasks]): argument "+e+" is not a valid Task object "+ne)}):U(e,q,"join(task): argument "+e+" is not a valid Task object "+ne)}return re(B,e)},put:ce,putResolve:function(){var e=ce.apply(void 0,arguments);return e.payload.resolve=!0,e},race:ue,retry:function(e,t,n){for(var r=arguments.length,o=new Array(r>3?r-3:0),a=3;a<r;a++)o[a-3]=arguments[a];return le.apply(void 0,[Ae,e,t,n].concat(o))},select:function(e){void 0===e&&(e=V);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return"production"!==process.env.NODE_ENV&&arguments.length&&(U(arguments[0],O,"select(selector, [...]): argument selector is undefined"),U(e,k,"select(selector, [...]): argument "+e+" is not a function")),re(J,{selector:e,args:n})},setContext:function(e){return"production"!==process.env.NODE_ENV&&U(e,C,function(e,t){return"setContext(props): argument "+t+" is not a plain object"}(0,e)),re(ee,e)},spawn:function(e){"production"!==process.env.NODE_ENV&&se("spawn",e);for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return o=pe.apply(void 0,[e].concat(n)),"production"!==process.env.NODE_ENV&&U(o,oe,"detach(eff): argument must be a fork effect"),re(X,A({},o.payload,{detached:!0}));var o},take:ae,takeEvery:xe,takeLatest:Se,takeLeading:function e(t,n){"production"!==process.env.NODE_ENV&&ke(e,t,n);for(var r=arguments.length,o=new Array(r>2?r-2:0),a=2;a<r;a++)o[a-2]=arguments[a];return pe.apply(void 0,[we,t,n].concat(o))},takeMaybe:function(){var e=ae.apply(void 0,arguments);return e.payload.maybe=!0,e},throttle:Ce});function je(e,t){const n=`${t.namespace}${d}${e}`,r=n.replace(/\/@@[^/]+?$/,"");return(Array.isArray(t.reducers)?t.reducers[0][r]:t.reducers&&t.reducers[r])||t.effects&&t.effects[r]?n:e}function Te(){}function Le(e,t,n,r,o={}){return function*(){for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)){const c=$e(a,e[a],t,n,r,o),u=yield pe(c);yield pe(function*(){yield ae(`${t.namespace}/@@CANCEL_EFFECTS`),yield de(u)})}}}function $e(t,n,r,o,a,c){let s,i,f=n,l="takeEvery";if(Array.isArray(n)){[f]=n;const t=n[1];t&&t.type&&(({type:l}=t),"throttle"===l&&(e(t.ms,"app.start: opts.ms should be defined if type is throttle"),({ms:s}=t)),"poll"===l&&(e(t.delay,"app.start: opts.delay should be defined if type is poll"),({delay:i}=t))),e(["watcher","takeEvery","takeLatest","throttle","poll"].includes(l),"app.start: effect type should be takeEvery, takeLatest, throttle, poll or watcher")}function*p(...n){const{__dva_resolve:a=Te,__dva_reject:s=Te}=n.length>0?n[0]:{};try{yield ce({type:`${t}${d}@@start`});const o=yield f(...n.concat(function(t,n){function r(r,o){e(r,"dispatch: action should be a plain Object with type");const{namespacePrefixWarning:a=!0}=n;a&&u(0!==r.indexOf(`${t.namespace}${d}`),`[${o}] ${r} should not be prefixed with namespace ${t.namespace}`)}function o(e){const{type:n}=e;return r(n,"sagaEffects.put"),ce({...e,type:je(n,t)})}function a(e){const{type:n}=e;return r(n,"sagaEffects.put.resolve"),ce.resolve({...e,type:je(n,t)})}function c(e){return"string"==typeof e?(r(e,"sagaEffects.take"),ae(je(e,t))):Array.isArray(e)?ae(e.map(e=>"string"==typeof e?(r(e,"sagaEffects.take"),je(e,t)):e)):ae(e)}return o.resolve=a,{...qe,put:o,take:c}}(r,c)));yield ce({type:`${t}${d}@@end`}),a(o)}catch(e){o(e,{key:t,effectArgs:n}),e._doNotReject||s(e)}}const h=function(e,t,n,r){for(const o of e)t=o(t,qe,n,r);return t}(a,p,r,t);switch(l){case"watcher":return p;case"takeLatest":return function*(){yield Se(t,h)};case"throttle":return function*(){yield Ce(s,t,h)};case"poll":return function*(){function e(e){return new Promise(t=>setTimeout(t,e))}function*n(t,n){const{call:r}=t;for(;;)yield r(h,n),yield r(e,i)}const{call:r,take:o,race:a}=qe;for(;;){const e=yield o(`${t}-start`);yield a([r(n,qe,e),o(`${t}-stop`)])}};default:return function*(){yield xe(t,h)}}}const De=["onError","onStateChange","onAction","onHmr","onReducer","onEffect","extraReducers","extraEnhancers","_handleActions"];class Pe{constructor(){this._handleActions=null,this.hooks=De.reduce((e,t)=>(e[t]=[],e),{})}use(t){e(o(t),"plugin.use: plugin should be plain object");const{hooks:n}=this;for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e(n[r],`plugin.use: unknown plugin property: ${r}`),"_handleActions"===r?this._handleActions=t[r]:"extraEnhancers"===r?n[r]=t[r]:n[r].push(t[r]))}apply(t,n){const{hooks:r}=this;e(["onError","onHmr"].includes(t),`plugin.apply: hook ${t} cannot be applied`);const o=r[t];return(...e)=>{if(o.length>0)for(const t of o)t(...e);else n&&n(...e)}}get(t){const{hooks:n}=this;return e(t in n,`plugin.get: hook ${t} cannot be got`),"extraReducers"===t?function(e){let t={};for(const n of e)t={...t,...n};return t}(n[t]):"onReducer"===t?(r=n[t],function(e){for(const t of r)e=t(e);return e}):n[t];var r}}function Re(e,t,n){return Object.keys(e).reduce((r,o)=>{u(0!==o.indexOf(`${t}${d}`),`[prefixNamespace]: ${n} ${o} should not be prefixed with namespace ${t}`);return r[`${t}${d}${o}`]=e[o],r},{})}function Ve(e){const{namespace:t,reducers:n,effects:r}=e;if(n)if(s(n)){const[r,...o]=n;e.reducers=[Re(r,t,"reducer"),...o]}else e.reducers=Re(n,t,"reducer");return r&&(e.effects=Re(r,t,"effect")),e}function Ue(t,n){return r=>{const{type:o}=r;return e(o,"dispatch: action should be a plain Object with type"),u(0!==o.indexOf(`${n.namespace}${d}`),`dispatch: ${o} should not be prefixed with namespace ${n.namespace}`),t({...r,type:je(o,n)})}}function Fe(e,t,n,r){const o=[],a=[];for(const c in e)if(Object.prototype.hasOwnProperty.call(e,c)){const u=(0,e[c])({dispatch:Ue(n._store.dispatch,t),history:n._history},r);i(u)?o.push(u):a.push(c)}return{funcs:o,nonFuncs:a}}function Me(e,t){if(!e[t])return;const{funcs:n,nonFuncs:r}=e[t];u(0===r.length,`[app.unModel] subscription should return unListener function, check these subscriptions ${r.join(", ")}`);for(const e of n)e();delete e[t]}const{noop:Ie,findIndex:He}=l,Ke={namespace:"@@dva",state:0,reducers:{UPDATE:e=>e+1}};function ze(r={},o={}){const{initialReducer:u,setupApp:i=Ie}=o,l=new Pe;l.use(function(e){return Object.keys(e).reduce((t,n)=>(De.includes(n)&&(t[n]=e[n]),t),{})}(r));const d={_models:[Ve({...Ke})],_store:null,_plugin:l,use:l.use.bind(l),model:y,start:function(){const p=(e,t)=>{e&&("string"==typeof e&&(e=new Error(e)),e.preventDefault=()=>{e._doNotReject=!0},l.apply("onError",e=>{throw new Error(e.stack||e)})(e,d._store.dispatch,t))},y=n(),b=h(d);d._getSaga=Le.bind(null);const _=[],w={...u};for(const e of d._models)w[e.namespace]=m(e.reducers,e.state,l._handleActions,e.namespace),e.effects&&_.push(d._getSaga(e.effects,e,p,l.get("onEffect"),r));const N=l.get("onReducer"),A=l.get("extraReducers");e(Object.keys(A).every(e=>!(e in w)),`[app.start] extraReducers is conflict with other reducers, reducers list: ${Object.keys(w).join(", ")}`),d._store=function({reducers:t,initialState:n,plugin:r,sagaMiddleware:o,promiseMiddleware:u,createOpts:{setupMiddleWares:i=f}}){const l=r.get("extraEnhancers");e(s(l),"[app.start] extraEnhancers should be array, but got "+typeof l);const p=r.get("onAction"),d=i([u,o,...a(p)]);return c({reducer:t,preloadedState:n,middleware:e=>[...e({serializableCheck:!1}),...d],enhancers:e=>[...e(),...l]})}({reducers:S(),initialState:r.initialState||{},plugin:l,createOpts:o,sagaMiddleware:y,promiseMiddleware:b});const O=d._store;O.runSaga=y.run,O.asyncReducers={};const k=l.get("onStateChange");for(const e of k)O.subscribe(()=>{e(O.getState())});_.forEach(e=>{y.run(e)}),i(d);const x={};for(const e of this._models)e.subscriptions&&(x[e.namespace]=Fe(e.subscriptions,e,d,p));function S(){return N(t({...w,...A,...d._store?d._store.asyncReducers:{}}))}d.model=v.bind(d,S,p,x),d.unModel=g.bind(d,S,w,x),d.replaceModel=E.bind(d,S,w,x,p)}};return d;function y(e){"production"!==process.env.NODE_ENV&&p(e,d._models);const t=Ve({...e});return d._models.push(t),t}function v(e,t,n,o){o=y(o);const a=d._store;a.asyncReducers[o.namespace]=m(o.reducers,o.state,l._handleActions,o.namespace),a.replaceReducer(e()),o.effects&&a.runSaga(d._getSaga(o.effects,o,t,l.get("onEffect"),r)),o.subscriptions&&(n[o.namespace]=Fe(o.subscriptions,o,d,t))}function g(e,t,n,r){const o=d._store;delete o.asyncReducers[r],delete t[r],o.replaceReducer(e()),o.dispatch({type:"@@dva/UPDATE"}),o.dispatch({type:`${r}/@@CANCEL_EFFECTS`}),Me(n,r),d._models=d._models.filter(e=>e.namespace!==r)}function E(e,t,n,r,o){const a=d._store,{namespace:c}=o,u=He(d._models,e=>e.namespace===c);~u&&(a.dispatch({type:`${c}/@@CANCEL_EFFECTS`}),delete a.asyncReducers[c],delete t[c],Me(n,c),d._models.splice(u,1)),d.model(o),a.dispatch({type:"@@dva/UPDATE"})}}export{ze as create,l as utils};
|
package/es/dva-loading/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="@@DVA_LOADING/SHOW",t="@@DVA_LOADING/HIDE";function n(n={}){const s=n.namespace||"loading",{only:c=[],except:o=[]}=n;if(c.length>0&&o.length>0)throw new Error("It is ambiguous to configure `only` and `except` items at the same time.");const a={global:!1,models:{},effects:{}};return{extraReducers:{[s](n=a,{type:s,payload:c}){const{namespace:o,actionType:l}=c||{};let i;switch(s){case e:i={...n,global:!0,models:{...n.models,[o]:!0},effects:{...n.effects,[l]:!0}};break;case t:{const e={...n.effects,[l]:!1},t={...n.models,[o]:Object.keys(e).some(
|
|
1
|
+
const e="@@DVA_LOADING/SHOW",t="@@DVA_LOADING/HIDE";function n(n={}){const s=n.namespace||"loading",{only:c=[],except:o=[]}=n;if(c.length>0&&o.length>0)throw new Error("It is ambiguous to configure `only` and `except` items at the same time.");const a={global:!1,models:{},effects:{}};return{extraReducers:{[s](n=a,{type:s,payload:c}){const{namespace:o,actionType:l}=c||{};let i;switch(s){case e:i={...n,global:!0,models:{...n.models,[o]:!0},effects:{...n.effects,[l]:!0}};break;case t:{const e={...n.effects,[l]:!1},t={...n.models,[o]:Object.keys(e).some(t=>t.split("/")[0]===o&&e[t])},s=Object.keys(t).some(e=>t[e]);i={...n,global:s,models:t,effects:e};break}default:i=n}return i}},onEffect:function(n,{put:s},a,l){const{namespace:i}=a;return 0===c.length&&0===o.length||c.length>0&&c.includes(l)||o.length>0&&!o.includes(l)?function*(...c){yield s({type:e,payload:{namespace:i,actionType:l}}),yield n(...c),yield s({type:t,payload:{namespace:i,actionType:l}})}:n}}}async function s(){return{}}export{n as createLoading,s as empty};
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import t from"react";import{logDevelop as i,isObject as e,promptTextBuilder as a,checkObjectIsNullOrEmpty as n,getModelCollection as o,isArray as l,tryDoDvaPrepareWork as r,logException as p,getModelNameList as c,checkInCollection as s,logDebug as m,buildPromptModuleInfo as d,mergeTextMessage as u}from"easy-soft-utility";import{create as f}from"./dva-core/index.js";import{createLoading as w}from"./dva-loading/index.js";import{Provider as h}from"react-redux";export{Provider,connect}from"react-redux";import"invariant";import"redux";import"redux-saga";import"is-plain-object";import"flatten";import"@reduxjs/toolkit";import"warning";function b(t,i=""){return d("easy-soft-dva",u(t,i),y)}const y="dvaAssist",C={application:null,initialOption:{initialState:{},models:[]},initialOptionSetComplete:!1,applicationInitializeComplete:!1};function x(t={}){if(C.initialOptionSetComplete)return void i(b("setApplicationInitialOption"),"reset is not allowed, it can be set only once");if(!e(t))throw new Error(b("setApplicationInitialOption",a.buildMustObject({})));const r=t||{};n(r)?i("application initial option","empty"):i(r,"application initial option"),r.models=l(r.models)?[...r.models,...o()]:o(),C.initialOption=r,C.initialOptionSetComplete=!0}function O(){if(!C.initialOptionSetComplete)throw new Error(b("initializeApplication","please exec setApplicationInitialOption to set application initial option"));if(null!=C.application&&C.applicationInitializeComplete)return;r(),C.application=f(C.initialOption),C.application.use(w({}));const{models:t=[]}={models:[],...C.initialOption};for(const i of t)C.application.model(i);C.application.start(),i(b("initializeApplication","dva app start complete")),C.application.getStore=()=>C.application._store,C.application.use({onError(t){p(t)}}),C.application.dispatch=C.application._store.dispatch,C.applicationInitializeComplete=!0}function g(){if(!C.applicationInitializeComplete)throw new Error(b("getStore","please exec initializeApplication to start application before get store"))}function E(){return g(),C.application}function S(){return g(),C.application._store}function k(){return g(),C.application.dispatch}function v({type:t,payload:i={},alias:e="data",pretreatmentSuccessCallback:a=null,pretreatmentFailCallback:o=null}){if(n(t))throw new Error(b("dispatch","parameter type must be string and not allow empty"));const l=t.split("/");if(2!=l.length)throw new Error(b("dispatch",'parameter type must be like "modelName/effect"'));const r=l[0],p=c();if(!s(p.split(","),r))throw new Error(b("dispatch",`model ${r} do not exist, current models is "${p}"`));const d=k();return m(`model access: ${t}`),d({type:t,payload:i,alias:e,pretreatmentSuccessCallback:a||null,pretreatmentFailCallback:o||null})}function z({model:t,effect:i,payload:e={},alias:a="data",pretreatmentSuccessCallback:o=null,pretreatmentFailCallback:l=null}){if(n(t))throw new Error(b("dispatch","parameter model must be string and not allow empty"));if(n(i))throw new Error(b("dispatch","parameter effect must be string and not allow empty"));return v({type:`${t}/${i}`,payload:e,alias:a,pretreatmentSuccessCallback:o||null,pretreatmentFailCallback:l||null})}function A(){return E()._models}function I(t){const i=A(),e=i.filter(
|
|
1
|
+
import t from"react";import{logDevelop as i,isObject as e,promptTextBuilder as a,checkObjectIsNullOrEmpty as n,getModelCollection as o,isArray as l,tryDoDvaPrepareWork as r,logException as p,getModelNameList as c,checkInCollection as s,logDebug as m,buildPromptModuleInfo as d,mergeTextMessage as u}from"easy-soft-utility";import{create as f}from"./dva-core/index.js";import{createLoading as w}from"./dva-loading/index.js";import{Provider as h}from"react-redux";export{Provider,connect}from"react-redux";import"invariant";import"redux";import"redux-saga";import"is-plain-object";import"flatten";import"@reduxjs/toolkit";import"warning";function b(t,i=""){return d("easy-soft-dva",u(t,i),y)}const y="dvaAssist",C={application:null,initialOption:{initialState:{},models:[]},initialOptionSetComplete:!1,applicationInitializeComplete:!1};function x(t={}){if(C.initialOptionSetComplete)return void i(b("setApplicationInitialOption"),"reset is not allowed, it can be set only once");if(!e(t))throw new Error(b("setApplicationInitialOption",a.buildMustObject({})));const r=t||{};n(r)?i("application initial option","empty"):i(r,"application initial option"),r.models=l(r.models)?[...r.models,...o()]:o(),C.initialOption=r,C.initialOptionSetComplete=!0}function O(){if(!C.initialOptionSetComplete)throw new Error(b("initializeApplication","please exec setApplicationInitialOption to set application initial option"));if(null!=C.application&&C.applicationInitializeComplete)return;r(),C.application=f(C.initialOption),C.application.use(w({}));const{models:t=[]}={models:[],...C.initialOption};for(const i of t)C.application.model(i);C.application.start(),i(b("initializeApplication","dva app start complete")),C.application.getStore=()=>C.application._store,C.application.use({onError(t){p(t)}}),C.application.dispatch=C.application._store.dispatch,C.applicationInitializeComplete=!0}function g(){if(!C.applicationInitializeComplete)throw new Error(b("getStore","please exec initializeApplication to start application before get store"))}function E(){return g(),C.application}function S(){return g(),C.application._store}function k(){return g(),C.application.dispatch}function v({type:t,payload:i={},alias:e="data",pretreatmentSuccessCallback:a=null,pretreatmentFailCallback:o=null}){if(n(t))throw new Error(b("dispatch","parameter type must be string and not allow empty"));const l=t.split("/");if(2!=l.length)throw new Error(b("dispatch",'parameter type must be like "modelName/effect"'));const r=l[0],p=c();if(!s(p.split(","),r))throw new Error(b("dispatch",`model ${r} do not exist, current models is "${p}"`));const d=k();return m(`model access: ${t}`),d({type:t,payload:i,alias:e,pretreatmentSuccessCallback:a||null,pretreatmentFailCallback:o||null})}function z({model:t,effect:i,payload:e={},alias:a="data",pretreatmentSuccessCallback:o=null,pretreatmentFailCallback:l=null}){if(n(t))throw new Error(b("dispatch","parameter model must be string and not allow empty"));if(n(i))throw new Error(b("dispatch","parameter effect must be string and not allow empty"));return v({type:`${t}/${i}`,payload:e,alias:a,pretreatmentSuccessCallback:o||null,pretreatmentFailCallback:l||null})}function A(){return E()._models}function I(t){const i=A(),e=i.filter(i=>i.namespace===t);if(e.length>0)return e[0];throw new Error(`${t} not in dva models, current models is ${i.map(t=>t.namespace).join(",")}`)}function $(t){return I(t).state}function j(t){const{data:i}={data:{},...$(t)};return i||{}}const F=i=>t.createElement(h,{store:S()},i.children);export{F as ApplicationProvider,C as applicationAssist,v as dispatch,z as dispatchModel,A as getAllModel,k as getDispatch,E as getDvaApplication,I as getModel,j as getModelRemoteData,$ as getModelState,S as getStore,O as initializeApplication,x as setApplicationInitialOption};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "easy-soft-dva",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.90",
|
|
4
4
|
"description": "The core lightweight library for dva, based on redux and redux-saga.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"z:tsc:build": "echo show tsc version and create declaration file && tsc -v && tsc -p ./tsconfig.types.json && echo declaration file generate complete"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@babel/runtime": "^7.
|
|
50
|
+
"@babel/runtime": "^7.28.2",
|
|
51
51
|
"@reduxjs/toolkit": "^2.8.2",
|
|
52
52
|
"easy-soft-utility": "workspace:*",
|
|
53
53
|
"flatten": "^1.0.3",
|
|
@@ -62,24 +62,24 @@
|
|
|
62
62
|
"warning": "^4.0.3"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@babel/core": "^7.
|
|
66
|
-
"@babel/eslint-parser": "^7.
|
|
65
|
+
"@babel/core": "^7.28.0",
|
|
66
|
+
"@babel/eslint-parser": "^7.28.0",
|
|
67
67
|
"@babel/plugin-external-helpers": "^7.27.1",
|
|
68
|
-
"@babel/plugin-proposal-decorators": "^7.
|
|
68
|
+
"@babel/plugin-proposal-decorators": "^7.28.0",
|
|
69
69
|
"@babel/plugin-transform-class-properties": "^7.27.1",
|
|
70
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
71
|
-
"@babel/preset-env": "^7.
|
|
70
|
+
"@babel/plugin-transform-runtime": "^7.28.0",
|
|
71
|
+
"@babel/preset-env": "^7.28.0",
|
|
72
72
|
"@babel/preset-react": "^7.27.1",
|
|
73
|
-
"@babel/runtime": "^7.
|
|
74
|
-
"@changesets/cli": "^2.29.
|
|
73
|
+
"@babel/runtime": "^7.28.2",
|
|
74
|
+
"@changesets/cli": "^2.29.5",
|
|
75
75
|
"@commitlint/cli": "^19.8.1",
|
|
76
76
|
"@commitlint/config-conventional": "^19.8.1",
|
|
77
77
|
"@commitlint/config-pnpm-scopes": "^19.8.1",
|
|
78
|
-
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.
|
|
78
|
+
"@pmmmwh/react-refresh-webpack-plugin": "^0.6.1",
|
|
79
79
|
"@rollup/plugin-alias": "^5.1.1",
|
|
80
80
|
"@rollup/plugin-babel": "6.0.4",
|
|
81
81
|
"@rollup/plugin-buble": "^1.0.3",
|
|
82
|
-
"@rollup/plugin-commonjs": "^28.0.
|
|
82
|
+
"@rollup/plugin-commonjs": "^28.0.6",
|
|
83
83
|
"@rollup/plugin-json": "^6.1.0",
|
|
84
84
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
85
85
|
"@rollup/plugin-replace": "^6.0.2",
|
|
@@ -87,57 +87,57 @@
|
|
|
87
87
|
"@rollup/plugin-url": "^8.0.2",
|
|
88
88
|
"@svgr/rollup": "^8.1.0",
|
|
89
89
|
"@types/fs-extra": "^11.0.4",
|
|
90
|
-
"@types/jest": "^
|
|
91
|
-
"@types/node": "^24.
|
|
90
|
+
"@types/jest": "^30.0.0",
|
|
91
|
+
"@types/node": "^24.1.0",
|
|
92
92
|
"@types/react": "^18.3.1",
|
|
93
93
|
"@types/react-dom": "^18.3.1",
|
|
94
|
-
"@types/shelljs": "^0.8.
|
|
95
|
-
"@typescript-eslint/parser": "^8.
|
|
94
|
+
"@types/shelljs": "^0.8.17",
|
|
95
|
+
"@typescript-eslint/parser": "^8.38.0",
|
|
96
96
|
"autoprefixer": "^10.4.21",
|
|
97
|
-
"babel-jest": "^30.0.
|
|
97
|
+
"babel-jest": "^30.0.5",
|
|
98
98
|
"commitizen": "^4.3.1",
|
|
99
|
-
"conventional-changelog-conventionalcommits": "^9.
|
|
99
|
+
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
100
100
|
"cross-env": "^7.0.3",
|
|
101
|
-
"cssnano": "^7.0
|
|
102
|
-
"cz-git": "^1.
|
|
101
|
+
"cssnano": "^7.1.0",
|
|
102
|
+
"cz-git": "^1.12.0",
|
|
103
103
|
"docdash": "^2.0.2",
|
|
104
|
-
"easy-soft-develop": "^2.1.
|
|
104
|
+
"easy-soft-develop": "^2.1.293",
|
|
105
105
|
"eslint": "^8.57.0",
|
|
106
106
|
"eslint-config-airbnb": "^19.0.4",
|
|
107
107
|
"eslint-config-airbnb-typescript": "^18.0.0",
|
|
108
|
-
"eslint-config-prettier": "^10.1.
|
|
108
|
+
"eslint-config-prettier": "^10.1.8",
|
|
109
109
|
"eslint-formatter-pretty": "^6.0.1",
|
|
110
|
-
"eslint-import-resolver-typescript": "^4.4.
|
|
110
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
111
111
|
"eslint-plugin-eslint-comments": "^3.2.0",
|
|
112
|
-
"eslint-plugin-import": "^2.
|
|
113
|
-
"eslint-plugin-jest": "^
|
|
112
|
+
"eslint-plugin-import": "^2.32.0",
|
|
113
|
+
"eslint-plugin-jest": "^29.0.1",
|
|
114
114
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
115
|
-
"eslint-plugin-prettier": "^5.
|
|
115
|
+
"eslint-plugin-prettier": "^5.5.3",
|
|
116
116
|
"eslint-plugin-promise": "^7.2.1",
|
|
117
117
|
"eslint-plugin-react": "^7.37.5",
|
|
118
118
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
119
119
|
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
120
120
|
"eslint-plugin-unicorn": "^52.0.0",
|
|
121
121
|
"husky": "^9.1.7",
|
|
122
|
-
"jest": "^30.0.
|
|
122
|
+
"jest": "^30.0.5",
|
|
123
123
|
"jsdoc": "^4.0.4",
|
|
124
|
-
"lint-staged": "^16.1.
|
|
124
|
+
"lint-staged": "^16.1.2",
|
|
125
125
|
"mm": "^4.0.2",
|
|
126
|
-
"npm-check-updates": "^18.0.
|
|
127
|
-
"prettier": "^3.
|
|
128
|
-
"prettier-plugin-organize-imports": "^4.
|
|
129
|
-
"prettier-plugin-packagejson": "^2.5.
|
|
126
|
+
"npm-check-updates": "^18.0.2",
|
|
127
|
+
"prettier": "^3.6.2",
|
|
128
|
+
"prettier-plugin-organize-imports": "^4.2.0",
|
|
129
|
+
"prettier-plugin-packagejson": "^2.5.19",
|
|
130
130
|
"react-refresh": "^0.17.0",
|
|
131
131
|
"rimraf": "^6.0.1",
|
|
132
|
-
"rollup": "^4.
|
|
132
|
+
"rollup": "^4.45.1",
|
|
133
133
|
"rollup-plugin-copy": "^3.5.0",
|
|
134
134
|
"rollup-plugin-livereload": "^2.0.5",
|
|
135
135
|
"rollup-plugin-postcss": "^4.0.2",
|
|
136
136
|
"rollup-plugin-serve": "^3.0.0",
|
|
137
137
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
138
138
|
"shelljs": "^0.10.0",
|
|
139
|
-
"stylelint": "^16.
|
|
140
|
-
"stylelint-config-css-modules": "^4.
|
|
139
|
+
"stylelint": "^16.22.0",
|
|
140
|
+
"stylelint-config-css-modules": "^4.5.1",
|
|
141
141
|
"stylelint-config-standard": "^38.0.0",
|
|
142
142
|
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
|
|
143
143
|
"stylelint-order": "^7.0.0",
|