@mic-rexjs/usecases-react 3.6.3 → 4.0.0-beta.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.
Files changed (68) hide show
  1. package/dist/index.min.js +1 -1
  2. package/es/classes/OptionsSet/index.d.ts +6 -0
  3. package/es/classes/OptionsSet/index.js +44 -0
  4. package/es/classes/OptionsSet/types.d.ts +8 -0
  5. package/es/hooks/useContextValue/index.d.ts +6 -0
  6. package/es/hooks/useContextValue/index.js +20 -0
  7. package/es/hooks/useContextualItem/index.d.ts +2 -2
  8. package/es/hooks/useContextualItem/index.js +8 -28
  9. package/es/hooks/useEntity/index.d.ts +1 -1
  10. package/es/hooks/useEntity/index.js +21 -15
  11. package/es/hooks/useExec/index.d.ts +2 -2
  12. package/es/hooks/useExec/index.js +19 -6
  13. package/es/hooks/useExec/types.d.ts +3 -0
  14. package/es/hooks/useFullArguments/types.d.ts +2 -2
  15. package/es/hooks/useOptions/index.d.ts +5 -0
  16. package/es/hooks/useOptions/index.js +54 -0
  17. package/es/hooks/useOptions/types.d.ts +5 -0
  18. package/es/hooks/useOptionsSet/index.d.ts +5 -0
  19. package/es/hooks/useOptionsSet/index.js +16 -0
  20. package/es/hooks/useProvider/index.d.ts +1 -3
  21. package/es/hooks/useProvider/index.js +2 -10
  22. package/es/hooks/useReducers/index.d.ts +1 -1
  23. package/es/hooks/useReducers/index.js +6 -25
  24. package/es/hooks/useRootCreation/index.d.ts +4 -0
  25. package/es/hooks/useRootCreation/index.js +20 -0
  26. package/es/hooks/useRootCreation/types.d.ts +3 -0
  27. package/es/hooks/useRootCreation/types.js +1 -0
  28. package/es/hooks/useStore/index.js +7 -12
  29. package/es/hooks/useUseCase/index.js +12 -6
  30. package/es/hooks/useUseCase/index.test.js +286 -126
  31. package/es/hooks/useUseCase/types.d.ts +4 -5
  32. package/es/methods/cacheCall/index.d.ts +2 -0
  33. package/es/methods/cacheCall/index.js +38 -0
  34. package/es/methods/cacheCall/types.d.ts +12 -0
  35. package/es/methods/cacheCall/types.js +1 -0
  36. package/es/methods/cacheCalls/index.d.ts +2 -0
  37. package/es/methods/cacheCalls/index.js +12 -0
  38. package/es/usecases/contextUseCase/types.d.ts +3 -1
  39. package/es/usecases/lifecycleEventUseCase/types.d.ts +14 -0
  40. package/es/usecases/lifecycleUseCase/index.js +5 -1
  41. package/lib/classes/OptionsSet/index.js +94 -0
  42. package/lib/hooks/useContextValue/index.js +26 -0
  43. package/lib/hooks/useContextualItem/index.js +8 -28
  44. package/lib/hooks/useEntity/index.js +20 -14
  45. package/lib/hooks/useExec/index.js +18 -5
  46. package/lib/hooks/useOptions/index.js +61 -0
  47. package/lib/hooks/useOptionsSet/index.js +22 -0
  48. package/lib/hooks/useProvider/index.js +1 -9
  49. package/lib/hooks/useReducers/index.js +8 -31
  50. package/lib/hooks/useRootCreation/index.js +26 -0
  51. package/lib/hooks/useRootCreation/types.js +5 -0
  52. package/lib/hooks/useStore/index.js +7 -12
  53. package/lib/hooks/useUseCase/index.js +13 -7
  54. package/lib/hooks/useUseCase/index.test.js +322 -127
  55. package/lib/methods/cacheCall/index.js +44 -0
  56. package/lib/methods/cacheCall/types.js +5 -0
  57. package/lib/methods/cacheCalls/index.js +19 -0
  58. package/lib/usecases/lifecycleUseCase/index.js +5 -1
  59. package/package.json +3 -3
  60. package/es/hooks/useContextualItem/types.d.ts +0 -3
  61. package/es/usecases/methodUseCase/index.d.ts +0 -2
  62. package/es/usecases/methodUseCase/index.js +0 -72
  63. package/es/usecases/methodUseCase/types.d.ts +0 -21
  64. package/lib/usecases/methodUseCase/index.js +0 -79
  65. /package/es/{hooks/useContextualItem → classes/OptionsSet}/types.js +0 -0
  66. /package/es/{usecases/methodUseCase → hooks/useOptions}/types.js +0 -0
  67. /package/lib/{hooks/useContextualItem → classes/OptionsSet}/types.js +0 -0
  68. /package/lib/{usecases/methodUseCase → hooks/useOptions}/types.js +0 -0
@@ -40,6 +40,7 @@ var fileUseCase = function fileUseCase() {
40
40
  var entityReducers = (0, _usecases.entityUseCase)();
41
41
  var _options$pathPrefix = options.pathPrefix,
42
42
  pathPrefix = _options$pathPrefix === void 0 ? '' : _options$pathPrefix,
43
+ onReadFile = options.onReadFile,
43
44
  onPathChange = options.onPathChange;
44
45
  var init = function init(entity) {
45
46
  var newEntity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFile;
@@ -80,11 +81,11 @@ var fileUseCase = function fileUseCase() {
80
81
  });
81
82
  var readFile = /*#__PURE__*/function () {
82
83
  var _ref8 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
83
- var size;
84
+ var _onReadFile, size;
84
85
  return _regenerator["default"].wrap(function (_context5) {
85
86
  while (1) switch (_context5.prev = _context5.next) {
86
87
  case 0:
87
- size = 2000;
88
+ size = (_onReadFile = onReadFile === null || onReadFile === void 0 ? void 0 : onReadFile(path)) !== null && _onReadFile !== void 0 ? _onReadFile : 2000;
88
89
  return _context5.delegateYield((0, _asyncGeneratorDelegate2["default"])(_asyncIterator(setPath(entity, path)), _awaitAsyncGenerator2["default"]), "t0", 1);
89
90
  case 1:
90
91
  _context5.next = 2;
@@ -1053,7 +1054,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1053
1054
  _dom.fireEvent.click(_dom.screen.getByText(updateButtonText));
1054
1055
  (0, _globals.expect)(addReducer).toHaveBeenCalledTimes(3);
1055
1056
  });
1056
- (0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
1057
+ (0, _globals.test)('`options.onChange` should be triggered when entity has changed', function () {
1057
1058
  var onChange = _globals.jest.fn();
1058
1059
  var _renderHook23 = (0, _react.renderHook)(function () {
1059
1060
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
@@ -1236,6 +1237,64 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1236
1237
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1237
1238
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
1238
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
+ })));
1239
1298
  (0, _globals.test)("should call latest functions of usecase options even deps has not change", function () {
1240
1299
  var onPathChange1 = _globals.jest.fn();
1241
1300
  var onPathChange2 = _globals.jest.fn();
@@ -1263,7 +1322,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1263
1322
  (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
1264
1323
  (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith(PATH_2, PATH_1);
1265
1324
  });
1266
- (0, _globals.test)('`options.watch` should be trigger after entity changed', function () {
1325
+ (0, _globals.test)('`options.watch` should be triggered after entity changed', function () {
1267
1326
  var onPathChange = _globals.jest.fn();
1268
1327
  var onSizeChange = _globals.jest.fn();
1269
1328
  var _renderHook30 = (0, _react.renderHook)(function () {
@@ -1295,7 +1354,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1295
1354
  oldValue: ''
1296
1355
  });
1297
1356
  });
1298
- (0, _globals.test)('`options.watch` should be trigger after update entity by entity initializer', function () {
1357
+ (0, _globals.test)('`options.watch` should be triggered after update entity by entity initializer', function () {
1299
1358
  var onPathChange = _globals.jest.fn();
1300
1359
  var _renderHook31 = (0, _react.renderHook)(function () {
1301
1360
  var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -1340,7 +1399,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1340
1399
  oldValue: PATH_1
1341
1400
  });
1342
1401
  });
1343
- (0, _globals.test)('`options.watch` should be trigger after update entity by entity initializer at child component', function () {
1402
+ (0, _globals.test)('`options.watch` should be triggered after update entity by entity initializer at child component', function () {
1344
1403
  var onPathChange = _globals.jest.fn();
1345
1404
  var TestChild = function TestChild() {
1346
1405
  (0, _.useUseCase)(fileUseCase, {
@@ -1353,14 +1412,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1353
1412
  var TestParent = function TestParent(_ref5) {
1354
1413
  var file = _ref5.file;
1355
1414
  var path = file.path;
1356
- var _useUseCase10 = (0, _.useUseCase)(function () {
1415
+ var _useUseCase12 = (0, _.useUseCase)(function () {
1357
1416
  var currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1358
1417
  return _objectSpread(_objectSpread({}, currentFile), {}, {
1359
1418
  path: path
1360
1419
  });
1361
1420
  }, fileUseCase, {}, [path]),
1362
- _useUseCase11 = (0, _slicedToArray2["default"])(_useUseCase10, 3),
1363
- Provider = _useUseCase11[2];
1421
+ _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 3),
1422
+ Provider = _useUseCase13[2];
1364
1423
  return (0, _jsxRuntime.jsx)(Provider, {
1365
1424
  children: (0, _jsxRuntime.jsx)(TestChild, {})
1366
1425
  });
@@ -1990,15 +2049,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1990
2049
  return (0, _usecases.entityUseCase)();
1991
2050
  };
1992
2051
  var TestChildComponent = function TestChildComponent() {
1993
- var _useUseCase12 = (0, _.useUseCase)(numberUseCase),
1994
- _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 1),
1995
- numberValue = _useUseCase13[0];
1996
- var _useUseCase14 = (0, _.useUseCase)(stringUseCase),
2052
+ var _useUseCase14 = (0, _.useUseCase)(numberUseCase),
1997
2053
  _useUseCase15 = (0, _slicedToArray2["default"])(_useUseCase14, 1),
1998
- stringValue = _useUseCase15[0];
1999
- var _useUseCase16 = (0, _.useUseCase)(booleanUseCase),
2054
+ numberValue = _useUseCase15[0];
2055
+ var _useUseCase16 = (0, _.useUseCase)(stringUseCase),
2000
2056
  _useUseCase17 = (0, _slicedToArray2["default"])(_useUseCase16, 1),
2001
- booleanValue = _useUseCase17[0];
2057
+ stringValue = _useUseCase17[0];
2058
+ var _useUseCase18 = (0, _.useUseCase)(booleanUseCase),
2059
+ _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 1),
2060
+ booleanValue = _useUseCase19[0];
2002
2061
  (0, _ahooks.useMount)(function () {
2003
2062
  onNumberMount(numberValue);
2004
2063
  onStringMount(stringValue);
@@ -2007,15 +2066,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2007
2066
  return null;
2008
2067
  };
2009
2068
  var TestParentComponent = function TestParentComponent() {
2010
- var _useUseCase18 = (0, _.useUseCase)(11, numberUseCase),
2011
- _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 3),
2012
- NumberProvider = _useUseCase19[2];
2013
- var _useUseCase20 = (0, _.useUseCase)('hello', stringUseCase),
2069
+ var _useUseCase20 = (0, _.useUseCase)(11, numberUseCase),
2014
2070
  _useUseCase21 = (0, _slicedToArray2["default"])(_useUseCase20, 3),
2015
- StringProvider = _useUseCase21[2];
2016
- var _useUseCase22 = (0, _.useUseCase)(true, booleanUseCase),
2071
+ NumberProvider = _useUseCase21[2];
2072
+ var _useUseCase22 = (0, _.useUseCase)('hello', stringUseCase),
2017
2073
  _useUseCase23 = (0, _slicedToArray2["default"])(_useUseCase22, 3),
2018
- BooleanProvider = _useUseCase23[2];
2074
+ StringProvider = _useUseCase23[2];
2075
+ var _useUseCase24 = (0, _.useUseCase)(true, booleanUseCase),
2076
+ _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 3),
2077
+ BooleanProvider = _useUseCase25[2];
2019
2078
  return (0, _jsxRuntime.jsx)(NumberProvider, {
2020
2079
  "with": [StringProvider, BooleanProvider],
2021
2080
  children: (0, _jsxRuntime.jsx)(TestChildComponent, {})
@@ -2031,15 +2090,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2031
2090
  void entity;
2032
2091
  });
2033
2092
  var testUseCase = function testUseCase() {
2034
- var lifecycleReducers = (0, _lifecycleUseCase.lifecycleUseCase)({
2093
+ var entityReducers = (0, _usecases.entityUseCase)();
2094
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2035
2095
  onBind: onBind
2036
2096
  });
2037
- return _objectSpread({}, lifecycleReducers);
2097
+ return _objectSpread({}, entityReducers);
2038
2098
  };
2039
2099
  (0, _react.renderHook)(function () {
2040
- var _useUseCase24 = (0, _.useUseCase)(5, testUseCase),
2041
- _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 2),
2042
- setEntity = _useUseCase25[1].setEntity;
2100
+ var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2101
+ _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2102
+ setEntity = _useUseCase27[1].setEntity;
2043
2103
  (0, _ahooks.useMount)(function () {
2044
2104
  setEntity(100);
2045
2105
  });
@@ -2053,10 +2113,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2053
2113
  void oldEntity;
2054
2114
  });
2055
2115
  var testUseCase = function testUseCase() {
2056
- var lifecycleReducers = (0, _lifecycleUseCase.lifecycleUseCase)({
2116
+ var entityReducers = (0, _usecases.entityUseCase)();
2117
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2057
2118
  onChange: onChange
2058
2119
  });
2059
- return _objectSpread({}, lifecycleReducers);
2120
+ return _objectSpread({}, entityReducers);
2060
2121
  };
2061
2122
  var _renderHook37 = (0, _react.renderHook)(function () {
2062
2123
  return (0, _.useUseCase)(5, testUseCase);
@@ -2078,10 +2139,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2078
2139
  void oldEntity;
2079
2140
  });
2080
2141
  var testUseCase = function testUseCase() {
2081
- var lifecycleReducers = (0, _lifecycleUseCase.lifecycleUseCase)({
2142
+ var entityReducers = (0, _usecases.entityUseCase)();
2143
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2082
2144
  onUpdate: onUpdate
2083
2145
  });
2084
- return _objectSpread({}, lifecycleReducers);
2146
+ return _objectSpread({}, entityReducers);
2085
2147
  };
2086
2148
  var _renderHook38 = (0, _react.renderHook)(function () {
2087
2149
  return (0, _.useUseCase)(5, testUseCase);
@@ -2102,15 +2164,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2102
2164
  void entity;
2103
2165
  });
2104
2166
  var testUseCase = function testUseCase() {
2105
- var lifecycleReducers = (0, _lifecycleUseCase.lifecycleUseCase)({
2167
+ var entityReducers = (0, _usecases.entityUseCase)();
2168
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2106
2169
  onUnbind: onUnbind
2107
2170
  });
2108
- return _objectSpread({}, lifecycleReducers);
2171
+ return _objectSpread({}, entityReducers);
2109
2172
  };
2110
2173
  var _renderHook39 = (0, _react.renderHook)(function () {
2111
- var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2112
- _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2113
- setEntity = _useUseCase27[1].setEntity;
2174
+ var _useUseCase28 = (0, _.useUseCase)(5, testUseCase),
2175
+ _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 2),
2176
+ setEntity = _useUseCase29[1].setEntity;
2114
2177
  (0, _ahooks.useMount)(function () {
2115
2178
  setEntity(100);
2116
2179
  });
@@ -2121,6 +2184,62 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2121
2184
  (0, _globals.expect)(onUnbind).toHaveBeenCalledTimes(1);
2122
2185
  (0, _globals.expect)(onUnbind).toHaveBeenCalledWith(100);
2123
2186
  });
2187
+ (0, _globals.test)('`onAdopt` event should be called when entity change', function () {
2188
+ var onAdopt = _globals.jest.fn(function (newEntity, oldeEntity) {
2189
+ void newEntity;
2190
+ void oldeEntity;
2191
+ });
2192
+ var testUseCase = function testUseCase() {
2193
+ var entityReducers = (0, _usecases.entityUseCase)();
2194
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2195
+ onAdopt: onAdopt
2196
+ });
2197
+ return _objectSpread({}, entityReducers);
2198
+ };
2199
+ var _renderHook40 = (0, _react.renderHook)(function () {
2200
+ return (0, _.useUseCase)(5, testUseCase);
2201
+ }),
2202
+ result = _renderHook40.result;
2203
+ var current = result.current;
2204
+ var _current0 = (0, _slicedToArray2["default"])(current, 2),
2205
+ setEntity = _current0[1].setEntity;
2206
+ (0, _globals.expect)(onAdopt).toHaveBeenCalledTimes(1);
2207
+ (0, _globals.expect)(onAdopt).toHaveBeenCalledWith(5);
2208
+ (0, _react.act)(function () {
2209
+ setEntity(100);
2210
+ });
2211
+ (0, _globals.expect)(onAdopt).toHaveBeenCalledTimes(2);
2212
+ (0, _globals.expect)(onAdopt).toHaveBeenCalledWith(100, 5);
2213
+ });
2214
+ (0, _globals.test)('`onDiscard` event should be called when component unmount', function () {
2215
+ var onDiscard = _globals.jest.fn(function (entity) {
2216
+ void entity;
2217
+ });
2218
+ var testUseCase = function testUseCase() {
2219
+ var entityReducers = (0, _usecases.entityUseCase)();
2220
+ (0, _lifecycleUseCase.lifecycleUseCase)({
2221
+ onDiscard: onDiscard
2222
+ });
2223
+ return _objectSpread({}, entityReducers);
2224
+ };
2225
+ var _renderHook41 = (0, _react.renderHook)(function () {
2226
+ return (0, _.useUseCase)(5, testUseCase);
2227
+ }),
2228
+ result = _renderHook41.result,
2229
+ unmount = _renderHook41.unmount;
2230
+ var current = result.current;
2231
+ var _current1 = (0, _slicedToArray2["default"])(current, 2),
2232
+ setEntity = _current1[1].setEntity;
2233
+ (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(0);
2234
+ (0, _react.act)(function () {
2235
+ setEntity(100);
2236
+ });
2237
+ (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(1);
2238
+ (0, _globals.expect)(onDiscard).toHaveBeenCalledWith(5);
2239
+ unmount();
2240
+ (0, _globals.expect)(onDiscard).toHaveBeenCalledTimes(2);
2241
+ (0, _globals.expect)(onDiscard).toHaveBeenCalledWith(100);
2242
+ });
2124
2243
  });
2125
2244
  (0, _globals.describe)('`useUseCase` should work the same as `useContextualCoreCollection`', function () {
2126
2245
  (0, _globals.test)('Provider should be returned in child component', function () {
@@ -2137,13 +2256,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2137
2256
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2138
2257
  };
2139
2258
  var TestParent = function TestParent() {
2140
- var _useUseCase28 = (0, _.useUseCase)(function () {
2259
+ var _useUseCase30 = (0, _.useUseCase)(function () {
2141
2260
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
2142
2261
  ext: EXT_1
2143
2262
  });
2144
2263
  }, fileUseCase),
2145
- _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
2146
- Provider = _useUseCase29[2];
2264
+ _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 3),
2265
+ Provider = _useUseCase31[2];
2147
2266
  return (0, _jsxRuntime.jsx)(Provider, {
2148
2267
  children: (0, _jsxRuntime.jsx)(TestChild, {})
2149
2268
  });
@@ -2159,10 +2278,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2159
2278
  var onPopupFile = _globals.jest.fn();
2160
2279
  var buttonText = 'button';
2161
2280
  var Popup = function Popup() {
2162
- var _useUseCase30 = (0, _.useUseCase)(fileUseCase),
2163
- _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 2),
2164
- file = _useUseCase31[0],
2165
- setEntity = _useUseCase31[1].setEntity;
2281
+ var _useUseCase32 = (0, _.useUseCase)(fileUseCase),
2282
+ _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 2),
2283
+ file = _useUseCase33[0],
2284
+ setEntity = _useUseCase33[1].setEntity;
2166
2285
  var onClick = function onClick() {
2167
2286
  setEntity({
2168
2287
  ext: EXT_2
@@ -2177,24 +2296,24 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2177
2296
  });
2178
2297
  };
2179
2298
  var TestChild = function TestChild() {
2180
- var _useUseCase32 = (0, _.useUseCase)(fileUseCase),
2181
- _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
2182
- Provider = _useUseCase33[2];
2299
+ var _useUseCase34 = (0, _.useUseCase)(fileUseCase),
2300
+ _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 3),
2301
+ Provider = _useUseCase35[2];
2183
2302
  return (0, _reactDom.createPortal)((0, _jsxRuntime.jsx)(Provider, {
2184
2303
  children: (0, _jsxRuntime.jsx)(Popup, {})
2185
2304
  }), document.body);
2186
2305
  };
2187
2306
  var TestParent = function TestParent() {
2188
- var _useUseCase34 = (0, _.useUseCase)(function () {
2307
+ var _useUseCase36 = (0, _.useUseCase)(function () {
2189
2308
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
2190
2309
  ext: EXT_1
2191
2310
  });
2192
2311
  }, fileUseCase, {
2193
2312
  onChange: onChange
2194
2313
  }),
2195
- _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 3),
2196
- file = _useUseCase35[0],
2197
- Provider = _useUseCase35[2];
2314
+ _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2315
+ file = _useUseCase37[0],
2316
+ Provider = _useUseCase37[2];
2198
2317
  (0, _react2.useEffect)(function () {
2199
2318
  onRootFile(file);
2200
2319
  }, [file]);
@@ -2255,9 +2374,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2255
2374
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2256
2375
  };
2257
2376
  var B = function B() {
2258
- var _useUseCase36 = (0, _.useUseCase)(defaultFile, mockUseCase),
2259
- _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2260
- Provider = _useUseCase37[2];
2377
+ var _useUseCase38 = (0, _.useUseCase)(defaultFile, mockUseCase),
2378
+ _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 3),
2379
+ Provider = _useUseCase39[2];
2261
2380
  return (0, _jsxRuntime.jsx)(Provider, {
2262
2381
  children: (0, _jsxRuntime.jsx)(A, {})
2263
2382
  });
@@ -2277,9 +2396,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2277
2396
  });
2278
2397
  };
2279
2398
  var A = function A() {
2280
- var _useUseCase38 = (0, _.useUseCase)(stringUseCase),
2281
- _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 2),
2282
- add = _useUseCase39[1].add;
2399
+ var _useUseCase40 = (0, _.useUseCase)(stringUseCase),
2400
+ _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 2),
2401
+ add = _useUseCase41[1].add;
2283
2402
  var update = (0, _ahooks.useUpdate)();
2284
2403
  var onClick = function onClick() {
2285
2404
  update();
@@ -2291,9 +2410,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2291
2410
  });
2292
2411
  };
2293
2412
  var B = function B() {
2294
- var _useUseCase40 = (0, _.useUseCase)('', stringUseCase),
2295
- _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
2296
- Provider = _useUseCase41[2];
2413
+ var _useUseCase42 = (0, _.useUseCase)('', stringUseCase),
2414
+ _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
2415
+ Provider = _useUseCase43[2];
2297
2416
  return (0, _jsxRuntime.jsx)(Provider, {
2298
2417
  children: (0, _jsxRuntime.jsx)(A, {})
2299
2418
  });
@@ -2317,9 +2436,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2317
2436
  });
2318
2437
  };
2319
2438
  var A = function A() {
2320
- var _useUseCase42 = (0, _.useUseCase)(stringUseCase),
2321
- _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 2),
2322
- add = _useUseCase43[1].add;
2439
+ var _useUseCase44 = (0, _.useUseCase)(stringUseCase),
2440
+ _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 2),
2441
+ add = _useUseCase45[1].add;
2323
2442
  var onClick = function onClick() {
2324
2443
  add('x');
2325
2444
  };
@@ -2333,9 +2452,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2333
2452
  });
2334
2453
  };
2335
2454
  var B = function B() {
2336
- var _useUseCase44 = (0, _.useUseCase)('', stringUseCase),
2337
- _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
2338
- Provider = _useUseCase45[2];
2455
+ var _useUseCase46 = (0, _.useUseCase)('', stringUseCase),
2456
+ _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 3),
2457
+ Provider = _useUseCase47[2];
2339
2458
  return (0, _jsxRuntime.jsx)(Provider, {
2340
2459
  children: (0, _jsxRuntime.jsx)(A, {})
2341
2460
  });
@@ -2363,11 +2482,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2363
2482
  });
2364
2483
  };
2365
2484
  var A = function A() {
2366
- var _useUseCase46 = (0, _.useUseCase)(stringUseCase),
2367
- _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 2),
2368
- _useUseCase47$ = _useUseCase47[1],
2369
- add = _useUseCase47$.add,
2370
- setEntity = _useUseCase47$.setEntity;
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;
2371
2490
  var update = (0, _ahooks.useUpdate)();
2372
2491
  add(addedText);
2373
2492
  var onSet = function onSet() {
@@ -2387,9 +2506,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2387
2506
  });
2388
2507
  };
2389
2508
  var B = function B() {
2390
- var _useUseCase48 = (0, _.useUseCase)('', stringUseCase),
2391
- _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 3),
2392
- Provider = _useUseCase49[2];
2509
+ var _useUseCase50 = (0, _.useUseCase)('', stringUseCase),
2510
+ _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2511
+ Provider = _useUseCase51[2];
2393
2512
  return (0, _jsxRuntime.jsx)(Provider, {
2394
2513
  children: (0, _jsxRuntime.jsx)(A, {})
2395
2514
  });
@@ -2409,7 +2528,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2409
2528
  _dom.fireEvent.click(_dom.screen.getByText(updateButtonText));
2410
2529
  (0, _globals.expect)(addReducer).toHaveBeenCalledTimes(3);
2411
2530
  });
2412
- (0, _globals.test)('`options.onChange` event should be trigger in orders', function () {
2531
+ (0, _globals.test)('`options.onChange` event should be triggered in orders', function () {
2413
2532
  var changeTimes = 0;
2414
2533
  var updateChangeTimes = function updateChangeTimes() {
2415
2534
  return ++changeTimes;
@@ -2434,12 +2553,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2434
2553
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2435
2554
  };
2436
2555
  var C = function C() {
2437
- var _useUseCase50 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2556
+ var _useUseCase52 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2438
2557
  onChange: onChangeC
2439
2558
  }),
2440
- _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2441
- setPath = _useUseCase51[1].setPath,
2442
- Provider = _useUseCase51[2];
2559
+ _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 3),
2560
+ setPath = _useUseCase53[1].setPath,
2561
+ Provider = _useUseCase53[2];
2443
2562
  var onFirstClick = function onFirstClick() {
2444
2563
  setPath(PATH_1);
2445
2564
  };
@@ -2466,11 +2585,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2466
2585
  var firstButtonText = 'first button';
2467
2586
  var secondButtonText = 'second button';
2468
2587
  var A = function A() {
2469
- var _useUseCase52 = (0, _.useUseCase)(fileUseCase, {
2588
+ var _useUseCase54 = (0, _.useUseCase)(fileUseCase, {
2470
2589
  onChange: onChange
2471
2590
  }),
2472
- _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 2),
2473
- setPath = _useUseCase53[1].setPath;
2591
+ _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 2),
2592
+ setPath = _useUseCase55[1].setPath;
2474
2593
  var onFirstClick = function onFirstClick() {
2475
2594
  setPath(PATH_1);
2476
2595
  onChange = onSecondChange;
@@ -2489,9 +2608,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2489
2608
  });
2490
2609
  };
2491
2610
  var B = function B() {
2492
- var _useUseCase54 = (0, _.useUseCase)(defaultFile, fileUseCase),
2493
- _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 3),
2494
- Provider = _useUseCase55[2];
2611
+ var _useUseCase56 = (0, _.useUseCase)(defaultFile, fileUseCase),
2612
+ _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 3),
2613
+ Provider = _useUseCase57[2];
2495
2614
  return (0, _jsxRuntime.jsx)(Provider, {
2496
2615
  children: (0, _jsxRuntime.jsx)(A, {})
2497
2616
  });
@@ -2509,17 +2628,93 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2509
2628
  path: PATH_1
2510
2629
  }));
2511
2630
  });
2512
- (0, _globals.test)('`options.watch` should be trigger at child elements', function () {
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
+ (0, _globals.test)('`options.watch` should be triggered at child components', function () {
2513
2708
  var onExtChange = _globals.jest.fn();
2514
2709
  var firstButtonText = 'first button';
2515
2710
  var A = function A() {
2516
- var _useUseCase56 = (0, _.useUseCase)(fileUseCase, {
2711
+ var _useUseCase62 = (0, _.useUseCase)(fileUseCase, {
2517
2712
  watch: {
2518
2713
  ext: onExtChange
2519
2714
  }
2520
2715
  }),
2521
- _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 2),
2522
- setPath = _useUseCase57[1].setPath;
2716
+ _useUseCase63 = (0, _slicedToArray2["default"])(_useUseCase62, 2),
2717
+ setPath = _useUseCase63[1].setPath;
2523
2718
  var onFirstClick = function onFirstClick() {
2524
2719
  setPath(PATH_1);
2525
2720
  };
@@ -2529,9 +2724,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2529
2724
  });
2530
2725
  };
2531
2726
  var B = function B() {
2532
- var _useUseCase58 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2533
- _useUseCase59 = (0, _slicedToArray2["default"])(_useUseCase58, 3),
2534
- Provider = _useUseCase59[2];
2727
+ var _useUseCase64 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2728
+ _useUseCase65 = (0, _slicedToArray2["default"])(_useUseCase64, 3),
2729
+ Provider = _useUseCase65[2];
2535
2730
  return (0, _jsxRuntime.jsx)(Provider, {
2536
2731
  children: (0, _jsxRuntime.jsx)(A, {})
2537
2732
  });
@@ -2551,7 +2746,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2551
2746
  oldValue: ''
2552
2747
  });
2553
2748
  });
2554
- (0, _globals.test)('`options.watch` should be trigger in orders', function () {
2749
+ (0, _globals.test)('`options.watch` should be triggered in orders', function () {
2555
2750
  var changeTimes = 0;
2556
2751
  var updateChangeTimes = function updateChangeTimes(e) {
2557
2752
  void e;
@@ -2581,14 +2776,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2581
2776
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2582
2777
  };
2583
2778
  var C = function C() {
2584
- var _useUseCase60 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2779
+ var _useUseCase66 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2585
2780
  watch: {
2586
2781
  ext: onChangeC
2587
2782
  }
2588
2783
  }),
2589
- _useUseCase61 = (0, _slicedToArray2["default"])(_useUseCase60, 3),
2590
- setPath = _useUseCase61[1].setPath,
2591
- Provider = _useUseCase61[2];
2784
+ _useUseCase67 = (0, _slicedToArray2["default"])(_useUseCase66, 3),
2785
+ setPath = _useUseCase67[1].setPath,
2786
+ Provider = _useUseCase67[2];
2592
2787
  var onFirstClick = function onFirstClick() {
2593
2788
  setPath(PATH_1);
2594
2789
  };
@@ -2615,13 +2810,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2615
2810
  var firstButtonText = 'first button';
2616
2811
  var secondButtonText = 'second button';
2617
2812
  var A = function A() {
2618
- var _useUseCase62 = (0, _.useUseCase)(fileUseCase, {
2813
+ var _useUseCase68 = (0, _.useUseCase)(fileUseCase, {
2619
2814
  watch: {
2620
2815
  ext: onExtChange
2621
2816
  }
2622
2817
  }),
2623
- _useUseCase63 = (0, _slicedToArray2["default"])(_useUseCase62, 2),
2624
- setPath = _useUseCase63[1].setPath;
2818
+ _useUseCase69 = (0, _slicedToArray2["default"])(_useUseCase68, 2),
2819
+ setPath = _useUseCase69[1].setPath;
2625
2820
  var onFirstClick = function onFirstClick() {
2626
2821
  setPath(PATH_1);
2627
2822
  onExtChange = onSecondExtChange;
@@ -2640,9 +2835,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2640
2835
  });
2641
2836
  };
2642
2837
  var B = function B() {
2643
- var _useUseCase64 = (0, _.useUseCase)(defaultFile, fileUseCase),
2644
- _useUseCase65 = (0, _slicedToArray2["default"])(_useUseCase64, 3),
2645
- Provider = _useUseCase65[2];
2838
+ var _useUseCase70 = (0, _.useUseCase)(defaultFile, fileUseCase),
2839
+ _useUseCase71 = (0, _slicedToArray2["default"])(_useUseCase70, 3),
2840
+ Provider = _useUseCase71[2];
2646
2841
  return (0, _jsxRuntime.jsx)(Provider, {
2647
2842
  children: (0, _jsxRuntime.jsx)(A, {})
2648
2843
  });
@@ -2669,38 +2864,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2669
2864
  });
2670
2865
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
2671
2866
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
2672
- var _renderHook40 = (0, _react.renderHook)(function () {
2867
+ var _renderHook42 = (0, _react.renderHook)(function () {
2673
2868
  return (0, _.useUseCase)(mathUseCase);
2674
2869
  }),
2675
- result = _renderHook40.result;
2870
+ result = _renderHook42.result;
2676
2871
  var reducers = result.current;
2677
2872
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
2678
2873
  });
2679
2874
  (0, _globals.test)('returned reducer should work', function () {
2680
- var _renderHook41 = (0, _react.renderHook)(function () {
2875
+ var _renderHook43 = (0, _react.renderHook)(function () {
2681
2876
  return (0, _.useUseCase)(mathUseCase);
2682
2877
  }),
2683
- result = _renderHook41.result;
2878
+ result = _renderHook43.result;
2684
2879
  var reducers = result.current;
2685
2880
  var add = reducers.add;
2686
2881
  (0, _globals.expect)(add(1, 2)).toBe(3);
2687
2882
  });
2688
2883
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
2689
2884
  var mockUseCase = _globals.jest.fn(mathUseCase);
2690
- var _renderHook42 = (0, _react.renderHook)(function () {
2885
+ var _renderHook44 = (0, _react.renderHook)(function () {
2691
2886
  return (0, _.useUseCase)(mockUseCase);
2692
2887
  }),
2693
- rerender = _renderHook42.rerender;
2888
+ rerender = _renderHook44.rerender;
2694
2889
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2695
2890
  rerender();
2696
2891
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2697
2892
  });
2698
2893
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
2699
2894
  var mockUseCase = _globals.jest.fn(mathUseCase);
2700
- var _renderHook43 = (0, _react.renderHook)(function () {
2895
+ var _renderHook45 = (0, _react.renderHook)(function () {
2701
2896
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
2702
2897
  }),
2703
- rerender = _renderHook43.rerender;
2898
+ rerender = _renderHook45.rerender;
2704
2899
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2705
2900
  rerender();
2706
2901
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2708,10 +2903,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2708
2903
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
2709
2904
  var i = 0;
2710
2905
  var mockUseCase = _globals.jest.fn(mathUseCase);
2711
- var _renderHook44 = (0, _react.renderHook)(function () {
2906
+ var _renderHook46 = (0, _react.renderHook)(function () {
2712
2907
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
2713
2908
  }),
2714
- rerender = _renderHook44.rerender;
2909
+ rerender = _renderHook46.rerender;
2715
2910
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2716
2911
  rerender();
2717
2912
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2719,8 +2914,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2719
2914
  (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
2720
2915
  var buttonText = 'button';
2721
2916
  var CacheTestComponent = function CacheTestComponent() {
2722
- var _useUseCase66 = (0, _.useUseCase)(mathUseCase),
2723
- subtraction = _useUseCase66.subtraction;
2917
+ var _useUseCase72 = (0, _.useUseCase)(mathUseCase),
2918
+ subtraction = _useUseCase72.subtraction;
2724
2919
  var update = (0, _ahooks.useUpdate)();
2725
2920
  var onClick = function onClick() {
2726
2921
  update();
@@ -2743,8 +2938,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2743
2938
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
2744
2939
  var buttonText = 'button';
2745
2940
  var CacheTestComponent = function CacheTestComponent() {
2746
- var _useUseCase67 = (0, _.useUseCase)(mathUseCase),
2747
- subtraction = _useUseCase67.subtraction;
2941
+ var _useUseCase73 = (0, _.useUseCase)(mathUseCase),
2942
+ subtraction = _useUseCase73.subtraction;
2748
2943
  var onClick = function onClick() {
2749
2944
  subtraction(5, 3);
2750
2945
  };
@@ -2772,8 +2967,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2772
2967
  var count = 0;
2773
2968
  var buttonText = 'button';
2774
2969
  var StringUseCaseTestComponent = function StringUseCaseTestComponent() {
2775
- var _useUseCase68 = (0, _.useUseCase)(mathUseCase),
2776
- subtraction = _useUseCase68.subtraction;
2970
+ var _useUseCase74 = (0, _.useUseCase)(mathUseCase),
2971
+ subtraction = _useUseCase74.subtraction;
2777
2972
  var update = (0, _ahooks.useUpdate)();
2778
2973
  subtraction(5, count++);
2779
2974
  var onUpdate = function onUpdate() {
@@ -2795,12 +2990,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2795
2990
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
2796
2991
  });
2797
2992
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
2798
- var _renderHook45 = (0, _react.renderHook)(function () {
2993
+ var _renderHook47 = (0, _react.renderHook)(function () {
2799
2994
  return (0, _.useUseCase)(mathUseCase, {
2800
2995
  extraValue: 5
2801
2996
  });
2802
2997
  }),
2803
- result = _renderHook45.result;
2998
+ result = _renderHook47.result;
2804
2999
  var reducers = result.current;
2805
3000
  var add = reducers.add;
2806
3001
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -2808,7 +3003,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2808
3003
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
2809
3004
  var onUpdate = _globals.jest.fn();
2810
3005
  var onDeepUpdate = _globals.jest.fn();
2811
- var _renderHook46 = (0, _react.renderHook)(function () {
3006
+ var _renderHook48 = (0, _react.renderHook)(function () {
2812
3007
  var _useState7 = (0, _react2.useState)(0),
2813
3008
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
2814
3009
  extraValue = _useState8[0],
@@ -2824,7 +3019,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2824
3019
  }, [reducers]);
2825
3020
  return setExtraValue;
2826
3021
  }),
2827
- result = _renderHook46.result;
3022
+ result = _renderHook48.result;
2828
3023
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2829
3024
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2830
3025
  (0, _react.act)(function () {
@@ -2836,7 +3031,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2836
3031
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
2837
3032
  var onUpdate = _globals.jest.fn();
2838
3033
  var onDeepUpdate = _globals.jest.fn();
2839
- var _renderHook47 = (0, _react.renderHook)(function () {
3034
+ var _renderHook49 = (0, _react.renderHook)(function () {
2840
3035
  var _useState9 = (0, _react2.useState)(0),
2841
3036
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
2842
3037
  extraValue = _useState0[0],
@@ -2852,7 +3047,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2852
3047
  }, [reducers]);
2853
3048
  return setExtraValue;
2854
3049
  }),
2855
- result = _renderHook47.result;
3050
+ result = _renderHook49.result;
2856
3051
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2857
3052
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2858
3053
  (0, _react.act)(function () {
@@ -2864,7 +3059,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2864
3059
  (0, _globals.test)('empty `deps` should not update reducers', function () {
2865
3060
  var onUpdate = _globals.jest.fn();
2866
3061
  var onDeepUpdate = _globals.jest.fn();
2867
- var _renderHook48 = (0, _react.renderHook)(function () {
3062
+ var _renderHook50 = (0, _react.renderHook)(function () {
2868
3063
  var _useState1 = (0, _react2.useState)(0),
2869
3064
  _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
2870
3065
  extraValue = _useState10[0],
@@ -2880,7 +3075,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2880
3075
  }, [reducers]);
2881
3076
  return setExtraValue;
2882
3077
  }),
2883
- result = _renderHook48.result;
3078
+ result = _renderHook50.result;
2884
3079
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2885
3080
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2886
3081
  (0, _react.act)(function () {