@mic-rexjs/usecases-react 4.0.0-beta.0 → 4.0.0-beta.4

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.
Files changed (150) hide show
  1. package/dist/index.min.js +1 -1
  2. package/dist/index.min.js.LICENSE.txt +2 -0
  3. package/es/components/UseCaseFragment/index.js +2 -2
  4. package/es/enums/Statuses/index.d.ts +86 -10
  5. package/es/enums/Statuses/index.js +86 -10
  6. package/es/hooks/useAlternateStatuses/index.d.ts +2 -0
  7. package/es/hooks/useAlternateStatuses/index.js +16 -0
  8. package/es/hooks/useChanged/index.d.ts +2 -0
  9. package/es/hooks/useChanged/index.js +17 -0
  10. package/es/hooks/useChanged/types.d.ts +3 -0
  11. package/es/hooks/useContext/index.d.ts +3 -4
  12. package/es/hooks/useContext/index.js +17 -15
  13. package/es/hooks/useContext/index.test.js +13 -24
  14. package/es/hooks/useContextValue/index.d.ts +3 -4
  15. package/es/hooks/useContextValue/index.js +9 -16
  16. package/es/hooks/useDepsKey/index.js +11 -9
  17. package/es/hooks/useEntity/index.d.ts +3 -2
  18. package/es/hooks/useEntity/index.js +62 -59
  19. package/es/hooks/useEntityReturn/index.d.ts +5 -0
  20. package/es/hooks/useEntityReturn/index.js +15 -0
  21. package/es/hooks/useEntityReturn/types.d.ts +7 -0
  22. package/es/hooks/useEntityRootExec/index.d.ts +5 -0
  23. package/es/hooks/useEntityRootExec/index.js +7 -0
  24. package/es/hooks/useEntityRootExec/types.d.ts +7 -0
  25. package/es/hooks/useEntityRootReturn/index.d.ts +5 -0
  26. package/es/hooks/useEntityRootReturn/index.js +14 -0
  27. package/es/hooks/useEntityRootReturn/types.d.ts +7 -0
  28. package/es/hooks/useEntityRootReturn/types.js +1 -0
  29. package/es/hooks/useExec/index.d.ts +2 -3
  30. package/es/hooks/useExec/index.js +3 -25
  31. package/es/hooks/useExec/types.d.ts +7 -2
  32. package/es/hooks/useFullArguments/index.d.ts +2 -3
  33. package/es/hooks/useFullArguments/index.js +4 -6
  34. package/es/hooks/useIfExec/index.d.ts +2 -0
  35. package/es/hooks/useIfExec/index.js +20 -0
  36. package/es/hooks/useIfExec/types.d.ts +6 -0
  37. package/es/hooks/useIfExec/types.js +1 -0
  38. package/es/hooks/useIfReturn/index.d.ts +2 -0
  39. package/es/hooks/useIfReturn/index.js +22 -0
  40. package/es/hooks/useIfReturn/types.d.ts +6 -0
  41. package/es/hooks/useIfReturn/types.js +1 -0
  42. package/es/hooks/useProvider/index.d.ts +3 -3
  43. package/es/hooks/useProvider/index.js +15 -13
  44. package/es/hooks/useProviders/index.js +4 -4
  45. package/es/hooks/useReducers/index.d.ts +5 -4
  46. package/es/hooks/useReducers/index.js +47 -10
  47. package/es/hooks/useReturn/index.d.ts +2 -0
  48. package/es/hooks/useReturn/index.js +33 -0
  49. package/es/hooks/useReturn/types.d.ts +11 -0
  50. package/es/hooks/useReturn/types.js +1 -0
  51. package/es/hooks/useRootInitializing/index.d.ts +2 -0
  52. package/es/hooks/useRootInitializing/index.js +14 -0
  53. package/es/hooks/useRootReturn/index.d.ts +5 -0
  54. package/es/hooks/useRootReturn/index.js +22 -0
  55. package/es/hooks/useRootReturn/types.d.ts +14 -0
  56. package/es/hooks/useRootReturn/types.js +1 -0
  57. package/es/hooks/useStatuses/index.d.ts +4 -4
  58. package/es/hooks/useStatuses/index.js +46 -21
  59. package/es/hooks/useStore/index.d.ts +3 -3
  60. package/es/hooks/useStore/index.js +24 -47
  61. package/es/hooks/useThrottleUpdate/index.d.ts +2 -0
  62. package/es/hooks/useThrottleUpdate/index.js +31 -0
  63. package/es/hooks/useThrottleUpdate/types.d.ts +3 -0
  64. package/es/hooks/useThrottleUpdate/types.js +1 -0
  65. package/es/hooks/useUseCase/index.js +18 -27
  66. package/es/hooks/useUseCase/index.test.js +415 -236
  67. package/es/hooks/useUseCase/types.d.ts +13 -2
  68. package/es/types.d.ts +2 -1
  69. package/es/usecases/contextUseCase/index.js +21 -38
  70. package/es/usecases/contextUseCase/types.d.ts +6 -9
  71. package/es/usecases/lifecycleEventUseCase/index.js +37 -9
  72. package/es/usecases/lifecycleEventUseCase/types.d.ts +11 -8
  73. package/lib/components/UseCaseFragment/index.js +2 -2
  74. package/lib/enums/Statuses/index.js +86 -10
  75. package/lib/hooks/useAlternateStatuses/index.js +22 -0
  76. package/lib/hooks/useChanged/index.js +23 -0
  77. package/lib/hooks/useContext/index.js +19 -17
  78. package/lib/hooks/useContext/index.test.js +13 -24
  79. package/lib/hooks/useContextValue/index.js +8 -15
  80. package/lib/hooks/useDepsKey/index.js +10 -8
  81. package/lib/hooks/useEntity/index.js +93 -62
  82. package/lib/hooks/useEntityReturn/index.js +22 -0
  83. package/lib/hooks/useEntityRootExec/index.js +13 -0
  84. package/lib/hooks/useEntityRootReturn/index.js +21 -0
  85. package/lib/hooks/useEntityRootReturn/types.js +5 -0
  86. package/lib/hooks/useExec/index.js +3 -25
  87. package/lib/hooks/useFullArguments/index.js +4 -6
  88. package/lib/hooks/useIfExec/index.js +27 -0
  89. package/lib/hooks/useIfExec/types.js +5 -0
  90. package/lib/hooks/useIfReturn/index.js +29 -0
  91. package/lib/hooks/useIfReturn/types.js +5 -0
  92. package/lib/hooks/useProvider/index.js +15 -13
  93. package/lib/hooks/useProviders/index.js +3 -3
  94. package/lib/hooks/useReducers/index.js +50 -10
  95. package/lib/hooks/useReturn/index.js +40 -0
  96. package/lib/hooks/useReturn/types.js +5 -0
  97. package/lib/hooks/useRootInitializing/index.js +20 -0
  98. package/lib/hooks/useRootReturn/index.js +30 -0
  99. package/lib/hooks/useRootReturn/types.js +5 -0
  100. package/lib/hooks/useStatuses/index.js +47 -21
  101. package/lib/hooks/useStore/index.js +22 -46
  102. package/lib/hooks/useThrottleUpdate/index.js +37 -0
  103. package/lib/hooks/useThrottleUpdate/types.js +5 -0
  104. package/lib/hooks/useUseCase/index.js +18 -27
  105. package/lib/hooks/useUseCase/index.test.js +458 -280
  106. package/lib/usecases/contextUseCase/index.js +21 -38
  107. package/lib/usecases/lifecycleEventUseCase/index.js +48 -8
  108. package/package.json +1 -1
  109. package/es/classes/OptionsSet/index.d.ts +0 -6
  110. package/es/classes/OptionsSet/index.js +0 -44
  111. package/es/classes/OptionsSet/types.d.ts +0 -8
  112. package/es/enums/ArgumentTypes/index.d.ts +0 -4
  113. package/es/enums/ArgumentTypes/index.js +0 -5
  114. package/es/hooks/useArgumentTypes/index.d.ts +0 -3
  115. package/es/hooks/useArgumentTypes/index.js +0 -14
  116. package/es/hooks/useConstantEntityReducers/index.d.ts +0 -3
  117. package/es/hooks/useConstantEntityReducers/index.js +0 -7
  118. package/es/hooks/useConstantFn/index.d.ts +0 -1
  119. package/es/hooks/useConstantFn/index.js +0 -10
  120. package/es/hooks/useConstantReducers/index.d.ts +0 -3
  121. package/es/hooks/useConstantReducers/index.js +0 -6
  122. package/es/hooks/useContextualItem/index.d.ts +0 -4
  123. package/es/hooks/useContextualItem/index.js +0 -11
  124. package/es/hooks/useEntityInitializing/index.d.ts +0 -2
  125. package/es/hooks/useEntityInitializing/index.js +0 -16
  126. package/es/hooks/useOptions/index.d.ts +0 -5
  127. package/es/hooks/useOptions/index.js +0 -54
  128. package/es/hooks/useOptions/types.d.ts +0 -5
  129. package/es/hooks/useOptionsSet/index.d.ts +0 -5
  130. package/es/hooks/useOptionsSet/index.js +0 -16
  131. package/es/hooks/useRootCreation/index.d.ts +0 -4
  132. package/es/hooks/useRootCreation/index.js +0 -20
  133. package/es/hooks/useRootCreation/types.d.ts +0 -3
  134. package/lib/classes/OptionsSet/index.js +0 -94
  135. package/lib/enums/ArgumentTypes/index.js +0 -11
  136. package/lib/hooks/useArgumentTypes/index.js +0 -22
  137. package/lib/hooks/useConstantEntityReducers/index.js +0 -13
  138. package/lib/hooks/useConstantFn/index.js +0 -17
  139. package/lib/hooks/useConstantReducers/index.js +0 -12
  140. package/lib/hooks/useContextualItem/index.js +0 -17
  141. package/lib/hooks/useEntityInitializing/index.js +0 -22
  142. package/lib/hooks/useOptions/index.js +0 -61
  143. package/lib/hooks/useOptionsSet/index.js +0 -22
  144. package/lib/hooks/useRootCreation/index.js +0 -26
  145. /package/es/{classes/OptionsSet → hooks/useChanged}/types.js +0 -0
  146. /package/es/hooks/{useOptions → useEntityReturn}/types.js +0 -0
  147. /package/es/hooks/{useRootCreation → useEntityRootExec}/types.js +0 -0
  148. /package/lib/{classes/OptionsSet → hooks/useChanged}/types.js +0 -0
  149. /package/lib/hooks/{useOptions → useEntityReturn}/types.js +0 -0
  150. /package/lib/hooks/{useRootCreation → useEntityRootExec}/types.js +0 -0
@@ -80,7 +80,7 @@ var fileUseCase = function fileUseCase() {
80
80
  }, setPath);
81
81
  });
82
82
  var readFile = /*#__PURE__*/function () {
83
- var _ref8 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
83
+ var _ref9 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
84
84
  var _onReadFile, size;
85
85
  return _regenerator["default"].wrap(function (_context5) {
86
86
  while (1) switch (_context5.prev = _context5.next) {
@@ -106,7 +106,7 @@ var fileUseCase = function fileUseCase() {
106
106
  }, _callee2);
107
107
  }));
108
108
  return function readFile(_x, _x2) {
109
- return _ref8.apply(this, arguments);
109
+ return _ref9.apply(this, arguments);
110
110
  };
111
111
  }();
112
112
  var isImage = function isImage(entity) {
@@ -405,7 +405,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
405
405
  case 2:
406
406
  _context8.next = 3;
407
407
  return /*#__PURE__*/function () {
408
- var _ref0 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(currentEntity) {
408
+ var _ref1 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(currentEntity) {
409
409
  return _regenerator["default"].wrap(function (_context7) {
410
410
  while (1) switch (_context7.prev = _context7.next) {
411
411
  case 0:
@@ -422,7 +422,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
422
422
  }, _callee4);
423
423
  }));
424
424
  return function (_x3) {
425
- return _ref0.apply(this, arguments);
425
+ return _ref1.apply(this, arguments);
426
426
  };
427
427
  }();
428
428
  case 3:
@@ -1237,64 +1237,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1237
1237
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1238
1238
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
1239
1239
  });
1240
- (0, _globals.test)('event options should be triggered', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1241
- var readFilePromise, buttonText, onReadFile, onSizeChange, TestComponent;
1242
- return _regenerator["default"].wrap(function (_context14) {
1243
- while (1) switch (_context14.prev = _context14.next) {
1244
- case 0:
1245
- readFilePromise = null;
1246
- buttonText = 'my button';
1247
- onReadFile = _globals.jest.fn(function (path) {
1248
- void path;
1249
- return 1024;
1250
- });
1251
- onSizeChange = _globals.jest.fn();
1252
- TestComponent = function TestComponent() {
1253
- var _useUseCase10 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1254
- onReadFile: onReadFile
1255
- }),
1256
- _useUseCase11 = (0, _slicedToArray2["default"])(_useUseCase10, 2),
1257
- size = _useUseCase11[0].size,
1258
- readFile = _useUseCase11[1].readFile;
1259
- var onClick = function onClick() {
1260
- readFilePromise = readFile(PATH_1);
1261
- };
1262
- (0, _ahooks.useUpdateEffect)(function () {
1263
- onSizeChange(size);
1264
- }, [size]);
1265
- return (0, _jsxRuntime.jsx)("button", {
1266
- onClick: onClick,
1267
- children: buttonText
1268
- });
1269
- };
1270
- (0, _react.render)((0, _jsxRuntime.jsx)(TestComponent, {}));
1271
- (0, _globals.expect)(onReadFile).toHaveBeenCalledTimes(0);
1272
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
1273
- _context14.next = 1;
1274
- return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
1275
- return _regenerator["default"].wrap(function (_context13) {
1276
- while (1) switch (_context13.prev = _context13.next) {
1277
- case 0:
1278
- _dom.fireEvent.click(_dom.screen.getByText(buttonText));
1279
- _context13.next = 1;
1280
- return readFilePromise;
1281
- case 1:
1282
- case "end":
1283
- return _context13.stop();
1284
- }
1285
- }, _callee10);
1286
- })));
1287
- case 1:
1288
- (0, _globals.expect)(onReadFile).toHaveBeenCalledTimes(1);
1289
- (0, _globals.expect)(onReadFile).toHaveBeenCalledWith(PATH_1);
1290
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
1291
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledWith(1024);
1292
- case 2:
1293
- case "end":
1294
- return _context14.stop();
1295
- }
1296
- }, _callee11);
1297
- })));
1298
1240
  (0, _globals.test)("should call latest functions of usecase options even deps has not change", function () {
1299
1241
  var onPathChange1 = _globals.jest.fn();
1300
1242
  var onPathChange2 = _globals.jest.fn();
@@ -1412,14 +1354,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1412
1354
  var TestParent = function TestParent(_ref5) {
1413
1355
  var file = _ref5.file;
1414
1356
  var path = file.path;
1415
- var _useUseCase12 = (0, _.useUseCase)(function () {
1357
+ var _useUseCase10 = (0, _.useUseCase)(function () {
1416
1358
  var currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1417
1359
  return _objectSpread(_objectSpread({}, currentFile), {}, {
1418
1360
  path: path
1419
1361
  });
1420
1362
  }, fileUseCase, {}, [path]),
1421
- _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 3),
1422
- Provider = _useUseCase13[2];
1363
+ _useUseCase11 = (0, _slicedToArray2["default"])(_useUseCase10, 3),
1364
+ Provider = _useUseCase11[2];
1423
1365
  return (0, _jsxRuntime.jsx)(Provider, {
1424
1366
  children: (0, _jsxRuntime.jsx)(TestChild, {})
1425
1367
  });
@@ -2035,6 +1977,62 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2035
1977
  oldValue: EXT_1
2036
1978
  });
2037
1979
  });
1980
+ _globals.test.only('`options.watch` should not trigger when entity changes between render and effect phase', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10() {
1981
+ var currentPath, currentSetPath, onPathChange, _renderHook37, result, current, _current8, setPath;
1982
+ return _regenerator["default"].wrap(function (_context13) {
1983
+ while (1) switch (_context13.prev = _context13.next) {
1984
+ case 0:
1985
+ currentPath = '';
1986
+ currentSetPath = function currentSetPath(path) {
1987
+ void path;
1988
+ };
1989
+ onPathChange = _globals.jest.fn();
1990
+ _renderHook37 = (0, _react.renderHook)(function () {
1991
+ var cp = currentPath;
1992
+ var onEffect = (0, _ahooks.useMemoizedFn)(function () {
1993
+ if (cp !== PATH_1) {
1994
+ return;
1995
+ }
1996
+ currentSetPath(PATH_2);
1997
+ });
1998
+ /**
1999
+ * 这里一定要在 `useUseCase` 前面,因为 `jest` 的测试环境,`useEffect` 会在 `setTimeout(fn, 0)` 之前执行,
2000
+ * 也就是 `useEffect` 不会存在异步的情况,但实际环境却存在 `useEffect` 是异步的情况,
2001
+ * 比如在 `render` 阶段与 `useEffect` 阶段之间,`touchmove` 等事件会触发修改状态。
2002
+ *
2003
+ * 所以,我们在 `useUseCase` 之前使用 `useUpdateEffect`,
2004
+ * 来模拟在 `useUseCase` 的 `render` 阶段与 `useEffect` 阶段之间运行的异步。
2005
+ */
2006
+ (0, _ahooks.useUpdateEffect)(function () {
2007
+ if (cp !== PATH_1) {
2008
+ return;
2009
+ }
2010
+ onEffect();
2011
+ }, [cp, onEffect]);
2012
+ var core = (0, _.useUseCase)(defaultFile, fileUseCase, {
2013
+ watch: {
2014
+ path: function path(_ref6) {
2015
+ var newValue = _ref6.newValue;
2016
+ currentPath = newValue;
2017
+ onPathChange(newValue);
2018
+ }
2019
+ }
2020
+ });
2021
+ return core;
2022
+ }), result = _renderHook37.result;
2023
+ current = result.current;
2024
+ _current8 = (0, _slicedToArray2["default"])(current, 2), setPath = _current8[1].setPath;
2025
+ currentSetPath = setPath;
2026
+ (0, _react.act)(function () {
2027
+ setPath(PATH_1);
2028
+ });
2029
+ (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(2);
2030
+ case 1:
2031
+ case "end":
2032
+ return _context13.stop();
2033
+ }
2034
+ }, _callee10);
2035
+ })));
2038
2036
  (0, _globals.test)('multiple `Provider` should work', function () {
2039
2037
  var onNumberMount = _globals.jest.fn();
2040
2038
  var onStringMount = _globals.jest.fn();
@@ -2049,15 +2047,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2049
2047
  return (0, _usecases.entityUseCase)();
2050
2048
  };
2051
2049
  var TestChildComponent = function TestChildComponent() {
2052
- var _useUseCase14 = (0, _.useUseCase)(numberUseCase),
2050
+ var _useUseCase12 = (0, _.useUseCase)(numberUseCase),
2051
+ _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 1),
2052
+ numberValue = _useUseCase13[0];
2053
+ var _useUseCase14 = (0, _.useUseCase)(stringUseCase),
2053
2054
  _useUseCase15 = (0, _slicedToArray2["default"])(_useUseCase14, 1),
2054
- numberValue = _useUseCase15[0];
2055
- var _useUseCase16 = (0, _.useUseCase)(stringUseCase),
2055
+ stringValue = _useUseCase15[0];
2056
+ var _useUseCase16 = (0, _.useUseCase)(booleanUseCase),
2056
2057
  _useUseCase17 = (0, _slicedToArray2["default"])(_useUseCase16, 1),
2057
- stringValue = _useUseCase17[0];
2058
- var _useUseCase18 = (0, _.useUseCase)(booleanUseCase),
2059
- _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 1),
2060
- booleanValue = _useUseCase19[0];
2058
+ booleanValue = _useUseCase17[0];
2061
2059
  (0, _ahooks.useMount)(function () {
2062
2060
  onNumberMount(numberValue);
2063
2061
  onStringMount(stringValue);
@@ -2066,15 +2064,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2066
2064
  return null;
2067
2065
  };
2068
2066
  var TestParentComponent = function TestParentComponent() {
2069
- var _useUseCase20 = (0, _.useUseCase)(11, numberUseCase),
2067
+ var _useUseCase18 = (0, _.useUseCase)(11, numberUseCase),
2068
+ _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 3),
2069
+ NumberProvider = _useUseCase19[2];
2070
+ var _useUseCase20 = (0, _.useUseCase)('hello', stringUseCase),
2070
2071
  _useUseCase21 = (0, _slicedToArray2["default"])(_useUseCase20, 3),
2071
- NumberProvider = _useUseCase21[2];
2072
- var _useUseCase22 = (0, _.useUseCase)('hello', stringUseCase),
2072
+ StringProvider = _useUseCase21[2];
2073
+ var _useUseCase22 = (0, _.useUseCase)(true, booleanUseCase),
2073
2074
  _useUseCase23 = (0, _slicedToArray2["default"])(_useUseCase22, 3),
2074
- StringProvider = _useUseCase23[2];
2075
- var _useUseCase24 = (0, _.useUseCase)(true, booleanUseCase),
2076
- _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 3),
2077
- BooleanProvider = _useUseCase25[2];
2075
+ BooleanProvider = _useUseCase23[2];
2078
2076
  return (0, _jsxRuntime.jsx)(NumberProvider, {
2079
2077
  "with": [StringProvider, BooleanProvider],
2080
2078
  children: (0, _jsxRuntime.jsx)(TestChildComponent, {})
@@ -2085,7 +2083,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2085
2083
  (0, _globals.expect)(onStringMount).toHaveBeenCalledWith('hello');
2086
2084
  (0, _globals.expect)(onBooleanMount).toHaveBeenCalledWith(true);
2087
2085
  });
2088
- (0, _globals.test)('`onBind` event should be called when component mount', function () {
2086
+ (0, _globals.test)('Lifecycle `onBind` event should be called when component mount', function () {
2089
2087
  var onBind = _globals.jest.fn(function (entity) {
2090
2088
  void entity;
2091
2089
  });
@@ -2097,9 +2095,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2097
2095
  return _objectSpread({}, entityReducers);
2098
2096
  };
2099
2097
  (0, _react.renderHook)(function () {
2100
- var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2101
- _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2102
- setEntity = _useUseCase27[1].setEntity;
2098
+ var _useUseCase24 = (0, _.useUseCase)(5, testUseCase),
2099
+ _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 2),
2100
+ setEntity = _useUseCase25[1].setEntity;
2103
2101
  (0, _ahooks.useMount)(function () {
2104
2102
  setEntity(100);
2105
2103
  });
@@ -2107,7 +2105,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2107
2105
  (0, _globals.expect)(onBind).toHaveBeenCalledTimes(1);
2108
2106
  (0, _globals.expect)(onBind).toHaveBeenCalledWith(5);
2109
2107
  });
2110
- (0, _globals.test)('`onChange` event should be called when entity change', function () {
2108
+ (0, _globals.test)('Lifecycle `onChange` event should be called when entity change', function () {
2111
2109
  var onChange = _globals.jest.fn(function (newEntity, oldEntity) {
2112
2110
  void newEntity;
2113
2111
  void oldEntity;
@@ -2119,13 +2117,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2119
2117
  });
2120
2118
  return _objectSpread({}, entityReducers);
2121
2119
  };
2122
- var _renderHook37 = (0, _react.renderHook)(function () {
2120
+ var _renderHook38 = (0, _react.renderHook)(function () {
2123
2121
  return (0, _.useUseCase)(5, testUseCase);
2124
2122
  }),
2125
- result = _renderHook37.result;
2123
+ result = _renderHook38.result;
2126
2124
  var current = result.current;
2127
- var _current8 = (0, _slicedToArray2["default"])(current, 2),
2128
- setEntity = _current8[1].setEntity;
2125
+ var _current9 = (0, _slicedToArray2["default"])(current, 2),
2126
+ setEntity = _current9[1].setEntity;
2129
2127
  (0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
2130
2128
  (0, _react.act)(function () {
2131
2129
  setEntity(100);
@@ -2133,7 +2131,193 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2133
2131
  (0, _globals.expect)(onChange).toHaveBeenCalledTimes(1);
2134
2132
  (0, _globals.expect)(onChange).toHaveBeenCalledWith(100, 5);
2135
2133
  });
2136
- (0, _globals.test)('`onUpdate` event should be called when entity change', function () {
2134
+ (0, _globals.test)('Lifecycle `onChange` event should support returning a boolean to control whether the component updates', function () {
2135
+ var i = 0;
2136
+ var onChange = _globals.jest.fn(function (newEntity, oldEntity) {
2137
+ void newEntity;
2138
+ void oldEntity;
2139
+ return i++ === 0;
2140
+ });
2141
+ var onRenderHook = _globals.jest.fn();
2142
+ var testUseCase = function testUseCase() {
2143
+ var entityReducers = (0, _usecases.entityUseCase)();
2144
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2145
+ onChange: onChange
2146
+ });
2147
+ return _objectSpread({}, entityReducers);
2148
+ };
2149
+ var _renderHook39 = (0, _react.renderHook)(function () {
2150
+ var core = (0, _.useUseCase)(5, testUseCase);
2151
+ var _core = (0, _slicedToArray2["default"])(core, 1),
2152
+ value = _core[0];
2153
+ onRenderHook(value);
2154
+ return core;
2155
+ }),
2156
+ result = _renderHook39.result;
2157
+ var current = result.current;
2158
+ var _current0 = (0, _slicedToArray2["default"])(current, 2),
2159
+ setEntity = _current0[1].setEntity;
2160
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2161
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2162
+ (0, _react.act)(function () {
2163
+ setEntity(100);
2164
+ });
2165
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2166
+ (0, _react.act)(function () {
2167
+ setEntity(200);
2168
+ });
2169
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2170
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(200);
2171
+ });
2172
+ (0, _globals.test)('Lifecycle `onChange` event should support returning a Promise<boolean> to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
2173
+ var i, promise, onChange, onRenderHook, testUseCase, _renderHook40, result, current, _current1, setEntity;
2174
+ return _regenerator["default"].wrap(function (_context16) {
2175
+ while (1) switch (_context16.prev = _context16.next) {
2176
+ case 0:
2177
+ i = 0;
2178
+ promise = null;
2179
+ onChange = _globals.jest.fn(function (newEntity, oldEntity) {
2180
+ void newEntity;
2181
+ void oldEntity;
2182
+ promise = new Promise(function (res) {
2183
+ setTimeout(function () {
2184
+ res(i++ === 0);
2185
+ }, 500);
2186
+ });
2187
+ return promise;
2188
+ });
2189
+ onRenderHook = _globals.jest.fn();
2190
+ testUseCase = function testUseCase() {
2191
+ var entityReducers = (0, _usecases.entityUseCase)();
2192
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2193
+ onChange: onChange
2194
+ });
2195
+ return _objectSpread({}, entityReducers);
2196
+ };
2197
+ _renderHook40 = (0, _react.renderHook)(function () {
2198
+ var core = (0, _.useUseCase)(5, testUseCase);
2199
+ var _core2 = (0, _slicedToArray2["default"])(core, 1),
2200
+ value = _core2[0];
2201
+ onRenderHook(value);
2202
+ return core;
2203
+ }), result = _renderHook40.result;
2204
+ current = result.current;
2205
+ _current1 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current1[1].setEntity;
2206
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2207
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2208
+ (0, _react.act)(function () {
2209
+ setEntity(100);
2210
+ });
2211
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2212
+ _context16.next = 1;
2213
+ return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
2214
+ return _regenerator["default"].wrap(function (_context14) {
2215
+ while (1) switch (_context14.prev = _context14.next) {
2216
+ case 0:
2217
+ _context14.next = 1;
2218
+ return Promise.resolve(promise);
2219
+ case 1:
2220
+ case "end":
2221
+ return _context14.stop();
2222
+ }
2223
+ }, _callee11);
2224
+ })));
2225
+ case 1:
2226
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2227
+ (0, _react.act)(function () {
2228
+ setEntity(200);
2229
+ });
2230
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2231
+ _context16.next = 2;
2232
+ return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
2233
+ return _regenerator["default"].wrap(function (_context15) {
2234
+ while (1) switch (_context15.prev = _context15.next) {
2235
+ case 0:
2236
+ _context15.next = 1;
2237
+ return Promise.resolve(promise);
2238
+ case 1:
2239
+ case "end":
2240
+ return _context15.stop();
2241
+ }
2242
+ }, _callee12);
2243
+ })));
2244
+ case 2:
2245
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2246
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(200);
2247
+ case 3:
2248
+ case "end":
2249
+ return _context16.stop();
2250
+ }
2251
+ }, _callee13);
2252
+ })));
2253
+ (0, _globals.test)('Lifecycle `onChange` event should support returning a number to control whether the component updates', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
2254
+ var onChange, onRenderHook, testUseCase, _renderHook41, result, current, _current10, setEntity;
2255
+ return _regenerator["default"].wrap(function (_context17) {
2256
+ while (1) switch (_context17.prev = _context17.next) {
2257
+ case 0:
2258
+ onChange = _globals.jest.fn(function (newEntity, oldEntity) {
2259
+ void newEntity;
2260
+ void oldEntity;
2261
+ return 500;
2262
+ });
2263
+ onRenderHook = _globals.jest.fn();
2264
+ testUseCase = function testUseCase() {
2265
+ var entityReducers = (0, _usecases.entityUseCase)();
2266
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2267
+ onChange: onChange
2268
+ });
2269
+ return _objectSpread({}, entityReducers);
2270
+ };
2271
+ _renderHook41 = (0, _react.renderHook)(function () {
2272
+ var core = (0, _.useUseCase)(5, testUseCase);
2273
+ var _core3 = (0, _slicedToArray2["default"])(core, 1),
2274
+ value = _core3[0];
2275
+ onRenderHook(value);
2276
+ return core;
2277
+ }), result = _renderHook41.result;
2278
+ current = result.current;
2279
+ _current10 = (0, _slicedToArray2["default"])(current, 2), setEntity = _current10[1].setEntity;
2280
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(1);
2281
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(5);
2282
+ (0, _react.act)(function () {
2283
+ setEntity(100);
2284
+ });
2285
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2286
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(100);
2287
+ _context17.next = 1;
2288
+ return (0, _react.act)(function () {
2289
+ return new Promise(function (res) {
2290
+ setEntity(200);
2291
+ setTimeout(res, 100);
2292
+ });
2293
+ });
2294
+ case 1:
2295
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2296
+ _context17.next = 2;
2297
+ return (0, _react.act)(function () {
2298
+ return new Promise(function (res) {
2299
+ setEntity(300);
2300
+ setTimeout(res, 100);
2301
+ });
2302
+ });
2303
+ case 2:
2304
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(2);
2305
+ _context17.next = 3;
2306
+ return (0, _react.act)(function () {
2307
+ return new Promise(function (res) {
2308
+ setTimeout(res, 500);
2309
+ });
2310
+ });
2311
+ case 3:
2312
+ (0, _globals.expect)(onRenderHook).toHaveBeenCalledTimes(3);
2313
+ (0, _globals.expect)(onRenderHook).toHaveBeenLastCalledWith(300);
2314
+ case 4:
2315
+ case "end":
2316
+ return _context17.stop();
2317
+ }
2318
+ }, _callee14);
2319
+ })));
2320
+ (0, _globals.test)('Lifecycle `onUpdate` event should be called when entity change', function () {
2137
2321
  var onUpdate = _globals.jest.fn(function (newEntity, oldEntity) {
2138
2322
  void newEntity;
2139
2323
  void oldEntity;
@@ -2145,13 +2329,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2145
2329
  });
2146
2330
  return _objectSpread({}, entityReducers);
2147
2331
  };
2148
- var _renderHook38 = (0, _react.renderHook)(function () {
2332
+ var _renderHook42 = (0, _react.renderHook)(function () {
2149
2333
  return (0, _.useUseCase)(5, testUseCase);
2150
2334
  }),
2151
- result = _renderHook38.result;
2335
+ result = _renderHook42.result;
2152
2336
  var current = result.current;
2153
- var _current9 = (0, _slicedToArray2["default"])(current, 2),
2154
- setEntity = _current9[1].setEntity;
2337
+ var _current11 = (0, _slicedToArray2["default"])(current, 2),
2338
+ setEntity = _current11[1].setEntity;
2155
2339
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2156
2340
  (0, _react.act)(function () {
2157
2341
  setEntity(100);
@@ -2159,7 +2343,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2159
2343
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
2160
2344
  (0, _globals.expect)(onUpdate).toHaveBeenCalledWith(100, 5);
2161
2345
  });
2162
- (0, _globals.test)('`onUnbind` event should be called when component unmount', function () {
2346
+ (0, _globals.test)('Lifecycle `onUnbind` event should be called when component unmount', function () {
2163
2347
  var onUnbind = _globals.jest.fn(function (entity) {
2164
2348
  void entity;
2165
2349
  });
@@ -2170,21 +2354,21 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2170
2354
  });
2171
2355
  return _objectSpread({}, entityReducers);
2172
2356
  };
2173
- var _renderHook39 = (0, _react.renderHook)(function () {
2174
- var _useUseCase28 = (0, _.useUseCase)(5, testUseCase),
2175
- _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 2),
2176
- setEntity = _useUseCase29[1].setEntity;
2357
+ var _renderHook43 = (0, _react.renderHook)(function () {
2358
+ var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2359
+ _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2360
+ setEntity = _useUseCase27[1].setEntity;
2177
2361
  (0, _ahooks.useMount)(function () {
2178
2362
  setEntity(100);
2179
2363
  });
2180
2364
  }),
2181
- unmount = _renderHook39.unmount;
2365
+ unmount = _renderHook43.unmount;
2182
2366
  (0, _globals.expect)(onUnbind).toHaveBeenCalledTimes(0);
2183
2367
  unmount();
2184
2368
  (0, _globals.expect)(onUnbind).toHaveBeenCalledTimes(1);
2185
2369
  (0, _globals.expect)(onUnbind).toHaveBeenCalledWith(100);
2186
2370
  });
2187
- (0, _globals.test)('`onAdopt` event should be called when entity change', function () {
2371
+ (0, _globals.test)('Lifecycle `onAdopt` event should be called when entity change', function () {
2188
2372
  var onAdopt = _globals.jest.fn(function (newEntity, oldeEntity) {
2189
2373
  void newEntity;
2190
2374
  void oldeEntity;
@@ -2196,13 +2380,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2196
2380
  });
2197
2381
  return _objectSpread({}, entityReducers);
2198
2382
  };
2199
- var _renderHook40 = (0, _react.renderHook)(function () {
2383
+ var _renderHook44 = (0, _react.renderHook)(function () {
2200
2384
  return (0, _.useUseCase)(5, testUseCase);
2201
2385
  }),
2202
- result = _renderHook40.result;
2386
+ result = _renderHook44.result;
2203
2387
  var current = result.current;
2204
- var _current0 = (0, _slicedToArray2["default"])(current, 2),
2205
- setEntity = _current0[1].setEntity;
2388
+ var _current12 = (0, _slicedToArray2["default"])(current, 2),
2389
+ setEntity = _current12[1].setEntity;
2206
2390
  (0, _globals.expect)(onAdopt).toHaveBeenCalledTimes(1);
2207
2391
  (0, _globals.expect)(onAdopt).toHaveBeenCalledWith(5);
2208
2392
  (0, _react.act)(function () {
@@ -2211,7 +2395,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2211
2395
  (0, _globals.expect)(onAdopt).toHaveBeenCalledTimes(2);
2212
2396
  (0, _globals.expect)(onAdopt).toHaveBeenCalledWith(100, 5);
2213
2397
  });
2214
- (0, _globals.test)('`onDiscard` event should be called when component unmount', function () {
2398
+ (0, _globals.test)('Lifecycle `onDiscard` event should be called when component unmount', function () {
2215
2399
  var onDiscard = _globals.jest.fn(function (entity) {
2216
2400
  void entity;
2217
2401
  });
@@ -2222,14 +2406,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2222
2406
  });
2223
2407
  return _objectSpread({}, entityReducers);
2224
2408
  };
2225
- var _renderHook41 = (0, _react.renderHook)(function () {
2409
+ var _renderHook45 = (0, _react.renderHook)(function () {
2226
2410
  return (0, _.useUseCase)(5, testUseCase);
2227
2411
  }),
2228
- result = _renderHook41.result,
2229
- unmount = _renderHook41.unmount;
2412
+ result = _renderHook45.result,
2413
+ unmount = _renderHook45.unmount;
2230
2414
  var current = result.current;
2231
- var _current1 = (0, _slicedToArray2["default"])(current, 2),
2232
- setEntity = _current1[1].setEntity;
2415
+ var _current13 = (0, _slicedToArray2["default"])(current, 2),
2416
+ setEntity = _current13[1].setEntity;
2233
2417
  (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(0);
2234
2418
  (0, _react.act)(function () {
2235
2419
  setEntity(100);
@@ -2240,6 +2424,76 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2240
2424
  (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(2);
2241
2425
  (0, _globals.expect)(onDiscard).toHaveBeenCalledWith(100);
2242
2426
  });
2427
+ (0, _globals.test)('Should support call lifecycleUseCase at parent usecase and child usecase', function () {
2428
+ var onParentBind = _globals.jest.fn(function (entity) {
2429
+ void entity;
2430
+ });
2431
+ var onParentChange = _globals.jest.fn(function (newEntity, oldEntity) {
2432
+ void newEntity;
2433
+ void oldEntity;
2434
+ });
2435
+ var onParentUnbind = _globals.jest.fn(function (entity) {
2436
+ void entity;
2437
+ });
2438
+ var onChildBind = _globals.jest.fn(function (entity) {
2439
+ void entity;
2440
+ });
2441
+ var onChildChange = _globals.jest.fn(function (newEntity, oldEntity) {
2442
+ void newEntity;
2443
+ void oldEntity;
2444
+ });
2445
+ var onChildUnbind = _globals.jest.fn(function (entity) {
2446
+ void entity;
2447
+ });
2448
+ var parentUseCase = function parentUseCase() {
2449
+ var entityReducers = (0, _usecases.entityUseCase)();
2450
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2451
+ onBind: onParentBind,
2452
+ onUnbind: onParentUnbind,
2453
+ onChange: onParentChange
2454
+ });
2455
+ return _objectSpread({}, entityReducers);
2456
+ };
2457
+ var childUseCase = function childUseCase() {
2458
+ var parentReducers = parentUseCase();
2459
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2460
+ onBind: onChildBind,
2461
+ onUnbind: onChildUnbind,
2462
+ onChange: onChildChange
2463
+ });
2464
+ return _objectSpread({}, parentReducers);
2465
+ };
2466
+ var _renderHook46 = (0, _react.renderHook)(function () {
2467
+ return (0, _.useUseCase)(5, childUseCase);
2468
+ }),
2469
+ result = _renderHook46.result,
2470
+ unmount = _renderHook46.unmount;
2471
+ var current = result.current;
2472
+ var _current14 = (0, _slicedToArray2["default"])(current, 2),
2473
+ setEntity = _current14[1].setEntity;
2474
+ (0, _globals.expect)(onParentBind).toHaveBeenCalledTimes(1);
2475
+ (0, _globals.expect)(onParentBind).toHaveBeenCalledWith(5);
2476
+ (0, _globals.expect)(onParentChange).toHaveBeenCalledTimes(0);
2477
+ (0, _globals.expect)(onChildBind).toHaveBeenCalledTimes(1);
2478
+ (0, _globals.expect)(onChildBind).toHaveBeenCalledWith(5);
2479
+ (0, _globals.expect)(onChildChange).toHaveBeenCalledTimes(0);
2480
+ (0, _react.act)(function () {
2481
+ setEntity(100);
2482
+ });
2483
+ (0, _globals.expect)(onParentBind).toHaveBeenCalledTimes(1);
2484
+ (0, _globals.expect)(onParentChange).toHaveBeenCalledTimes(1);
2485
+ (0, _globals.expect)(onParentChange).toHaveBeenCalledWith(100, 5);
2486
+ (0, _globals.expect)(onChildBind).toHaveBeenCalledTimes(1);
2487
+ (0, _globals.expect)(onChildChange).toHaveBeenCalledTimes(1);
2488
+ (0, _globals.expect)(onChildChange).toHaveBeenCalledWith(100, 5);
2489
+ (0, _globals.expect)(onParentUnbind).toHaveBeenCalledTimes(0);
2490
+ (0, _globals.expect)(onChildUnbind).toHaveBeenCalledTimes(0);
2491
+ unmount();
2492
+ (0, _globals.expect)(onParentUnbind).toHaveBeenCalledTimes(1);
2493
+ (0, _globals.expect)(onParentUnbind).toHaveBeenCalledWith(100);
2494
+ (0, _globals.expect)(onChildUnbind).toHaveBeenCalledTimes(1);
2495
+ (0, _globals.expect)(onChildUnbind).toHaveBeenCalledWith(100);
2496
+ });
2243
2497
  });
2244
2498
  (0, _globals.describe)('`useUseCase` should work the same as `useContextualCoreCollection`', function () {
2245
2499
  (0, _globals.test)('Provider should be returned in child component', function () {
@@ -2247,22 +2501,22 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2247
2501
  var TestChild = function TestChild() {
2248
2502
  var core = (0, _.useUseCase)(fileUseCase);
2249
2503
  var length = core.length;
2250
- var _core = (0, _slicedToArray2["default"])(core, 3),
2251
- file = _core[0],
2252
- Provider = _core[2];
2504
+ var _core4 = (0, _slicedToArray2["default"])(core, 3),
2505
+ file = _core4[0],
2506
+ Provider = _core4[2];
2253
2507
  (0, _react2.useEffect)(function () {
2254
2508
  onCore(file, length, (0, _typeof2["default"])(Provider));
2255
2509
  });
2256
2510
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2257
2511
  };
2258
2512
  var TestParent = function TestParent() {
2259
- var _useUseCase30 = (0, _.useUseCase)(function () {
2513
+ var _useUseCase28 = (0, _.useUseCase)(function () {
2260
2514
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
2261
2515
  ext: EXT_1
2262
2516
  });
2263
2517
  }, fileUseCase),
2264
- _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 3),
2265
- Provider = _useUseCase31[2];
2518
+ _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
2519
+ Provider = _useUseCase29[2];
2266
2520
  return (0, _jsxRuntime.jsx)(Provider, {
2267
2521
  children: (0, _jsxRuntime.jsx)(TestChild, {})
2268
2522
  });
@@ -2278,10 +2532,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2278
2532
  var onPopupFile = _globals.jest.fn();
2279
2533
  var buttonText = 'button';
2280
2534
  var Popup = function Popup() {
2281
- var _useUseCase32 = (0, _.useUseCase)(fileUseCase),
2282
- _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 2),
2283
- file = _useUseCase33[0],
2284
- setEntity = _useUseCase33[1].setEntity;
2535
+ var _useUseCase30 = (0, _.useUseCase)(fileUseCase),
2536
+ _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 2),
2537
+ file = _useUseCase31[0],
2538
+ setEntity = _useUseCase31[1].setEntity;
2285
2539
  var onClick = function onClick() {
2286
2540
  setEntity({
2287
2541
  ext: EXT_2
@@ -2296,24 +2550,24 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2296
2550
  });
2297
2551
  };
2298
2552
  var TestChild = function TestChild() {
2299
- var _useUseCase34 = (0, _.useUseCase)(fileUseCase),
2300
- _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 3),
2301
- Provider = _useUseCase35[2];
2553
+ var _useUseCase32 = (0, _.useUseCase)(fileUseCase),
2554
+ _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
2555
+ Provider = _useUseCase33[2];
2302
2556
  return (0, _reactDom.createPortal)((0, _jsxRuntime.jsx)(Provider, {
2303
2557
  children: (0, _jsxRuntime.jsx)(Popup, {})
2304
2558
  }), document.body);
2305
2559
  };
2306
2560
  var TestParent = function TestParent() {
2307
- var _useUseCase36 = (0, _.useUseCase)(function () {
2561
+ var _useUseCase34 = (0, _.useUseCase)(function () {
2308
2562
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
2309
2563
  ext: EXT_1
2310
2564
  });
2311
2565
  }, fileUseCase, {
2312
2566
  onChange: onChange
2313
2567
  }),
2314
- _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2315
- file = _useUseCase37[0],
2316
- Provider = _useUseCase37[2];
2568
+ _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 3),
2569
+ file = _useUseCase35[0],
2570
+ Provider = _useUseCase35[2];
2317
2571
  (0, _react2.useEffect)(function () {
2318
2572
  onRootFile(file);
2319
2573
  }, [file]);
@@ -2374,9 +2628,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2374
2628
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2375
2629
  };
2376
2630
  var B = function B() {
2377
- var _useUseCase38 = (0, _.useUseCase)(defaultFile, mockUseCase),
2378
- _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 3),
2379
- Provider = _useUseCase39[2];
2631
+ var _useUseCase36 = (0, _.useUseCase)(defaultFile, mockUseCase),
2632
+ _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2633
+ Provider = _useUseCase37[2];
2380
2634
  return (0, _jsxRuntime.jsx)(Provider, {
2381
2635
  children: (0, _jsxRuntime.jsx)(A, {})
2382
2636
  });
@@ -2396,9 +2650,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2396
2650
  });
2397
2651
  };
2398
2652
  var A = function A() {
2399
- var _useUseCase40 = (0, _.useUseCase)(stringUseCase),
2400
- _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 2),
2401
- add = _useUseCase41[1].add;
2653
+ var _useUseCase38 = (0, _.useUseCase)(stringUseCase),
2654
+ _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 2),
2655
+ add = _useUseCase39[1].add;
2402
2656
  var update = (0, _ahooks.useUpdate)();
2403
2657
  var onClick = function onClick() {
2404
2658
  update();
@@ -2410,9 +2664,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2410
2664
  });
2411
2665
  };
2412
2666
  var B = function B() {
2413
- var _useUseCase42 = (0, _.useUseCase)('', stringUseCase),
2414
- _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
2415
- Provider = _useUseCase43[2];
2667
+ var _useUseCase40 = (0, _.useUseCase)('', stringUseCase),
2668
+ _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
2669
+ Provider = _useUseCase41[2];
2416
2670
  return (0, _jsxRuntime.jsx)(Provider, {
2417
2671
  children: (0, _jsxRuntime.jsx)(A, {})
2418
2672
  });
@@ -2436,9 +2690,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2436
2690
  });
2437
2691
  };
2438
2692
  var A = function A() {
2439
- var _useUseCase44 = (0, _.useUseCase)(stringUseCase),
2440
- _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 2),
2441
- add = _useUseCase45[1].add;
2693
+ var _useUseCase42 = (0, _.useUseCase)(stringUseCase),
2694
+ _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 2),
2695
+ add = _useUseCase43[1].add;
2442
2696
  var onClick = function onClick() {
2443
2697
  add('x');
2444
2698
  };
@@ -2452,9 +2706,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2452
2706
  });
2453
2707
  };
2454
2708
  var B = function B() {
2455
- var _useUseCase46 = (0, _.useUseCase)('', stringUseCase),
2456
- _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 3),
2457
- Provider = _useUseCase47[2];
2709
+ var _useUseCase44 = (0, _.useUseCase)('', stringUseCase),
2710
+ _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
2711
+ Provider = _useUseCase45[2];
2458
2712
  return (0, _jsxRuntime.jsx)(Provider, {
2459
2713
  children: (0, _jsxRuntime.jsx)(A, {})
2460
2714
  });
@@ -2482,11 +2736,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2482
2736
  });
2483
2737
  };
2484
2738
  var A = function A() {
2485
- var _useUseCase48 = (0, _.useUseCase)(stringUseCase),
2486
- _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 2),
2487
- _useUseCase49$ = _useUseCase49[1],
2488
- add = _useUseCase49$.add,
2489
- setEntity = _useUseCase49$.setEntity;
2739
+ var _useUseCase46 = (0, _.useUseCase)(stringUseCase),
2740
+ _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 2),
2741
+ _useUseCase47$ = _useUseCase47[1],
2742
+ add = _useUseCase47$.add,
2743
+ setEntity = _useUseCase47$.setEntity;
2490
2744
  var update = (0, _ahooks.useUpdate)();
2491
2745
  add(addedText);
2492
2746
  var onSet = function onSet() {
@@ -2506,9 +2760,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2506
2760
  });
2507
2761
  };
2508
2762
  var B = function B() {
2509
- var _useUseCase50 = (0, _.useUseCase)('', stringUseCase),
2510
- _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2511
- Provider = _useUseCase51[2];
2763
+ var _useUseCase48 = (0, _.useUseCase)('', stringUseCase),
2764
+ _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 3),
2765
+ Provider = _useUseCase49[2];
2512
2766
  return (0, _jsxRuntime.jsx)(Provider, {
2513
2767
  children: (0, _jsxRuntime.jsx)(A, {})
2514
2768
  });
@@ -2537,8 +2791,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2537
2791
  var onChangeB = _globals.jest.fn(updateChangeTimes);
2538
2792
  var onChangeC = _globals.jest.fn(updateChangeTimes);
2539
2793
  var buttonText = 'my button';
2540
- var A = function A(_ref6) {
2541
- var children = _ref6.children;
2794
+ var A = function A(_ref7) {
2795
+ var children = _ref7.children;
2542
2796
  (0, _.useUseCase)(fileUseCase, {
2543
2797
  onChange: onChangeA
2544
2798
  });
@@ -2553,12 +2807,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2553
2807
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2554
2808
  };
2555
2809
  var C = function C() {
2556
- var _useUseCase52 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2810
+ var _useUseCase50 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2557
2811
  onChange: onChangeC
2558
2812
  }),
2559
- _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 3),
2560
- setPath = _useUseCase53[1].setPath,
2561
- Provider = _useUseCase53[2];
2813
+ _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2814
+ setPath = _useUseCase51[1].setPath,
2815
+ Provider = _useUseCase51[2];
2562
2816
  var onFirstClick = function onFirstClick() {
2563
2817
  setPath(PATH_1);
2564
2818
  };
@@ -2585,11 +2839,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2585
2839
  var firstButtonText = 'first button';
2586
2840
  var secondButtonText = 'second button';
2587
2841
  var A = function A() {
2588
- var _useUseCase54 = (0, _.useUseCase)(fileUseCase, {
2842
+ var _useUseCase52 = (0, _.useUseCase)(fileUseCase, {
2589
2843
  onChange: onChange
2590
2844
  }),
2591
- _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 2),
2592
- setPath = _useUseCase55[1].setPath;
2845
+ _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 2),
2846
+ setPath = _useUseCase53[1].setPath;
2593
2847
  var onFirstClick = function onFirstClick() {
2594
2848
  setPath(PATH_1);
2595
2849
  onChange = onSecondChange;
@@ -2608,9 +2862,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2608
2862
  });
2609
2863
  };
2610
2864
  var B = function B() {
2611
- var _useUseCase56 = (0, _.useUseCase)(defaultFile, fileUseCase),
2612
- _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 3),
2613
- Provider = _useUseCase57[2];
2865
+ var _useUseCase54 = (0, _.useUseCase)(defaultFile, fileUseCase),
2866
+ _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 3),
2867
+ Provider = _useUseCase55[2];
2614
2868
  return (0, _jsxRuntime.jsx)(Provider, {
2615
2869
  children: (0, _jsxRuntime.jsx)(A, {})
2616
2870
  });
@@ -2628,93 +2882,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2628
2882
  path: PATH_1
2629
2883
  }));
2630
2884
  });
2631
- (0, _globals.test)('event options should be triggered at child components', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
2632
- var readFilePromise, buttonText, onReadFile1, onReadFile2, onSizeChange, A, B;
2633
- return _regenerator["default"].wrap(function (_context16) {
2634
- while (1) switch (_context16.prev = _context16.next) {
2635
- case 0:
2636
- readFilePromise = null;
2637
- buttonText = 'my button';
2638
- onReadFile1 = _globals.jest.fn(function (path) {
2639
- void path;
2640
- return 512;
2641
- });
2642
- onReadFile2 = _globals.jest.fn(function (path) {
2643
- void path;
2644
- return 1024;
2645
- });
2646
- onSizeChange = _globals.jest.fn();
2647
- A = function A() {
2648
- var _useUseCase58 = (0, _.useUseCase)(fileUseCase, {
2649
- onReadFile: onReadFile1
2650
- }),
2651
- _useUseCase59 = (0, _slicedToArray2["default"])(_useUseCase58, 2),
2652
- size = _useUseCase59[0].size,
2653
- readFile = _useUseCase59[1].readFile;
2654
- var onClick = function onClick() {
2655
- readFilePromise = readFile(PATH_1);
2656
- };
2657
- (0, _ahooks.useUpdateEffect)(function () {
2658
- onSizeChange(size);
2659
- }, [size]);
2660
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {
2661
- children: (0, _jsxRuntime.jsx)("button", {
2662
- onClick: onClick,
2663
- children: buttonText
2664
- })
2665
- });
2666
- };
2667
- B = function B() {
2668
- var _useUseCase60 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2669
- onReadFile: onReadFile2
2670
- }),
2671
- _useUseCase61 = (0, _slicedToArray2["default"])(_useUseCase60, 3),
2672
- Provider = _useUseCase61[2];
2673
- return (0, _jsxRuntime.jsx)(Provider, {
2674
- children: (0, _jsxRuntime.jsx)(A, {})
2675
- });
2676
- };
2677
- (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
2678
- (0, _globals.expect)(onReadFile1).toHaveBeenCalledTimes(0);
2679
- (0, _globals.expect)(onReadFile2).toHaveBeenCalledTimes(0);
2680
- _context16.next = 1;
2681
- return (0, _react.act)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
2682
- return _regenerator["default"].wrap(function (_context15) {
2683
- while (1) switch (_context15.prev = _context15.next) {
2684
- case 0:
2685
- _dom.fireEvent.click(_dom.screen.getByText(buttonText));
2686
- _context15.next = 1;
2687
- return readFilePromise;
2688
- case 1:
2689
- case "end":
2690
- return _context15.stop();
2691
- }
2692
- }, _callee12);
2693
- })));
2694
- case 1:
2695
- (0, _globals.expect)(onReadFile1).toHaveBeenCalledTimes(1);
2696
- (0, _globals.expect)(onReadFile2).toHaveBeenCalledWith(PATH_1);
2697
- (0, _globals.expect)(onReadFile1).toHaveBeenCalledTimes(1);
2698
- (0, _globals.expect)(onReadFile2).toHaveBeenCalledWith(PATH_1);
2699
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
2700
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledWith(1024);
2701
- case 2:
2702
- case "end":
2703
- return _context16.stop();
2704
- }
2705
- }, _callee13);
2706
- })));
2707
2885
  (0, _globals.test)('`options.watch` should be triggered at child components', function () {
2708
2886
  var onExtChange = _globals.jest.fn();
2709
2887
  var firstButtonText = 'first button';
2710
2888
  var A = function A() {
2711
- var _useUseCase62 = (0, _.useUseCase)(fileUseCase, {
2889
+ var _useUseCase56 = (0, _.useUseCase)(fileUseCase, {
2712
2890
  watch: {
2713
2891
  ext: onExtChange
2714
2892
  }
2715
2893
  }),
2716
- _useUseCase63 = (0, _slicedToArray2["default"])(_useUseCase62, 2),
2717
- setPath = _useUseCase63[1].setPath;
2894
+ _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 2),
2895
+ setPath = _useUseCase57[1].setPath;
2718
2896
  var onFirstClick = function onFirstClick() {
2719
2897
  setPath(PATH_1);
2720
2898
  };
@@ -2724,9 +2902,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2724
2902
  });
2725
2903
  };
2726
2904
  var B = function B() {
2727
- var _useUseCase64 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2728
- _useUseCase65 = (0, _slicedToArray2["default"])(_useUseCase64, 3),
2729
- Provider = _useUseCase65[2];
2905
+ var _useUseCase58 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2906
+ _useUseCase59 = (0, _slicedToArray2["default"])(_useUseCase58, 3),
2907
+ Provider = _useUseCase59[2];
2730
2908
  return (0, _jsxRuntime.jsx)(Provider, {
2731
2909
  children: (0, _jsxRuntime.jsx)(A, {})
2732
2910
  });
@@ -2756,8 +2934,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2756
2934
  var onChangeB = _globals.jest.fn(updateChangeTimes);
2757
2935
  var onChangeC = _globals.jest.fn(updateChangeTimes);
2758
2936
  var buttonText = 'my button';
2759
- var A = function A(_ref7) {
2760
- var children = _ref7.children;
2937
+ var A = function A(_ref8) {
2938
+ var children = _ref8.children;
2761
2939
  (0, _.useUseCase)(fileUseCase, {
2762
2940
  watch: {
2763
2941
  ext: onChangeA
@@ -2776,14 +2954,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2776
2954
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2777
2955
  };
2778
2956
  var C = function C() {
2779
- var _useUseCase66 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2957
+ var _useUseCase60 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2780
2958
  watch: {
2781
2959
  ext: onChangeC
2782
2960
  }
2783
2961
  }),
2784
- _useUseCase67 = (0, _slicedToArray2["default"])(_useUseCase66, 3),
2785
- setPath = _useUseCase67[1].setPath,
2786
- Provider = _useUseCase67[2];
2962
+ _useUseCase61 = (0, _slicedToArray2["default"])(_useUseCase60, 3),
2963
+ setPath = _useUseCase61[1].setPath,
2964
+ Provider = _useUseCase61[2];
2787
2965
  var onFirstClick = function onFirstClick() {
2788
2966
  setPath(PATH_1);
2789
2967
  };
@@ -2810,13 +2988,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2810
2988
  var firstButtonText = 'first button';
2811
2989
  var secondButtonText = 'second button';
2812
2990
  var A = function A() {
2813
- var _useUseCase68 = (0, _.useUseCase)(fileUseCase, {
2991
+ var _useUseCase62 = (0, _.useUseCase)(fileUseCase, {
2814
2992
  watch: {
2815
2993
  ext: onExtChange
2816
2994
  }
2817
2995
  }),
2818
- _useUseCase69 = (0, _slicedToArray2["default"])(_useUseCase68, 2),
2819
- setPath = _useUseCase69[1].setPath;
2996
+ _useUseCase63 = (0, _slicedToArray2["default"])(_useUseCase62, 2),
2997
+ setPath = _useUseCase63[1].setPath;
2820
2998
  var onFirstClick = function onFirstClick() {
2821
2999
  setPath(PATH_1);
2822
3000
  onExtChange = onSecondExtChange;
@@ -2835,9 +3013,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2835
3013
  });
2836
3014
  };
2837
3015
  var B = function B() {
2838
- var _useUseCase70 = (0, _.useUseCase)(defaultFile, fileUseCase),
2839
- _useUseCase71 = (0, _slicedToArray2["default"])(_useUseCase70, 3),
2840
- Provider = _useUseCase71[2];
3016
+ var _useUseCase64 = (0, _.useUseCase)(defaultFile, fileUseCase),
3017
+ _useUseCase65 = (0, _slicedToArray2["default"])(_useUseCase64, 3),
3018
+ Provider = _useUseCase65[2];
2841
3019
  return (0, _jsxRuntime.jsx)(Provider, {
2842
3020
  children: (0, _jsxRuntime.jsx)(A, {})
2843
3021
  });
@@ -2864,38 +3042,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2864
3042
  });
2865
3043
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
2866
3044
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
2867
- var _renderHook42 = (0, _react.renderHook)(function () {
3045
+ var _renderHook47 = (0, _react.renderHook)(function () {
2868
3046
  return (0, _.useUseCase)(mathUseCase);
2869
3047
  }),
2870
- result = _renderHook42.result;
3048
+ result = _renderHook47.result;
2871
3049
  var reducers = result.current;
2872
3050
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
2873
3051
  });
2874
3052
  (0, _globals.test)('returned reducer should work', function () {
2875
- var _renderHook43 = (0, _react.renderHook)(function () {
3053
+ var _renderHook48 = (0, _react.renderHook)(function () {
2876
3054
  return (0, _.useUseCase)(mathUseCase);
2877
3055
  }),
2878
- result = _renderHook43.result;
3056
+ result = _renderHook48.result;
2879
3057
  var reducers = result.current;
2880
3058
  var add = reducers.add;
2881
3059
  (0, _globals.expect)(add(1, 2)).toBe(3);
2882
3060
  });
2883
3061
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
2884
3062
  var mockUseCase = _globals.jest.fn(mathUseCase);
2885
- var _renderHook44 = (0, _react.renderHook)(function () {
3063
+ var _renderHook49 = (0, _react.renderHook)(function () {
2886
3064
  return (0, _.useUseCase)(mockUseCase);
2887
3065
  }),
2888
- rerender = _renderHook44.rerender;
3066
+ rerender = _renderHook49.rerender;
2889
3067
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2890
3068
  rerender();
2891
3069
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2892
3070
  });
2893
3071
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
2894
3072
  var mockUseCase = _globals.jest.fn(mathUseCase);
2895
- var _renderHook45 = (0, _react.renderHook)(function () {
3073
+ var _renderHook50 = (0, _react.renderHook)(function () {
2896
3074
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
2897
3075
  }),
2898
- rerender = _renderHook45.rerender;
3076
+ rerender = _renderHook50.rerender;
2899
3077
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2900
3078
  rerender();
2901
3079
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2903,10 +3081,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2903
3081
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
2904
3082
  var i = 0;
2905
3083
  var mockUseCase = _globals.jest.fn(mathUseCase);
2906
- var _renderHook46 = (0, _react.renderHook)(function () {
3084
+ var _renderHook51 = (0, _react.renderHook)(function () {
2907
3085
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
2908
3086
  }),
2909
- rerender = _renderHook46.rerender;
3087
+ rerender = _renderHook51.rerender;
2910
3088
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2911
3089
  rerender();
2912
3090
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2914,8 +3092,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2914
3092
  (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
2915
3093
  var buttonText = 'button';
2916
3094
  var CacheTestComponent = function CacheTestComponent() {
2917
- var _useUseCase72 = (0, _.useUseCase)(mathUseCase),
2918
- subtraction = _useUseCase72.subtraction;
3095
+ var _useUseCase66 = (0, _.useUseCase)(mathUseCase),
3096
+ subtraction = _useUseCase66.subtraction;
2919
3097
  var update = (0, _ahooks.useUpdate)();
2920
3098
  var onClick = function onClick() {
2921
3099
  update();
@@ -2938,8 +3116,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2938
3116
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
2939
3117
  var buttonText = 'button';
2940
3118
  var CacheTestComponent = function CacheTestComponent() {
2941
- var _useUseCase73 = (0, _.useUseCase)(mathUseCase),
2942
- subtraction = _useUseCase73.subtraction;
3119
+ var _useUseCase67 = (0, _.useUseCase)(mathUseCase),
3120
+ subtraction = _useUseCase67.subtraction;
2943
3121
  var onClick = function onClick() {
2944
3122
  subtraction(5, 3);
2945
3123
  };
@@ -2967,8 +3145,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2967
3145
  var count = 0;
2968
3146
  var buttonText = 'button';
2969
3147
  var StringUseCaseTestComponent = function StringUseCaseTestComponent() {
2970
- var _useUseCase74 = (0, _.useUseCase)(mathUseCase),
2971
- subtraction = _useUseCase74.subtraction;
3148
+ var _useUseCase68 = (0, _.useUseCase)(mathUseCase),
3149
+ subtraction = _useUseCase68.subtraction;
2972
3150
  var update = (0, _ahooks.useUpdate)();
2973
3151
  subtraction(5, count++);
2974
3152
  var onUpdate = function onUpdate() {
@@ -2990,12 +3168,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2990
3168
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
2991
3169
  });
2992
3170
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
2993
- var _renderHook47 = (0, _react.renderHook)(function () {
3171
+ var _renderHook52 = (0, _react.renderHook)(function () {
2994
3172
  return (0, _.useUseCase)(mathUseCase, {
2995
3173
  extraValue: 5
2996
3174
  });
2997
3175
  }),
2998
- result = _renderHook47.result;
3176
+ result = _renderHook52.result;
2999
3177
  var reducers = result.current;
3000
3178
  var add = reducers.add;
3001
3179
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -3003,7 +3181,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3003
3181
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
3004
3182
  var onUpdate = _globals.jest.fn();
3005
3183
  var onDeepUpdate = _globals.jest.fn();
3006
- var _renderHook48 = (0, _react.renderHook)(function () {
3184
+ var _renderHook53 = (0, _react.renderHook)(function () {
3007
3185
  var _useState7 = (0, _react2.useState)(0),
3008
3186
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
3009
3187
  extraValue = _useState8[0],
@@ -3019,7 +3197,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3019
3197
  }, [reducers]);
3020
3198
  return setExtraValue;
3021
3199
  }),
3022
- result = _renderHook48.result;
3200
+ result = _renderHook53.result;
3023
3201
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3024
3202
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3025
3203
  (0, _react.act)(function () {
@@ -3031,7 +3209,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3031
3209
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
3032
3210
  var onUpdate = _globals.jest.fn();
3033
3211
  var onDeepUpdate = _globals.jest.fn();
3034
- var _renderHook49 = (0, _react.renderHook)(function () {
3212
+ var _renderHook54 = (0, _react.renderHook)(function () {
3035
3213
  var _useState9 = (0, _react2.useState)(0),
3036
3214
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
3037
3215
  extraValue = _useState0[0],
@@ -3047,7 +3225,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3047
3225
  }, [reducers]);
3048
3226
  return setExtraValue;
3049
3227
  }),
3050
- result = _renderHook49.result;
3228
+ result = _renderHook54.result;
3051
3229
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3052
3230
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3053
3231
  (0, _react.act)(function () {
@@ -3059,7 +3237,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3059
3237
  (0, _globals.test)('empty `deps` should not update reducers', function () {
3060
3238
  var onUpdate = _globals.jest.fn();
3061
3239
  var onDeepUpdate = _globals.jest.fn();
3062
- var _renderHook50 = (0, _react.renderHook)(function () {
3240
+ var _renderHook55 = (0, _react.renderHook)(function () {
3063
3241
  var _useState1 = (0, _react2.useState)(0),
3064
3242
  _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
3065
3243
  extraValue = _useState10[0],
@@ -3075,7 +3253,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
3075
3253
  }, [reducers]);
3076
3254
  return setExtraValue;
3077
3255
  }),
3078
- result = _renderHook50.result;
3256
+ result = _renderHook55.result;
3079
3257
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
3080
3258
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
3081
3259
  (0, _react.act)(function () {