@mic-rexjs/usecases-react 2.8.1 → 2.9.0
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.d.ts +1 -1
- package/es/hooks/useEntity/index.js +7 -4
- package/es/hooks/useUseCase/index.js +1 -1
- package/es/hooks/useUseCase/index.test.js +35 -0
- package/es/hooks/useUseCase/types.d.ts +1 -1
- package/lib/hooks/useEntity/index.js +7 -3
- package/lib/hooks/useUseCase/index.js +1 -1
- package/lib/hooks/useUseCase/index.test.js +113 -66
- package/package.json +4 -3
package/dist/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see index.min.js.LICENSE.txt */
|
|
2
|
-
(()=>{var t={20:(t,e,n)=>{"use strict";var r=n(594),o=Symbol.for("react.element"),u=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};e.jsx=function(t,e,n){var r,c={},f=null,l=null;for(r in void 0!==n&&(f=""+n),void 0!==e.key&&(f=""+e.key),void 0!==e.ref&&(l=e.ref),e)u.call(e,r)&&!i.hasOwnProperty(r)&&(c[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps)void 0===c[r]&&(c[r]=e[r]);return{$$typeof:o,type:t,key:f,ref:l,props:c,_owner:a.current}}},848:(t,e,n)=>{"use strict";t.exports=n(20)},594:t=>{"use strict";t.exports=React}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var u=e[r]={exports:{}};return t[r](u,u.exports,n),u.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{UseCaseFragment:()=>x,useUseCase:()=>_});var t=n(848),e=n(594),o=n.n(e);function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function a(t,e){if(t){if("string"==typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(t,e):void 0}}function i(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||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.")}()}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,u,a,i=[],c=!0,f=!1;try{if(u=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=u.call(n)).done)&&(i.push(r.value),i.length!==e);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw o}}return i}}(t,e)||a(t,e)||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 f=ahooks;var l=function(t){return c((0,e.useState)((function(){return t})),1)[0]},s=function(t){return c((0,e.useState)(t),1)[0]};const y=usecases;var v,d;!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity"}(v||(v={})),function(t){t[t.None=0]="None",t[t.RootEnabled=2]="RootEnabled",t[t.ContextEnabled=4]="ContextEnabled",t[t.EntityEnabled=8]="EntityEnabled",t[t.ContextRootEnabled=6]="ContextRootEnabled",t[t.EntityRootEnabled=14]="EntityRootEnabled"}(d||(d={}));var b=(0,y.createUseCase)((function(){var t=new Map,n=(0,e.createContext)(null);return function(){return{createContextValue:function(t,e,n){return(n&d.EntityEnabled)===d.EntityEnabled?{store:t,reducers:e,statuses:n}:{reducers:e,statuses:n}},registerUseCase:function(r,o){if(t.has(r)){var u=t.get(r),a=u.value,i=u.times;return t.set(r,{value:a,times:i+1}),a}if((o&v.Entity)!==v.Entity)return n;var c=(0,e.createContext)(null);return t.set(r,{value:c,times:1}),c},unregisterUseCase:function(e,n){if((n&v.Entity)!==v.Entity)return!1;if(!t.has(e))return!1;var r=t.get(e),o=r.value,u=r.times;return 1===u?t.delete(e):t.set(e,{value:o,times:u-1}),!0}}}})),p=function(){return s((function(){return b()}))};function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function m(t){var e=function(t,e){if("object"!=E(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==E(e)?e:String(e)}var h=["watch","onChange","options"];function g(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function O(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?g(Object(n),!0).forEach((function(e){var r,o,u;r=t,o=e,u=n[e],(o=m(o))in r?Object.defineProperty(r,o,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[o]=u})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var w=function(t,e){var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0},j=function(t,e){var n,r=e||{},o=r.onShouldCache,u=void 0===o?function(){return!0}:o,a=r.onCompare,i=void 0===a?function(t,e){return w(t,e)}:a;return function(){for(var e=u(),r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(n&&e){var c=n,f=c.parameters,l=c.returnValue;if(i(f,o))return l}var s=t.apply(void 0,o);return e&&(n={parameters:o,returnValue:s}),s}},S=function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=(0,f.useLatest)(n),u=(0,f.useCreation)((function(){return j(o.current,{onCompare:function(){return!0}})}),[r,o]);return(0,f.useCreation)((function(){return(e&d.RootEnabled)!==d.RootEnabled&&t?t:u()}),[e,t,u])},C=function(t,e){return"object"===E(t)&&null!==t&&Object.hasOwn(t,e)},R=function t(e,n,r,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=void 0,f=c(r.match(/^([^.]+)\.(.+)$/)||[],3),l=f[1],s=void 0===l?r:l,y=f[2],v=void 0===y?"":y,d=C(e,s),b=C(n,s),p=[].concat(i(u),[s]);if(d||b){var E=d?e[s]:a,m=b?n[s]:a;if(v)return void t(E,m,v,o,p);if(E===m)return;o(E,m,p)}else if(!/^\d+^/.test(s))for(var h=Array.isArray(e)?e:[],g=Array.isArray(n)?n:[],O=h.length,w=g.length,j=Math.max(O,w),S=0;S<j;S++)t(h[S],g[S],r,o,[].concat(i(u),["".concat(S)]))},P=function(t,e,n){for(var r=function(){var t=c(u[o],2),r=t[0],a=t[1];R(n,e,r,(function(t,r,o){a({fieldPaths:o,newEntity:e,oldEntity:n,newValue:r,oldValue:t})}))},o=0,u=Object.entries(t);o<u.length;o++)r()},_=function(){for(var t,n=((t=(0,e.useRef)(!0)).current=!0,(0,e.useEffect)((function(){t.current=!1})),t),r=arguments.length,u=new Array(r),a=0;a<r;a++)u[a]=arguments[a];var b=function(t){return s((function(){var e=v.None;return"function"===E(c(t,2)[1])&&(e|=v.Entity),e}))}(u),m=function(t,e){var n=c(t,4),r=n[0],o=n[1],u=n[2],a=n[3];return(e&v.Entity)!==v.Entity?[null,r,o||{},u||[]]:[r,o,u||{},a||[]]}(u,b),g=c(m,4),C=g[0],R=g[1],_=g[2],x=g[3],A=l(R),U=A,M=A,N=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v.None,n=p(),r=n.registerUseCase,o=n.unregisterUseCase,u=s((function(){return r(t,e)}));return(0,f.useUnmount)((function(){o(t,e)})),u}(A,b),I=(0,e.useContext)(N),k=I,T=function(t,e){return(0,f.useCreation)((function(){var n=d.None,r=(e||{}).store;return(t&v.Entity)===v.Entity&&(n|=d.EntityRootEnabled),n|=e?d.ContextEnabled:d.RootEnabled,r&&(n|=d.EntityEnabled),n}),[t,e])}(b,I),L=(0,f.useLatest)(_),D=function(t){var n=(0,e.useRef)(0),r=(0,e.useRef)([]),o=r.current,u=w(t,o);return r.current=t,n.current+=u?0:1,n.current}(x),V=(I||{}).reducers,F=void 0===V?null:V,$=(k||{}).store,z=c(function(t,n,r,o){var u=(0,f.useUpdate)(),a=(0,f.useLatest)(o),i=r?r.value:null,c=(t&d.EntityEnabled)===d.EntityEnabled,l=(t&d.EntityRootEnabled)===d.EntityRootEnabled,s=S(r,t,(function(){if(!l)return new y.EntityStore(null);var t="function"==typeof n;return new y.EntityStore(t?n():n)})),v=function(t,n,r,o){var u=(0,e.useRef)(n);if((o&d.EntityRootEnabled)!==d.EntityRootEnabled)return r;var a="function"==typeof n,i=u.current;switch(!0){case a:case i===n:return t.value}return u.current=n,n}(s,n,i,t),b=(0,f.useMemoizedFn)((function(t,e){var n=a.current,r=n.onChange,o=n.watch;o&&P(o,t,e),null==r||r(t,e),l&&u()}));return l&&(s.value=v),(0,e.useEffect)((function(){if(c)return s.watch(b),function(){s.unwatch(b)}}),[c,s,b]),(0,f.useCreation)((function(){return[v,s]}),[v,s])}(T,C,void 0===$?null:$,_),2),B=z[0],G=z[1],W=S(F,T,(function(){var t,e,n,r=(t=_,e=function(t,e){var n,r;return null===(n=(r=L.current)[t])||void 0===n?void 0:n.call.apply(n,[r].concat(i(e)))},n={},Object.keys(t).forEach((function(r){var o=t[r];n[r]="function"!=typeof o?o:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e(r,n)}})),n);return(T&d.EntityEnabled)!==d.EntityEnabled?U(r):function(t,e,n){n.watch,n.onChange;var r=n.options,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},u=Object.keys(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,h);return(0,y.createEntityReducers)(e,t,O(O(O({},o),r),{},{onGenerate:function(t,e){return e}}))}(M,G,r)}),D),Y=function(t,n,r,u){var a=r.value,i=p().createContextValue,c=(0,e.useMemo)((function(){return i(r,u,t)}),[t,a,r,u,i]),s=(0,f.useLatest)(c);return l((function(t){var e=t.children,r=t.with,u=void 0===r?[]:r,a=n.Provider,i=s.current;return o().createElement(a,{value:i},u.reduceRight((function(t,e){return o().createElement(e,{},t)}),e))}))}(T,N,G,W);return(0,f.useCreation)((function(){if((T&d.EntityEnabled)!==d.EntityEnabled)return W;var t=(T&d.RootEnabled)===d.RootEnabled,e=function(t,e){var n={};return Object.entries(t).forEach((function(t){var r=c(t,2),o=r[0],u=r[1];n[o]=j(u,e)})),n}(W,{onShouldCache:function(){return n.current}});return t?[B,e,Y]:[B,e]}),[T,B,W,Y,n])},x=function(n){var r=n.usecase,o=n.watch,u=n.onChange;return _(r,{watch:o,onChange:u}),(0,t.jsx)(e.Fragment,{})}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var u in r)o[u]=r[u];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
|
|
2
|
+
(()=>{var t={20:(t,e,n)=>{"use strict";var r=n(594),o=Symbol.for("react.element"),u=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),a=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};e.jsx=function(t,e,n){var r,c={},l=null,f=null;for(r in void 0!==n&&(l=""+n),void 0!==e.key&&(l=""+e.key),void 0!==e.ref&&(f=e.ref),e)u.call(e,r)&&!i.hasOwnProperty(r)&&(c[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps)void 0===c[r]&&(c[r]=e[r]);return{$$typeof:o,type:t,key:l,ref:f,props:c,_owner:a.current}}},848:(t,e,n)=>{"use strict";t.exports=n(20)},594:t=>{"use strict";t.exports=React}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var u=e[r]={exports:{}};return t[r](u,u.exports,n),u.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};(()=>{"use strict";n.r(r),n.d(r,{UseCaseFragment:()=>x,useUseCase:()=>_});var t=n(848),e=n(594),o=n.n(e);function u(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function a(t,e){if(t){if("string"==typeof t)return u(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(t,e):void 0}}function i(t){return function(t){if(Array.isArray(t))return u(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||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.")}()}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,u,a,i=[],c=!0,l=!1;try{if(u=(n=n.call(t)).next,0===e){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=u.call(n)).done)&&(i.push(r.value),i.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(l)throw o}}return i}}(t,e)||a(t,e)||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 f=function(t){return c((0,e.useState)((function(){return t})),1)[0]},s=function(t){return c((0,e.useState)(t),1)[0]};const y=usecases;var v,d;!function(t){t[t.None=0]="None",t[t.Entity=2]="Entity"}(v||(v={})),function(t){t[t.None=0]="None",t[t.RootEnabled=2]="RootEnabled",t[t.ContextEnabled=4]="ContextEnabled",t[t.EntityEnabled=8]="EntityEnabled",t[t.ContextRootEnabled=6]="ContextRootEnabled",t[t.EntityRootEnabled=14]="EntityRootEnabled"}(d||(d={}));var b=(0,y.createUseCase)((function(){var t=new Map,n=(0,e.createContext)(null);return function(){return{createContextValue:function(t,e,n){return(n&d.EntityEnabled)===d.EntityEnabled?{store:t,reducers:e,statuses:n}:{reducers:e,statuses:n}},registerUseCase:function(r,o){if(t.has(r)){var u=t.get(r),a=u.value,i=u.times;return t.set(r,{value:a,times:i+1}),a}if((o&v.Entity)!==v.Entity)return n;var c=(0,e.createContext)(null);return t.set(r,{value:c,times:1}),c},unregisterUseCase:function(e,n){if((n&v.Entity)!==v.Entity)return!1;if(!t.has(e))return!1;var r=t.get(e),o=r.value,u=r.times;return 1===u?t.delete(e):t.set(e,{value:o,times:u-1}),!0}}}})),p=function(){return s((function(){return b()}))};function E(t){return E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},E(t)}function m(t){var e=function(t,e){if("object"!=E(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!=E(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==E(e)?e:String(e)}var h=["watch","onChange","options"];function g(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function O(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?g(Object(n),!0).forEach((function(e){var r,o,u;r=t,o=e,u=n[e],(o=m(o))in r?Object.defineProperty(r,o,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[o]=u})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var w=function(t,e){var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0},j=function(t,e){var n,r=e||{},o=r.onShouldCache,u=void 0===o?function(){return!0}:o,a=r.onCompare,i=void 0===a?function(t,e){return w(t,e)}:a;return function(){for(var e=u(),r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(n&&e){var c=n,l=c.parameters,f=c.returnValue;if(i(l,o))return f}var s=t.apply(void 0,o);return e&&(n={parameters:o,returnValue:s}),s}},S=function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=(0,l.useLatest)(n),u=(0,l.useCreation)((function(){return j(o.current,{onCompare:function(){return!0}})}),[r,o]);return(0,l.useCreation)((function(){return(e&d.RootEnabled)!==d.RootEnabled&&t?t:u()}),[e,t,u])},C=function(t,e){return"object"===E(t)&&null!==t&&Object.hasOwn(t,e)},R=function t(e,n,r,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],a=void 0,l=c(r.match(/^([^.]+)\.(.+)$/)||[],3),f=l[1],s=void 0===f?r:f,y=l[2],v=void 0===y?"":y,d=C(e,s),b=C(n,s),p=[].concat(i(u),[s]);if(d||b){var E=d?e[s]:a,m=b?n[s]:a;if(v)return void t(E,m,v,o,p);if(E===m)return;o(E,m,p)}else if(!/^\d+^/.test(s))for(var h=Array.isArray(e)?e:[],g=Array.isArray(n)?n:[],O=h.length,w=g.length,j=Math.max(O,w),S=0;S<j;S++)t(h[S],g[S],r,o,[].concat(i(u),["".concat(S)]))},P=function(t,e,n){for(var r=function(){var t=c(u[o],2),r=t[0],a=t[1];R(n,e,r,(function(t,r,o){a({fieldPaths:o,newEntity:e,oldEntity:n,newValue:r,oldValue:t})}))},o=0,u=Object.entries(t);o<u.length;o++)r()},_=function(){for(var t,n=((t=(0,e.useRef)(!0)).current=!0,(0,e.useEffect)((function(){t.current=!1})),t),r=arguments.length,u=new Array(r),a=0;a<r;a++)u[a]=arguments[a];var b=function(t){return s((function(){var e=v.None;return"function"===E(c(t,2)[1])&&(e|=v.Entity),e}))}(u),m=function(t,e){var n=c(t,4),r=n[0],o=n[1],u=n[2],a=n[3];return(e&v.Entity)!==v.Entity?[null,r,o||{},u||[]]:[r,o,u||{},a||[]]}(u,b),g=c(m,4),C=g[0],R=g[1],_=g[2],x=g[3],A=f(R),U=A,M=A,N=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v.None,n=p(),r=n.registerUseCase,o=n.unregisterUseCase,u=s((function(){return r(t,e)}));return(0,l.useUnmount)((function(){o(t,e)})),u}(A,b),I=(0,e.useContext)(N),k=I,T=function(t,e){return(0,l.useCreation)((function(){var n=d.None,r=(e||{}).store;return(t&v.Entity)===v.Entity&&(n|=d.EntityRootEnabled),n|=e?d.ContextEnabled:d.RootEnabled,r&&(n|=d.EntityEnabled),n}),[t,e])}(b,I),L=(0,l.useLatest)(_),D=function(t){var n=(0,e.useRef)(0),r=(0,e.useRef)([]),o=r.current,u=w(t,o);return r.current=t,n.current+=u?0:1,n.current}(x),V=(I||{}).reducers,F=void 0===V?null:V,$=(k||{}).store,z=c(function(t,n,r,o,u){var a=(0,l.useUpdate)(),i=(0,e.useRef)(),c=(0,l.useLatest)(o),f=r?r.value:null,s=(t&d.EntityEnabled)===d.EntityEnabled,v=(t&d.EntityRootEnabled)===d.EntityRootEnabled,b=S(r,t,(function(){var t;if(!v)return new y.EntityStore(null);var e="function"==typeof n?n(null===(t=i.current)||void 0===t?void 0:t.value):n;return new y.EntityStore(e)}),u),p=function(t,n,r,o){var u=(0,e.useRef)(n);if((o&d.EntityRootEnabled)!==d.EntityRootEnabled)return r;var a="function"==typeof n,i=u.current;switch(!0){case a:case i===n:return t.value}return u.current=n,n}(b,n,f,t),E=(0,l.useMemoizedFn)((function(t,e){var n=c.current,r=n.onChange,o=n.watch;o&&P(o,t,e),null==r||r(t,e),v&&a()}));return i.current=b,v&&(b.value=p),(0,e.useEffect)((function(){if(s)return b.watch(E),function(){b.unwatch(E)}}),[s,b,E]),(0,l.useCreation)((function(){return[p,b]}),[p,b])}(T,C,void 0===$?null:$,_,D),2),B=z[0],G=z[1],W=S(F,T,(function(){var t,e,n,r=(t=_,e=function(t,e){var n,r;return null===(n=(r=L.current)[t])||void 0===n?void 0:n.call.apply(n,[r].concat(i(e)))},n={},Object.keys(t).forEach((function(r){var o=t[r];n[r]="function"!=typeof o?o:function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return e(r,n)}})),n);return(T&d.EntityEnabled)!==d.EntityEnabled?U(r):function(t,e,n){n.watch,n.onChange;var r=n.options,o=function(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},u=Object.keys(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(r=0;r<u.length;r++)n=u[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}(n,h);return(0,y.createEntityReducers)(e,t,O(O(O({},o),r),{},{onGenerate:function(t,e){return e}}))}(M,G,r)}),D),Y=function(t,n,r,u){var a=r.value,i=p().createContextValue,c=(0,e.useMemo)((function(){return i(r,u,t)}),[t,a,r,u,i]),s=(0,l.useLatest)(c);return f((function(t){var e=t.children,r=t.with,u=void 0===r?[]:r,a=n.Provider,i=s.current;return o().createElement(a,{value:i},u.reduceRight((function(t,e){return o().createElement(e,{},t)}),e))}))}(T,N,G,W);return(0,l.useCreation)((function(){if((T&d.EntityEnabled)!==d.EntityEnabled)return W;var t=(T&d.RootEnabled)===d.RootEnabled,e=function(t,e){var n={};return Object.entries(t).forEach((function(t){var r=c(t,2),o=r[0],u=r[1];n[o]=j(u,e)})),n}(W,{onShouldCache:function(){return n.current}});return t?[B,e,Y]:[B,e]}),[T,B,W,Y,n])},x=function(n){var r=n.usecase,o=n.watch,u=n.onChange;return _(r,{watch:o,onChange:u}),(0,t.jsx)(e.Fragment,{})}})();var o=usecases="undefined"==typeof usecases?{}:usecases;for(var u in r)o[u]=r[u];r.__esModule&&Object.defineProperty(o,"__esModule",{value:!0})})();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { EntityStore } from '@mic-rexjs/usecases';
|
|
2
2
|
import { Statuses } from '../../enums/Statuses';
|
|
3
3
|
import { EntityGetter, UseCaseHookOptions } from '../useUseCase/types';
|
|
4
|
-
export declare const useEntity: <T, TUseCaseOptions extends object, TOptions extends UseCaseHookOptions<T, TUseCaseOptions> = UseCaseHookOptions<T, TUseCaseOptions>>(statuses: Statuses, entityArg: T | EntityGetter<T>, contextStore: EntityStore<T> | null, options: TOptions) => [entity: T, store: EntityStore<T>];
|
|
4
|
+
export declare const useEntity: <T, TUseCaseOptions extends object, TOptions extends UseCaseHookOptions<T, TUseCaseOptions> = UseCaseHookOptions<T, TUseCaseOptions>>(statuses: Statuses, entityArg: T | EntityGetter<T>, contextStore: EntityStore<T> | null, options: TOptions, depsKey: number) => [entity: T, store: EntityStore<T>];
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
2
|
import { EntityStore } from '@mic-rexjs/usecases';
|
|
3
3
|
import { Statuses } from '../../enums/Statuses';
|
|
4
4
|
import { useContextualItem } from '../useContextualItem';
|
|
5
5
|
import { useCreation, useLatest, useMemoizedFn, useUpdate } from 'ahooks';
|
|
6
6
|
import { triggerWatchers } from '../../methods/triggerWatchers';
|
|
7
7
|
import { useRuntimeEntity } from '../useRuntimeEntity';
|
|
8
|
-
export const useEntity = (statuses, entityArg, contextStore, options) => {
|
|
8
|
+
export const useEntity = (statuses, entityArg, contextStore, options, depsKey) => {
|
|
9
9
|
const update = useUpdate();
|
|
10
|
+
const storeRef = useRef();
|
|
10
11
|
const optionsRef = useLatest(options);
|
|
11
12
|
const contextEntity = (contextStore ? contextStore.value : null);
|
|
12
13
|
const entityEnabled = (statuses & Statuses.EntityEnabled) === Statuses.EntityEnabled;
|
|
@@ -16,8 +17,9 @@ export const useEntity = (statuses, entityArg, contextStore, options) => {
|
|
|
16
17
|
return new EntityStore(null);
|
|
17
18
|
}
|
|
18
19
|
const isFunction = typeof entityArg === 'function';
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
const initailEntity = isFunction ? entityArg(storeRef.current?.value) : entityArg;
|
|
21
|
+
return new EntityStore(initailEntity);
|
|
22
|
+
}, depsKey);
|
|
21
23
|
const runtimeEntity = useRuntimeEntity(store, entityArg, contextEntity, statuses);
|
|
22
24
|
const onEntityChange = useMemoizedFn((newEntity, oldEntity) => {
|
|
23
25
|
const { onChange, watch } = optionsRef.current;
|
|
@@ -30,6 +32,7 @@ export const useEntity = (statuses, entityArg, contextStore, options) => {
|
|
|
30
32
|
}
|
|
31
33
|
update();
|
|
32
34
|
});
|
|
35
|
+
storeRef.current = store;
|
|
33
36
|
if (entityRootEnabled) {
|
|
34
37
|
// 执行同步操作
|
|
35
38
|
store.value = runtimeEntity;
|
|
@@ -30,7 +30,7 @@ export const useUseCase = ((...args) => {
|
|
|
30
30
|
const depsKey = useCompareDeps(deps);
|
|
31
31
|
const { reducers: contextReducers = null } = contextValue || {};
|
|
32
32
|
const { store: contextStore = null } = entityContextValue || {};
|
|
33
|
-
const [entity, store] = useEntity(statuses, unsafeEntity, contextStore, options);
|
|
33
|
+
const [entity, store] = useEntity(statuses, unsafeEntity, contextStore, options, depsKey);
|
|
34
34
|
const reducers = useContextualItem(contextReducers, statuses, () => {
|
|
35
35
|
const opts = captureCalls(options, (key, callArgs) => {
|
|
36
36
|
return optionsRef.current[key]?.(...callArgs);
|
|
@@ -179,6 +179,41 @@ describe('useUseCase', () => {
|
|
|
179
179
|
});
|
|
180
180
|
expect(result.current[0]).toEqual({ ...defaultFile, path: PATH_2 });
|
|
181
181
|
});
|
|
182
|
+
test('Should support entity getter', () => {
|
|
183
|
+
const file = defaultFile;
|
|
184
|
+
const { result } = renderHook(() => {
|
|
185
|
+
return useUseCase(() => {
|
|
186
|
+
return file;
|
|
187
|
+
}, fileUseCase);
|
|
188
|
+
});
|
|
189
|
+
const { current: [currentFile], } = result;
|
|
190
|
+
expect(currentFile).toEqual(file);
|
|
191
|
+
});
|
|
192
|
+
test('Entity getter should provide the first argument with current entity when deps has change.', () => {
|
|
193
|
+
let entityArg;
|
|
194
|
+
const file = defaultFile;
|
|
195
|
+
const { result } = renderHook(() => {
|
|
196
|
+
return useUseCase((entity = file) => {
|
|
197
|
+
const { path } = entity;
|
|
198
|
+
entityArg = entity;
|
|
199
|
+
return {
|
|
200
|
+
...entity,
|
|
201
|
+
path: path + '1',
|
|
202
|
+
};
|
|
203
|
+
}, fileUseCase, {}, [Date.now()]);
|
|
204
|
+
});
|
|
205
|
+
const { current: collection1 } = result;
|
|
206
|
+
const [currentFile1, { setPath }] = collection1;
|
|
207
|
+
expect(entityArg).toEqual(defaultFile);
|
|
208
|
+
expect(currentFile1).toEqual({ ...defaultFile, path: '1' });
|
|
209
|
+
act(() => {
|
|
210
|
+
setPath('2');
|
|
211
|
+
});
|
|
212
|
+
const { current: collection2 } = result;
|
|
213
|
+
const [currentFile2] = collection2;
|
|
214
|
+
expect(entityArg).toEqual({ ...defaultFile, path: '2' });
|
|
215
|
+
expect(currentFile2).toEqual({ ...defaultFile, path: '21' });
|
|
216
|
+
});
|
|
182
217
|
test('`reducers` should be returned as an object', () => {
|
|
183
218
|
const { result } = renderHook(() => {
|
|
184
219
|
return useUseCase(defaultFile, fileUseCase);
|
|
@@ -16,7 +16,7 @@ export type ContextualCoreCollection<T, TEntityReducers extends EntityReducerMap
|
|
|
16
16
|
];
|
|
17
17
|
export type CoreCollection<T, TEntityReducers extends EntityReducerMap<T>> = RootCoreCollection<T, TEntityReducers> | ContextualCoreCollection<T, TEntityReducers>;
|
|
18
18
|
export interface EntityGetter<T> {
|
|
19
|
-
(): T;
|
|
19
|
+
(entity?: T): T;
|
|
20
20
|
}
|
|
21
21
|
export interface EntityWatchEvent<T, TValue = unknown> {
|
|
22
22
|
fieldPaths: string[];
|
|
@@ -11,19 +11,22 @@ var _useContextualItem = require("../useContextualItem");
|
|
|
11
11
|
var _ahooks = require("ahooks");
|
|
12
12
|
var _triggerWatchers = require("../../methods/triggerWatchers");
|
|
13
13
|
var _useRuntimeEntity = require("../useRuntimeEntity");
|
|
14
|
-
var useEntity = exports.useEntity = function useEntity(statuses, entityArg, contextStore, options) {
|
|
14
|
+
var useEntity = exports.useEntity = function useEntity(statuses, entityArg, contextStore, options, depsKey) {
|
|
15
15
|
var update = (0, _ahooks.useUpdate)();
|
|
16
|
+
var storeRef = (0, _react.useRef)();
|
|
16
17
|
var optionsRef = (0, _ahooks.useLatest)(options);
|
|
17
18
|
var contextEntity = contextStore ? contextStore.value : null;
|
|
18
19
|
var entityEnabled = (statuses & _Statuses.Statuses.EntityEnabled) === _Statuses.Statuses.EntityEnabled;
|
|
19
20
|
var entityRootEnabled = (statuses & _Statuses.Statuses.EntityRootEnabled) === _Statuses.Statuses.EntityRootEnabled;
|
|
20
21
|
var store = (0, _useContextualItem.useContextualItem)(contextStore, statuses, function () {
|
|
22
|
+
var _storeRef$current;
|
|
21
23
|
if (!entityRootEnabled) {
|
|
22
24
|
return new _usecases.EntityStore(null);
|
|
23
25
|
}
|
|
24
26
|
var isFunction = typeof entityArg === 'function';
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
var initailEntity = isFunction ? entityArg((_storeRef$current = storeRef.current) === null || _storeRef$current === void 0 ? void 0 : _storeRef$current.value) : entityArg;
|
|
28
|
+
return new _usecases.EntityStore(initailEntity);
|
|
29
|
+
}, depsKey);
|
|
27
30
|
var runtimeEntity = (0, _useRuntimeEntity.useRuntimeEntity)(store, entityArg, contextEntity, statuses);
|
|
28
31
|
var onEntityChange = (0, _ahooks.useMemoizedFn)(function (newEntity, oldEntity) {
|
|
29
32
|
var _optionsRef$current = optionsRef.current,
|
|
@@ -38,6 +41,7 @@ var useEntity = exports.useEntity = function useEntity(statuses, entityArg, cont
|
|
|
38
41
|
}
|
|
39
42
|
update();
|
|
40
43
|
});
|
|
44
|
+
storeRef.current = store;
|
|
41
45
|
if (entityRootEnabled) {
|
|
42
46
|
// 执行同步操作
|
|
43
47
|
store.value = runtimeEntity;
|
|
@@ -50,7 +50,7 @@ var useUseCase = exports.useUseCase = function useUseCase() {
|
|
|
50
50
|
var _ref2 = entityContextValue || {},
|
|
51
51
|
_ref2$store = _ref2.store,
|
|
52
52
|
contextStore = _ref2$store === void 0 ? null : _ref2$store;
|
|
53
|
-
var _useEntity = (0, _useEntity3.useEntity)(statuses, unsafeEntity, contextStore, options),
|
|
53
|
+
var _useEntity = (0, _useEntity3.useEntity)(statuses, unsafeEntity, contextStore, options, depsKey),
|
|
54
54
|
_useEntity2 = (0, _slicedToArray2["default"])(_useEntity, 2),
|
|
55
55
|
entity = _useEntity2[0],
|
|
56
56
|
store = _useEntity2[1];
|
|
@@ -322,21 +322,68 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
322
322
|
path: PATH_2
|
|
323
323
|
}));
|
|
324
324
|
});
|
|
325
|
-
(0, _globals.test)('
|
|
325
|
+
(0, _globals.test)('Should support entity getter', function () {
|
|
326
|
+
var file = defaultFile;
|
|
326
327
|
var _renderHook6 = (0, _react.renderHook)(function () {
|
|
327
|
-
return (0, _.useUseCase)(
|
|
328
|
+
return (0, _.useUseCase)(function () {
|
|
329
|
+
return file;
|
|
330
|
+
}, fileUseCase);
|
|
328
331
|
}),
|
|
329
332
|
result = _renderHook6.result;
|
|
333
|
+
var _result$current = (0, _slicedToArray2["default"])(result.current, 1),
|
|
334
|
+
currentFile = _result$current[0];
|
|
335
|
+
(0, _globals.expect)(currentFile).toEqual(file);
|
|
336
|
+
});
|
|
337
|
+
(0, _globals.test)('Entity getter should provide the first argument with current entity when deps has change.', function () {
|
|
338
|
+
var entityArg;
|
|
339
|
+
var file = defaultFile;
|
|
340
|
+
var _renderHook7 = (0, _react.renderHook)(function () {
|
|
341
|
+
return (0, _.useUseCase)(function () {
|
|
342
|
+
var entity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
|
|
343
|
+
var path = entity.path;
|
|
344
|
+
entityArg = entity;
|
|
345
|
+
return _objectSpread(_objectSpread({}, entity), {}, {
|
|
346
|
+
path: path + '1'
|
|
347
|
+
});
|
|
348
|
+
}, fileUseCase, {}, [Date.now()]);
|
|
349
|
+
}),
|
|
350
|
+
result = _renderHook7.result;
|
|
351
|
+
var collection1 = result.current;
|
|
352
|
+
var _collection3 = (0, _slicedToArray2["default"])(collection1, 2),
|
|
353
|
+
currentFile1 = _collection3[0],
|
|
354
|
+
setPath = _collection3[1].setPath;
|
|
355
|
+
(0, _globals.expect)(entityArg).toEqual(defaultFile);
|
|
356
|
+
(0, _globals.expect)(currentFile1).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
357
|
+
path: '1'
|
|
358
|
+
}));
|
|
359
|
+
(0, _react.act)(function () {
|
|
360
|
+
setPath('2');
|
|
361
|
+
});
|
|
362
|
+
var collection2 = result.current;
|
|
363
|
+
var _collection4 = (0, _slicedToArray2["default"])(collection2, 1),
|
|
364
|
+
currentFile2 = _collection4[0];
|
|
365
|
+
(0, _globals.expect)(entityArg).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
366
|
+
path: '2'
|
|
367
|
+
}));
|
|
368
|
+
(0, _globals.expect)(currentFile2).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
369
|
+
path: '21'
|
|
370
|
+
}));
|
|
371
|
+
});
|
|
372
|
+
(0, _globals.test)('`reducers` should be returned as an object', function () {
|
|
373
|
+
var _renderHook8 = (0, _react.renderHook)(function () {
|
|
374
|
+
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
375
|
+
}),
|
|
376
|
+
result = _renderHook8.result;
|
|
330
377
|
var cores = result.current;
|
|
331
378
|
var _cores2 = (0, _slicedToArray2["default"])(cores, 2),
|
|
332
379
|
reducers = _cores2[1];
|
|
333
380
|
(0, _globals.expect)((0, _typeof2["default"])(reducers)).toBe('object');
|
|
334
381
|
});
|
|
335
382
|
(0, _globals.test)('`Provider` should be returned as a function', function () {
|
|
336
|
-
var
|
|
383
|
+
var _renderHook9 = (0, _react.renderHook)(function () {
|
|
337
384
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
338
385
|
}),
|
|
339
|
-
result =
|
|
386
|
+
result = _renderHook9.result;
|
|
340
387
|
var cores = result.current;
|
|
341
388
|
var _cores3 = (0, _slicedToArray2["default"])(cores, 3),
|
|
342
389
|
Provider = _cores3[2];
|
|
@@ -344,11 +391,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
344
391
|
});
|
|
345
392
|
(0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
|
|
346
393
|
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
347
|
-
var
|
|
394
|
+
var _renderHook10 = (0, _react.renderHook)(function () {
|
|
348
395
|
return (0, _.useUseCase)(defaultFile, mockUseCase);
|
|
349
396
|
}),
|
|
350
|
-
result =
|
|
351
|
-
rerender =
|
|
397
|
+
result = _renderHook10.result,
|
|
398
|
+
rerender = _renderHook10.rerender;
|
|
352
399
|
var cores = result.current;
|
|
353
400
|
var _cores4 = (0, _slicedToArray2["default"])(cores, 2),
|
|
354
401
|
setEntity = _cores4[1].setEntity;
|
|
@@ -361,11 +408,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
361
408
|
});
|
|
362
409
|
(0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
|
|
363
410
|
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
364
|
-
var
|
|
411
|
+
var _renderHook11 = (0, _react.renderHook)(function () {
|
|
365
412
|
return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [1, 'x']);
|
|
366
413
|
}),
|
|
367
|
-
result =
|
|
368
|
-
rerender =
|
|
414
|
+
result = _renderHook11.result,
|
|
415
|
+
rerender = _renderHook11.rerender;
|
|
369
416
|
var cores = result.current;
|
|
370
417
|
var _cores5 = (0, _slicedToArray2["default"])(cores, 2),
|
|
371
418
|
setEntity = _cores5[1].setEntity;
|
|
@@ -379,11 +426,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
379
426
|
(0, _globals.test)('`usecase` should be called if deps has changed', function () {
|
|
380
427
|
var i = 0;
|
|
381
428
|
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
382
|
-
var
|
|
429
|
+
var _renderHook12 = (0, _react.renderHook)(function () {
|
|
383
430
|
return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [i++, 'x']);
|
|
384
431
|
}),
|
|
385
|
-
result =
|
|
386
|
-
rerender =
|
|
432
|
+
result = _renderHook12.result,
|
|
433
|
+
rerender = _renderHook12.rerender;
|
|
387
434
|
var cores = result.current;
|
|
388
435
|
var _cores6 = (0, _slicedToArray2["default"])(cores, 2),
|
|
389
436
|
setEntity = _cores6[1].setEntity;
|
|
@@ -398,7 +445,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
398
445
|
(0, _globals.test)('after call non-generator reducer, it should not trigger update', function () {
|
|
399
446
|
var onUpdate = _globals.jest.fn();
|
|
400
447
|
var onDeepUpdate = _globals.jest.fn();
|
|
401
|
-
var
|
|
448
|
+
var _renderHook13 = (0, _react.renderHook)(function () {
|
|
402
449
|
var context = (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
403
450
|
var _context4 = (0, _slicedToArray2["default"])(context, 2),
|
|
404
451
|
reducers = _context4[1];
|
|
@@ -418,7 +465,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
418
465
|
update();
|
|
419
466
|
};
|
|
420
467
|
}),
|
|
421
|
-
result =
|
|
468
|
+
result = _renderHook13.result;
|
|
422
469
|
(0, _react.act)(function () {
|
|
423
470
|
result.current();
|
|
424
471
|
});
|
|
@@ -432,13 +479,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
432
479
|
});
|
|
433
480
|
(0, _globals.test)('after `yield entity`, it should trigger update', function () {
|
|
434
481
|
var onUpdate = _globals.jest.fn();
|
|
435
|
-
var
|
|
482
|
+
var _renderHook14 = (0, _react.renderHook)(function () {
|
|
436
483
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
437
484
|
onUpdate();
|
|
438
485
|
});
|
|
439
486
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
440
487
|
}),
|
|
441
|
-
result =
|
|
488
|
+
result = _renderHook14.result;
|
|
442
489
|
var cores = result.current;
|
|
443
490
|
var _cores7 = (0, _slicedToArray2["default"])(cores, 2),
|
|
444
491
|
entity = _cores7[0],
|
|
@@ -463,17 +510,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
463
510
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
464
511
|
});
|
|
465
512
|
(0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
466
|
-
var onUpdate,
|
|
513
|
+
var onUpdate, _renderHook15, result, cores, _cores8, entity, reducers, readFile, promise;
|
|
467
514
|
return _regenerator["default"].wrap(function _callee3$(_context5) {
|
|
468
515
|
while (1) switch (_context5.prev = _context5.next) {
|
|
469
516
|
case 0:
|
|
470
517
|
onUpdate = _globals.jest.fn();
|
|
471
|
-
|
|
518
|
+
_renderHook15 = (0, _react.renderHook)(function () {
|
|
472
519
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
473
520
|
onUpdate();
|
|
474
521
|
});
|
|
475
522
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
476
|
-
}), result =
|
|
523
|
+
}), result = _renderHook15.result;
|
|
477
524
|
cores = result.current;
|
|
478
525
|
_cores8 = (0, _slicedToArray2["default"])(cores, 2), entity = _cores8[0], reducers = _cores8[1];
|
|
479
526
|
readFile = reducers.readFile;
|
|
@@ -501,13 +548,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
501
548
|
})));
|
|
502
549
|
(0, _globals.test)('after `yield entity` callbacks, it should trigger update', function () {
|
|
503
550
|
var onUpdate = _globals.jest.fn();
|
|
504
|
-
var
|
|
551
|
+
var _renderHook16 = (0, _react.renderHook)(function () {
|
|
505
552
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
506
553
|
onUpdate();
|
|
507
554
|
});
|
|
508
555
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
509
556
|
}),
|
|
510
|
-
result =
|
|
557
|
+
result = _renderHook16.result;
|
|
511
558
|
var cores = result.current;
|
|
512
559
|
var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
|
|
513
560
|
reducers = _cores9[1];
|
|
@@ -644,12 +691,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
644
691
|
});
|
|
645
692
|
(0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
|
|
646
693
|
var onChange = _globals.jest.fn();
|
|
647
|
-
var
|
|
694
|
+
var _renderHook17 = (0, _react.renderHook)(function () {
|
|
648
695
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
649
696
|
onChange: onChange
|
|
650
697
|
});
|
|
651
698
|
}),
|
|
652
|
-
result =
|
|
699
|
+
result = _renderHook17.result;
|
|
653
700
|
var cores = result.current;
|
|
654
701
|
var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
|
|
655
702
|
reducers = _cores10[1];
|
|
@@ -668,12 +715,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
668
715
|
var onChange1 = _globals.jest.fn();
|
|
669
716
|
var onChange2 = _globals.jest.fn();
|
|
670
717
|
var onChange = onChange1;
|
|
671
|
-
var
|
|
718
|
+
var _renderHook18 = (0, _react.renderHook)(function () {
|
|
672
719
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
673
720
|
onChange: onChange
|
|
674
721
|
}, []);
|
|
675
722
|
}),
|
|
676
|
-
result =
|
|
723
|
+
result = _renderHook18.result;
|
|
677
724
|
var cores = result.current;
|
|
678
725
|
var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
|
|
679
726
|
reducers = _cores11[1];
|
|
@@ -703,7 +750,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
703
750
|
}));
|
|
704
751
|
});
|
|
705
752
|
(0, _globals.test)('`options.options` should override rest options', function () {
|
|
706
|
-
var
|
|
753
|
+
var _renderHook19 = (0, _react.renderHook)(function () {
|
|
707
754
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
708
755
|
pathPrefix: 'xyz/',
|
|
709
756
|
options: {
|
|
@@ -711,7 +758,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
711
758
|
}
|
|
712
759
|
});
|
|
713
760
|
}),
|
|
714
|
-
result =
|
|
761
|
+
result = _renderHook19.result;
|
|
715
762
|
var cores = result.current;
|
|
716
763
|
var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
|
|
717
764
|
path = _cores12[0].path,
|
|
@@ -726,7 +773,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
726
773
|
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
727
774
|
var onUpdate = _globals.jest.fn();
|
|
728
775
|
var onDeepUpdate = _globals.jest.fn();
|
|
729
|
-
var
|
|
776
|
+
var _renderHook20 = (0, _react.renderHook)(function () {
|
|
730
777
|
var _useState = (0, _react2.useState)('user/'),
|
|
731
778
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
732
779
|
pathPrefix = _useState2[0],
|
|
@@ -742,7 +789,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
742
789
|
}, [context]);
|
|
743
790
|
return setPathPrefix;
|
|
744
791
|
}),
|
|
745
|
-
result =
|
|
792
|
+
result = _renderHook20.result;
|
|
746
793
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
747
794
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
748
795
|
(0, _react.act)(function () {
|
|
@@ -754,7 +801,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
754
801
|
(0, _globals.test)('when `deps` has changed, it should trigger update', function () {
|
|
755
802
|
var onUpdate = _globals.jest.fn();
|
|
756
803
|
var onDeepUpdate = _globals.jest.fn();
|
|
757
|
-
var
|
|
804
|
+
var _renderHook21 = (0, _react.renderHook)(function () {
|
|
758
805
|
var _useState3 = (0, _react2.useState)('user/'),
|
|
759
806
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
760
807
|
pathPrefix = _useState4[0],
|
|
@@ -770,7 +817,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
770
817
|
}, [context]);
|
|
771
818
|
return setPathPrefix;
|
|
772
819
|
}),
|
|
773
|
-
result =
|
|
820
|
+
result = _renderHook21.result;
|
|
774
821
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
775
822
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
776
823
|
(0, _react.act)(function () {
|
|
@@ -782,7 +829,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
782
829
|
(0, _globals.test)('empty `deps` should not trigger update', function () {
|
|
783
830
|
var onUpdate = _globals.jest.fn();
|
|
784
831
|
var onDeepUpdate = _globals.jest.fn();
|
|
785
|
-
var
|
|
832
|
+
var _renderHook22 = (0, _react.renderHook)(function () {
|
|
786
833
|
var _useState5 = (0, _react2.useState)('user/'),
|
|
787
834
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
788
835
|
pathPrefix = _useState6[0],
|
|
@@ -798,7 +845,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
798
845
|
}, [context]);
|
|
799
846
|
return setPathPrefix;
|
|
800
847
|
}),
|
|
801
|
-
result =
|
|
848
|
+
result = _renderHook22.result;
|
|
802
849
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
803
850
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
804
851
|
(0, _react.act)(function () {
|
|
@@ -811,12 +858,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
811
858
|
var onPathChange1 = _globals.jest.fn();
|
|
812
859
|
var onPathChange2 = _globals.jest.fn();
|
|
813
860
|
var onPathChange = onPathChange1;
|
|
814
|
-
var
|
|
861
|
+
var _renderHook23 = (0, _react.renderHook)(function () {
|
|
815
862
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
816
863
|
onPathChange: onPathChange
|
|
817
864
|
});
|
|
818
865
|
}),
|
|
819
|
-
result =
|
|
866
|
+
result = _renderHook23.result;
|
|
820
867
|
var context = result.current;
|
|
821
868
|
var _context6 = (0, _slicedToArray2["default"])(context, 2),
|
|
822
869
|
setPath = _context6[1].setPath;
|
|
@@ -837,7 +884,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
837
884
|
(0, _globals.test)('`options.watch` should be trigger after entity changed', function () {
|
|
838
885
|
var onPathChange = _globals.jest.fn();
|
|
839
886
|
var onSizeChange = _globals.jest.fn();
|
|
840
|
-
var
|
|
887
|
+
var _renderHook24 = (0, _react.renderHook)(function () {
|
|
841
888
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
842
889
|
watch: {
|
|
843
890
|
path: onPathChange,
|
|
@@ -845,7 +892,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
845
892
|
}
|
|
846
893
|
});
|
|
847
894
|
}),
|
|
848
|
-
result =
|
|
895
|
+
result = _renderHook24.result;
|
|
849
896
|
var cores = result.current;
|
|
850
897
|
var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
|
|
851
898
|
setPath = _cores13[1].setPath;
|
|
@@ -870,14 +917,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
870
917
|
var onPathChange1 = _globals.jest.fn();
|
|
871
918
|
var onPathChange2 = _globals.jest.fn();
|
|
872
919
|
var onPathChange = onPathChange1;
|
|
873
|
-
var
|
|
920
|
+
var _renderHook25 = (0, _react.renderHook)(function () {
|
|
874
921
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
875
922
|
watch: {
|
|
876
923
|
path: onPathChange
|
|
877
924
|
}
|
|
878
925
|
});
|
|
879
926
|
}),
|
|
880
|
-
result =
|
|
927
|
+
result = _renderHook25.result;
|
|
881
928
|
var cores = result.current;
|
|
882
929
|
var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
|
|
883
930
|
_cores14$ = _cores14[1],
|
|
@@ -925,7 +972,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
925
972
|
var initialData = {};
|
|
926
973
|
var onExtChange = _globals.jest.fn();
|
|
927
974
|
var onSizeChange = _globals.jest.fn();
|
|
928
|
-
var
|
|
975
|
+
var _renderHook26 = (0, _react.renderHook)(function () {
|
|
929
976
|
return (0, _.useUseCase)(initialData, fieldPathUseCase, {
|
|
930
977
|
watch: {
|
|
931
978
|
'list.ext': onExtChange,
|
|
@@ -933,7 +980,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
933
980
|
}
|
|
934
981
|
});
|
|
935
982
|
}),
|
|
936
|
-
result =
|
|
983
|
+
result = _renderHook26.result;
|
|
937
984
|
var cores = result.current;
|
|
938
985
|
var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
|
|
939
986
|
setEntity = _cores15[1].setEntity;
|
|
@@ -1221,7 +1268,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1221
1268
|
var lengthUseCase = function lengthUseCase() {
|
|
1222
1269
|
return (0, _usecases.entityUseCase)();
|
|
1223
1270
|
};
|
|
1224
|
-
var
|
|
1271
|
+
var _renderHook27 = (0, _react.renderHook)(function () {
|
|
1225
1272
|
return (0, _.useUseCase)([], lengthUseCase, {
|
|
1226
1273
|
watch: {
|
|
1227
1274
|
length: onEntityLengthChange,
|
|
@@ -1229,7 +1276,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1229
1276
|
}
|
|
1230
1277
|
});
|
|
1231
1278
|
}),
|
|
1232
|
-
result =
|
|
1279
|
+
result = _renderHook27.result;
|
|
1233
1280
|
var cores = result.current;
|
|
1234
1281
|
var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1235
1282
|
setEntity = _cores16[1].setEntity;
|
|
@@ -1264,14 +1311,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1264
1311
|
(0, _globals.test)('`options.watch` should work with field path of nested array', function () {
|
|
1265
1312
|
var initialData = {};
|
|
1266
1313
|
var onChange = _globals.jest.fn();
|
|
1267
|
-
var
|
|
1314
|
+
var _renderHook28 = (0, _react.renderHook)(function () {
|
|
1268
1315
|
return (0, _.useUseCase)(initialData, fieldPathUseCase, {
|
|
1269
1316
|
watch: {
|
|
1270
1317
|
'nestedList.size': onChange
|
|
1271
1318
|
}
|
|
1272
1319
|
});
|
|
1273
1320
|
}),
|
|
1274
|
-
result =
|
|
1321
|
+
result = _renderHook28.result;
|
|
1275
1322
|
var cores = result.current;
|
|
1276
1323
|
var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1277
1324
|
setEntity = _cores17[1].setEntity;
|
|
@@ -1359,7 +1406,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1359
1406
|
var initialData = {};
|
|
1360
1407
|
var onExtChange = _globals.jest.fn();
|
|
1361
1408
|
var onSizeChange = _globals.jest.fn();
|
|
1362
|
-
var
|
|
1409
|
+
var _renderHook29 = (0, _react.renderHook)(function () {
|
|
1363
1410
|
return (0, _.useUseCase)(initialData, fieldPathUseCase, {
|
|
1364
1411
|
watch: {
|
|
1365
1412
|
'obj.file.ext': onExtChange,
|
|
@@ -1367,7 +1414,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1367
1414
|
}
|
|
1368
1415
|
});
|
|
1369
1416
|
}),
|
|
1370
|
-
result =
|
|
1417
|
+
result = _renderHook29.result;
|
|
1371
1418
|
var cores = result.current;
|
|
1372
1419
|
var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1373
1420
|
setEntity = _cores18[1].setEntity;
|
|
@@ -1921,38 +1968,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1921
1968
|
});
|
|
1922
1969
|
(0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
|
|
1923
1970
|
(0, _globals.test)('`entity` should equal `defaultFile`', function () {
|
|
1924
|
-
var
|
|
1971
|
+
var _renderHook30 = (0, _react.renderHook)(function () {
|
|
1925
1972
|
return (0, _.useUseCase)(mathUseCase);
|
|
1926
1973
|
}),
|
|
1927
|
-
result =
|
|
1974
|
+
result = _renderHook30.result;
|
|
1928
1975
|
var reducers = result.current;
|
|
1929
1976
|
(0, _globals.expect)(Array.isArray(reducers)).toBe(false);
|
|
1930
1977
|
});
|
|
1931
1978
|
(0, _globals.test)('returned reducer should work', function () {
|
|
1932
|
-
var
|
|
1979
|
+
var _renderHook31 = (0, _react.renderHook)(function () {
|
|
1933
1980
|
return (0, _.useUseCase)(mathUseCase);
|
|
1934
1981
|
}),
|
|
1935
|
-
result =
|
|
1982
|
+
result = _renderHook31.result;
|
|
1936
1983
|
var reducers = result.current;
|
|
1937
1984
|
var add = reducers.add;
|
|
1938
1985
|
(0, _globals.expect)(add(1, 2)).toBe(3);
|
|
1939
1986
|
});
|
|
1940
1987
|
(0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
|
|
1941
1988
|
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1942
|
-
var
|
|
1989
|
+
var _renderHook32 = (0, _react.renderHook)(function () {
|
|
1943
1990
|
return (0, _.useUseCase)(mockUseCase);
|
|
1944
1991
|
}),
|
|
1945
|
-
rerender =
|
|
1992
|
+
rerender = _renderHook32.rerender;
|
|
1946
1993
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1947
1994
|
rerender();
|
|
1948
1995
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1949
1996
|
});
|
|
1950
1997
|
(0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
|
|
1951
1998
|
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1952
|
-
var
|
|
1999
|
+
var _renderHook33 = (0, _react.renderHook)(function () {
|
|
1953
2000
|
return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
|
|
1954
2001
|
}),
|
|
1955
|
-
rerender =
|
|
2002
|
+
rerender = _renderHook33.rerender;
|
|
1956
2003
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1957
2004
|
rerender();
|
|
1958
2005
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
@@ -1960,10 +2007,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1960
2007
|
(0, _globals.test)('`usecase` should be called if deps has changed', function () {
|
|
1961
2008
|
var i = 0;
|
|
1962
2009
|
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1963
|
-
var
|
|
2010
|
+
var _renderHook34 = (0, _react.renderHook)(function () {
|
|
1964
2011
|
return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
|
|
1965
2012
|
}),
|
|
1966
|
-
rerender =
|
|
2013
|
+
rerender = _renderHook34.rerender;
|
|
1967
2014
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1968
2015
|
rerender();
|
|
1969
2016
|
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
|
|
@@ -2047,12 +2094,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2047
2094
|
(0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
|
|
2048
2095
|
});
|
|
2049
2096
|
(0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
|
|
2050
|
-
var
|
|
2097
|
+
var _renderHook35 = (0, _react.renderHook)(function () {
|
|
2051
2098
|
return (0, _.useUseCase)(mathUseCase, {
|
|
2052
2099
|
extraValue: 5
|
|
2053
2100
|
});
|
|
2054
2101
|
}),
|
|
2055
|
-
result =
|
|
2102
|
+
result = _renderHook35.result;
|
|
2056
2103
|
var reducers = result.current;
|
|
2057
2104
|
var add = reducers.add;
|
|
2058
2105
|
(0, _globals.expect)(add(1, 2)).toBe(8);
|
|
@@ -2060,7 +2107,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2060
2107
|
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
2061
2108
|
var onUpdate = _globals.jest.fn();
|
|
2062
2109
|
var onDeepUpdate = _globals.jest.fn();
|
|
2063
|
-
var
|
|
2110
|
+
var _renderHook36 = (0, _react.renderHook)(function () {
|
|
2064
2111
|
var _useState7 = (0, _react2.useState)(0),
|
|
2065
2112
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
2066
2113
|
extraValue = _useState8[0],
|
|
@@ -2076,7 +2123,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2076
2123
|
}, [reducers]);
|
|
2077
2124
|
return setExtraValue;
|
|
2078
2125
|
}),
|
|
2079
|
-
result =
|
|
2126
|
+
result = _renderHook36.result;
|
|
2080
2127
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
2081
2128
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2082
2129
|
(0, _react.act)(function () {
|
|
@@ -2088,7 +2135,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2088
2135
|
(0, _globals.test)('when `deps` change, it should update reducers', function () {
|
|
2089
2136
|
var onUpdate = _globals.jest.fn();
|
|
2090
2137
|
var onDeepUpdate = _globals.jest.fn();
|
|
2091
|
-
var
|
|
2138
|
+
var _renderHook37 = (0, _react.renderHook)(function () {
|
|
2092
2139
|
var _useState9 = (0, _react2.useState)(0),
|
|
2093
2140
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
2094
2141
|
extraValue = _useState10[0],
|
|
@@ -2104,7 +2151,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2104
2151
|
}, [reducers]);
|
|
2105
2152
|
return setExtraValue;
|
|
2106
2153
|
}),
|
|
2107
|
-
result =
|
|
2154
|
+
result = _renderHook37.result;
|
|
2108
2155
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
2109
2156
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2110
2157
|
(0, _react.act)(function () {
|
|
@@ -2116,7 +2163,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2116
2163
|
(0, _globals.test)('empty `deps` should not update reducers', function () {
|
|
2117
2164
|
var onUpdate = _globals.jest.fn();
|
|
2118
2165
|
var onDeepUpdate = _globals.jest.fn();
|
|
2119
|
-
var
|
|
2166
|
+
var _renderHook38 = (0, _react.renderHook)(function () {
|
|
2120
2167
|
var _useState11 = (0, _react2.useState)(0),
|
|
2121
2168
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
2122
2169
|
extraValue = _useState12[0],
|
|
@@ -2132,7 +2179,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
2132
2179
|
}, [reducers]);
|
|
2133
2180
|
return setExtraValue;
|
|
2134
2181
|
}),
|
|
2135
|
-
result =
|
|
2182
|
+
result = _renderHook38.result;
|
|
2136
2183
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
2137
2184
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
2138
2185
|
(0, _react.act)(function () {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "React-based solution for use usecases of Clean Architecture",
|
|
5
5
|
"private": false,
|
|
6
6
|
"sideEffects": false,
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
],
|
|
15
15
|
"scripts": {},
|
|
16
16
|
"main": "lib/index.js",
|
|
17
|
+
"module": "es/index.js",
|
|
17
18
|
"typings": "es/index.d.ts",
|
|
18
19
|
"unpkg": "dist/index.min.js",
|
|
19
20
|
"files": [
|
|
@@ -34,7 +35,7 @@
|
|
|
34
35
|
},
|
|
35
36
|
"license": "MIT",
|
|
36
37
|
"peerDependencies": {
|
|
37
|
-
"@mic-rexjs/usecases": "^2.12.
|
|
38
|
+
"@mic-rexjs/usecases": "^2.12.5",
|
|
38
39
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
"@commitlint/cli": "^19.0.3",
|
|
51
52
|
"@commitlint/config-angular": "^19.0.3",
|
|
52
53
|
"@jest/globals": "^29.5.0",
|
|
53
|
-
"@mic-rexjs/usecases": "^2.12.
|
|
54
|
+
"@mic-rexjs/usecases": "^2.12.5",
|
|
54
55
|
"@testing-library/react": "^14.0.0",
|
|
55
56
|
"@types/node": "^20.4.2",
|
|
56
57
|
"@types/react": "^18.2.14",
|