@mic-rexjs/usecases-react 1.6.3 → 1.7.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
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:()=>
|
|
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:()=>P,useUseCase:()=>C});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,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},C=function(e,o,u,i){var a,y,b,h,O,g,C,P=s("function"==typeof o),_=(P?u:o)||{},E=_.stateless,A=c((0,r.useState)(P&&!E?e:null),2),R=A[0],k=A[1],M=(b=(P?i:u)||[],h=(0,r.useRef)(0),O=(0,r.useRef)([]),g=O.current,C=l(b,g),O.current=b,h.current+=C?0:1,h.current),I=((a=(0,r.useRef)(!0)).current=!0,(0,r.useEffect)((function(){a.current=!1})),a),T=(y=P?o:e,c((0,r.useState)((function(){return y})),1)[0]),F=T,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}))}(F,P?null:w),q=(0,r.useContext)(U),D=q.entity,L=q.reducers,z=void 0===L?null:L,V=q.optionsRefCollection,$="object"===n(V),N=P||$,B=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}(P||!$,V||null,_),G=(0,f.useCreation)((function(){return P?function(e,r,t){return t?"function"==typeof r?r():r:e}(R,e,E):D}),[P,D,E,R,e]),W=(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)}}}(B,e,r)})),Y=(0,f.useMemoizedFn)((function(){return 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}}))}(G,F,_,W)})),H=(0,f.useMemoizedFn)((function(){return T(_)})),J=(0,f.useCreation)((function(){return P?Y():null}),[P,M,Y]),K=(0,f.useCreation)((function(){return J||z||{}}),[J,z]),Q=(0,f.useCreation)((function(){return N?{}:H()}),[N,M,H]),X=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,G,K,B),Z=(0,f.useMemoizedFn)((function(e,r){return[e,x(r,(function(){return I.current})),P?X:null]}));return(0,f.useCreation)((function(){return N?Z(G,K):Q}),[N,G,K,Q,Z])},P=function(t){var n=t.usecase,o=t.watch,u=t.onChange;return C(n,{watch:o,onChange:u}),(0,e.jsx)(r.Fragment,{})}})(),i})()));
|
|
@@ -26,7 +26,7 @@ export const useUseCase = (arg1, arg2, arg3, arg4) => {
|
|
|
26
26
|
const entityUseCase = usecase;
|
|
27
27
|
const defaultContext = defaultUseCaseContext;
|
|
28
28
|
const context = useUseCaseContext(entityUseCase, hasInitialEntity ? null : defaultContext);
|
|
29
|
-
const { entity: contextEntity, reducers: contextEntityReducers, optionsRefCollection: contextOptionsRefCollection, } = useContext(context);
|
|
29
|
+
const { entity: contextEntity, reducers: contextEntityReducers = null, optionsRefCollection: contextOptionsRefCollection, } = useContext(context);
|
|
30
30
|
// 只有 `contextOptionsRefCollection` 是可控的,是当前 `hook` 生成的,所以用其来判断最保险
|
|
31
31
|
const hasContextOptionsRefCollection = typeof contextOptionsRefCollection === 'object';
|
|
32
32
|
// 是否需要初始化根 `redurcers`
|
|
@@ -47,27 +47,30 @@ export const useUseCase = (arg1, arg2, arg3, arg4) => {
|
|
|
47
47
|
}
|
|
48
48
|
triggerCallbacks(optionsRefCollection, newEntity, oldEntity);
|
|
49
49
|
});
|
|
50
|
+
const createRootEntityReducers = useMemoizedFn(() => {
|
|
51
|
+
const initOptions = options;
|
|
52
|
+
return initEntityReducers(entity, entityUseCase, initOptions, onEntityChange);
|
|
53
|
+
});
|
|
50
54
|
const createReducers = useMemoizedFn(() => {
|
|
51
|
-
|
|
52
|
-
let entityReducers = {};
|
|
53
|
-
if (hasInitialEntity) {
|
|
54
|
-
const initOptions = options;
|
|
55
|
-
entityReducers = initEntityReducers(entity, entityUseCase, initOptions, onEntityChange);
|
|
56
|
-
}
|
|
57
|
-
else if (contextEntityReducers) {
|
|
58
|
-
entityReducers = contextEntityReducers;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
reducers = usecase(options);
|
|
62
|
-
}
|
|
63
|
-
return [reducers, entityReducers];
|
|
55
|
+
return usecase(options);
|
|
64
56
|
});
|
|
65
|
-
const
|
|
66
|
-
const [reducers, entityReducers] = useCreation(() => {
|
|
57
|
+
const rootEntityReducers = useCreation(() => {
|
|
67
58
|
void depsKey;
|
|
68
|
-
|
|
59
|
+
if (!hasInitialEntity) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return createRootEntityReducers();
|
|
63
|
+
}, [hasInitialEntity, depsKey, createRootEntityReducers]);
|
|
64
|
+
const entityReducers = useCreation(() => {
|
|
65
|
+
return rootEntityReducers || contextEntityReducers || {};
|
|
66
|
+
}, [rootEntityReducers, contextEntityReducers]);
|
|
67
|
+
const reducers = useCreation(() => {
|
|
68
|
+
void depsKey;
|
|
69
|
+
if (isContextMode) {
|
|
70
|
+
return {};
|
|
71
|
+
}
|
|
69
72
|
return createReducers();
|
|
70
|
-
}, [
|
|
73
|
+
}, [isContextMode, depsKey, createReducers]);
|
|
71
74
|
const Provider = useProvider(context, entity, entityReducers, optionsRefCollection);
|
|
72
75
|
const createCoreCollection = useMemoizedFn((coreEntity, coreReducers) => {
|
|
73
76
|
return [
|
|
@@ -154,6 +154,56 @@ describe('useUseCase', () => {
|
|
|
154
154
|
const [, , Provider] = cores;
|
|
155
155
|
expect(typeof Provider).toBe('function');
|
|
156
156
|
});
|
|
157
|
+
test('`usecase` should be called only once if deps has not provided', () => {
|
|
158
|
+
const mockUseCase = jest.fn(fileUseCase);
|
|
159
|
+
const { result, rerender } = renderHook(() => {
|
|
160
|
+
return useUseCase(defaultFile, mockUseCase);
|
|
161
|
+
});
|
|
162
|
+
const { current: cores } = result;
|
|
163
|
+
const [, { setEntity }] = cores;
|
|
164
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
165
|
+
act(() => {
|
|
166
|
+
setEntity({
|
|
167
|
+
...defaultFile,
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
rerender();
|
|
171
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
172
|
+
});
|
|
173
|
+
test('`usecase` should be called only once if deps has not changed', () => {
|
|
174
|
+
const mockUseCase = jest.fn(fileUseCase);
|
|
175
|
+
const { result, rerender } = renderHook(() => {
|
|
176
|
+
return useUseCase(defaultFile, mockUseCase, {}, [1, 'x']);
|
|
177
|
+
});
|
|
178
|
+
const { current: cores } = result;
|
|
179
|
+
const [, { setEntity }] = cores;
|
|
180
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
181
|
+
act(() => {
|
|
182
|
+
setEntity({
|
|
183
|
+
...defaultFile,
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
rerender();
|
|
187
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
188
|
+
});
|
|
189
|
+
test('`usecase` should be called if deps has changed', () => {
|
|
190
|
+
let i = 0;
|
|
191
|
+
const mockUseCase = jest.fn(fileUseCase);
|
|
192
|
+
const { result, rerender } = renderHook(() => {
|
|
193
|
+
return useUseCase(defaultFile, mockUseCase, {}, [i++, 'x']);
|
|
194
|
+
});
|
|
195
|
+
const { current: cores } = result;
|
|
196
|
+
const [, { setEntity }] = cores;
|
|
197
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
198
|
+
act(() => {
|
|
199
|
+
setEntity({
|
|
200
|
+
...defaultFile,
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
expect(mockUseCase).toHaveBeenCalledTimes(2);
|
|
204
|
+
rerender();
|
|
205
|
+
expect(mockUseCase).toHaveBeenCalledTimes(3);
|
|
206
|
+
});
|
|
157
207
|
test('after call non-generator reducer, it should not trigger update', () => {
|
|
158
208
|
const onUpdate = jest.fn();
|
|
159
209
|
const onDeepUpdate = jest.fn();
|
|
@@ -1077,6 +1127,34 @@ describe('useUseCase', () => {
|
|
|
1077
1127
|
const { add } = reducers;
|
|
1078
1128
|
expect(add(1, 2)).toBe(3);
|
|
1079
1129
|
});
|
|
1130
|
+
test('`usecase` should be called only once if deps has not provided', () => {
|
|
1131
|
+
const mockUseCase = jest.fn(mathUseCase);
|
|
1132
|
+
const { rerender } = renderHook(() => {
|
|
1133
|
+
return useUseCase(mockUseCase);
|
|
1134
|
+
});
|
|
1135
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1136
|
+
rerender();
|
|
1137
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1138
|
+
});
|
|
1139
|
+
test('`usecase` should be called only once if deps has not changed', () => {
|
|
1140
|
+
const mockUseCase = jest.fn(mathUseCase);
|
|
1141
|
+
const { rerender } = renderHook(() => {
|
|
1142
|
+
return useUseCase(mockUseCase, {}, [1, 'x']);
|
|
1143
|
+
});
|
|
1144
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1145
|
+
rerender();
|
|
1146
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1147
|
+
});
|
|
1148
|
+
test('`usecase` should be called if deps has changed', () => {
|
|
1149
|
+
let i = 0;
|
|
1150
|
+
const mockUseCase = jest.fn(mathUseCase);
|
|
1151
|
+
const { rerender } = renderHook(() => {
|
|
1152
|
+
return useUseCase(mockUseCase, {}, [i++, 'x']);
|
|
1153
|
+
});
|
|
1154
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1155
|
+
rerender();
|
|
1156
|
+
expect(mockUseCase).toHaveBeenCalledTimes(2);
|
|
1157
|
+
});
|
|
1080
1158
|
test('reducer call should not be cached if component is at rendering phase', () => {
|
|
1081
1159
|
const buttonText = 'button';
|
|
1082
1160
|
const CacheTestComponent = () => {
|
|
@@ -1242,6 +1320,19 @@ describe('useUseCase', () => {
|
|
|
1242
1320
|
expect(onPathChange).toHaveBeenCalledWith('');
|
|
1243
1321
|
expect(onUndefinedEntity).toHaveBeenCalledTimes(0);
|
|
1244
1322
|
});
|
|
1323
|
+
test('`usecase` should not be called at child component', () => {
|
|
1324
|
+
const mockUseCase = jest.fn(fileUseCase);
|
|
1325
|
+
const A = () => {
|
|
1326
|
+
useUseCase(mockUseCase);
|
|
1327
|
+
return _jsx(Fragment, {});
|
|
1328
|
+
};
|
|
1329
|
+
const B = () => {
|
|
1330
|
+
const [, , Provider] = useUseCase(defaultFile, mockUseCase);
|
|
1331
|
+
return (_jsx(Provider, { children: _jsx(A, {}) }));
|
|
1332
|
+
};
|
|
1333
|
+
render(_jsx(B, {}));
|
|
1334
|
+
expect(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1335
|
+
});
|
|
1245
1336
|
test('reducer call should be cached if component is at rendering phase in child components', () => {
|
|
1246
1337
|
const buttonText = 'button';
|
|
1247
1338
|
const addReducer = jest.fn((entity, substring) => {
|
|
@@ -42,17 +42,10 @@ export interface UseCaseHook {
|
|
|
42
42
|
UseCase<EntityReducers<T>>, options?: UseCaseHookContextualOptions<T>): CoreCollection<T, TEntityReducers, null>;
|
|
43
43
|
<T, TEntityReducers extends EntityReducers<T>, TUseCaseOptions extends object = object>(initailEntity: T | EntityGetter<T>, usecase: EntityUseCase<T, TEntityReducers, TUseCaseOptions> &
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* 如果不使用 `&`,那么很多情况下 `options` 类型无法被正确推导;
|
|
46
46
|
* 因为使用 `&` 是为了让该参数 `usecase` 的泛型 `T` 推导占优先级,
|
|
47
47
|
* 从而保证 `options` 里的泛型 `T` 是根据 `usecase` 来推导的。
|
|
48
|
-
*
|
|
49
|
-
* 2. 以 `TEntityReducers` 代替了 `EntityReducers<T>`,
|
|
50
|
-
* 因为如果使用 `EntityReducers<T>` 则会导致其推导优先级比 `initailEntity` 还高,
|
|
51
|
-
* 这是不应该的,所以要使用不带泛型参数的 `TEntityReducers`。
|
|
52
|
-
*
|
|
53
|
-
* 推导权重等级应该是:`initailEntity` > `usecase` > `options`,
|
|
54
|
-
* 即:以 `initailEntity` 中的泛型 `T` 为准。
|
|
55
48
|
*/
|
|
56
|
-
UseCase<
|
|
49
|
+
UseCase<EntityReducers<T>, TUseCaseOptions>, options?: UseCaseHookOptions<T, TUseCaseOptions>, deps?: unknown[]): CoreCollection<T, TEntityReducers>;
|
|
57
50
|
<T extends Reducers, TUseCaseOptions extends object = object>(usecase: UseCase<T, TUseCaseOptions>, options?: TUseCaseOptions, deps?: unknown[]): T;
|
|
58
51
|
}
|
|
@@ -38,7 +38,8 @@ var useUseCase = function useUseCase(arg1, arg2, arg3, arg4) {
|
|
|
38
38
|
var context = (0, _useUseCaseContext.useUseCaseContext)(entityUseCase, hasInitialEntity ? null : defaultContext);
|
|
39
39
|
var _useContext = (0, _react.useContext)(context),
|
|
40
40
|
contextEntity = _useContext.entity,
|
|
41
|
-
|
|
41
|
+
_useContext$reducers = _useContext.reducers,
|
|
42
|
+
contextEntityReducers = _useContext$reducers === void 0 ? null : _useContext$reducers,
|
|
42
43
|
contextOptionsRefCollection = _useContext.optionsRefCollection;
|
|
43
44
|
// 只有 `contextOptionsRefCollection` 是可控的,是当前 `hook` 生成的,所以用其来判断最保险
|
|
44
45
|
var hasContextOptionsRefCollection = (0, _typeof2["default"])(contextOptionsRefCollection) === 'object';
|
|
@@ -60,28 +61,30 @@ var useUseCase = function useUseCase(arg1, arg2, arg3, arg4) {
|
|
|
60
61
|
}
|
|
61
62
|
(0, _triggerCallbacks.triggerCallbacks)(optionsRefCollection, newEntity, oldEntity);
|
|
62
63
|
});
|
|
64
|
+
var createRootEntityReducers = (0, _ahooks.useMemoizedFn)(function () {
|
|
65
|
+
var initOptions = options;
|
|
66
|
+
return (0, _initEntityReducers.initEntityReducers)(entity, entityUseCase, initOptions, onEntityChange);
|
|
67
|
+
});
|
|
63
68
|
var createReducers = (0, _ahooks.useMemoizedFn)(function () {
|
|
64
|
-
|
|
65
|
-
var entityReducers = {};
|
|
66
|
-
if (hasInitialEntity) {
|
|
67
|
-
var initOptions = options;
|
|
68
|
-
entityReducers = (0, _initEntityReducers.initEntityReducers)(entity, entityUseCase, initOptions, onEntityChange);
|
|
69
|
-
} else if (contextEntityReducers) {
|
|
70
|
-
entityReducers = contextEntityReducers;
|
|
71
|
-
} else {
|
|
72
|
-
reducers = usecase(options);
|
|
73
|
-
}
|
|
74
|
-
return [reducers, entityReducers];
|
|
69
|
+
return usecase(options);
|
|
75
70
|
});
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
71
|
+
var rootEntityReducers = (0, _ahooks.useCreation)(function () {
|
|
72
|
+
void depsKey;
|
|
73
|
+
if (!hasInitialEntity) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return createRootEntityReducers();
|
|
77
|
+
}, [hasInitialEntity, depsKey, createRootEntityReducers]);
|
|
78
|
+
var entityReducers = (0, _ahooks.useCreation)(function () {
|
|
79
|
+
return rootEntityReducers || contextEntityReducers || {};
|
|
80
|
+
}, [rootEntityReducers, contextEntityReducers]);
|
|
81
|
+
var reducers = (0, _ahooks.useCreation)(function () {
|
|
82
|
+
void depsKey;
|
|
83
|
+
if (isContextMode) {
|
|
84
|
+
return {};
|
|
85
|
+
}
|
|
86
|
+
return createReducers();
|
|
87
|
+
}, [isContextMode, depsKey, createReducers]);
|
|
85
88
|
var Provider = (0, _useProvider.useProvider)(context, entity, entityReducers, optionsRefCollection);
|
|
86
89
|
var createCoreCollection = (0, _ahooks.useMemoizedFn)(function (coreEntity, coreReducers) {
|
|
87
90
|
return [coreEntity, (0, _cacheReducerCalls.cacheReducerCalls)(coreReducers, function () {
|
|
@@ -282,10 +282,63 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
282
282
|
Provider = _cores3[2];
|
|
283
283
|
(0, _globals.expect)((0, _typeof2["default"])(Provider)).toBe('function');
|
|
284
284
|
});
|
|
285
|
+
(0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
|
|
286
|
+
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
287
|
+
var _renderHook5 = (0, _react.renderHook)(function () {
|
|
288
|
+
return (0, _.useUseCase)(defaultFile, mockUseCase);
|
|
289
|
+
}),
|
|
290
|
+
result = _renderHook5.result,
|
|
291
|
+
rerender = _renderHook5.rerender;
|
|
292
|
+
var cores = result.current;
|
|
293
|
+
var _cores4 = (0, _slicedToArray2["default"])(cores, 2),
|
|
294
|
+
setEntity = _cores4[1].setEntity;
|
|
295
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
296
|
+
(0, _react.act)(function () {
|
|
297
|
+
setEntity(_objectSpread({}, defaultFile));
|
|
298
|
+
});
|
|
299
|
+
rerender();
|
|
300
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
301
|
+
});
|
|
302
|
+
(0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
|
|
303
|
+
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
304
|
+
var _renderHook6 = (0, _react.renderHook)(function () {
|
|
305
|
+
return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [1, 'x']);
|
|
306
|
+
}),
|
|
307
|
+
result = _renderHook6.result,
|
|
308
|
+
rerender = _renderHook6.rerender;
|
|
309
|
+
var cores = result.current;
|
|
310
|
+
var _cores5 = (0, _slicedToArray2["default"])(cores, 2),
|
|
311
|
+
setEntity = _cores5[1].setEntity;
|
|
312
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
313
|
+
(0, _react.act)(function () {
|
|
314
|
+
setEntity(_objectSpread({}, defaultFile));
|
|
315
|
+
});
|
|
316
|
+
rerender();
|
|
317
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
318
|
+
});
|
|
319
|
+
(0, _globals.test)('`usecase` should be called if deps has changed', function () {
|
|
320
|
+
var i = 0;
|
|
321
|
+
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
322
|
+
var _renderHook7 = (0, _react.renderHook)(function () {
|
|
323
|
+
return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [i++, 'x']);
|
|
324
|
+
}),
|
|
325
|
+
result = _renderHook7.result,
|
|
326
|
+
rerender = _renderHook7.rerender;
|
|
327
|
+
var cores = result.current;
|
|
328
|
+
var _cores6 = (0, _slicedToArray2["default"])(cores, 2),
|
|
329
|
+
setEntity = _cores6[1].setEntity;
|
|
330
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
331
|
+
(0, _react.act)(function () {
|
|
332
|
+
setEntity(_objectSpread({}, defaultFile));
|
|
333
|
+
});
|
|
334
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
|
|
335
|
+
rerender();
|
|
336
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(3);
|
|
337
|
+
});
|
|
285
338
|
(0, _globals.test)('after call non-generator reducer, it should not trigger update', function () {
|
|
286
339
|
var onUpdate = _globals.jest.fn();
|
|
287
340
|
var onDeepUpdate = _globals.jest.fn();
|
|
288
|
-
var
|
|
341
|
+
var _renderHook8 = (0, _react.renderHook)(function () {
|
|
289
342
|
var context = (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
290
343
|
var _context4 = (0, _slicedToArray2["default"])(context, 2),
|
|
291
344
|
reducers = _context4[1];
|
|
@@ -305,7 +358,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
305
358
|
update();
|
|
306
359
|
};
|
|
307
360
|
}),
|
|
308
|
-
result =
|
|
361
|
+
result = _renderHook8.result;
|
|
309
362
|
(0, _react.act)(function () {
|
|
310
363
|
result.current();
|
|
311
364
|
});
|
|
@@ -319,17 +372,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
319
372
|
});
|
|
320
373
|
(0, _globals.test)('after `yield entity`, it should trigger update', function () {
|
|
321
374
|
var onUpdate = _globals.jest.fn();
|
|
322
|
-
var
|
|
375
|
+
var _renderHook9 = (0, _react.renderHook)(function () {
|
|
323
376
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
324
377
|
onUpdate();
|
|
325
378
|
});
|
|
326
379
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
327
380
|
}),
|
|
328
|
-
result =
|
|
381
|
+
result = _renderHook9.result;
|
|
329
382
|
var cores = result.current;
|
|
330
|
-
var
|
|
331
|
-
entity =
|
|
332
|
-
reducers =
|
|
383
|
+
var _cores7 = (0, _slicedToArray2["default"])(cores, 2),
|
|
384
|
+
entity = _cores7[0],
|
|
385
|
+
reducers = _cores7[1];
|
|
333
386
|
var setPath = reducers.setPath,
|
|
334
387
|
setEntity = reducers.setEntity;
|
|
335
388
|
(0, _react.act)(function () {
|
|
@@ -350,19 +403,19 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
350
403
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
|
|
351
404
|
});
|
|
352
405
|
(0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
353
|
-
var onUpdate,
|
|
406
|
+
var onUpdate, _renderHook10, result, cores, _cores8, entity, reducers, readFile, promise;
|
|
354
407
|
return _regenerator["default"].wrap(function _callee3$(_context5) {
|
|
355
408
|
while (1) switch (_context5.prev = _context5.next) {
|
|
356
409
|
case 0:
|
|
357
410
|
onUpdate = _globals.jest.fn();
|
|
358
|
-
|
|
411
|
+
_renderHook10 = (0, _react.renderHook)(function () {
|
|
359
412
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
360
413
|
onUpdate();
|
|
361
414
|
});
|
|
362
415
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
363
|
-
}), result =
|
|
416
|
+
}), result = _renderHook10.result;
|
|
364
417
|
cores = result.current;
|
|
365
|
-
|
|
418
|
+
_cores8 = (0, _slicedToArray2["default"])(cores, 2), entity = _cores8[0], reducers = _cores8[1];
|
|
366
419
|
readFile = reducers.readFile;
|
|
367
420
|
promise = (0, _react.act)(function () {
|
|
368
421
|
return readFile(PATH_1);
|
|
@@ -388,16 +441,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
388
441
|
})));
|
|
389
442
|
(0, _globals.test)('after `yield entity` callbacks, it should trigger update', function () {
|
|
390
443
|
var onUpdate = _globals.jest.fn();
|
|
391
|
-
var
|
|
444
|
+
var _renderHook11 = (0, _react.renderHook)(function () {
|
|
392
445
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
393
446
|
onUpdate();
|
|
394
447
|
});
|
|
395
448
|
return (0, _.useUseCase)(defaultFile, fileUseCase);
|
|
396
449
|
}),
|
|
397
|
-
result =
|
|
450
|
+
result = _renderHook11.result;
|
|
398
451
|
var cores = result.current;
|
|
399
|
-
var
|
|
400
|
-
reducers =
|
|
452
|
+
var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
|
|
453
|
+
reducers = _cores9[1];
|
|
401
454
|
var init = reducers.init;
|
|
402
455
|
(0, _react.act)(function () {
|
|
403
456
|
init(_objectSpread(_objectSpread({}, defaultFile), {}, {
|
|
@@ -531,7 +584,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
531
584
|
});
|
|
532
585
|
(0, _globals.test)('`options.stateless` should not generate new reducers when `yeild entity`', function () {
|
|
533
586
|
var onUpdate = _globals.jest.fn();
|
|
534
|
-
var
|
|
587
|
+
var _renderHook12 = (0, _react.renderHook)(function () {
|
|
535
588
|
var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
|
|
536
589
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
537
590
|
onUpdate();
|
|
@@ -540,11 +593,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
540
593
|
stateless: true
|
|
541
594
|
});
|
|
542
595
|
}),
|
|
543
|
-
result =
|
|
544
|
-
rerender =
|
|
596
|
+
result = _renderHook12.result,
|
|
597
|
+
rerender = _renderHook12.rerender;
|
|
545
598
|
var cores = result.current;
|
|
546
|
-
var
|
|
547
|
-
setPath =
|
|
599
|
+
var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
|
|
600
|
+
setPath = _cores10[1].setPath;
|
|
548
601
|
setPath(PATH_1);
|
|
549
602
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
550
603
|
(0, _globals.expect)(result.current[0].path).toBe('');
|
|
@@ -557,7 +610,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
557
610
|
});
|
|
558
611
|
(0, _globals.test)('`options.stateless` should not trigger update when after `yield entity`', function () {
|
|
559
612
|
var onUpdate = _globals.jest.fn();
|
|
560
|
-
var
|
|
613
|
+
var _renderHook13 = (0, _react.renderHook)(function () {
|
|
561
614
|
(0, _ahooks.useUpdateEffect)(function () {
|
|
562
615
|
onUpdate();
|
|
563
616
|
});
|
|
@@ -565,10 +618,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
565
618
|
stateless: true
|
|
566
619
|
});
|
|
567
620
|
}),
|
|
568
|
-
result =
|
|
621
|
+
result = _renderHook13.result;
|
|
569
622
|
var cores = result.current;
|
|
570
|
-
var
|
|
571
|
-
reducers =
|
|
623
|
+
var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
|
|
624
|
+
reducers = _cores11[1];
|
|
572
625
|
var setPath = reducers.setPath;
|
|
573
626
|
(0, _react.act)(function () {
|
|
574
627
|
setPath(PATH_1);
|
|
@@ -579,15 +632,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
579
632
|
});
|
|
580
633
|
(0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
|
|
581
634
|
var onChange = _globals.jest.fn();
|
|
582
|
-
var
|
|
635
|
+
var _renderHook14 = (0, _react.renderHook)(function () {
|
|
583
636
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
584
637
|
onChange: onChange
|
|
585
638
|
});
|
|
586
639
|
}),
|
|
587
|
-
result =
|
|
640
|
+
result = _renderHook14.result;
|
|
588
641
|
var cores = result.current;
|
|
589
|
-
var
|
|
590
|
-
reducers =
|
|
642
|
+
var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
|
|
643
|
+
reducers = _cores12[1];
|
|
591
644
|
var setPath = reducers.setPath;
|
|
592
645
|
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
|
|
593
646
|
(0, _react.act)(function () {
|
|
@@ -600,7 +653,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
600
653
|
}), defaultFile);
|
|
601
654
|
});
|
|
602
655
|
(0, _globals.test)('`options.options` should override rest options', function () {
|
|
603
|
-
var
|
|
656
|
+
var _renderHook15 = (0, _react.renderHook)(function () {
|
|
604
657
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
605
658
|
pathPrefix: 'xyz/',
|
|
606
659
|
options: {
|
|
@@ -608,11 +661,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
608
661
|
}
|
|
609
662
|
});
|
|
610
663
|
}),
|
|
611
|
-
result =
|
|
664
|
+
result = _renderHook15.result;
|
|
612
665
|
var cores = result.current;
|
|
613
|
-
var
|
|
614
|
-
path =
|
|
615
|
-
reducers =
|
|
666
|
+
var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
|
|
667
|
+
path = _cores13[0].path,
|
|
668
|
+
reducers = _cores13[1];
|
|
616
669
|
var setPath = reducers.setPath;
|
|
617
670
|
(0, _globals.expect)(path).toBe('');
|
|
618
671
|
(0, _react.act)(function () {
|
|
@@ -623,7 +676,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
623
676
|
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
624
677
|
var onUpdate = _globals.jest.fn();
|
|
625
678
|
var onDeepUpdate = _globals.jest.fn();
|
|
626
|
-
var
|
|
679
|
+
var _renderHook16 = (0, _react.renderHook)(function () {
|
|
627
680
|
var _useState = (0, _react2.useState)('user/'),
|
|
628
681
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
629
682
|
pathPrefix = _useState2[0],
|
|
@@ -639,7 +692,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
639
692
|
}, [context]);
|
|
640
693
|
return setPathPrefix;
|
|
641
694
|
}),
|
|
642
|
-
result =
|
|
695
|
+
result = _renderHook16.result;
|
|
643
696
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
644
697
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
645
698
|
(0, _react.act)(function () {
|
|
@@ -651,7 +704,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
651
704
|
(0, _globals.test)('when `entity` change, it should trigger watchers', function () {
|
|
652
705
|
var onPathChange = _globals.jest.fn();
|
|
653
706
|
var onSizeChange = _globals.jest.fn();
|
|
654
|
-
var
|
|
707
|
+
var _renderHook17 = (0, _react.renderHook)(function () {
|
|
655
708
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
656
709
|
watch: {
|
|
657
710
|
path: onPathChange,
|
|
@@ -659,10 +712,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
659
712
|
}
|
|
660
713
|
});
|
|
661
714
|
}),
|
|
662
|
-
result =
|
|
715
|
+
result = _renderHook17.result;
|
|
663
716
|
var cores = result.current;
|
|
664
|
-
var
|
|
665
|
-
setPath =
|
|
717
|
+
var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
|
|
718
|
+
setPath = _cores14[1].setPath;
|
|
666
719
|
(0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
|
|
667
720
|
(0, _react.act)(function () {
|
|
668
721
|
setPath(PATH_1);
|
|
@@ -684,19 +737,19 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
684
737
|
var onPathChange1 = _globals.jest.fn();
|
|
685
738
|
var onPathChange2 = _globals.jest.fn();
|
|
686
739
|
var onPathChange = onPathChange1;
|
|
687
|
-
var
|
|
740
|
+
var _renderHook18 = (0, _react.renderHook)(function () {
|
|
688
741
|
return (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
689
742
|
watch: {
|
|
690
743
|
path: onPathChange
|
|
691
744
|
}
|
|
692
745
|
});
|
|
693
746
|
}),
|
|
694
|
-
result =
|
|
747
|
+
result = _renderHook18.result;
|
|
695
748
|
var cores = result.current;
|
|
696
|
-
var
|
|
697
|
-
|
|
698
|
-
setPath =
|
|
699
|
-
setEntity =
|
|
749
|
+
var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
|
|
750
|
+
_cores15$ = _cores15[1],
|
|
751
|
+
setPath = _cores15$.setPath,
|
|
752
|
+
setEntity = _cores15$.setEntity;
|
|
700
753
|
onPathChange = onPathChange2;
|
|
701
754
|
(0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
|
|
702
755
|
(0, _react.act)(function () {
|
|
@@ -737,7 +790,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
737
790
|
(0, _globals.test)('when `deps` has changed, it should trigger update', function () {
|
|
738
791
|
var onUpdate = _globals.jest.fn();
|
|
739
792
|
var onDeepUpdate = _globals.jest.fn();
|
|
740
|
-
var
|
|
793
|
+
var _renderHook19 = (0, _react.renderHook)(function () {
|
|
741
794
|
var _useState3 = (0, _react2.useState)('user/'),
|
|
742
795
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
743
796
|
pathPrefix = _useState4[0],
|
|
@@ -753,7 +806,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
753
806
|
}, [context]);
|
|
754
807
|
return setPathPrefix;
|
|
755
808
|
}),
|
|
756
|
-
result =
|
|
809
|
+
result = _renderHook19.result;
|
|
757
810
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
758
811
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
759
812
|
(0, _react.act)(function () {
|
|
@@ -765,7 +818,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
765
818
|
(0, _globals.test)('empty `deps` should not trigger update', function () {
|
|
766
819
|
var onUpdate = _globals.jest.fn();
|
|
767
820
|
var onDeepUpdate = _globals.jest.fn();
|
|
768
|
-
var
|
|
821
|
+
var _renderHook20 = (0, _react.renderHook)(function () {
|
|
769
822
|
var _useState5 = (0, _react2.useState)('user/'),
|
|
770
823
|
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
771
824
|
pathPrefix = _useState6[0],
|
|
@@ -781,7 +834,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
781
834
|
}, [context]);
|
|
782
835
|
return setPathPrefix;
|
|
783
836
|
}),
|
|
784
|
-
result =
|
|
837
|
+
result = _renderHook20.result;
|
|
785
838
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
786
839
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
787
840
|
(0, _react.act)(function () {
|
|
@@ -922,7 +975,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
922
975
|
(0, _globals.test)('`options.watch` should work with array field path of array', function () {
|
|
923
976
|
var onExtChange = _globals.jest.fn();
|
|
924
977
|
var onSizeChange = _globals.jest.fn();
|
|
925
|
-
var
|
|
978
|
+
var _renderHook21 = (0, _react.renderHook)(function () {
|
|
926
979
|
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
927
980
|
watch: {
|
|
928
981
|
'list.ext': onExtChange,
|
|
@@ -930,10 +983,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
930
983
|
}
|
|
931
984
|
});
|
|
932
985
|
}),
|
|
933
|
-
result =
|
|
986
|
+
result = _renderHook21.result;
|
|
934
987
|
var cores = result.current;
|
|
935
|
-
var
|
|
936
|
-
setEntity =
|
|
988
|
+
var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
|
|
989
|
+
setEntity = _cores16[1].setEntity;
|
|
937
990
|
(0, _react.act)(function () {
|
|
938
991
|
setEntity({
|
|
939
992
|
list: [defaultFile]
|
|
@@ -1218,7 +1271,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1218
1271
|
var lengthUseCase = function lengthUseCase() {
|
|
1219
1272
|
return (0, _usecases.entityUseCase)();
|
|
1220
1273
|
};
|
|
1221
|
-
var
|
|
1274
|
+
var _renderHook22 = (0, _react.renderHook)(function () {
|
|
1222
1275
|
return (0, _.useUseCase)([], lengthUseCase, {
|
|
1223
1276
|
watch: {
|
|
1224
1277
|
length: onEntityLengthChange,
|
|
@@ -1226,10 +1279,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1226
1279
|
}
|
|
1227
1280
|
});
|
|
1228
1281
|
}),
|
|
1229
|
-
result =
|
|
1282
|
+
result = _renderHook22.result;
|
|
1230
1283
|
var cores = result.current;
|
|
1231
|
-
var
|
|
1232
|
-
setEntity =
|
|
1284
|
+
var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1285
|
+
setEntity = _cores17[1].setEntity;
|
|
1233
1286
|
(0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(0);
|
|
1234
1287
|
(0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(0);
|
|
1235
1288
|
(0, _react.act)(function () {
|
|
@@ -1260,17 +1313,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1260
1313
|
});
|
|
1261
1314
|
(0, _globals.test)('`options.watch` should work with field path of nested array', function () {
|
|
1262
1315
|
var onChange = _globals.jest.fn();
|
|
1263
|
-
var
|
|
1316
|
+
var _renderHook23 = (0, _react.renderHook)(function () {
|
|
1264
1317
|
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1265
1318
|
watch: {
|
|
1266
1319
|
'nestedList.size': onChange
|
|
1267
1320
|
}
|
|
1268
1321
|
});
|
|
1269
1322
|
}),
|
|
1270
|
-
result =
|
|
1323
|
+
result = _renderHook23.result;
|
|
1271
1324
|
var cores = result.current;
|
|
1272
|
-
var
|
|
1273
|
-
setEntity =
|
|
1325
|
+
var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1326
|
+
setEntity = _cores18[1].setEntity;
|
|
1274
1327
|
(0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
|
|
1275
1328
|
(0, _react.act)(function () {
|
|
1276
1329
|
setEntity({
|
|
@@ -1354,7 +1407,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1354
1407
|
(0, _globals.test)('`options.watch` should work with field path of object', function () {
|
|
1355
1408
|
var onExtChange = _globals.jest.fn();
|
|
1356
1409
|
var onSizeChange = _globals.jest.fn();
|
|
1357
|
-
var
|
|
1410
|
+
var _renderHook24 = (0, _react.renderHook)(function () {
|
|
1358
1411
|
return (0, _.useUseCase)({}, fieldPathUseCase, {
|
|
1359
1412
|
watch: {
|
|
1360
1413
|
'obj.file.ext': onExtChange,
|
|
@@ -1362,10 +1415,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1362
1415
|
}
|
|
1363
1416
|
});
|
|
1364
1417
|
}),
|
|
1365
|
-
result =
|
|
1418
|
+
result = _renderHook24.result;
|
|
1366
1419
|
var cores = result.current;
|
|
1367
|
-
var
|
|
1368
|
-
setEntity =
|
|
1420
|
+
var _cores19 = (0, _slicedToArray2["default"])(cores, 2),
|
|
1421
|
+
setEntity = _cores19[1].setEntity;
|
|
1369
1422
|
(0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(0);
|
|
1370
1423
|
(0, _react.act)(function () {
|
|
1371
1424
|
setEntity({
|
|
@@ -1415,22 +1468,53 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1415
1468
|
});
|
|
1416
1469
|
(0, _globals.describe)('`useUseCase` should work with 1+ arguments on non-entity mode', function () {
|
|
1417
1470
|
(0, _globals.test)('`entity` should equal `defaultFile`', function () {
|
|
1418
|
-
var
|
|
1471
|
+
var _renderHook25 = (0, _react.renderHook)(function () {
|
|
1419
1472
|
return (0, _.useUseCase)(mathUseCase);
|
|
1420
1473
|
}),
|
|
1421
|
-
result =
|
|
1474
|
+
result = _renderHook25.result;
|
|
1422
1475
|
var reducers = result.current;
|
|
1423
1476
|
(0, _globals.expect)(Array.isArray(reducers)).toBe(false);
|
|
1424
1477
|
});
|
|
1425
1478
|
(0, _globals.test)('returned reducer should work', function () {
|
|
1426
|
-
var
|
|
1479
|
+
var _renderHook26 = (0, _react.renderHook)(function () {
|
|
1427
1480
|
return (0, _.useUseCase)(mathUseCase);
|
|
1428
1481
|
}),
|
|
1429
|
-
result =
|
|
1482
|
+
result = _renderHook26.result;
|
|
1430
1483
|
var reducers = result.current;
|
|
1431
1484
|
var add = reducers.add;
|
|
1432
1485
|
(0, _globals.expect)(add(1, 2)).toBe(3);
|
|
1433
1486
|
});
|
|
1487
|
+
(0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
|
|
1488
|
+
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1489
|
+
var _renderHook27 = (0, _react.renderHook)(function () {
|
|
1490
|
+
return (0, _.useUseCase)(mockUseCase);
|
|
1491
|
+
}),
|
|
1492
|
+
rerender = _renderHook27.rerender;
|
|
1493
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1494
|
+
rerender();
|
|
1495
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1496
|
+
});
|
|
1497
|
+
(0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
|
|
1498
|
+
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1499
|
+
var _renderHook28 = (0, _react.renderHook)(function () {
|
|
1500
|
+
return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
|
|
1501
|
+
}),
|
|
1502
|
+
rerender = _renderHook28.rerender;
|
|
1503
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1504
|
+
rerender();
|
|
1505
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1506
|
+
});
|
|
1507
|
+
(0, _globals.test)('`usecase` should be called if deps has changed', function () {
|
|
1508
|
+
var i = 0;
|
|
1509
|
+
var mockUseCase = _globals.jest.fn(mathUseCase);
|
|
1510
|
+
var _renderHook29 = (0, _react.renderHook)(function () {
|
|
1511
|
+
return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
|
|
1512
|
+
}),
|
|
1513
|
+
rerender = _renderHook29.rerender;
|
|
1514
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1515
|
+
rerender();
|
|
1516
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
|
|
1517
|
+
});
|
|
1434
1518
|
(0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
|
|
1435
1519
|
var buttonText = 'button';
|
|
1436
1520
|
var CacheTestComponent = function CacheTestComponent() {
|
|
@@ -1510,12 +1594,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1510
1594
|
(0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
|
|
1511
1595
|
});
|
|
1512
1596
|
(0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
|
|
1513
|
-
var
|
|
1597
|
+
var _renderHook30 = (0, _react.renderHook)(function () {
|
|
1514
1598
|
return (0, _.useUseCase)(mathUseCase, {
|
|
1515
1599
|
extraValue: 5
|
|
1516
1600
|
});
|
|
1517
1601
|
}),
|
|
1518
|
-
result =
|
|
1602
|
+
result = _renderHook30.result;
|
|
1519
1603
|
var reducers = result.current;
|
|
1520
1604
|
var add = reducers.add;
|
|
1521
1605
|
(0, _globals.expect)(add(1, 2)).toBe(8);
|
|
@@ -1523,7 +1607,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1523
1607
|
(0, _globals.test)('when `options` has changed, it should not trigger update', function () {
|
|
1524
1608
|
var onUpdate = _globals.jest.fn();
|
|
1525
1609
|
var onDeepUpdate = _globals.jest.fn();
|
|
1526
|
-
var
|
|
1610
|
+
var _renderHook31 = (0, _react.renderHook)(function () {
|
|
1527
1611
|
var _useState7 = (0, _react2.useState)(0),
|
|
1528
1612
|
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
1529
1613
|
extraValue = _useState8[0],
|
|
@@ -1539,7 +1623,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1539
1623
|
}, [reducers]);
|
|
1540
1624
|
return setExtraValue;
|
|
1541
1625
|
}),
|
|
1542
|
-
result =
|
|
1626
|
+
result = _renderHook31.result;
|
|
1543
1627
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
1544
1628
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
1545
1629
|
(0, _react.act)(function () {
|
|
@@ -1551,7 +1635,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1551
1635
|
(0, _globals.test)('when `deps` change, it should update reducers', function () {
|
|
1552
1636
|
var onUpdate = _globals.jest.fn();
|
|
1553
1637
|
var onDeepUpdate = _globals.jest.fn();
|
|
1554
|
-
var
|
|
1638
|
+
var _renderHook32 = (0, _react.renderHook)(function () {
|
|
1555
1639
|
var _useState9 = (0, _react2.useState)(0),
|
|
1556
1640
|
_useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
1557
1641
|
extraValue = _useState10[0],
|
|
@@ -1567,7 +1651,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1567
1651
|
}, [reducers]);
|
|
1568
1652
|
return setExtraValue;
|
|
1569
1653
|
}),
|
|
1570
|
-
result =
|
|
1654
|
+
result = _renderHook32.result;
|
|
1571
1655
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
1572
1656
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
1573
1657
|
(0, _react.act)(function () {
|
|
@@ -1579,7 +1663,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1579
1663
|
(0, _globals.test)('empty `deps` should not update reducers', function () {
|
|
1580
1664
|
var onUpdate = _globals.jest.fn();
|
|
1581
1665
|
var onDeepUpdate = _globals.jest.fn();
|
|
1582
|
-
var
|
|
1666
|
+
var _renderHook33 = (0, _react.renderHook)(function () {
|
|
1583
1667
|
var _useState11 = (0, _react2.useState)(0),
|
|
1584
1668
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
1585
1669
|
extraValue = _useState12[0],
|
|
@@ -1595,7 +1679,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1595
1679
|
}, [reducers]);
|
|
1596
1680
|
return setExtraValue;
|
|
1597
1681
|
}),
|
|
1598
|
-
result =
|
|
1682
|
+
result = _renderHook33.result;
|
|
1599
1683
|
(0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
|
|
1600
1684
|
(0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
|
|
1601
1685
|
(0, _react.act)(function () {
|
|
@@ -1643,6 +1727,23 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1643
1727
|
(0, _globals.expect)(onPathChange).toHaveBeenCalledWith('');
|
|
1644
1728
|
(0, _globals.expect)(onUndefinedEntity).toHaveBeenCalledTimes(0);
|
|
1645
1729
|
});
|
|
1730
|
+
(0, _globals.test)('`usecase` should not be called at child component', function () {
|
|
1731
|
+
var mockUseCase = _globals.jest.fn(fileUseCase);
|
|
1732
|
+
var A = function A() {
|
|
1733
|
+
(0, _.useUseCase)(mockUseCase);
|
|
1734
|
+
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
1735
|
+
};
|
|
1736
|
+
var B = function B() {
|
|
1737
|
+
var _useUseCase19 = (0, _.useUseCase)(defaultFile, mockUseCase),
|
|
1738
|
+
_useUseCase20 = (0, _slicedToArray2["default"])(_useUseCase19, 3),
|
|
1739
|
+
Provider = _useUseCase20[2];
|
|
1740
|
+
return (0, _jsxRuntime.jsx)(Provider, {
|
|
1741
|
+
children: (0, _jsxRuntime.jsx)(A, {})
|
|
1742
|
+
});
|
|
1743
|
+
};
|
|
1744
|
+
(0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
|
|
1745
|
+
(0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
|
|
1746
|
+
});
|
|
1646
1747
|
(0, _globals.test)('reducer call should be cached if component is at rendering phase in child components', function () {
|
|
1647
1748
|
var buttonText = 'button';
|
|
1648
1749
|
var addReducer = _globals.jest.fn(function (entity, substring) {
|
|
@@ -1655,9 +1756,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1655
1756
|
});
|
|
1656
1757
|
};
|
|
1657
1758
|
var A = function A() {
|
|
1658
|
-
var
|
|
1659
|
-
|
|
1660
|
-
add =
|
|
1759
|
+
var _useUseCase21 = (0, _.useUseCase)(stringUseCase),
|
|
1760
|
+
_useUseCase22 = (0, _slicedToArray2["default"])(_useUseCase21, 2),
|
|
1761
|
+
add = _useUseCase22[1].add;
|
|
1661
1762
|
var update = (0, _ahooks.useUpdate)();
|
|
1662
1763
|
var onClick = function onClick() {
|
|
1663
1764
|
update();
|
|
@@ -1669,9 +1770,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1669
1770
|
});
|
|
1670
1771
|
};
|
|
1671
1772
|
var B = function B() {
|
|
1672
|
-
var
|
|
1673
|
-
|
|
1674
|
-
Provider =
|
|
1773
|
+
var _useUseCase23 = (0, _.useUseCase)('', stringUseCase),
|
|
1774
|
+
_useUseCase24 = (0, _slicedToArray2["default"])(_useUseCase23, 3),
|
|
1775
|
+
Provider = _useUseCase24[2];
|
|
1675
1776
|
return (0, _jsxRuntime.jsx)(Provider, {
|
|
1676
1777
|
children: (0, _jsxRuntime.jsx)(A, {})
|
|
1677
1778
|
});
|
|
@@ -1695,9 +1796,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1695
1796
|
});
|
|
1696
1797
|
};
|
|
1697
1798
|
var A = function A() {
|
|
1698
|
-
var
|
|
1699
|
-
|
|
1700
|
-
add =
|
|
1799
|
+
var _useUseCase25 = (0, _.useUseCase)(stringUseCase),
|
|
1800
|
+
_useUseCase26 = (0, _slicedToArray2["default"])(_useUseCase25, 2),
|
|
1801
|
+
add = _useUseCase26[1].add;
|
|
1701
1802
|
var onClick = function onClick() {
|
|
1702
1803
|
add('x');
|
|
1703
1804
|
};
|
|
@@ -1711,9 +1812,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1711
1812
|
});
|
|
1712
1813
|
};
|
|
1713
1814
|
var B = function B() {
|
|
1714
|
-
var
|
|
1715
|
-
|
|
1716
|
-
Provider =
|
|
1815
|
+
var _useUseCase27 = (0, _.useUseCase)('', stringUseCase),
|
|
1816
|
+
_useUseCase28 = (0, _slicedToArray2["default"])(_useUseCase27, 3),
|
|
1817
|
+
Provider = _useUseCase28[2];
|
|
1717
1818
|
return (0, _jsxRuntime.jsx)(Provider, {
|
|
1718
1819
|
children: (0, _jsxRuntime.jsx)(A, {})
|
|
1719
1820
|
});
|
|
@@ -1741,11 +1842,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1741
1842
|
});
|
|
1742
1843
|
};
|
|
1743
1844
|
var A = function A() {
|
|
1744
|
-
var
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
add =
|
|
1748
|
-
setEntity =
|
|
1845
|
+
var _useUseCase29 = (0, _.useUseCase)(stringUseCase),
|
|
1846
|
+
_useUseCase30 = (0, _slicedToArray2["default"])(_useUseCase29, 2),
|
|
1847
|
+
_useUseCase30$ = _useUseCase30[1],
|
|
1848
|
+
add = _useUseCase30$.add,
|
|
1849
|
+
setEntity = _useUseCase30$.setEntity;
|
|
1749
1850
|
var update = (0, _ahooks.useUpdate)();
|
|
1750
1851
|
add(addedText);
|
|
1751
1852
|
var onSet = function onSet() {
|
|
@@ -1765,9 +1866,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1765
1866
|
});
|
|
1766
1867
|
};
|
|
1767
1868
|
var B = function B() {
|
|
1768
|
-
var
|
|
1769
|
-
|
|
1770
|
-
Provider =
|
|
1869
|
+
var _useUseCase31 = (0, _.useUseCase)('', stringUseCase),
|
|
1870
|
+
_useUseCase32 = (0, _slicedToArray2["default"])(_useUseCase31, 3),
|
|
1871
|
+
Provider = _useUseCase32[2];
|
|
1771
1872
|
return (0, _jsxRuntime.jsx)(Provider, {
|
|
1772
1873
|
children: (0, _jsxRuntime.jsx)(A, {})
|
|
1773
1874
|
});
|
|
@@ -1801,12 +1902,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1801
1902
|
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
1802
1903
|
};
|
|
1803
1904
|
var B = function B() {
|
|
1804
|
-
var
|
|
1905
|
+
var _useUseCase33 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
1805
1906
|
onChange: onParentPathChange
|
|
1806
1907
|
}),
|
|
1807
|
-
|
|
1808
|
-
setPath =
|
|
1809
|
-
Provider =
|
|
1908
|
+
_useUseCase34 = (0, _slicedToArray2["default"])(_useUseCase33, 3),
|
|
1909
|
+
setPath = _useUseCase34[1].setPath,
|
|
1910
|
+
Provider = _useUseCase34[2];
|
|
1810
1911
|
var onFirstClick = function onFirstClick() {
|
|
1811
1912
|
setPath(PATH_1);
|
|
1812
1913
|
onChange = onSecondChange;
|
|
@@ -1868,12 +1969,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
|
|
|
1868
1969
|
return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
|
|
1869
1970
|
};
|
|
1870
1971
|
var C = function C() {
|
|
1871
|
-
var
|
|
1972
|
+
var _useUseCase35 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
1872
1973
|
onChange: onChangeC
|
|
1873
1974
|
}),
|
|
1874
|
-
|
|
1875
|
-
setPath =
|
|
1876
|
-
Provider =
|
|
1975
|
+
_useUseCase36 = (0, _slicedToArray2["default"])(_useUseCase35, 3),
|
|
1976
|
+
setPath = _useUseCase36[1].setPath,
|
|
1977
|
+
Provider = _useUseCase36[2];
|
|
1877
1978
|
var onFirstClick = function onFirstClick() {
|
|
1878
1979
|
setPath(PATH_1);
|
|
1879
1980
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "React-based solution for use usecases of Clean Architecture",
|
|
5
5
|
"private": false,
|
|
6
6
|
"keywords": [
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@commitlint/cli": "^17.6.6",
|
|
49
49
|
"@commitlint/config-angular": "^17.6.6",
|
|
50
50
|
"@jest/globals": "^29.5.0",
|
|
51
|
-
"@mic-rexjs/usecases": "^1.4.
|
|
51
|
+
"@mic-rexjs/usecases": "^1.4.21",
|
|
52
52
|
"@testing-library/react": "^14.0.0",
|
|
53
53
|
"@types/node": "^20.4.2",
|
|
54
54
|
"@types/react": "^18.2.14",
|