@mic-rexjs/usecases-react 1.6.0 → 1.6.1

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 CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see index.min.js.LICENSE.txt */
2
- !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("react"),require("ahooks"),require("@mic-rexjs/usecases"));else if("function"==typeof define&&define.amd)define(["react","ahooks","@mic-rexjs/usecases"],r);else{var t="object"==typeof exports?r(require("react"),require("ahooks"),require("@mic-rexjs/usecases")):r(e.react,e.ahooks,e["@mic-rexjs/usecases"]);for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,((e,r,t)=>(()=>{"use strict";var n={251:(e,r,t)=>{var n=t(156),o=Symbol.for("react.element"),u=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};r.jsx=function(e,r,t){var n,c={},f=null,s=null;for(n in void 0!==t&&(f=""+t),void 0!==r.key&&(f=""+r.key),void 0!==r.ref&&(s=r.ref),r)u.call(r,n)&&!a.hasOwnProperty(n)&&(c[n]=r[n]);if(e&&e.defaultProps)for(n in r=e.defaultProps)void 0===c[n]&&(c[n]=r[n]);return{$$typeof:o,type:e,key:f,ref:s,props:c,_owner:i.current}}},893:(e,r,t)=>{e.exports=t(251)},112:e=>{e.exports=t},749:e=>{e.exports=r},156:r=>{r.exports=e}},o={};function u(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,u),t.exports}u.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return u.d(r,{a:r}),r},u.d=(e,r)=>{for(var t in r)u.o(r,t)&&!u.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},u.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),u.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{u.r(i),u.d(i,{UseCaseFragment:()=>C,useUseCase:()=>x});var e=u(893),r=u(156),t=u.n(r);function n(e){return n="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},n(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}function c(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,u,i,a=[],c=!0,f=!1;try{if(u=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=u.call(t)).done)&&(a.push(n.value),a.length!==r);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(e,r)||a(e,r)||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 f=u(749),s=function(e){return c((0,r.useState)(e),1)[0]},l=function(e,r){var t=e.length;if(t!==r.length)return!1;for(var n=0;n<t;n++)if(e[n]!==r[n])return!1;return!0};function y(e,r,t){return(r=function(e){var r=function(e,r){if("object"!==n(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===n(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var p=u(112),v=["stateless","watch","onChange","options"];function b(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?b(Object(t),!0).forEach((function(r){y(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var m=function(e,r){var t=e.indexOf(r);-1!==t&&e.splice(t,1)};function h(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(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 O=function(e,r){return"object"===n(e)&&null!==e&&Object.hasOwn(e,r)},g=function e(r,t,n,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],i=void 0,a=c(n.match(/^([^.]+)\.(.+)$/)||[],3),f=a[1],s=void 0===f?n:f,l=a[2],y=void 0===l?"":l,p=O(r,s),v=O(t,s),b=[].concat(h(u),[s]);if(p||v){var d=p?r[s]:i,m=v?t[s]:i;if(y)return void e(d,m,y,o,b);if(d===m)return;o(d,m,b)}else if(!/^\d+^/.test(s))for(var g=Array.isArray(r)?r:[],j=Array.isArray(t)?t:[],S=g.length,w=j.length,x=Math.max(S,w),C=0;C<x;C++)e(g[C],j[C],n,o,[].concat(h(u),["".concat(C)]))},j=function(e,r,t){for(var n=function(){var e=c(u[o],2),n=e[0],i=e[1];g(t,r,n,(function(e,n,o){i({fieldPaths:o,newEntity:r,oldEntity:t,newValue:n,oldValue:e})}))},o=0,u=Object.entries(e);o<u.length;o++)n()},S=new Map,w=(0,r.createContext)({}),x=function(e,o,u,i){var a,y,b,h,O,g,x,C=s("function"==typeof o),P=(C?u:o)||{},_=P.stateless,E=c((0,r.useState)(C&&!_?e:null),2),A=E[0],R=E[1],k=(b=(C?i:u)||[],h=(0,r.useRef)(0),O=(0,r.useRef)([]),g=O.current,x=l(b,g),O.current=b,h.current+=x?0:1,h.current),I=((a=(0,r.useRef)(!0)).current=!0,(0,r.useEffect)((function(){a.current=!1})),a),M=(y=C?o:e,c((0,r.useState)((function(){return y})),1)[0]),T=M,U=function(e,t){return s((function(){var n=S;if(n.has(e))return n.get(e);if(t)return t;var o=(0,r.createContext)({});return n.set(e,o),o}))}(T,C?null:w),q=(0,r.useContext)(U),D=q.entity,F=q.reducers,L=q.optionsRefCollection,V="object"===n(L),$=C||V,z=function(e,r,t){var n=(0,f.useLatest)(t),o=(0,f.useCreation)((function(){return e?[]:r}),[r,e]),u=(0,f.usePrevious)(o);return(0,f.useCreation)((function(){u&&m(u,n),o.push(n)}),[n,o,u]),(0,f.useUnmount)((function(){m(o,n)})),o}(C||!V,L||null,P),N=(0,f.useCreation)((function(){return C?function(e,r,t){return t?"function"==typeof r?r():r:e}(A,e,_):D}),[C,D,_,A,e]),B=(0,f.useMemoizedFn)((function(e,r){_||R(e),function(e,r,t){for(var n=e.length;n>0;n--){var o=e[n-1].current;if(o){var u=o.onChange,i=o.watch;i&&j(i,r,t),null==u||u(r,t)}}}(z,e,r)})),G=(0,f.useMemoizedFn)((function(){var e={},r={};return C?r=function(e,r,t,n){var o=(0,p.entityReducerUseCase)().createEntityReducers,u=(t.stateless,t.watch,t.onChange,t.options);return o(e,r,d(d(d({},function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},u=Object.keys(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(t,v)),u),{},{onChange:n,onGenerate:function(e,r){return r}}))}(N,T,P,B):F?r=F:e=M(P),[e,r]})),W=C?N:F,Y=c((0,f.useCreation)((function(){return G()}),[G,k,W]),2),H=Y[0],J=Y[1],K=function(e,r,n,o){var u=(0,f.useCreation)((function(){return{entity:r,reducers:n,optionsRefCollection:o}}),[r,n,o]),i=(0,f.useLatest)(u);return s((function(){return function(r){var n=r.children,o=e.Provider;return t().createElement(o,{value:i.current},n)}}))}(U,N,J,z),Q=(0,f.useMemoizedFn)((function(e){return function(e,r){for(var t={},n={},o=function(){var e=c(i[u],2),r=e[0],o=e[1];n[r]=function(){for(var e=t[r],n=I.current,u=arguments.length,i=new Array(u),a=0;a<u;a++)i[a]=arguments[a];if(e&&n){var c=e.parameters,f=e.returnValue;if(l(c,i))return f}var s=o.apply(void 0,i);return n&&(t[r]={parameters:i,returnValue:s}),s}},u=0,i=Object.entries(e);u<i.length;u++)o();return n}(e)})),X=(0,f.useCreation)((function(){return[N,Q(J),C?K:null]}),[C,N,J,K,Q]);return(0,f.useCreation)((function(){return $?X:Q(H)}),[$,H,X,Q])},C=function(t){var n=t.usecase,o=t.watch,u=t.onChange;return x(n,{watch:o,onChange:u}),(0,e.jsx)(r.Fragment,{})}})(),i})()));
2
+ !function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("react"),require("ahooks"),require("@mic-rexjs/usecases"));else if("function"==typeof define&&define.amd)define(["react","ahooks","@mic-rexjs/usecases"],r);else{var t="object"==typeof exports?r(require("react"),require("ahooks"),require("@mic-rexjs/usecases")):r(e.react,e.ahooks,e["@mic-rexjs/usecases"]);for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(this,((e,r,t)=>(()=>{"use strict";var n={251:(e,r,t)=>{var n=t(156),o=Symbol.for("react.element"),u=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};r.jsx=function(e,r,t){var n,c={},f=null,s=null;for(n in void 0!==t&&(f=""+t),void 0!==r.key&&(f=""+r.key),void 0!==r.ref&&(s=r.ref),r)u.call(r,n)&&!a.hasOwnProperty(n)&&(c[n]=r[n]);if(e&&e.defaultProps)for(n in r=e.defaultProps)void 0===c[n]&&(c[n]=r[n]);return{$$typeof:o,type:e,key:f,ref:s,props:c,_owner:i.current}}},893:(e,r,t)=>{e.exports=t(251)},112:e=>{e.exports=t},749:e=>{e.exports=r},156:r=>{r.exports=e}},o={};function u(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={exports:{}};return n[e](t,t.exports,u),t.exports}u.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return u.d(r,{a:r}),r},u.d=(e,r)=>{for(var t in r)u.o(r,t)&&!u.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},u.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),u.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{u.r(i),u.d(i,{UseCaseFragment:()=>C,useUseCase:()=>P});var e=u(893),r=u(156),t=u.n(r);function n(e){return n="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},n(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function a(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}function c(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,u,i,a=[],c=!0,f=!1;try{if(u=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;c=!1}else for(;!(c=(n=u.call(t)).done)&&(a.push(n.value),a.length!==r);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return a}}(e,r)||a(e,r)||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 f=u(749),s=function(e){return c((0,r.useState)(e),1)[0]},l=function(e,r){var t=e.length;if(t!==r.length)return!1;for(var n=0;n<t;n++)if(e[n]!==r[n])return!1;return!0};function y(e,r,t){return(r=function(e){var r=function(e,r){if("object"!==n(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var o=t.call(e,"string");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===n(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var p=u(112),v=["stateless","watch","onChange","options"];function b(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?b(Object(t),!0).forEach((function(r){y(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):b(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var m=function(e,r){var t=e.indexOf(r);-1!==t&&e.splice(t,1)};function h(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(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 O=function(e,r){return"object"===n(e)&&null!==e&&Object.hasOwn(e,r)},g=function e(r,t,n,o){var u=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],i=void 0,a=c(n.match(/^([^.]+)\.(.+)$/)||[],3),f=a[1],s=void 0===f?n:f,l=a[2],y=void 0===l?"":l,p=O(r,s),v=O(t,s),b=[].concat(h(u),[s]);if(p||v){var d=p?r[s]:i,m=v?t[s]:i;if(y)return void e(d,m,y,o,b);if(d===m)return;o(d,m,b)}else if(!/^\d+^/.test(s))for(var g=Array.isArray(r)?r:[],j=Array.isArray(t)?t:[],S=g.length,w=j.length,x=Math.max(S,w),P=0;P<x;P++)e(g[P],j[P],n,o,[].concat(h(u),["".concat(P)]))},j=function(e,r,t){for(var n=function(){var e=c(u[o],2),n=e[0],i=e[1];g(t,r,n,(function(e,n,o){i({fieldPaths:o,newEntity:r,oldEntity:t,newValue:n,oldValue:e})}))},o=0,u=Object.entries(e);o<u.length;o++)n()},S=new Map,w=(0,r.createContext)({}),x=function(e,r){for(var t={},n={},o=function(){var e=c(i[u],2),o=e[0],a=e[1];n[o]=function(){for(var e=t[o],n=r(),u=arguments.length,i=new Array(u),c=0;c<u;c++)i[c]=arguments[c];if(e&&n){var f=e.parameters,s=e.returnValue;if(l(f,i))return s}var y=a.apply(void 0,i);return n&&(t[o]={parameters:i,returnValue:y}),y}},u=0,i=Object.entries(e);u<i.length;u++)o();return n},P=function(e,o,u,i){var a,y,b,h,O,g,P,C=s("function"==typeof o),_=(C?u:o)||{},E=_.stateless,A=c((0,r.useState)(C&&!E?e:null),2),R=A[0],k=A[1],I=(b=(C?i:u)||[],h=(0,r.useRef)(0),O=(0,r.useRef)([]),g=O.current,P=l(b,g),O.current=b,h.current+=P?0:1,h.current),M=((a=(0,r.useRef)(!0)).current=!0,(0,r.useEffect)((function(){a.current=!1})),a),T=(y=C?o:e,c((0,r.useState)((function(){return y})),1)[0]),U=T,q=function(e,t){return s((function(){var n=S;if(n.has(e))return n.get(e);if(t)return t;var o=(0,r.createContext)({});return n.set(e,o),o}))}(U,C?null:w),D=(0,r.useContext)(q),F=D.entity,L=D.reducers,V=D.optionsRefCollection,$="object"===n(V),z=C||$,N=function(e,r,t){var n=(0,f.useLatest)(t),o=(0,f.useCreation)((function(){return e?[]:r}),[r,e]),u=(0,f.usePrevious)(o);return(0,f.useCreation)((function(){u&&m(u,n),o.push(n)}),[n,o,u]),(0,f.useUnmount)((function(){m(o,n)})),o}(C||!$,V||null,_),B=(0,f.useCreation)((function(){return C?function(e,r,t){return t?"function"==typeof r?r():r:e}(R,e,E):F}),[C,F,E,R,e]),G=(0,f.useMemoizedFn)((function(e,r){E||k(e),function(e,r,t){for(var n=e.length;n>0;n--){var o=e[n-1].current;if(o){var u=o.onChange,i=o.watch;i&&j(i,r,t),null==u||u(r,t)}}}(N,e,r)})),W=(0,f.useMemoizedFn)((function(){var e={},r={};return C?r=function(e,r,t,n){var o=(0,p.entityReducerUseCase)().createEntityReducers,u=(t.stateless,t.watch,t.onChange,t.options);return o(e,r,d(d(d({},function(e,r){if(null==e)return{};var t,n,o=function(e,r){if(null==e)return{};var t,n,o={},u=Object.keys(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(e);for(n=0;n<u.length;n++)t=u[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(t,v)),u),{},{onChange:n,onGenerate:function(e,r){return r}}))}(B,U,_,G):L?r=L:e=T(_),[e,r]})),Y=C?B:L,H=c((0,f.useCreation)((function(){return W()}),[W,I,Y]),2),J=H[0],K=H[1],Q=function(e,r,n,o){var u=(0,f.useCreation)((function(){return{entity:r,reducers:n,optionsRefCollection:o}}),[r,n,o]),i=(0,f.useLatest)(u);return s((function(){return function(r){var n=r.children,o=e.Provider;return t().createElement(o,{value:i.current},n)}}))}(q,B,K,N),X=(0,f.useMemoizedFn)((function(e,r){return[e,x(r,(function(){return M.current})),C?Q:null]}));return(0,f.useCreation)((function(){return z?X(B,K):J}),[z,B,K,J,X])},C=function(t){var n=t.usecase,o=t.watch,u=t.onChange;return P(n,{watch:o,onChange:u}),(0,e.jsx)(r.Fragment,{})}})(),i})()));
@@ -69,18 +69,19 @@ export const useUseCase = (arg1, arg2, arg3, arg4) => {
69
69
  return createReducers();
70
70
  }, [createReducers, depsKey, createReducersDep]);
71
71
  const Provider = useProvider(context, entity, entityReducers, optionsRefCollection);
72
- const enableCache = useMemoizedFn((cacheableReducers) => {
73
- return cacheReducerCalls(cacheableReducers, () => {
74
- return isRenderingRef.current;
75
- });
72
+ const createCoreCollection = useMemoizedFn((coreEntity, coreReducers) => {
73
+ return [
74
+ coreEntity,
75
+ cacheReducerCalls(coreReducers, () => {
76
+ return isRenderingRef.current;
77
+ }),
78
+ hasInitialEntity ? Provider : null,
79
+ ];
76
80
  });
77
- const coreCollection = useCreation(() => {
78
- return [entity, enableCache(entityReducers), hasInitialEntity ? Provider : null];
79
- }, [hasInitialEntity, entity, entityReducers, Provider, enableCache]);
80
81
  return useCreation(() => {
81
82
  if (isContextMode) {
82
- return coreCollection;
83
+ return createCoreCollection(entity, entityReducers);
83
84
  }
84
- return enableCache(reducers);
85
- }, [isContextMode, reducers, coreCollection, enableCache]);
85
+ return reducers;
86
+ }, [isContextMode, entity, entityReducers, reducers, createCoreCollection]);
86
87
  };
@@ -1077,7 +1077,7 @@ describe('useUseCase', () => {
1077
1077
  const { add } = reducers;
1078
1078
  expect(add(1, 2)).toBe(3);
1079
1079
  });
1080
- test('reducer call should be cached if component is at rendering phase', () => {
1080
+ test('reducer call should not be cached if component is at rendering phase', () => {
1081
1081
  const buttonText = 'button';
1082
1082
  const CacheTestComponent = () => {
1083
1083
  const { subtraction } = useUseCase(mathUseCase);
@@ -1093,7 +1093,9 @@ describe('useUseCase', () => {
1093
1093
  expect(subtractionReducer).toHaveBeenCalledWith(5, 3);
1094
1094
  expect(subtractionReducer).toHaveReturnedWith(2);
1095
1095
  fireEvent.click(screen.getByText(buttonText));
1096
- expect(subtractionReducer).toHaveBeenCalledTimes(1);
1096
+ expect(subtractionReducer).toHaveBeenCalledTimes(2);
1097
+ fireEvent.click(screen.getByText(buttonText));
1098
+ expect(subtractionReducer).toHaveBeenCalledTimes(3);
1097
1099
  });
1098
1100
  test('reducer call should not be cached if component is not at rendering phase', () => {
1099
1101
  const buttonText = 'button';
@@ -83,19 +83,16 @@ var useUseCase = function useUseCase(arg1, arg2, arg3, arg4) {
83
83
  reducers = _useCreation2[0],
84
84
  entityReducers = _useCreation2[1];
85
85
  var Provider = (0, _useProvider.useProvider)(context, entity, entityReducers, optionsRefCollection);
86
- var enableCache = (0, _ahooks.useMemoizedFn)(function (cacheableReducers) {
87
- return (0, _cacheReducerCalls.cacheReducerCalls)(cacheableReducers, function () {
86
+ var createCoreCollection = (0, _ahooks.useMemoizedFn)(function (coreEntity, coreReducers) {
87
+ return [coreEntity, (0, _cacheReducerCalls.cacheReducerCalls)(coreReducers, function () {
88
88
  return isRenderingRef.current;
89
- });
89
+ }), hasInitialEntity ? Provider : null];
90
90
  });
91
- var coreCollection = (0, _ahooks.useCreation)(function () {
92
- return [entity, enableCache(entityReducers), hasInitialEntity ? Provider : null];
93
- }, [hasInitialEntity, entity, entityReducers, Provider, enableCache]);
94
91
  return (0, _ahooks.useCreation)(function () {
95
92
  if (isContextMode) {
96
- return coreCollection;
93
+ return createCoreCollection(entity, entityReducers);
97
94
  }
98
- return enableCache(reducers);
99
- }, [isContextMode, reducers, coreCollection, enableCache]);
95
+ return reducers;
96
+ }, [isContextMode, entity, entityReducers, reducers, createCoreCollection]);
100
97
  };
101
98
  exports.useUseCase = useUseCase;
@@ -1431,7 +1431,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1431
1431
  var add = reducers.add;
1432
1432
  (0, _globals.expect)(add(1, 2)).toBe(3);
1433
1433
  });
1434
- (0, _globals.test)('reducer call should be cached if component is at rendering phase', function () {
1434
+ (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
1435
1435
  var buttonText = 'button';
1436
1436
  var CacheTestComponent = function CacheTestComponent() {
1437
1437
  var _useUseCase16 = (0, _.useUseCase)(mathUseCase),
@@ -1451,7 +1451,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1451
1451
  (0, _globals.expect)(subtractionReducer).toHaveBeenCalledWith(5, 3);
1452
1452
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(2);
1453
1453
  _react.fireEvent.click(_react.screen.getByText(buttonText));
1454
- (0, _globals.expect)(subtractionReducer).toHaveBeenCalledTimes(1);
1454
+ (0, _globals.expect)(subtractionReducer).toHaveBeenCalledTimes(2);
1455
+ _react.fireEvent.click(_react.screen.getByText(buttonText));
1456
+ (0, _globals.expect)(subtractionReducer).toHaveBeenCalledTimes(3);
1455
1457
  });
1456
1458
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
1457
1459
  var buttonText = 'button';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "keywords": [