@mic-rexjs/usecases-react 2.1.1 → 2.1.3
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/dist/index.min.js +1 -1
- package/es/hooks/useEntity/index.js +13 -10
- package/es/hooks/useProvider/index.js +1 -1
- package/es/hooks/useUseCase/index.test.js +12 -12
- package/lib/components/UpdateFragment/index.js +3 -4
- package/lib/components/UseCaseFragment/index.js +2 -3
- package/lib/configs/defaultUseCaseContext/index.js +1 -2
- package/lib/configs/useCaseContextReferenceMap/index.js +1 -2
- package/lib/enums/UseCaseArgumentTypes/index.js +0 -1
- package/lib/enums/UseCaseModeErrors/index.js +0 -1
- package/lib/enums/UseCaseModes/index.js +0 -1
- package/lib/enums/UseCaseStatuses/index.js +0 -1
- package/lib/hooks/useArgumentTypes/index.js +2 -3
- package/lib/hooks/useCompareDeps/index.js +2 -3
- package/lib/hooks/useConstant/index.js +2 -3
- package/lib/hooks/useConstantFn/index.js +2 -3
- package/lib/hooks/useContextualItem/index.js +2 -3
- package/lib/hooks/useEntity/index.js +17 -13
- package/lib/hooks/useGlobalUseCase/index.js +2 -3
- package/lib/hooks/useGlobalUseCase/index.test.js +2 -2
- package/lib/hooks/useIsRenderingRef/index.js +2 -3
- package/lib/hooks/useMemoizedCall/index.js +2 -3
- package/lib/hooks/useProvider/index.js +5 -6
- package/lib/hooks/useSafeMode/index.js +2 -3
- package/lib/hooks/useStatelessUseCase/index.js +2 -3
- package/lib/hooks/useStatelessUseCase/index.test.js +2 -2
- package/lib/hooks/useUseCase/index.js +2 -3
- package/lib/hooks/useUseCase/index.test.js +21 -21
- package/lib/hooks/useUseCaseContext/index.js +2 -3
- package/lib/hooks/useUseCaseStatuses/index.js +2 -3
- package/lib/methods/cacheCall/index.js +2 -3
- package/lib/methods/cacheCalls/index.js +2 -3
- package/lib/methods/compareProperty/index.js +2 -3
- package/lib/methods/fillArguments/index.js +2 -3
- package/lib/methods/getRenderingEntity/index.js +2 -3
- package/lib/methods/hasField/index.js +2 -3
- package/lib/methods/initEntityReducers/index.js +4 -5
- package/lib/methods/isSameArray/index.js +2 -3
- package/lib/methods/triggerCallbacks/index.js +2 -3
- package/lib/methods/triggerWatchers/index.js +2 -3
- package/package.json +14 -14
package/dist/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see index.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("react"),require("ahooks"),require("@mic-rexjs/usecases"));else if("function"==typeof define&&define.amd)define(["react","ahooks","@mic-rexjs/usecases"],t);else{var n="object"==typeof exports?t(require("react"),require("ahooks"),require("@mic-rexjs/usecases")):t(e.react,e.ahooks,e["@mic-rexjs/usecases"]);for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(this,((e,t,n)=>(()=>{"use strict";var r={251:(e,t,n)=>{var r=n(156),o=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,l={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!i.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:o,type:e,key:s,ref:c,props:l,_owner:u.current}}},893:(e,t,n)=>{e.exports=n(251)},112:e=>{e.exports=n},749:e=>{e.exports=t},156:t=>{t.exports=e}},o={};function a(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={exports:{}};return r[e](n,n.exports,a),n.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{a.r(u),a.d(u,{UseCaseFragment:()=>A,useGlobalUseCase:()=>N,useStatelessUseCase:()=>U,useUseCase:()=>G});var e=a(893),t=a(156),n=a.n(t);function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,u,i=[],l=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(s)throw o}}return i}}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var l,s=a(749),c=function(e){return i((0,t.useState)((function(){return e})),1)[0]};function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function b(e,t,n){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!==f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}!function(e){e[e.None=0]="None",e[e.RootEnabled=2]="RootEnabled",e[e.ContextEnabled=4]="ContextEnabled",e[e.EntityEnabled=8]="EntityEnabled",e[e.ContextRootEnabled=22]="ContextRootEnabled",e[e.EntityRootEnabled=62]="EntityRootEnabled",e[e.StatelessEnabled=72]="StatelessEnabled",e[e.GlobalEnabled=150]="GlobalEnabled"}(l||(l={}));var d=a(112),y=["watch","onChange","options"];function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var E,m,h=function(e){return i((0,t.useState)(e),1)[0]},S=new Map;!function(e){e[e.None=0]="None",e[e.Entity=2]="Entity",e[e.Mode=4]="Mode"}(E||(E={})),function(e){e[e.Normal=2]="Normal",e[e.Stateless=4]="Stateless",e[e.Global=8]="Global",e[e.StatelessGlobal=12]="StatelessGlobal"}(m||(m={}));var g=(0,t.createContext)(null),O=function(e,t){var n=e.length;if(n!==t.length)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0},w=function(e,t){var n,r=t||{},o=r.onShouldCache,a=void 0===o?function(){return!0}:o,u=r.onCompare,i=void 0===u?function(e,t){return O(e,t)}:u;return function(){for(var t=a(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];if(n&&t){var l=n,s=l.parameters,c=l.returnValue;if(i(s,o))return c}var f=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:f}),f}},j=function(e,n,r){var o,a,u,i=(o=r,a=function(e){var n=(0,t.useRef)(0),r=(0,t.useRef)([]),o=r.current,a=O(e,o);return r.current=e,n.current+=a?0:1,n.current}(arguments.length>3&&void 0!==arguments[3]?arguments[3]:[]),u=(0,s.useLatest)(o),(0,s.useCreation)((function(){return w(u.current,{onCompare:function(){return!0}})}),[a,u]));return(0,s.useCreation)((function(){return(e&l.RootEnabled)!==l.RootEnabled&&n?n:i()}),[e,n,i])};function x(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var C,R=function(e,t){return"object"===f(e)&&null!==e&&Object.hasOwn(e,t)},P=function e(t,n,r,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=void 0,l=i(r.match(/^([^.]+)\.(.+)$/)||[],3),s=l[1],c=void 0===s?r:s,f=l[2],b=void 0===f?"":f,d=R(t,c),y=R(n,c),v=[].concat(x(a),[c]);if(d||y){var p=d?t[c]:u,E=y?n[c]:u;if(b)return void e(p,E,b,o,v);if(p===E)return;o(p,E,v)}else if(!/^\d+^/.test(c))for(var m=Array.isArray(t)?t:[],h=Array.isArray(n)?n:[],S=m.length,g=h.length,O=Math.max(S,g),w=0;w<O;w++)e(m[w],h[w],r,o,[].concat(x(a),["".concat(w)]))},_=function(e,t,n){for(var r=function(){var e=i(a[o],2),r=e[0],u=e[1];P(n,t,r,(function(e,r,o){u({fieldPaths:o,newEntity:t,oldEntity:n,newValue:r,oldValue:e})}))},o=0,a=Object.entries(e);o<a.length;o++)r()};!function(e){e.UnsupportedGlobal='useUseCase does not support "global" mode with entity usecase',e.UnsupportedStateless='useUseCase does not support "stateless" mode with non-entity usecase'}(C||(C={}));var G=function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];var a,u=function(e){return h((function(){var t=E.None,n=i(e,3),r=n[1],o=n[2],a=f(r);switch("function"===a&&(t|=E.Entity),"number"){case a:case f(o):t|=E.Mode}return t}))}(r),b=function(e,t){var n=i(e,5),r=n[0],o=n[1],a=n[2],u=n[3],l=n[4],s=(t&E.Entity)===E.Entity,c=(t&E.Mode)===E.Mode;return s?c?[r,o,a,u||{},l||[]]:[r,o,m.Normal,a||{},u||[]]:c?[null,r,o,a||{},u||[]]:[null,r,m.Normal,o||{},a||[]]}(r,u),v=i(b,5),O=v[0],x=v[1],R=v[2],P=v[3],G=v[4],A=c(x),N=A,U=A,M=((a=(0,t.useRef)(!0)).current=!0,(0,t.useEffect)((function(){a.current=!1})),a),k=function(e,t){return h((function(){if((t&E.Entity)===E.Entity){if((e&m.Global)===m.Global)throw C.UnsupportedGlobal;return e}if((e&m.Stateless)===m.Stateless)throw C.UnsupportedStateless;return e}))}(R,u),I=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:E.None,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m.Normal,o=S,a=h((function(){if(o.has(e)){var a=o.get(e),u=a.value,i=a.times;return o.set(e,{value:u,times:i+1}),u}switch(!0){case(r&m.Global)===m.Global:case(n&E.Entity)===E.Entity:break;default:return g}var l=(0,t.createContext)(null);return o.set(e,{value:l,times:1}),l}));return(0,s.useUnmount)((function(){if(o.has(e)){var t=o.get(e),n=t.value,r=t.times;a===n&&(1!==r?o.set(e,{value:n,times:r-1}):o.delete(e))}})),a}(A,u,k),T=(0,t.useContext)(I),V=T,q=function(e,t,n){return(0,s.useCreation)((function(){var r=l.None,o=(n||{}).store;return(e&E.Entity)===E.Entity&&(r|=l.EntityRootEnabled),r|=null===n?l.RootEnabled:l.ContextEnabled,o&&(r|=l.EntityEnabled),(t&m.Stateless)===m.Stateless&&(r|=l.StatelessEnabled),(t&m.Global)===m.Global&&(r|=l.GlobalEnabled),r}),[e,n,t])}(u,k,T),D=(T||{}).reducers,L=void 0===D?null:D,$=(V||{}).store,F=i(function(e,n,r,o){var a=i((0,t.useState)(n),2),u=a[0],c=a[1],f=(null==r?void 0:r.getValue())||null,b=function(e,t,n,r){return(e&l.EntityRootEnabled)!==l.EntityRootEnabled?r:(e&l.StatelessEnabled)!==l.StatelessEnabled?t:"function"==typeof n?n():n}(e,u,n,f),y=(0,s.useLatest)(o),v=(e&l.EntityRootEnabled)===l.EntityRootEnabled,p=j(e,r,(function(){if(!v)return new d.EntityStore(null);var t=(e&l.StatelessEnabled)===l.StatelessEnabled;return new d.EntityStore(b,(function(e){t||c(e)}))}));return v&&p.setValue(b),(0,t.useEffect)((function(){if((e&l.EntityEnabled)===l.EntityEnabled){var t=function(e,t){var n=y.current,r=n.onChange,o=n.watch;o&&_(o,e,t),null==r||r(e,t)};return p.watch(t),function(){p.unwatch(t)}}}),[e,p,y]),(0,s.useCreation)((function(){return[b,p]}),[b,p])}(q,O,void 0===$?null:$,P),2),B=F[0],W=F[1],Y=j(q,L,(function(){return(q&l.EntityEnabled)!==l.EntityEnabled?N(P):function(e,t,n){n.watch,n.onChange;var r=n.options,o=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,y);return(0,d.createEntityReducers)(t,e,p(p(p({},o),r),{},{onGenerate:function(e,t){return t}}))}(U,W,P)}),G),z=function(e,r,o,a){var u=o.getValue(),i=(0,t.useMemo)((function(){return(e&l.EntityEnabled)===l.EntityEnabled?{store:o,reducers:a}:{reducers:a}}),[e,u,o,a]),f=(0,s.useLatest)(i);return c((function(e){var t=e.children,o=e.with,a=void 0===o?[]:o,u=r.Provider;return n().createElement(u,{value:f.current},a.reduceRight((function(e,t){return n().createElement(t,{},e)}),t))}))}(q,I,W,Y);return(0,s.useCreation)((function(){if((q&l.ContextEnabled)!==l.ContextEnabled)return Y;var e=(q&l.RootEnabled)===l.RootEnabled;if((q&l.EntityEnabled)!==l.EntityEnabled)return e?[Y,z]:Y;var t=function(e,t){var n={};return Object.entries(e).forEach((function(e){var r=i(e,2),o=r[0],a=r[1];n[o]=w(a,t)})),n}(Y,{onShouldCache:function(){return M.current}});return e?[B,t,z]:[B,t]}),[q,B,Y,z,M])},A=function(n){var r=n.usecase,o=n.watch,a=n.onChange;return G(r,{watch:o,onChange:a}),(0,e.jsx)(t.Fragment,{})},N=function(e,t,n){return G(e,m.Global,t,n)},U=function(e,t,n,r){return G(e,t,m.Stateless,n,r)}})(),u})()));
|
|
2
|
+
(()=>{var e={20:(e,t,n)=>{"use strict";var r=n(594),o=Symbol.for("react.element"),a=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),u=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,l={},s=null,c=null;for(r in void 0!==n&&(s=""+n),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(c=t.ref),t)a.call(t,r)&&!i.hasOwnProperty(r)&&(l[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===l[r]&&(l[r]=t[r]);return{$$typeof:o,type:e,key:s,ref:c,props:l,_owner:u.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},594:e=>{"use strict";e.exports=React}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{UseCaseFragment:()=>A,useGlobalUseCase:()=>N,useStatelessUseCase:()=>M,useUseCase:()=>G});var e=n(848),t=n(594),o=n.n(t);function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(e,t){if(e){if("string"==typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,u,i=[],l=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=a.call(n)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=n.return&&(u=n.return(),Object(u)!==u))return}finally{if(s)throw o}}return i}}(e,t)||u(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const l=ahooks;var s,c=function(e){return i((0,t.useState)((function(){return e})),1)[0]};function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function b(e){var t=function(e,t){if("object"!=f(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==f(t)?t:String(t)}!function(e){e[e.None=0]="None",e[e.RootEnabled=2]="RootEnabled",e[e.ContextEnabled=4]="ContextEnabled",e[e.EntityEnabled=8]="EntityEnabled",e[e.ContextRootEnabled=22]="ContextRootEnabled",e[e.EntityRootEnabled=62]="EntityRootEnabled",e[e.StatelessEnabled=72]="StatelessEnabled",e[e.GlobalEnabled=150]="GlobalEnabled"}(s||(s={}));const d=usecases;var y=["watch","onChange","options"];function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){var r,o,a;r=e,o=t,a=n[t],(o=b(o))in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var p,m,h=function(e){return i((0,t.useState)(e),1)[0]},S=new Map;!function(e){e[e.None=0]="None",e[e.Entity=2]="Entity",e[e.Mode=4]="Mode"}(p||(p={})),function(e){e[e.Normal=2]="Normal",e[e.Stateless=4]="Stateless",e[e.Global=8]="Global",e[e.StatelessGlobal=12]="StatelessGlobal"}(m||(m={}));var g=(0,t.createContext)(null),O=function(e,t){var n=e.length;if(n!==t.length)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0},w=function(e,t){var n,r=t||{},o=r.onShouldCache,a=void 0===o?function(){return!0}:o,u=r.onCompare,i=void 0===u?function(e,t){return O(e,t)}:u;return function(){for(var t=a(),r=arguments.length,o=new Array(r),u=0;u<r;u++)o[u]=arguments[u];if(n&&t){var l=n,s=l.parameters,c=l.returnValue;if(i(s,o))return c}var f=e.apply(void 0,o);return t&&(n={parameters:o,returnValue:f}),f}},j=function(e,n,r){var o,a,u,i=(o=r,a=function(e){var n=(0,t.useRef)(0),r=(0,t.useRef)([]),o=r.current,a=O(e,o);return r.current=e,n.current+=a?0:1,n.current}(arguments.length>3&&void 0!==arguments[3]?arguments[3]:[]),u=(0,l.useLatest)(o),(0,l.useCreation)((function(){return w(u.current,{onCompare:function(){return!0}})}),[a,u]));return(0,l.useCreation)((function(){return(e&s.RootEnabled)!==s.RootEnabled&&n?n:i()}),[e,n,i])};function C(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var R,P=function(e,t){return"object"===f(e)&&null!==e&&Object.hasOwn(e,t)},_=function e(t,n,r,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],u=void 0,l=i(r.match(/^([^.]+)\.(.+)$/)||[],3),s=l[1],c=void 0===s?r:s,f=l[2],b=void 0===f?"":f,d=P(t,c),y=P(n,c),v=[].concat(C(a),[c]);if(d||y){var E=d?t[c]:u,p=y?n[c]:u;if(b)return void e(E,p,b,o,v);if(E===p)return;o(E,p,v)}else if(!/^\d+^/.test(c))for(var m=Array.isArray(t)?t:[],h=Array.isArray(n)?n:[],S=m.length,g=h.length,O=Math.max(S,g),w=0;w<O;w++)e(m[w],h[w],r,o,[].concat(C(a),["".concat(w)]))},x=function(e,t,n){for(var r=function(){var e=i(a[o],2),r=e[0],u=e[1];_(n,t,r,(function(e,r,o){u({fieldPaths:o,newEntity:t,oldEntity:n,newValue:r,oldValue:e})}))},o=0,a=Object.entries(e);o<a.length;o++)r()};!function(e){e.UnsupportedGlobal='useUseCase does not support "global" mode with entity usecase',e.UnsupportedStateless='useUseCase does not support "stateless" mode with non-entity usecase'}(R||(R={}));var G=function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];var a,u=function(e){return h((function(){var t=p.None,n=i(e,3),r=n[1],o=n[2],a=f(r);switch("function"===a&&(t|=p.Entity),"number"){case a:case f(o):t|=p.Mode}return t}))}(n),b=function(e,t){var n=i(e,5),r=n[0],o=n[1],a=n[2],u=n[3],l=n[4],s=(t&p.Entity)===p.Entity,c=(t&p.Mode)===p.Mode;return s?c?[r,o,a,u||{},l||[]]:[r,o,m.Normal,a||{},u||[]]:c?[null,r,o,a||{},u||[]]:[null,r,m.Normal,o||{},a||[]]}(n,u),v=i(b,5),O=v[0],C=v[1],P=v[2],_=v[3],G=v[4],A=c(C),N=A,M=A,U=((a=(0,t.useRef)(!0)).current=!0,(0,t.useEffect)((function(){a.current=!1})),a),I=function(e,t){return h((function(){if((t&p.Entity)===p.Entity){if((e&m.Global)===m.Global)throw R.UnsupportedGlobal;return e}if((e&m.Stateless)===m.Stateless)throw R.UnsupportedStateless;return e}))}(P,u),k=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p.None,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m.Normal,o=S,a=h((function(){if(o.has(e)){var a=o.get(e),u=a.value,i=a.times;return o.set(e,{value:u,times:i+1}),u}switch(!0){case(r&m.Global)===m.Global:case(n&p.Entity)===p.Entity:break;default:return g}var l=(0,t.createContext)(null);return o.set(e,{value:l,times:1}),l}));return(0,l.useUnmount)((function(){if(o.has(e)){var t=o.get(e),n=t.value,r=t.times;a===n&&(1!==r?o.set(e,{value:n,times:r-1}):o.delete(e))}})),a}(A,u,I),L=(0,t.useContext)(k),T=L,D=function(e,t,n){return(0,l.useCreation)((function(){var r=s.None,o=(n||{}).store;return(e&p.Entity)===p.Entity&&(r|=s.EntityRootEnabled),r|=null===n?s.RootEnabled:s.ContextEnabled,o&&(r|=s.EntityEnabled),(t&m.Stateless)===m.Stateless&&(r|=s.StatelessEnabled),(t&m.Global)===m.Global&&(r|=s.GlobalEnabled),r}),[e,n,t])}(u,I,L),V=(L||{}).reducers,$=void 0===V?null:V,F=(T||{}).store,B=i(function(e,n,r,o){var a=i((0,t.useState)(n),2),u=a[0],c=a[1],f=r?r.value:null,b=function(e,t,n,r){return(e&s.EntityRootEnabled)!==s.EntityRootEnabled?r:(e&s.StatelessEnabled)!==s.StatelessEnabled?t:"function"==typeof n?n():n}(e,u,n,f),y=(0,l.useLatest)(o),v=(e&s.EntityRootEnabled)===s.EntityRootEnabled,E=j(e,r,(function(){if(!v)return new d.EntityStore(null);var t=(e&s.StatelessEnabled)===s.StatelessEnabled;return new d.EntityStore(b,{onChange:function(e){var n=e.newEntity;t||c(n)}})}));return v&&(E.value=b),(0,t.useEffect)((function(){if((e&s.EntityEnabled)===s.EntityEnabled){var t=function(e){var t=e.newEntity,n=e.oldEntity,r=y.current,o=r.onChange,a=r.watch;a&&x(a,t,n),null==o||o(t,n)};return E.addEventListener("change",t),function(){E.removeEventListener("change",t)}}}),[e,E,y]),(0,l.useCreation)((function(){return[b,E]}),[b,E])}(D,O,void 0===F?null:F,_),2),W=B[0],Y=B[1],q=j(D,$,(function(){return(D&s.EntityEnabled)!==s.EntityEnabled?N(_):function(e,t,n){n.watch,n.onChange;var r=n.options,o=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,y);return(0,d.createEntityReducers)(t,e,E(E(E({},o),r),{},{onGenerate:function(e,t){return t}}))}(M,Y,_)}),G),z=function(e,n,r,a){var u=r.value,i=(0,t.useMemo)((function(){return(e&s.EntityEnabled)===s.EntityEnabled?{store:r,reducers:a}:{reducers:a}}),[e,u,r,a]),f=(0,l.useLatest)(i);return c((function(e){var t=e.children,r=e.with,a=void 0===r?[]:r,u=n.Provider;return o().createElement(u,{value:f.current},a.reduceRight((function(e,t){return o().createElement(t,{},e)}),t))}))}(D,k,Y,q);return(0,l.useCreation)((function(){if((D&s.ContextEnabled)!==s.ContextEnabled)return q;var e=(D&s.RootEnabled)===s.RootEnabled;if((D&s.EntityEnabled)!==s.EntityEnabled)return e?[q,z]:q;var t=function(e,t){var n={};return Object.entries(e).forEach((function(e){var r=i(e,2),o=r[0],a=r[1];n[o]=w(a,t)})),n}(q,{onShouldCache:function(){return U.current}});return e?[W,t,z]:[W,t]}),[D,W,q,z,U])},A=function(n){var r=n.usecase,o=n.watch,a=n.onChange;return G(r,{watch:o,onChange:a}),(0,e.jsx)(t.Fragment,{})},N=function(e,t,n){return G(e,m.Global,t,n)},M=function(e,t,n,r){return G(e,t,m.Stateless,n,r)}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var a in r)o[a]=r[a];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
|
|
@@ -7,7 +7,7 @@ import { useCreation, useLatest } from 'ahooks';
|
|
|
7
7
|
import { triggerWatchers } from '../../methods/triggerWatchers';
|
|
8
8
|
export const useEntity = (statuses, rootEntity, contextStore, options) => {
|
|
9
9
|
const [entityState, setEntityState] = useState(rootEntity);
|
|
10
|
-
const contextEntity = (contextStore
|
|
10
|
+
const contextEntity = (contextStore ? contextStore.value : null);
|
|
11
11
|
const renderingEntity = getRenderingEntity(statuses, entityState, rootEntity, contextEntity);
|
|
12
12
|
const optionsRef = useLatest(options);
|
|
13
13
|
const entityRootEnabled = (statuses & UseCaseStatuses.EntityRootEnabled) === UseCaseStatuses.EntityRootEnabled;
|
|
@@ -16,31 +16,34 @@ export const useEntity = (statuses, rootEntity, contextStore, options) => {
|
|
|
16
16
|
return new EntityStore(null);
|
|
17
17
|
}
|
|
18
18
|
const stateless = (statuses & UseCaseStatuses.StatelessEnabled) === UseCaseStatuses.StatelessEnabled;
|
|
19
|
-
return new EntityStore(renderingEntity,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
return new EntityStore(renderingEntity, {
|
|
20
|
+
onChange({ newEntity }) {
|
|
21
|
+
if (stateless) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
setEntityState(newEntity);
|
|
25
|
+
},
|
|
24
26
|
});
|
|
25
27
|
});
|
|
26
28
|
if (entityRootEnabled) {
|
|
27
29
|
// 执行同步操作
|
|
28
|
-
store.
|
|
30
|
+
store.value = renderingEntity;
|
|
29
31
|
}
|
|
30
32
|
useEffect(() => {
|
|
31
33
|
if ((statuses & UseCaseStatuses.EntityEnabled) !== UseCaseStatuses.EntityEnabled) {
|
|
32
34
|
return;
|
|
33
35
|
}
|
|
34
|
-
const
|
|
36
|
+
const onEntityChange = (e) => {
|
|
37
|
+
const { newEntity, oldEntity } = e;
|
|
35
38
|
const { onChange, watch } = optionsRef.current;
|
|
36
39
|
if (watch) {
|
|
37
40
|
triggerWatchers(watch, newEntity, oldEntity);
|
|
38
41
|
}
|
|
39
42
|
onChange?.(newEntity, oldEntity);
|
|
40
43
|
};
|
|
41
|
-
store.
|
|
44
|
+
store.addEventListener('change', onEntityChange);
|
|
42
45
|
return () => {
|
|
43
|
-
store.
|
|
46
|
+
store.removeEventListener('change', onEntityChange);
|
|
44
47
|
};
|
|
45
48
|
}, [statuses, store, optionsRef]);
|
|
46
49
|
return useCreation(() => {
|
|
@@ -3,7 +3,7 @@ import React, { useMemo } from 'react';
|
|
|
3
3
|
import { useConstantFn } from '../useConstantFn';
|
|
4
4
|
import { UseCaseStatuses } from '../../enums/UseCaseStatuses';
|
|
5
5
|
export const useProvider = (statuses, context, store, reducers) => {
|
|
6
|
-
const entity = store
|
|
6
|
+
const { value: entity } = store;
|
|
7
7
|
const contextValue = useMemo(() => {
|
|
8
8
|
void entity;
|
|
9
9
|
if ((statuses & UseCaseStatuses.EntityEnabled) === UseCaseStatuses.EntityEnabled) {
|
|
@@ -427,13 +427,13 @@ describe('useUseCase', () => {
|
|
|
427
427
|
toThrow: '',
|
|
428
428
|
},
|
|
429
429
|
])('does not support global mode', ({ mode, toThrow }) => {
|
|
430
|
-
|
|
431
|
-
|
|
430
|
+
renderHook(() => {
|
|
431
|
+
expect(() => {
|
|
432
432
|
useUseCase(defaultFile, fileUseCase, mode);
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
})
|
|
433
|
+
// 如果上面测试成功,则手动 throw '',保证与 toThrow 的值一致
|
|
434
|
+
throw '';
|
|
435
|
+
}).toThrow(toThrow);
|
|
436
|
+
});
|
|
437
437
|
});
|
|
438
438
|
test('stateless mode should not generate new reducers when `yeild entity`', () => {
|
|
439
439
|
const onUpdate = jest.fn();
|
|
@@ -1432,13 +1432,13 @@ describe('useUseCase', () => {
|
|
|
1432
1432
|
toThrow: UseCaseModeErrors.UnsupportedStateless,
|
|
1433
1433
|
},
|
|
1434
1434
|
])('does not support stateless mode', ({ mode, toThrow }) => {
|
|
1435
|
-
|
|
1436
|
-
|
|
1435
|
+
renderHook(() => {
|
|
1436
|
+
expect(() => {
|
|
1437
1437
|
useUseCase(mathUseCase, mode);
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
})
|
|
1438
|
+
// 如果上面测试成功,则手动 throw '',保证与 toThrow 的值一致
|
|
1439
|
+
throw '';
|
|
1440
|
+
}).toThrow(toThrow);
|
|
1441
|
+
});
|
|
1442
1442
|
});
|
|
1443
1443
|
test('the return value should be `reducers` object at child component', () => {
|
|
1444
1444
|
const onMountA = jest.fn();
|
|
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.UpdateFragment = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
var UpdateFragment = function UpdateFragment(_ref) {
|
|
9
|
+
var UpdateFragment = exports.UpdateFragment = function UpdateFragment(_ref) {
|
|
10
10
|
var onUpdate = _ref.onUpdate;
|
|
11
11
|
(0, _react.useEffect)(function () {
|
|
12
|
-
onUpdate === null || onUpdate === void 0
|
|
12
|
+
onUpdate === null || onUpdate === void 0 || onUpdate();
|
|
13
13
|
});
|
|
14
14
|
return (0, _jsxRuntime.jsx)(_react.Fragment, {});
|
|
15
|
-
};
|
|
16
|
-
exports.UpdateFragment = UpdateFragment;
|
|
15
|
+
};
|
|
@@ -7,7 +7,7 @@ exports.UseCaseFragment = void 0;
|
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _useUseCase = require("../../hooks/useUseCase");
|
|
10
|
-
var UseCaseFragment = function UseCaseFragment(_ref) {
|
|
10
|
+
var UseCaseFragment = exports.UseCaseFragment = function UseCaseFragment(_ref) {
|
|
11
11
|
var usecase = _ref.usecase,
|
|
12
12
|
watch = _ref.watch,
|
|
13
13
|
onChange = _ref.onChange;
|
|
@@ -16,5 +16,4 @@ var UseCaseFragment = function UseCaseFragment(_ref) {
|
|
|
16
16
|
onChange: onChange
|
|
17
17
|
});
|
|
18
18
|
return (0, _jsxRuntime.jsx)(_react.Fragment, {});
|
|
19
|
-
};
|
|
20
|
-
exports.UseCaseFragment = UseCaseFragment;
|
|
19
|
+
};
|
|
@@ -5,5 +5,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.defaultUseCaseContext = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var defaultUseCaseContext = (0, _react.createContext)(null);
|
|
9
|
-
exports.defaultUseCaseContext = defaultUseCaseContext;
|
|
8
|
+
var defaultUseCaseContext = exports.defaultUseCaseContext = (0, _react.createContext)(null);
|
|
@@ -4,5 +4,4 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.usecaseContextReferenceMap = void 0;
|
|
7
|
-
var usecaseContextReferenceMap = new Map();
|
|
8
|
-
exports.usecaseContextReferenceMap = usecaseContextReferenceMap;
|
|
7
|
+
var usecaseContextReferenceMap = exports.usecaseContextReferenceMap = new Map();
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UseCaseArgumentTypes = void 0;
|
|
7
7
|
var UseCaseArgumentTypes;
|
|
8
|
-
exports.UseCaseArgumentTypes = UseCaseArgumentTypes;
|
|
9
8
|
(function (UseCaseArgumentTypes) {
|
|
10
9
|
UseCaseArgumentTypes[UseCaseArgumentTypes["None"] = 0] = "None";
|
|
11
10
|
UseCaseArgumentTypes[UseCaseArgumentTypes["Entity"] = 2] = "Entity";
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UseCaseModeErrors = void 0;
|
|
7
7
|
var UseCaseModeErrors;
|
|
8
|
-
exports.UseCaseModeErrors = UseCaseModeErrors;
|
|
9
8
|
(function (UseCaseModeErrors) {
|
|
10
9
|
UseCaseModeErrors["UnsupportedGlobal"] = "useUseCase does not support \"global\" mode with entity usecase";
|
|
11
10
|
UseCaseModeErrors["UnsupportedStateless"] = "useUseCase does not support \"stateless\" mode with non-entity usecase";
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UseCaseModes = void 0;
|
|
7
7
|
var UseCaseModes;
|
|
8
|
-
exports.UseCaseModes = UseCaseModes;
|
|
9
8
|
(function (UseCaseModes) {
|
|
10
9
|
UseCaseModes[UseCaseModes["Normal"] = 2] = "Normal";
|
|
11
10
|
UseCaseModes[UseCaseModes["Stateless"] = 4] = "Stateless";
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UseCaseStatuses = void 0;
|
|
7
7
|
var UseCaseStatuses;
|
|
8
|
-
exports.UseCaseStatuses = UseCaseStatuses;
|
|
9
8
|
(function (UseCaseStatuses) {
|
|
10
9
|
UseCaseStatuses[UseCaseStatuses["None"] = 0] = "None";
|
|
11
10
|
// 是否需要初始化根 `redurcers`
|
|
@@ -9,7 +9,7 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
11
11
|
var _useConstant = require("../useConstant");
|
|
12
|
-
var useArgumentTypes = function useArgumentTypes(args) {
|
|
12
|
+
var useArgumentTypes = exports.useArgumentTypes = function useArgumentTypes(args) {
|
|
13
13
|
return (0, _useConstant.useConstant)(function () {
|
|
14
14
|
var types = _UseCaseArgumentTypes.UseCaseArgumentTypes.None;
|
|
15
15
|
var _args = (0, _slicedToArray2["default"])(args, 3),
|
|
@@ -27,5 +27,4 @@ var useArgumentTypes = function useArgumentTypes(args) {
|
|
|
27
27
|
}
|
|
28
28
|
return types;
|
|
29
29
|
});
|
|
30
|
-
};
|
|
31
|
-
exports.useArgumentTypes = useArgumentTypes;
|
|
30
|
+
};
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useCompareDeps = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _isSameArray = require("../../methods/isSameArray");
|
|
9
|
-
var useCompareDeps = function useCompareDeps(deps) {
|
|
9
|
+
var useCompareDeps = exports.useCompareDeps = function useCompareDeps(deps) {
|
|
10
10
|
var updateTimesRef = (0, _react.useRef)(0);
|
|
11
11
|
var prevDepsRef = (0, _react.useRef)([]);
|
|
12
12
|
var prevDeps = prevDepsRef.current;
|
|
@@ -14,5 +14,4 @@ var useCompareDeps = function useCompareDeps(deps) {
|
|
|
14
14
|
prevDepsRef.current = deps;
|
|
15
15
|
updateTimesRef.current += isSame ? 0 : 1;
|
|
16
16
|
return updateTimesRef.current;
|
|
17
|
-
};
|
|
18
|
-
exports.useCompareDeps = useCompareDeps;
|
|
17
|
+
};
|
|
@@ -7,10 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useConstant = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _react = require("react");
|
|
10
|
-
var useConstant = function useConstant(initialValue) {
|
|
10
|
+
var useConstant = exports.useConstant = function useConstant(initialValue) {
|
|
11
11
|
var _useState = (0, _react.useState)(initialValue),
|
|
12
12
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
13
13
|
value = _useState2[0];
|
|
14
14
|
return value;
|
|
15
|
-
};
|
|
16
|
-
exports.useConstant = useConstant;
|
|
15
|
+
};
|
|
@@ -7,12 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useConstantFn = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _react = require("react");
|
|
10
|
-
var useConstantFn = function useConstantFn(initialValue) {
|
|
10
|
+
var useConstantFn = exports.useConstantFn = function useConstantFn(initialValue) {
|
|
11
11
|
var _useState = (0, _react.useState)(function () {
|
|
12
12
|
return initialValue;
|
|
13
13
|
}),
|
|
14
14
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 1),
|
|
15
15
|
value = _useState2[0];
|
|
16
16
|
return value;
|
|
17
|
-
};
|
|
18
|
-
exports.useConstantFn = useConstantFn;
|
|
17
|
+
};
|
|
@@ -7,7 +7,7 @@ exports.useContextualItem = void 0;
|
|
|
7
7
|
var _ahooks = require("ahooks");
|
|
8
8
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
9
9
|
var _useMemoizedCall = require("../useMemoizedCall");
|
|
10
|
-
var useContextualItem = function useContextualItem(statuses, contextItem, createFactory) {
|
|
10
|
+
var useContextualItem = exports.useContextualItem = function useContextualItem(statuses, contextItem, createFactory) {
|
|
11
11
|
var deps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
12
12
|
var create = (0, _useMemoizedCall.useMemoizedCall)(createFactory, deps);
|
|
13
13
|
return (0, _ahooks.useCreation)(function () {
|
|
@@ -17,5 +17,4 @@ var useContextualItem = function useContextualItem(statuses, contextItem, create
|
|
|
17
17
|
}
|
|
18
18
|
return create();
|
|
19
19
|
}, [statuses, contextItem, create]);
|
|
20
|
-
};
|
|
21
|
-
exports.useContextualItem = useContextualItem;
|
|
20
|
+
};
|
|
@@ -13,12 +13,12 @@ var _getRenderingEntity = require("../../methods/getRenderingEntity");
|
|
|
13
13
|
var _useContextualItem = require("../useContextualItem");
|
|
14
14
|
var _ahooks = require("ahooks");
|
|
15
15
|
var _triggerWatchers = require("../../methods/triggerWatchers");
|
|
16
|
-
var useEntity = function useEntity(statuses, rootEntity, contextStore, options) {
|
|
16
|
+
var useEntity = exports.useEntity = function useEntity(statuses, rootEntity, contextStore, options) {
|
|
17
17
|
var _useState = (0, _react.useState)(rootEntity),
|
|
18
18
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
19
19
|
entityState = _useState2[0],
|
|
20
20
|
setEntityState = _useState2[1];
|
|
21
|
-
var contextEntity =
|
|
21
|
+
var contextEntity = contextStore ? contextStore.value : null;
|
|
22
22
|
var renderingEntity = (0, _getRenderingEntity.getRenderingEntity)(statuses, entityState, rootEntity, contextEntity);
|
|
23
23
|
var optionsRef = (0, _ahooks.useLatest)(options);
|
|
24
24
|
var entityRootEnabled = (statuses & _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled) === _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled;
|
|
@@ -27,37 +27,41 @@ var useEntity = function useEntity(statuses, rootEntity, contextStore, options)
|
|
|
27
27
|
return new _usecases.EntityStore(null);
|
|
28
28
|
}
|
|
29
29
|
var stateless = (statuses & _UseCaseStatuses.UseCaseStatuses.StatelessEnabled) === _UseCaseStatuses.UseCaseStatuses.StatelessEnabled;
|
|
30
|
-
return new _usecases.EntityStore(renderingEntity,
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
return new _usecases.EntityStore(renderingEntity, {
|
|
31
|
+
onChange: function onChange(_ref) {
|
|
32
|
+
var newEntity = _ref.newEntity;
|
|
33
|
+
if (stateless) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
setEntityState(newEntity);
|
|
33
37
|
}
|
|
34
|
-
setEntityState(newEntity);
|
|
35
38
|
});
|
|
36
39
|
});
|
|
37
40
|
if (entityRootEnabled) {
|
|
38
41
|
// 执行同步操作
|
|
39
|
-
store.
|
|
42
|
+
store.value = renderingEntity;
|
|
40
43
|
}
|
|
41
44
|
(0, _react.useEffect)(function () {
|
|
42
45
|
if ((statuses & _UseCaseStatuses.UseCaseStatuses.EntityEnabled) !== _UseCaseStatuses.UseCaseStatuses.EntityEnabled) {
|
|
43
46
|
return;
|
|
44
47
|
}
|
|
45
|
-
var
|
|
48
|
+
var onEntityChange = function onEntityChange(e) {
|
|
49
|
+
var newEntity = e.newEntity,
|
|
50
|
+
oldEntity = e.oldEntity;
|
|
46
51
|
var _optionsRef$current = optionsRef.current,
|
|
47
52
|
onChange = _optionsRef$current.onChange,
|
|
48
53
|
watch = _optionsRef$current.watch;
|
|
49
54
|
if (watch) {
|
|
50
55
|
(0, _triggerWatchers.triggerWatchers)(watch, newEntity, oldEntity);
|
|
51
56
|
}
|
|
52
|
-
onChange === null || onChange === void 0
|
|
57
|
+
onChange === null || onChange === void 0 || onChange(newEntity, oldEntity);
|
|
53
58
|
};
|
|
54
|
-
store.
|
|
59
|
+
store.addEventListener('change', onEntityChange);
|
|
55
60
|
return function () {
|
|
56
|
-
store.
|
|
61
|
+
store.removeEventListener('change', onEntityChange);
|
|
57
62
|
};
|
|
58
63
|
}, [statuses, store, optionsRef]);
|
|
59
64
|
return (0, _ahooks.useCreation)(function () {
|
|
60
65
|
return [renderingEntity, store];
|
|
61
66
|
}, [renderingEntity, store]);
|
|
62
|
-
};
|
|
63
|
-
exports.useEntity = useEntity;
|
|
67
|
+
};
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useGlobalUseCase = void 0;
|
|
7
7
|
var _useUseCase = require("../useUseCase");
|
|
8
8
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
9
|
-
var useGlobalUseCase = function useGlobalUseCase(useCase, options, deps) {
|
|
9
|
+
var useGlobalUseCase = exports.useGlobalUseCase = function useGlobalUseCase(useCase, options, deps) {
|
|
10
10
|
return (0, _useUseCase.useUseCase)(useCase, _UseCaseModes.UseCaseModes.Global, options, deps);
|
|
11
|
-
};
|
|
12
|
-
exports.useGlobalUseCase = useGlobalUseCase;
|
|
11
|
+
};
|
|
@@ -6,8 +6,8 @@ var _globals = require("@jest/globals");
|
|
|
6
6
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
7
7
|
var _react = require("@testing-library/react");
|
|
8
8
|
var useUseCaseModule = _interopRequireWildcard(require("../useUseCase"));
|
|
9
|
-
function _getRequireWildcardCache(
|
|
10
|
-
function _interopRequireWildcard(
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
11
11
|
var mathUseCase = function mathUseCase() {
|
|
12
12
|
return {};
|
|
13
13
|
};
|
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useIsRenderingRef = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var useIsRenderingRef = function useIsRenderingRef() {
|
|
8
|
+
var useIsRenderingRef = exports.useIsRenderingRef = function useIsRenderingRef() {
|
|
9
9
|
var ref = (0, _react.useRef)(true);
|
|
10
10
|
ref.current = true;
|
|
11
11
|
(0, _react.useEffect)(function () {
|
|
12
12
|
ref.current = false;
|
|
13
13
|
});
|
|
14
14
|
return ref;
|
|
15
|
-
};
|
|
16
|
-
exports.useIsRenderingRef = useIsRenderingRef;
|
|
15
|
+
};
|
|
@@ -7,7 +7,7 @@ exports.useMemoizedCall = void 0;
|
|
|
7
7
|
var _ahooks = require("ahooks");
|
|
8
8
|
var _useCompareDeps = require("../useCompareDeps");
|
|
9
9
|
var _cacheCall = require("../../methods/cacheCall");
|
|
10
|
-
var useMemoizedCall = function useMemoizedCall(factory, deps) {
|
|
10
|
+
var useMemoizedCall = exports.useMemoizedCall = function useMemoizedCall(factory, deps) {
|
|
11
11
|
var depsKey = (0, _useCompareDeps.useCompareDeps)(deps);
|
|
12
12
|
var factoryRef = (0, _ahooks.useLatest)(factory);
|
|
13
13
|
return (0, _ahooks.useCreation)(function () {
|
|
@@ -18,5 +18,4 @@ var useMemoizedCall = function useMemoizedCall(factory, deps) {
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
}, [depsKey, factoryRef]);
|
|
21
|
-
};
|
|
22
|
-
exports.useMemoizedCall = useMemoizedCall;
|
|
21
|
+
};
|
|
@@ -9,10 +9,10 @@ var _ahooks = require("ahooks");
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useConstantFn = require("../useConstantFn");
|
|
11
11
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
12
|
-
function _getRequireWildcardCache(
|
|
13
|
-
function _interopRequireWildcard(
|
|
14
|
-
var useProvider = function useProvider(statuses, context, store, reducers) {
|
|
15
|
-
var entity = store.
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
14
|
+
var useProvider = exports.useProvider = function useProvider(statuses, context, store, reducers) {
|
|
15
|
+
var entity = store.value;
|
|
16
16
|
var contextValue = (0, _react.useMemo)(function () {
|
|
17
17
|
void entity;
|
|
18
18
|
if ((statuses & _UseCaseStatuses.UseCaseStatuses.EntityEnabled) === _UseCaseStatuses.UseCaseStatuses.EntityEnabled) {
|
|
@@ -37,5 +37,4 @@ var useProvider = function useProvider(statuses, context, store, reducers) {
|
|
|
37
37
|
return _react["default"].createElement(withProvider, {}, currentChildren);
|
|
38
38
|
}, children));
|
|
39
39
|
});
|
|
40
|
-
};
|
|
41
|
-
exports.useProvider = useProvider;
|
|
40
|
+
};
|
|
@@ -8,7 +8,7 @@ var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
|
8
8
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
9
9
|
var _useConstant = require("../useConstant");
|
|
10
10
|
var _UseCaseModeErrors = require("../../enums/UseCaseModeErrors");
|
|
11
|
-
var useSafeMode = function useSafeMode(unsafeMode, argumentTypes) {
|
|
11
|
+
var useSafeMode = exports.useSafeMode = function useSafeMode(unsafeMode, argumentTypes) {
|
|
12
12
|
return (0, _useConstant.useConstant)(function () {
|
|
13
13
|
if ((argumentTypes & _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) === _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) {
|
|
14
14
|
if ((unsafeMode & _UseCaseModes.UseCaseModes.Global) === _UseCaseModes.UseCaseModes.Global) {
|
|
@@ -21,5 +21,4 @@ var useSafeMode = function useSafeMode(unsafeMode, argumentTypes) {
|
|
|
21
21
|
}
|
|
22
22
|
return unsafeMode;
|
|
23
23
|
});
|
|
24
|
-
};
|
|
25
|
-
exports.useSafeMode = useSafeMode;
|
|
24
|
+
};
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useStatelessUseCase = void 0;
|
|
7
7
|
var _useUseCase = require("../useUseCase");
|
|
8
8
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
9
|
-
var useStatelessUseCase = function useStatelessUseCase(entity, useCase, options, deps) {
|
|
9
|
+
var useStatelessUseCase = exports.useStatelessUseCase = function useStatelessUseCase(entity, useCase, options, deps) {
|
|
10
10
|
return (0, _useUseCase.useUseCase)(entity, useCase, _UseCaseModes.UseCaseModes.Stateless, options, deps);
|
|
11
|
-
};
|
|
12
|
-
exports.useStatelessUseCase = useStatelessUseCase;
|
|
11
|
+
};
|
|
@@ -7,8 +7,8 @@ var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
|
7
7
|
var _react = require("@testing-library/react");
|
|
8
8
|
var useUseCaseModule = _interopRequireWildcard(require("../useUseCase"));
|
|
9
9
|
var _ = require(".");
|
|
10
|
-
function _getRequireWildcardCache(
|
|
11
|
-
function _interopRequireWildcard(
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
12
12
|
var numberUseCase = function numberUseCase() {
|
|
13
13
|
return (0, _usecases.entityUseCase)();
|
|
14
14
|
};
|
|
@@ -21,7 +21,7 @@ var _useEntity3 = require("../useEntity");
|
|
|
21
21
|
var _useContextualItem = require("../useContextualItem");
|
|
22
22
|
var _cacheCalls = require("../../methods/cacheCalls");
|
|
23
23
|
var _useSafeMode = require("../useSafeMode");
|
|
24
|
-
var useUseCase = function useUseCase() {
|
|
24
|
+
var useUseCase = exports.useUseCase = function useUseCase() {
|
|
25
25
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
26
26
|
args[_key] = arguments[_key];
|
|
27
27
|
}
|
|
@@ -78,5 +78,4 @@ var useUseCase = function useUseCase() {
|
|
|
78
78
|
}
|
|
79
79
|
return [entity, cachedReducers];
|
|
80
80
|
}, [statuses, entity, reducers, Provider, isRenderingRef]);
|
|
81
|
-
};
|
|
82
|
-
exports.useUseCase = useUseCase;
|
|
81
|
+
};
|
|
@@ -18,10 +18,10 @@ var _ahooks = require("ahooks");
|
|
|
18
18
|
var _react2 = require("react");
|
|
19
19
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
20
20
|
var _UseCaseModeErrors = require("../../enums/UseCaseModeErrors");
|
|
21
|
-
function ownKeys(
|
|
22
|
-
function _objectSpread(
|
|
23
|
-
function _asyncIterator(
|
|
24
|
-
function AsyncFromSyncIterator(
|
|
21
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
23
|
+
function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
|
|
24
|
+
function AsyncFromSyncIterator(r) { function AsyncFromSyncIteratorContinuation(r) { if (Object(r) !== r) return Promise.reject(new TypeError(r + " is not an object.")); var n = r.done; return Promise.resolve(r.value).then(function (r) { return { value: r, done: n }; }); } return AsyncFromSyncIterator = function AsyncFromSyncIterator(r) { this.s = r, this.n = r.next; }, AsyncFromSyncIterator.prototype = { s: null, n: null, next: function next() { return AsyncFromSyncIteratorContinuation(this.n.apply(this.s, arguments)); }, "return": function _return(r) { var n = this.s["return"]; return void 0 === n ? Promise.resolve({ value: r, done: !0 }) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); }, "throw": function _throw(r) { var n = this.s["return"]; return void 0 === n ? Promise.reject(r) : AsyncFromSyncIteratorContinuation(n.apply(this.s, arguments)); } }, new AsyncFromSyncIterator(r); }
|
|
25
25
|
var EXT_1 = '.png';
|
|
26
26
|
var EXT_2 = '.jpg';
|
|
27
27
|
var PATH_1 = "hello".concat(EXT_1);
|
|
@@ -147,10 +147,10 @@ var Child = function Child(_ref2) {
|
|
|
147
147
|
setPath(PATH_2);
|
|
148
148
|
};
|
|
149
149
|
var undefinedEntity = (0, _ahooks.useMemoizedFn)(function () {
|
|
150
|
-
onUndefinedEntity === null || onUndefinedEntity === void 0
|
|
150
|
+
onUndefinedEntity === null || onUndefinedEntity === void 0 || onUndefinedEntity();
|
|
151
151
|
});
|
|
152
152
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
153
|
-
onUpdate === null || onUpdate === void 0
|
|
153
|
+
onUpdate === null || onUpdate === void 0 || onUpdate();
|
|
154
154
|
});
|
|
155
155
|
(0, _react2.useEffect)(function () {
|
|
156
156
|
if (file === void 0) {
|
|
@@ -158,7 +158,7 @@ var Child = function Child(_ref2) {
|
|
|
158
158
|
}
|
|
159
159
|
}, [file, undefinedEntity]);
|
|
160
160
|
var pathChange = (0, _ahooks.useMemoizedFn)(function () {
|
|
161
|
-
onPathChange === null || onPathChange === void 0
|
|
161
|
+
onPathChange === null || onPathChange === void 0 || onPathChange(path);
|
|
162
162
|
});
|
|
163
163
|
(0, _ahooks.useUpdateEffect)(pathChange, [path, pathChange]);
|
|
164
164
|
return (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -189,7 +189,7 @@ var Parent = function Parent(_ref4) {
|
|
|
189
189
|
setPath((onSetPath === null || onSetPath === void 0 ? void 0 : onSetPath()) || '');
|
|
190
190
|
};
|
|
191
191
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
192
|
-
onUpdate === null || onUpdate === void 0
|
|
192
|
+
onUpdate === null || onUpdate === void 0 || onUpdate();
|
|
193
193
|
});
|
|
194
194
|
return (0, _jsxRuntime.jsx)(Provider, {
|
|
195
195
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -218,7 +218,7 @@ var MathParent = function MathParent(_ref5) {
|
|
|
218
218
|
add(1, 2);
|
|
219
219
|
};
|
|
220
220
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
221
|
-
onUpdate === null || onUpdate === void 0
|
|
221
|
+
onUpdate === null || onUpdate === void 0 || onUpdate();
|
|
222
222
|
});
|
|
223
223
|
return (0, _jsxRuntime.jsx)("div", {
|
|
224
224
|
children: (0, _jsxRuntime.jsx)("button", {
|
|
@@ -596,13 +596,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
596
596
|
}])('does not support global mode', function (_ref7) {
|
|
597
597
|
var mode = _ref7.mode,
|
|
598
598
|
toThrow = _ref7.toThrow;
|
|
599
|
-
(0,
|
|
600
|
-
(0,
|
|
599
|
+
(0, _react.renderHook)(function () {
|
|
600
|
+
(0, _globals.expect)(function () {
|
|
601
601
|
(0, _.useUseCase)(defaultFile, fileUseCase, mode);
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
})
|
|
602
|
+
// 如果上面测试成功,则手动 throw '',保证与 toThrow 的值一致
|
|
603
|
+
throw '';
|
|
604
|
+
}).toThrow(toThrow);
|
|
605
|
+
});
|
|
606
606
|
});
|
|
607
607
|
(0, _globals.test)('stateless mode should not generate new reducers when `yeild entity`', function () {
|
|
608
608
|
var onUpdate = _globals.jest.fn();
|
|
@@ -1881,13 +1881,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1881
1881
|
}])('does not support stateless mode', function (_ref10) {
|
|
1882
1882
|
var mode = _ref10.mode,
|
|
1883
1883
|
toThrow = _ref10.toThrow;
|
|
1884
|
-
(0,
|
|
1885
|
-
(0,
|
|
1884
|
+
(0, _react.renderHook)(function () {
|
|
1885
|
+
(0, _globals.expect)(function () {
|
|
1886
1886
|
(0, _.useUseCase)(mathUseCase, mode);
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
})
|
|
1887
|
+
// 如果上面测试成功,则手动 throw '',保证与 toThrow 的值一致
|
|
1888
|
+
throw '';
|
|
1889
|
+
}).toThrow(toThrow);
|
|
1890
|
+
});
|
|
1891
1891
|
});
|
|
1892
1892
|
(0, _globals.test)('the return value should be `reducers` object at child component', function () {
|
|
1893
1893
|
var onMountA = _globals.jest.fn();
|
|
@@ -11,7 +11,7 @@ var _ahooks = require("ahooks");
|
|
|
11
11
|
var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
12
12
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
13
13
|
var _defaultUseCaseContext = require("../../configs/defaultUseCaseContext");
|
|
14
|
-
var useUseCaseContext = function useUseCaseContext(usecase) {
|
|
14
|
+
var useUseCaseContext = exports.useUseCaseContext = function useUseCaseContext(usecase) {
|
|
15
15
|
var argumentTypes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _UseCaseArgumentTypes.UseCaseArgumentTypes.None;
|
|
16
16
|
var mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _UseCaseModes.UseCaseModes.Normal;
|
|
17
17
|
var map = _useCaseContextReferenceMap.usecaseContextReferenceMap;
|
|
@@ -60,5 +60,4 @@ var useUseCaseContext = function useUseCaseContext(usecase) {
|
|
|
60
60
|
});
|
|
61
61
|
});
|
|
62
62
|
return context;
|
|
63
|
-
};
|
|
64
|
-
exports.useUseCaseContext = useUseCaseContext;
|
|
63
|
+
};
|
|
@@ -8,7 +8,7 @@ var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
|
8
8
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
9
9
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
10
10
|
var _ahooks = require("ahooks");
|
|
11
|
-
var useUseCaseStatuses = function useUseCaseStatuses(argumentTypes, mode, contextValue) {
|
|
11
|
+
var useUseCaseStatuses = exports.useUseCaseStatuses = function useUseCaseStatuses(argumentTypes, mode, contextValue) {
|
|
12
12
|
return (0, _ahooks.useCreation)(function () {
|
|
13
13
|
var statuses = _UseCaseStatuses.UseCaseStatuses.None;
|
|
14
14
|
var _ref = contextValue || {},
|
|
@@ -32,5 +32,4 @@ var useUseCaseStatuses = function useUseCaseStatuses(argumentTypes, mode, contex
|
|
|
32
32
|
}
|
|
33
33
|
return statuses;
|
|
34
34
|
}, [argumentTypes, contextValue, mode]);
|
|
35
|
-
};
|
|
36
|
-
exports.useUseCaseStatuses = useUseCaseStatuses;
|
|
35
|
+
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.cacheCall = void 0;
|
|
7
7
|
var _isSameArray = require("../isSameArray");
|
|
8
|
-
var cacheCall = function cacheCall(factory, options) {
|
|
8
|
+
var cacheCall = exports.cacheCall = function cacheCall(factory, options) {
|
|
9
9
|
var cache;
|
|
10
10
|
var _ref = options || {},
|
|
11
11
|
_ref$onShouldCache = _ref.onShouldCache,
|
|
@@ -38,5 +38,4 @@ var cacheCall = function cacheCall(factory, options) {
|
|
|
38
38
|
}
|
|
39
39
|
return returnValue;
|
|
40
40
|
};
|
|
41
|
-
};
|
|
42
|
-
exports.cacheCall = cacheCall;
|
|
41
|
+
};
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.cacheCalls = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _cacheCall = require("../cacheCall");
|
|
10
|
-
var cacheCalls = function cacheCalls(sourceFactories, options) {
|
|
10
|
+
var cacheCalls = exports.cacheCalls = function cacheCalls(sourceFactories, options) {
|
|
11
11
|
var cachedFactories = {};
|
|
12
12
|
Object.entries(sourceFactories).forEach(function (_ref) {
|
|
13
13
|
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
@@ -16,5 +16,4 @@ var cacheCalls = function cacheCalls(sourceFactories, options) {
|
|
|
16
16
|
cachedFactories[key] = (0, _cacheCall.cacheCall)(factory, options);
|
|
17
17
|
});
|
|
18
18
|
return cachedFactories;
|
|
19
|
-
};
|
|
20
|
-
exports.cacheCalls = cacheCalls;
|
|
19
|
+
};
|
|
@@ -8,7 +8,7 @@ exports.compareProperty = void 0;
|
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _hasField = require("../hasField");
|
|
11
|
-
var compareProperty = function compareProperty(from, to, fieldPath, callback) {
|
|
11
|
+
var compareProperty = exports.compareProperty = function compareProperty(from, to, fieldPath, callback) {
|
|
12
12
|
var fieldPathStack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
|
|
13
13
|
var undef = void 0;
|
|
14
14
|
var _ref = fieldPath.match(/^([^.]+)\.(.+)$/) || [],
|
|
@@ -46,5 +46,4 @@ var compareProperty = function compareProperty(from, to, fieldPath, callback) {
|
|
|
46
46
|
var toItem = toArray[i];
|
|
47
47
|
compareProperty(fromItem, toItem, fieldPath, callback, [].concat((0, _toConsumableArray2["default"])(fieldPathStack), ["".concat(i)]));
|
|
48
48
|
}
|
|
49
|
-
};
|
|
50
|
-
exports.compareProperty = compareProperty;
|
|
49
|
+
};
|
|
@@ -8,7 +8,7 @@ exports.fillArguments = void 0;
|
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
10
10
|
var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
11
|
-
var fillArguments = function fillArguments(args, argumentTypes) {
|
|
11
|
+
var fillArguments = exports.fillArguments = function fillArguments(args, argumentTypes) {
|
|
12
12
|
var _args = (0, _slicedToArray2["default"])(args, 5),
|
|
13
13
|
arg1 = _args[0],
|
|
14
14
|
arg2 = _args[1],
|
|
@@ -27,5 +27,4 @@ var fillArguments = function fillArguments(args, argumentTypes) {
|
|
|
27
27
|
return [null, arg1, arg2, arg3 || {}, arg4 || []];
|
|
28
28
|
}
|
|
29
29
|
return [null, arg1, _UseCaseModes.UseCaseModes.Normal, arg2 || {}, arg3 || []];
|
|
30
|
-
};
|
|
31
|
-
exports.fillArguments = fillArguments;
|
|
30
|
+
};
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getRenderingEntity = void 0;
|
|
7
7
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
8
|
-
var getRenderingEntity = function getRenderingEntity(statuses, entityState, rootEntity, contextEntity) {
|
|
8
|
+
var getRenderingEntity = exports.getRenderingEntity = function getRenderingEntity(statuses, entityState, rootEntity, contextEntity) {
|
|
9
9
|
if ((statuses & _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled) !== _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled) {
|
|
10
10
|
return contextEntity;
|
|
11
11
|
}
|
|
@@ -16,5 +16,4 @@ var getRenderingEntity = function getRenderingEntity(statuses, entityState, root
|
|
|
16
16
|
return rootEntity();
|
|
17
17
|
}
|
|
18
18
|
return rootEntity;
|
|
19
|
-
};
|
|
20
|
-
exports.getRenderingEntity = getRenderingEntity;
|
|
19
|
+
};
|
|
@@ -6,10 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.hasField = void 0;
|
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
-
var hasField = function hasField(data, field) {
|
|
9
|
+
var hasField = exports.hasField = function hasField(data, field) {
|
|
10
10
|
if ((0, _typeof2["default"])(data) !== 'object' || data === null) {
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
13
|
return Object.hasOwn(data, field);
|
|
14
|
-
};
|
|
15
|
-
exports.hasField = hasField;
|
|
14
|
+
};
|
|
@@ -9,9 +9,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _usecases = require("@mic-rexjs/usecases");
|
|
11
11
|
var _excluded = ["watch", "onChange", "options"];
|
|
12
|
-
function ownKeys(
|
|
13
|
-
function _objectSpread(
|
|
14
|
-
var initEntityReducers = function initEntityReducers(usecase, store, options) {
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
var initEntityReducers = exports.initEntityReducers = function initEntityReducers(usecase, store, options) {
|
|
15
15
|
var watch = options.watch,
|
|
16
16
|
onChange = options.onChange,
|
|
17
17
|
usecaseOptions = options.options,
|
|
@@ -21,5 +21,4 @@ var initEntityReducers = function initEntityReducers(usecase, store, options) {
|
|
|
21
21
|
return result;
|
|
22
22
|
}
|
|
23
23
|
}));
|
|
24
|
-
};
|
|
25
|
-
exports.initEntityReducers = initEntityReducers;
|
|
24
|
+
};
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isSameArray = void 0;
|
|
7
|
-
var isSameArray = function isSameArray(array1, array2) {
|
|
7
|
+
var isSameArray = exports.isSameArray = function isSameArray(array1, array2) {
|
|
8
8
|
var length1 = array1.length;
|
|
9
9
|
var length2 = array2.length;
|
|
10
10
|
if (length1 !== length2) {
|
|
@@ -17,5 +17,4 @@ var isSameArray = function isSameArray(array1, array2) {
|
|
|
17
17
|
return false;
|
|
18
18
|
}
|
|
19
19
|
return true;
|
|
20
|
-
};
|
|
21
|
-
exports.isSameArray = isSameArray;
|
|
20
|
+
};
|
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.triggerCallbacks = void 0;
|
|
7
|
-
var triggerCallbacks = function triggerCallbacks(callbacks, newEntity, oldEntity) {
|
|
7
|
+
var triggerCallbacks = exports.triggerCallbacks = function triggerCallbacks(callbacks, newEntity, oldEntity) {
|
|
8
8
|
for (var i = callbacks.length; i > 0; i--) {
|
|
9
9
|
callbacks[i - 1](newEntity, oldEntity);
|
|
10
10
|
}
|
|
11
|
-
};
|
|
12
|
-
exports.triggerCallbacks = triggerCallbacks;
|
|
11
|
+
};
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.triggerWatchers = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _compareProperty = require("../compareProperty");
|
|
10
|
-
var triggerWatchers = function triggerWatchers(watch, newEntity, oldEntity) {
|
|
10
|
+
var triggerWatchers = exports.triggerWatchers = function triggerWatchers(watch, newEntity, oldEntity) {
|
|
11
11
|
var _loop = function _loop() {
|
|
12
12
|
var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
|
|
13
13
|
fieldPath = _Object$entries$_i[0],
|
|
@@ -25,5 +25,4 @@ var triggerWatchers = function triggerWatchers(watch, newEntity, oldEntity) {
|
|
|
25
25
|
for (var _i = 0, _Object$entries = Object.entries(watch); _i < _Object$entries.length; _i++) {
|
|
26
26
|
_loop();
|
|
27
27
|
}
|
|
28
|
-
};
|
|
29
|
-
exports.triggerWatchers = triggerWatchers;
|
|
28
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.3",
|
|
4
4
|
"description": "React-based solution for use usecases of Clean Architecture",
|
|
5
5
|
"private": false,
|
|
6
6
|
"keywords": [
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@mic-rexjs/usecases": "^2.
|
|
36
|
+
"@mic-rexjs/usecases": "^2.3.3",
|
|
37
37
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
@@ -46,28 +46,28 @@
|
|
|
46
46
|
"@babel/core": "^7.22.8",
|
|
47
47
|
"@babel/preset-react": "^7.22.5",
|
|
48
48
|
"@babel/preset-typescript": "^7.22.5",
|
|
49
|
-
"@commitlint/cli": "^
|
|
50
|
-
"@commitlint/config-angular": "^
|
|
49
|
+
"@commitlint/cli": "^19.0.3",
|
|
50
|
+
"@commitlint/config-angular": "^19.0.3",
|
|
51
51
|
"@jest/globals": "^29.5.0",
|
|
52
|
-
"@mic-rexjs/usecases": "^2.
|
|
52
|
+
"@mic-rexjs/usecases": "^2.3.3",
|
|
53
53
|
"@testing-library/react": "^14.0.0",
|
|
54
54
|
"@types/node": "^20.4.2",
|
|
55
55
|
"@types/react": "^18.2.14",
|
|
56
56
|
"@types/react-dom": "^18.2.7",
|
|
57
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
58
|
-
"@typescript-eslint/parser": "^
|
|
57
|
+
"@typescript-eslint/eslint-plugin": "^7.1.1",
|
|
58
|
+
"@typescript-eslint/parser": "^7.1.1",
|
|
59
59
|
"babel-loader": "^9.1.3",
|
|
60
|
-
"copy-webpack-plugin": "^
|
|
60
|
+
"copy-webpack-plugin": "^12.0.2",
|
|
61
61
|
"eslint": "^8.42.0",
|
|
62
|
-
"eslint-config-prettier": "^
|
|
62
|
+
"eslint-config-prettier": "^9.1.0",
|
|
63
63
|
"eslint-plugin-jest": "^27.2.1",
|
|
64
|
-
"eslint-plugin-prettier": "^
|
|
64
|
+
"eslint-plugin-prettier": "^5.1.3",
|
|
65
65
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
66
|
-
"husky": "^
|
|
66
|
+
"husky": "^9.0.11",
|
|
67
67
|
"jest": "^29.5.0",
|
|
68
68
|
"jest-environment-jsdom": "^29.6.1",
|
|
69
|
-
"lint-staged": "^
|
|
70
|
-
"prettier": "^2.
|
|
69
|
+
"lint-staged": "^15.2.2",
|
|
70
|
+
"prettier": "^3.2.5",
|
|
71
71
|
"react": "^18.2.0",
|
|
72
72
|
"react-dom": "^18.2.0",
|
|
73
73
|
"rimraf": "^5.0.1",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"tsc-alias": "^1.8.7",
|
|
77
77
|
"typescript": "^5.1.5",
|
|
78
78
|
"webpack": "^5.74.0",
|
|
79
|
-
"webpack-cli": "^
|
|
79
|
+
"webpack-cli": "^5.1.4"
|
|
80
80
|
},
|
|
81
81
|
"lint-staged": {
|
|
82
82
|
"./**/*.{js,ts,tsx}": "eslint"
|