@mic-rexjs/usecases-react 2.13.4 → 2.14.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.
@@ -1183,6 +1183,80 @@ describe('useUseCase', () => {
1183
1183
  oldValue: PATH_1
1184
1184
  });
1185
1185
  });
1186
+ test('`options.watch` should be trigger after update entity by entity initializer at child component', () => {
1187
+ const onPathChange = jest.fn();
1188
+ const TestChild = () => {
1189
+ useUseCase(fileUseCase, {
1190
+ watch: {
1191
+ path: onPathChange
1192
+ }
1193
+ });
1194
+ return _jsx(Fragment, {});
1195
+ };
1196
+ const TestParent = _ref5 => {
1197
+ let file = _ref5.file;
1198
+ const path = file.path;
1199
+ const _useUseCase10 = useUseCase(function () {
1200
+ let currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1201
+ return {
1202
+ ...currentFile,
1203
+ path
1204
+ };
1205
+ }, fileUseCase, {}, [path]),
1206
+ _useUseCase11 = _slicedToArray(_useUseCase10, 3),
1207
+ Provider = _useUseCase11[2];
1208
+ return _jsx(Provider, {
1209
+ children: _jsx(TestChild, {})
1210
+ });
1211
+ };
1212
+ const _render = render(_jsx(TestParent, {
1213
+ file: {
1214
+ ...defaultFile
1215
+ }
1216
+ })),
1217
+ rerender = _render.rerender;
1218
+ expect(onPathChange).toHaveBeenCalledTimes(0);
1219
+ act(() => {
1220
+ rerender(_jsx(TestParent, {
1221
+ file: {
1222
+ ...defaultFile,
1223
+ path: PATH_1
1224
+ }
1225
+ }));
1226
+ });
1227
+ expect(onPathChange).toHaveBeenCalledTimes(1);
1228
+ expect(onPathChange).toHaveBeenLastCalledWith({
1229
+ fieldPaths: ['path'],
1230
+ newEntity: {
1231
+ ...defaultFile,
1232
+ path: PATH_1
1233
+ },
1234
+ oldEntity: defaultFile,
1235
+ newValue: PATH_1,
1236
+ oldValue: ''
1237
+ });
1238
+ act(() => {
1239
+ rerender(_jsx(TestParent, {
1240
+ file: {
1241
+ ...defaultFile,
1242
+ path: PATH_2
1243
+ }
1244
+ }));
1245
+ });
1246
+ expect(onPathChange).toHaveBeenLastCalledWith({
1247
+ fieldPaths: ['path'],
1248
+ newEntity: {
1249
+ ...defaultFile,
1250
+ path: PATH_2
1251
+ },
1252
+ oldEntity: {
1253
+ ...defaultFile,
1254
+ path: PATH_1
1255
+ },
1256
+ newValue: PATH_2,
1257
+ oldValue: PATH_1
1258
+ });
1259
+ });
1186
1260
  test('`options.watch` should trigger the latest one', () => {
1187
1261
  const onPathChange1 = jest.fn();
1188
1262
  const onPathChange2 = jest.fn();
@@ -1592,13 +1666,14 @@ describe('useUseCase', () => {
1592
1666
  });
1593
1667
  });
1594
1668
  test('`options.watch` should work with field path of array length', () => {
1669
+ const defaultList = [];
1595
1670
  const onEntityLengthChange = jest.fn();
1596
1671
  const onListLengthChange = jest.fn();
1597
1672
  const lengthUseCase = () => {
1598
1673
  return entityUseCase();
1599
1674
  };
1600
1675
  const _renderHook32 = renderHook(() => {
1601
- return useUseCase([], lengthUseCase, {
1676
+ return useUseCase(defaultList, lengthUseCase, {
1602
1677
  watch: {
1603
1678
  length: onEntityLengthChange,
1604
1679
  'list.length': onListLengthChange
@@ -1827,15 +1902,15 @@ describe('useUseCase', () => {
1827
1902
  return entityUseCase();
1828
1903
  };
1829
1904
  const TestChildComponent = () => {
1830
- const _useUseCase10 = useUseCase(numberUseCase),
1831
- _useUseCase11 = _slicedToArray(_useUseCase10, 1),
1832
- numberValue = _useUseCase11[0];
1833
- const _useUseCase12 = useUseCase(stringUseCase),
1905
+ const _useUseCase12 = useUseCase(numberUseCase),
1834
1906
  _useUseCase13 = _slicedToArray(_useUseCase12, 1),
1835
- stringValue = _useUseCase13[0];
1836
- const _useUseCase14 = useUseCase(booleanUseCase),
1907
+ numberValue = _useUseCase13[0];
1908
+ const _useUseCase14 = useUseCase(stringUseCase),
1837
1909
  _useUseCase15 = _slicedToArray(_useUseCase14, 1),
1838
- booleanValue = _useUseCase15[0];
1910
+ stringValue = _useUseCase15[0];
1911
+ const _useUseCase16 = useUseCase(booleanUseCase),
1912
+ _useUseCase17 = _slicedToArray(_useUseCase16, 1),
1913
+ booleanValue = _useUseCase17[0];
1839
1914
  useMount(() => {
1840
1915
  onNumberMount(numberValue);
1841
1916
  onStringMount(stringValue);
@@ -1844,15 +1919,15 @@ describe('useUseCase', () => {
1844
1919
  return null;
1845
1920
  };
1846
1921
  const TestParentComponent = () => {
1847
- const _useUseCase16 = useUseCase(11, numberUseCase),
1848
- _useUseCase17 = _slicedToArray(_useUseCase16, 3),
1849
- NumberProvider = _useUseCase17[2];
1850
- const _useUseCase18 = useUseCase('hello', stringUseCase),
1922
+ const _useUseCase18 = useUseCase(11, numberUseCase),
1851
1923
  _useUseCase19 = _slicedToArray(_useUseCase18, 3),
1852
- StringProvider = _useUseCase19[2];
1853
- const _useUseCase20 = useUseCase(true, booleanUseCase),
1924
+ NumberProvider = _useUseCase19[2];
1925
+ const _useUseCase20 = useUseCase('hello', stringUseCase),
1854
1926
  _useUseCase21 = _slicedToArray(_useUseCase20, 3),
1855
- BooleanProvider = _useUseCase21[2];
1927
+ StringProvider = _useUseCase21[2];
1928
+ const _useUseCase22 = useUseCase(true, booleanUseCase),
1929
+ _useUseCase23 = _slicedToArray(_useUseCase22, 3),
1930
+ BooleanProvider = _useUseCase23[2];
1856
1931
  return _jsx(NumberProvider, {
1857
1932
  with: [StringProvider, BooleanProvider],
1858
1933
  children: _jsx(TestChildComponent, {})
@@ -1863,6 +1938,53 @@ describe('useUseCase', () => {
1863
1938
  expect(onStringMount).toHaveBeenCalledWith('hello');
1864
1939
  expect(onBooleanMount).toHaveBeenCalledWith(true);
1865
1940
  });
1941
+ test('`bindEntity` should be called when component mount', () => {
1942
+ const bindEntity = jest.fn(entity => {
1943
+ void entity;
1944
+ });
1945
+ const testUseCase = () => {
1946
+ const entityReducers = entityUseCase();
1947
+ return {
1948
+ ...entityReducers,
1949
+ bindEntity
1950
+ };
1951
+ };
1952
+ renderHook(() => {
1953
+ const _useUseCase24 = useUseCase(5, testUseCase),
1954
+ _useUseCase25 = _slicedToArray(_useUseCase24, 2),
1955
+ setEntity = _useUseCase25[1].setEntity;
1956
+ useMount(() => {
1957
+ setEntity(100);
1958
+ });
1959
+ });
1960
+ expect(bindEntity).toHaveBeenCalledTimes(1);
1961
+ expect(bindEntity).toHaveBeenCalledWith(5);
1962
+ });
1963
+ test('`unbindEntity` should be called when component unmount', () => {
1964
+ const unbindEntity = jest.fn(entity => {
1965
+ void entity;
1966
+ });
1967
+ const testUseCase = () => {
1968
+ const entityReducers = entityUseCase();
1969
+ return {
1970
+ ...entityReducers,
1971
+ unbindEntity
1972
+ };
1973
+ };
1974
+ const _renderHook35 = renderHook(() => {
1975
+ const _useUseCase26 = useUseCase(5, testUseCase),
1976
+ _useUseCase27 = _slicedToArray(_useUseCase26, 2),
1977
+ setEntity = _useUseCase27[1].setEntity;
1978
+ useMount(() => {
1979
+ setEntity(100);
1980
+ });
1981
+ }),
1982
+ unmount = _renderHook35.unmount;
1983
+ expect(unbindEntity).toHaveBeenCalledTimes(0);
1984
+ unmount();
1985
+ expect(unbindEntity).toHaveBeenCalledTimes(1);
1986
+ expect(unbindEntity).toHaveBeenCalledWith(100);
1987
+ });
1866
1988
  });
1867
1989
  describe('`useUseCase` should work the same as `useContextualCoreCollection`', () => {
1868
1990
  test('Provider should be returned in child component', () => {
@@ -1879,14 +2001,14 @@ describe('useUseCase', () => {
1879
2001
  return _jsx(Fragment, {});
1880
2002
  };
1881
2003
  const TestParent = () => {
1882
- const _useUseCase22 = useUseCase(() => {
2004
+ const _useUseCase28 = useUseCase(() => {
1883
2005
  return {
1884
2006
  ...defaultFile,
1885
2007
  ext: EXT_1
1886
2008
  };
1887
2009
  }, fileUseCase),
1888
- _useUseCase23 = _slicedToArray(_useUseCase22, 3),
1889
- Provider = _useUseCase23[2];
2010
+ _useUseCase29 = _slicedToArray(_useUseCase28, 3),
2011
+ Provider = _useUseCase29[2];
1890
2012
  return _jsx(Provider, {
1891
2013
  children: _jsx(TestChild, {})
1892
2014
  });
@@ -1903,10 +2025,10 @@ describe('useUseCase', () => {
1903
2025
  const onPopupFile = jest.fn();
1904
2026
  const buttonText = 'button';
1905
2027
  const Popup = () => {
1906
- const _useUseCase24 = useUseCase(fileUseCase),
1907
- _useUseCase25 = _slicedToArray(_useUseCase24, 2),
1908
- file = _useUseCase25[0],
1909
- setEntity = _useUseCase25[1].setEntity;
2028
+ const _useUseCase30 = useUseCase(fileUseCase),
2029
+ _useUseCase31 = _slicedToArray(_useUseCase30, 2),
2030
+ file = _useUseCase31[0],
2031
+ setEntity = _useUseCase31[1].setEntity;
1910
2032
  const onClick = () => {
1911
2033
  setEntity({
1912
2034
  ext: EXT_2
@@ -1921,15 +2043,15 @@ describe('useUseCase', () => {
1921
2043
  });
1922
2044
  };
1923
2045
  const TestChild = () => {
1924
- const _useUseCase26 = useUseCase(fileUseCase),
1925
- _useUseCase27 = _slicedToArray(_useUseCase26, 3),
1926
- Provider = _useUseCase27[2];
2046
+ const _useUseCase32 = useUseCase(fileUseCase),
2047
+ _useUseCase33 = _slicedToArray(_useUseCase32, 3),
2048
+ Provider = _useUseCase33[2];
1927
2049
  return createPortal(_jsx(Provider, {
1928
2050
  children: _jsx(Popup, {})
1929
2051
  }), document.body);
1930
2052
  };
1931
2053
  const TestParent = () => {
1932
- const _useUseCase28 = useUseCase(() => {
2054
+ const _useUseCase34 = useUseCase(() => {
1933
2055
  return {
1934
2056
  ...defaultFile,
1935
2057
  ext: EXT_1
@@ -1937,9 +2059,9 @@ describe('useUseCase', () => {
1937
2059
  }, fileUseCase, {
1938
2060
  onChange
1939
2061
  }),
1940
- _useUseCase29 = _slicedToArray(_useUseCase28, 3),
1941
- file = _useUseCase29[0],
1942
- Provider = _useUseCase29[2];
2062
+ _useUseCase35 = _slicedToArray(_useUseCase34, 3),
2063
+ file = _useUseCase35[0],
2064
+ Provider = _useUseCase35[2];
1943
2065
  useEffect(() => {
1944
2066
  onRootFile(file);
1945
2067
  }, [file]);
@@ -2004,9 +2126,9 @@ describe('useUseCase', () => {
2004
2126
  return _jsx(Fragment, {});
2005
2127
  };
2006
2128
  const B = () => {
2007
- const _useUseCase30 = useUseCase(defaultFile, mockUseCase),
2008
- _useUseCase31 = _slicedToArray(_useUseCase30, 3),
2009
- Provider = _useUseCase31[2];
2129
+ const _useUseCase36 = useUseCase(defaultFile, mockUseCase),
2130
+ _useUseCase37 = _slicedToArray(_useUseCase36, 3),
2131
+ Provider = _useUseCase37[2];
2010
2132
  return _jsx(Provider, {
2011
2133
  children: _jsx(A, {})
2012
2134
  });
@@ -2027,9 +2149,9 @@ describe('useUseCase', () => {
2027
2149
  };
2028
2150
  };
2029
2151
  const A = () => {
2030
- const _useUseCase32 = useUseCase(stringUseCase),
2031
- _useUseCase33 = _slicedToArray(_useUseCase32, 2),
2032
- add = _useUseCase33[1].add;
2152
+ const _useUseCase38 = useUseCase(stringUseCase),
2153
+ _useUseCase39 = _slicedToArray(_useUseCase38, 2),
2154
+ add = _useUseCase39[1].add;
2033
2155
  const update = useUpdate();
2034
2156
  const onClick = () => {
2035
2157
  update();
@@ -2041,9 +2163,9 @@ describe('useUseCase', () => {
2041
2163
  });
2042
2164
  };
2043
2165
  const B = () => {
2044
- const _useUseCase34 = useUseCase('', stringUseCase),
2045
- _useUseCase35 = _slicedToArray(_useUseCase34, 3),
2046
- Provider = _useUseCase35[2];
2166
+ const _useUseCase40 = useUseCase('', stringUseCase),
2167
+ _useUseCase41 = _slicedToArray(_useUseCase40, 3),
2168
+ Provider = _useUseCase41[2];
2047
2169
  return _jsx(Provider, {
2048
2170
  children: _jsx(A, {})
2049
2171
  });
@@ -2068,9 +2190,9 @@ describe('useUseCase', () => {
2068
2190
  };
2069
2191
  };
2070
2192
  const A = () => {
2071
- const _useUseCase36 = useUseCase(stringUseCase),
2072
- _useUseCase37 = _slicedToArray(_useUseCase36, 2),
2073
- add = _useUseCase37[1].add;
2193
+ const _useUseCase42 = useUseCase(stringUseCase),
2194
+ _useUseCase43 = _slicedToArray(_useUseCase42, 2),
2195
+ add = _useUseCase43[1].add;
2074
2196
  const onClick = () => {
2075
2197
  add('x');
2076
2198
  };
@@ -2084,9 +2206,9 @@ describe('useUseCase', () => {
2084
2206
  });
2085
2207
  };
2086
2208
  const B = () => {
2087
- const _useUseCase38 = useUseCase('', stringUseCase),
2088
- _useUseCase39 = _slicedToArray(_useUseCase38, 3),
2089
- Provider = _useUseCase39[2];
2209
+ const _useUseCase44 = useUseCase('', stringUseCase),
2210
+ _useUseCase45 = _slicedToArray(_useUseCase44, 3),
2211
+ Provider = _useUseCase45[2];
2090
2212
  return _jsx(Provider, {
2091
2213
  children: _jsx(A, {})
2092
2214
  });
@@ -2115,11 +2237,11 @@ describe('useUseCase', () => {
2115
2237
  };
2116
2238
  };
2117
2239
  const A = () => {
2118
- const _useUseCase40 = useUseCase(stringUseCase),
2119
- _useUseCase41 = _slicedToArray(_useUseCase40, 2),
2120
- _useUseCase41$ = _useUseCase41[1],
2121
- add = _useUseCase41$.add,
2122
- setEntity = _useUseCase41$.setEntity;
2240
+ const _useUseCase46 = useUseCase(stringUseCase),
2241
+ _useUseCase47 = _slicedToArray(_useUseCase46, 2),
2242
+ _useUseCase47$ = _useUseCase47[1],
2243
+ add = _useUseCase47$.add,
2244
+ setEntity = _useUseCase47$.setEntity;
2123
2245
  const update = useUpdate();
2124
2246
  add(addedText);
2125
2247
  const onSet = () => {
@@ -2139,9 +2261,9 @@ describe('useUseCase', () => {
2139
2261
  });
2140
2262
  };
2141
2263
  const B = () => {
2142
- const _useUseCase42 = useUseCase('', stringUseCase),
2143
- _useUseCase43 = _slicedToArray(_useUseCase42, 3),
2144
- Provider = _useUseCase43[2];
2264
+ const _useUseCase48 = useUseCase('', stringUseCase),
2265
+ _useUseCase49 = _slicedToArray(_useUseCase48, 3),
2266
+ Provider = _useUseCase49[2];
2145
2267
  return _jsx(Provider, {
2146
2268
  children: _jsx(A, {})
2147
2269
  });
@@ -2170,8 +2292,8 @@ describe('useUseCase', () => {
2170
2292
  const onChangeB = jest.fn(updateChangeTimes);
2171
2293
  const onChangeC = jest.fn(updateChangeTimes);
2172
2294
  const buttonText = 'my button';
2173
- const A = _ref5 => {
2174
- let children = _ref5.children;
2295
+ const A = _ref6 => {
2296
+ let children = _ref6.children;
2175
2297
  useUseCase(fileUseCase, {
2176
2298
  onChange: onChangeA
2177
2299
  });
@@ -2186,12 +2308,12 @@ describe('useUseCase', () => {
2186
2308
  return _jsx(Fragment, {});
2187
2309
  };
2188
2310
  const C = () => {
2189
- const _useUseCase44 = useUseCase(defaultFile, fileUseCase, {
2311
+ const _useUseCase50 = useUseCase(defaultFile, fileUseCase, {
2190
2312
  onChange: onChangeC
2191
2313
  }),
2192
- _useUseCase45 = _slicedToArray(_useUseCase44, 3),
2193
- setPath = _useUseCase45[1].setPath,
2194
- Provider = _useUseCase45[2];
2314
+ _useUseCase51 = _slicedToArray(_useUseCase50, 3),
2315
+ setPath = _useUseCase51[1].setPath,
2316
+ Provider = _useUseCase51[2];
2195
2317
  const onFirstClick = () => {
2196
2318
  setPath(PATH_1);
2197
2319
  };
@@ -2218,11 +2340,11 @@ describe('useUseCase', () => {
2218
2340
  const firstButtonText = 'first button';
2219
2341
  const secondButtonText = 'second button';
2220
2342
  const A = () => {
2221
- const _useUseCase46 = useUseCase(fileUseCase, {
2343
+ const _useUseCase52 = useUseCase(fileUseCase, {
2222
2344
  onChange
2223
2345
  }),
2224
- _useUseCase47 = _slicedToArray(_useUseCase46, 2),
2225
- setPath = _useUseCase47[1].setPath;
2346
+ _useUseCase53 = _slicedToArray(_useUseCase52, 2),
2347
+ setPath = _useUseCase53[1].setPath;
2226
2348
  const onFirstClick = () => {
2227
2349
  setPath(PATH_1);
2228
2350
  onChange = onSecondChange;
@@ -2241,9 +2363,9 @@ describe('useUseCase', () => {
2241
2363
  });
2242
2364
  };
2243
2365
  const B = () => {
2244
- const _useUseCase48 = useUseCase(defaultFile, fileUseCase),
2245
- _useUseCase49 = _slicedToArray(_useUseCase48, 3),
2246
- Provider = _useUseCase49[2];
2366
+ const _useUseCase54 = useUseCase(defaultFile, fileUseCase),
2367
+ _useUseCase55 = _slicedToArray(_useUseCase54, 3),
2368
+ Provider = _useUseCase55[2];
2247
2369
  return _jsx(Provider, {
2248
2370
  children: _jsx(A, {})
2249
2371
  });
@@ -2266,13 +2388,13 @@ describe('useUseCase', () => {
2266
2388
  const onExtChange = jest.fn();
2267
2389
  const firstButtonText = 'first button';
2268
2390
  const A = () => {
2269
- const _useUseCase50 = useUseCase(fileUseCase, {
2391
+ const _useUseCase56 = useUseCase(fileUseCase, {
2270
2392
  watch: {
2271
2393
  ext: onExtChange
2272
2394
  }
2273
2395
  }),
2274
- _useUseCase51 = _slicedToArray(_useUseCase50, 2),
2275
- setPath = _useUseCase51[1].setPath;
2396
+ _useUseCase57 = _slicedToArray(_useUseCase56, 2),
2397
+ setPath = _useUseCase57[1].setPath;
2276
2398
  const onFirstClick = () => {
2277
2399
  setPath(PATH_1);
2278
2400
  };
@@ -2282,9 +2404,9 @@ describe('useUseCase', () => {
2282
2404
  });
2283
2405
  };
2284
2406
  const B = () => {
2285
- const _useUseCase52 = useUseCase(defaultFile, fileUseCase, {}),
2286
- _useUseCase53 = _slicedToArray(_useUseCase52, 3),
2287
- Provider = _useUseCase53[2];
2407
+ const _useUseCase58 = useUseCase(defaultFile, fileUseCase, {}),
2408
+ _useUseCase59 = _slicedToArray(_useUseCase58, 3),
2409
+ Provider = _useUseCase59[2];
2288
2410
  return _jsx(Provider, {
2289
2411
  children: _jsx(A, {})
2290
2412
  });
@@ -2315,8 +2437,8 @@ describe('useUseCase', () => {
2315
2437
  const onChangeB = jest.fn(updateChangeTimes);
2316
2438
  const onChangeC = jest.fn(updateChangeTimes);
2317
2439
  const buttonText = 'my button';
2318
- const A = _ref6 => {
2319
- let children = _ref6.children;
2440
+ const A = _ref7 => {
2441
+ let children = _ref7.children;
2320
2442
  useUseCase(fileUseCase, {
2321
2443
  watch: {
2322
2444
  ext: onChangeA
@@ -2335,14 +2457,14 @@ describe('useUseCase', () => {
2335
2457
  return _jsx(Fragment, {});
2336
2458
  };
2337
2459
  const C = () => {
2338
- const _useUseCase54 = useUseCase(defaultFile, fileUseCase, {
2460
+ const _useUseCase60 = useUseCase(defaultFile, fileUseCase, {
2339
2461
  watch: {
2340
2462
  ext: onChangeC
2341
2463
  }
2342
2464
  }),
2343
- _useUseCase55 = _slicedToArray(_useUseCase54, 3),
2344
- setPath = _useUseCase55[1].setPath,
2345
- Provider = _useUseCase55[2];
2465
+ _useUseCase61 = _slicedToArray(_useUseCase60, 3),
2466
+ setPath = _useUseCase61[1].setPath,
2467
+ Provider = _useUseCase61[2];
2346
2468
  const onFirstClick = () => {
2347
2469
  setPath(PATH_1);
2348
2470
  };
@@ -2369,13 +2491,13 @@ describe('useUseCase', () => {
2369
2491
  const firstButtonText = 'first button';
2370
2492
  const secondButtonText = 'second button';
2371
2493
  const A = () => {
2372
- const _useUseCase56 = useUseCase(fileUseCase, {
2494
+ const _useUseCase62 = useUseCase(fileUseCase, {
2373
2495
  watch: {
2374
2496
  ext: onExtChange
2375
2497
  }
2376
2498
  }),
2377
- _useUseCase57 = _slicedToArray(_useUseCase56, 2),
2378
- setPath = _useUseCase57[1].setPath;
2499
+ _useUseCase63 = _slicedToArray(_useUseCase62, 2),
2500
+ setPath = _useUseCase63[1].setPath;
2379
2501
  const onFirstClick = () => {
2380
2502
  setPath(PATH_1);
2381
2503
  onExtChange = onSecondExtChange;
@@ -2394,9 +2516,9 @@ describe('useUseCase', () => {
2394
2516
  });
2395
2517
  };
2396
2518
  const B = () => {
2397
- const _useUseCase58 = useUseCase(defaultFile, fileUseCase),
2398
- _useUseCase59 = _slicedToArray(_useUseCase58, 3),
2399
- Provider = _useUseCase59[2];
2519
+ const _useUseCase64 = useUseCase(defaultFile, fileUseCase),
2520
+ _useUseCase65 = _slicedToArray(_useUseCase64, 3),
2521
+ Provider = _useUseCase65[2];
2400
2522
  return _jsx(Provider, {
2401
2523
  children: _jsx(A, {})
2402
2524
  });
@@ -2424,38 +2546,38 @@ describe('useUseCase', () => {
2424
2546
  });
2425
2547
  describe('`useUseCase` should work the same as `useReducers`', () => {
2426
2548
  test('`entity` should equal `defaultFile`', () => {
2427
- const _renderHook35 = renderHook(() => {
2549
+ const _renderHook36 = renderHook(() => {
2428
2550
  return useUseCase(mathUseCase);
2429
2551
  }),
2430
- result = _renderHook35.result;
2552
+ result = _renderHook36.result;
2431
2553
  const reducers = result.current;
2432
2554
  expect(Array.isArray(reducers)).toBe(false);
2433
2555
  });
2434
2556
  test('returned reducer should work', () => {
2435
- const _renderHook36 = renderHook(() => {
2557
+ const _renderHook37 = renderHook(() => {
2436
2558
  return useUseCase(mathUseCase);
2437
2559
  }),
2438
- result = _renderHook36.result;
2560
+ result = _renderHook37.result;
2439
2561
  const reducers = result.current;
2440
2562
  const add = reducers.add;
2441
2563
  expect(add(1, 2)).toBe(3);
2442
2564
  });
2443
2565
  test('`usecase` should be called only once if deps has not provided', () => {
2444
2566
  const mockUseCase = jest.fn(mathUseCase);
2445
- const _renderHook37 = renderHook(() => {
2567
+ const _renderHook38 = renderHook(() => {
2446
2568
  return useUseCase(mockUseCase);
2447
2569
  }),
2448
- rerender = _renderHook37.rerender;
2570
+ rerender = _renderHook38.rerender;
2449
2571
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2450
2572
  rerender();
2451
2573
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2452
2574
  });
2453
2575
  test('`usecase` should be called only once if deps has not changed', () => {
2454
2576
  const mockUseCase = jest.fn(mathUseCase);
2455
- const _renderHook38 = renderHook(() => {
2577
+ const _renderHook39 = renderHook(() => {
2456
2578
  return useUseCase(mockUseCase, {}, [1, 'x']);
2457
2579
  }),
2458
- rerender = _renderHook38.rerender;
2580
+ rerender = _renderHook39.rerender;
2459
2581
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2460
2582
  rerender();
2461
2583
  expect(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2463,10 +2585,10 @@ describe('useUseCase', () => {
2463
2585
  test('`usecase` should be called if deps has changed', () => {
2464
2586
  let i = 0;
2465
2587
  const mockUseCase = jest.fn(mathUseCase);
2466
- const _renderHook39 = renderHook(() => {
2588
+ const _renderHook40 = renderHook(() => {
2467
2589
  return useUseCase(mockUseCase, {}, [i++, 'x']);
2468
2590
  }),
2469
- rerender = _renderHook39.rerender;
2591
+ rerender = _renderHook40.rerender;
2470
2592
  expect(mockUseCase).toHaveBeenCalledTimes(1);
2471
2593
  rerender();
2472
2594
  expect(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2474,8 +2596,8 @@ describe('useUseCase', () => {
2474
2596
  test('reducer call should not be cached if component is at rendering phase', () => {
2475
2597
  const buttonText = 'button';
2476
2598
  const CacheTestComponent = () => {
2477
- const _useUseCase60 = useUseCase(mathUseCase),
2478
- subtraction = _useUseCase60.subtraction;
2599
+ const _useUseCase66 = useUseCase(mathUseCase),
2600
+ subtraction = _useUseCase66.subtraction;
2479
2601
  const update = useUpdate();
2480
2602
  const onClick = () => {
2481
2603
  update();
@@ -2498,8 +2620,8 @@ describe('useUseCase', () => {
2498
2620
  test('reducer call should not be cached if component is not at rendering phase', () => {
2499
2621
  const buttonText = 'button';
2500
2622
  const CacheTestComponent = () => {
2501
- const _useUseCase61 = useUseCase(mathUseCase),
2502
- subtraction = _useUseCase61.subtraction;
2623
+ const _useUseCase67 = useUseCase(mathUseCase),
2624
+ subtraction = _useUseCase67.subtraction;
2503
2625
  const onClick = () => {
2504
2626
  subtraction(5, 3);
2505
2627
  };
@@ -2527,8 +2649,8 @@ describe('useUseCase', () => {
2527
2649
  let count = 0;
2528
2650
  const buttonText = 'button';
2529
2651
  const StringUseCaseTestComponent = () => {
2530
- const _useUseCase62 = useUseCase(mathUseCase),
2531
- subtraction = _useUseCase62.subtraction;
2652
+ const _useUseCase68 = useUseCase(mathUseCase),
2653
+ subtraction = _useUseCase68.subtraction;
2532
2654
  const update = useUpdate();
2533
2655
  subtraction(5, count++);
2534
2656
  const onUpdate = () => {
@@ -2550,12 +2672,12 @@ describe('useUseCase', () => {
2550
2672
  expect(subtractionReducer).toHaveReturnedWith(4);
2551
2673
  });
2552
2674
  test('`options.extraValue` should be added after call `add` method', () => {
2553
- const _renderHook40 = renderHook(() => {
2675
+ const _renderHook41 = renderHook(() => {
2554
2676
  return useUseCase(mathUseCase, {
2555
2677
  extraValue: 5
2556
2678
  });
2557
2679
  }),
2558
- result = _renderHook40.result;
2680
+ result = _renderHook41.result;
2559
2681
  const reducers = result.current;
2560
2682
  const add = reducers.add;
2561
2683
  expect(add(1, 2)).toBe(8);
@@ -2563,7 +2685,7 @@ describe('useUseCase', () => {
2563
2685
  test('when `options` has changed, it should not trigger update', () => {
2564
2686
  const onUpdate = jest.fn();
2565
2687
  const onDeepUpdate = jest.fn();
2566
- const _renderHook41 = renderHook(() => {
2688
+ const _renderHook42 = renderHook(() => {
2567
2689
  const _useState7 = useState(0),
2568
2690
  _useState8 = _slicedToArray(_useState7, 2),
2569
2691
  extraValue = _useState8[0],
@@ -2579,7 +2701,7 @@ describe('useUseCase', () => {
2579
2701
  }, [reducers]);
2580
2702
  return setExtraValue;
2581
2703
  }),
2582
- result = _renderHook41.result;
2704
+ result = _renderHook42.result;
2583
2705
  expect(onUpdate).toHaveBeenCalledTimes(0);
2584
2706
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2585
2707
  act(() => {
@@ -2591,7 +2713,7 @@ describe('useUseCase', () => {
2591
2713
  test('when `deps` change, it should update reducers', () => {
2592
2714
  const onUpdate = jest.fn();
2593
2715
  const onDeepUpdate = jest.fn();
2594
- const _renderHook42 = renderHook(() => {
2716
+ const _renderHook43 = renderHook(() => {
2595
2717
  const _useState9 = useState(0),
2596
2718
  _useState0 = _slicedToArray(_useState9, 2),
2597
2719
  extraValue = _useState0[0],
@@ -2607,7 +2729,7 @@ describe('useUseCase', () => {
2607
2729
  }, [reducers]);
2608
2730
  return setExtraValue;
2609
2731
  }),
2610
- result = _renderHook42.result;
2732
+ result = _renderHook43.result;
2611
2733
  expect(onUpdate).toHaveBeenCalledTimes(0);
2612
2734
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2613
2735
  act(() => {
@@ -2619,7 +2741,7 @@ describe('useUseCase', () => {
2619
2741
  test('empty `deps` should not update reducers', () => {
2620
2742
  const onUpdate = jest.fn();
2621
2743
  const onDeepUpdate = jest.fn();
2622
- const _renderHook43 = renderHook(() => {
2744
+ const _renderHook44 = renderHook(() => {
2623
2745
  const _useState1 = useState(0),
2624
2746
  _useState10 = _slicedToArray(_useState1, 2),
2625
2747
  extraValue = _useState10[0],
@@ -2635,7 +2757,7 @@ describe('useUseCase', () => {
2635
2757
  }, [reducers]);
2636
2758
  return setExtraValue;
2637
2759
  }),
2638
- result = _renderHook43.result;
2760
+ result = _renderHook44.result;
2639
2761
  expect(onUpdate).toHaveBeenCalledTimes(0);
2640
2762
  expect(onDeepUpdate).toHaveBeenCalledTimes(0);
2641
2763
  act(() => {