@mic-rexjs/usecases-react 2.3.6 → 2.5.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 (44) hide show
  1. package/dist/index.min.js +1 -1
  2. package/es/enums/UseCaseArgumentTypes/index.d.ts +1 -2
  3. package/es/enums/UseCaseArgumentTypes/index.js +0 -1
  4. package/es/enums/UseCaseStatuses/index.d.ts +1 -2
  5. package/es/enums/UseCaseStatuses/index.js +0 -2
  6. package/es/hooks/useArgumentTypes/index.js +1 -4
  7. package/es/hooks/useEntity/index.js +6 -10
  8. package/es/hooks/useRuntimeEntity/index.d.ts +3 -0
  9. package/es/hooks/useRuntimeEntity/index.js +18 -0
  10. package/es/hooks/useUseCase/index.js +2 -2
  11. package/es/hooks/useUseCase/index.test.js +50 -95
  12. package/es/hooks/useUseCase/types.d.ts +2 -6
  13. package/es/hooks/useUseCaseStatuses/index.d.ts +1 -2
  14. package/es/hooks/useUseCaseStatuses/index.js +2 -6
  15. package/es/index.d.ts +0 -1
  16. package/es/index.js +0 -1
  17. package/es/methods/fillArguments/index.js +2 -20
  18. package/es/methods/fillArguments/types.d.ts +0 -2
  19. package/lib/enums/UseCaseArgumentTypes/index.js +0 -1
  20. package/lib/enums/UseCaseStatuses/index.js +0 -2
  21. package/lib/hooks/useArgumentTypes/index.js +2 -6
  22. package/lib/hooks/useEntity/index.js +6 -10
  23. package/lib/hooks/useRuntimeEntity/index.js +24 -0
  24. package/lib/hooks/useUseCase/index.js +4 -5
  25. package/lib/hooks/useUseCase/index.test.js +124 -179
  26. package/lib/hooks/useUseCaseStatuses/index.js +2 -6
  27. package/lib/index.js +1 -8
  28. package/lib/methods/fillArguments/index.js +4 -10
  29. package/package.json +2 -2
  30. package/es/enums/UseCaseModes/index.d.ts +0 -4
  31. package/es/enums/UseCaseModes/index.js +0 -5
  32. package/es/hooks/useStatelessUseCase/index.d.ts +0 -2
  33. package/es/hooks/useStatelessUseCase/index.js +0 -5
  34. package/es/hooks/useStatelessUseCase/index.test.d.ts +0 -1
  35. package/es/hooks/useStatelessUseCase/index.test.js +0 -37
  36. package/es/hooks/useStatelessUseCase/types.d.ts +0 -3
  37. package/es/hooks/useStatelessUseCase/types.js +0 -1
  38. package/es/methods/getRenderingEntity/index.d.ts +0 -3
  39. package/es/methods/getRenderingEntity/index.js +0 -13
  40. package/lib/enums/UseCaseModes/index.js +0 -11
  41. package/lib/hooks/useStatelessUseCase/index.js +0 -11
  42. package/lib/hooks/useStatelessUseCase/index.test.js +0 -37
  43. package/lib/hooks/useStatelessUseCase/types.js +0 -5
  44. package/lib/methods/getRenderingEntity/index.js +0 -19
@@ -16,7 +16,6 @@ var _react = require("@testing-library/react");
16
16
  var _ = require(".");
17
17
  var _ahooks = require("ahooks");
18
18
  var _react2 = require("react");
19
- var _UseCaseModes = require("../../enums/UseCaseModes");
20
19
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
21
20
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
22
21
  function _asyncIterator(r) { var n, t, o, e = 2; for ("undefined" != typeof Symbol && (t = Symbol.asyncIterator, o = Symbol.iterator); e--;) { if (t && null != (n = r[t])) return n.call(r); if (o && null != (n = r[o])) return new AsyncFromSyncIterator(n.call(r)); t = "@@asyncIterator", o = "@@iterator"; } throw new TypeError("Object is not async iterable"); }
@@ -179,11 +178,9 @@ var Child = function Child(_ref2) {
179
178
  };
180
179
  var Parent = function Parent(_ref4) {
181
180
  var children = _ref4.children,
182
- _ref4$mode = _ref4.mode,
183
- mode = _ref4$mode === void 0 ? _UseCaseModes.UseCaseModes.Normal : _ref4$mode,
184
181
  onUpdate = _ref4.onUpdate,
185
182
  onSetPath = _ref4.onSetPath;
186
- var _useUseCase3 = (0, _.useUseCase)(defaultFile, fileUseCase, mode),
183
+ var _useUseCase3 = (0, _.useUseCase)(defaultFile, fileUseCase),
187
184
  _useUseCase4 = (0, _slicedToArray2["default"])(_useUseCase3, 3),
188
185
  _useUseCase4$ = _useUseCase4[0],
189
186
  path = _useUseCase4$.path,
@@ -270,21 +267,71 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
270
267
  entity = _cores[0];
271
268
  (0, _globals.expect)(entity).toBe(defaultFile);
272
269
  });
273
- (0, _globals.test)('`reducers` should be returned as an object', function () {
270
+ (0, _globals.test)('Should return the entity state if initial entity has not changed', function () {
274
271
  var _renderHook3 = (0, _react.renderHook)(function () {
275
272
  return (0, _.useUseCase)(defaultFile, fileUseCase);
276
273
  }),
277
274
  result = _renderHook3.result;
275
+ var collection = result.current;
276
+ var _collection = (0, _slicedToArray2["default"])(collection, 2),
277
+ setPath = _collection[1].setPath;
278
+ (0, _react.act)(function () {
279
+ setPath(PATH_1);
280
+ });
281
+ (0, _globals.expect)(result.current[0]).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
282
+ path: PATH_1,
283
+ ext: EXT_1
284
+ }));
285
+ });
286
+ (0, _globals.test)('Should return the initial entity if initial entity has changed', function () {
287
+ var file = defaultFile;
288
+ var _renderHook4 = (0, _react.renderHook)(function () {
289
+ return (0, _.useUseCase)(file, fileUseCase);
290
+ }),
291
+ result = _renderHook4.result,
292
+ rerender = _renderHook4.rerender;
293
+ file = _objectSpread(_objectSpread({}, defaultFile), {}, {
294
+ path: PATH_1
295
+ });
296
+ rerender();
297
+ (0, _globals.expect)(result.current[0]).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
298
+ path: PATH_1
299
+ }));
300
+ });
301
+ (0, _globals.test)('Should return the initial entity if initial entity has changed even with entity state changed', function () {
302
+ var file = defaultFile;
303
+ var _renderHook5 = (0, _react.renderHook)(function () {
304
+ return (0, _.useUseCase)(file, fileUseCase);
305
+ }),
306
+ result = _renderHook5.result;
307
+ var collection = result.current;
308
+ var _collection2 = (0, _slicedToArray2["default"])(collection, 2),
309
+ setPath = _collection2[1].setPath;
310
+ (0, _react.act)(function () {
311
+ file = _objectSpread(_objectSpread({}, defaultFile), {}, {
312
+ path: PATH_2
313
+ });
314
+ setPath(PATH_1);
315
+ });
316
+ (0, _globals.expect)(result.current[0]).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
317
+ path: PATH_2
318
+ }));
319
+ });
320
+ (0, _globals.test)('`reducers` should be returned as an object', function () {
321
+ var _renderHook6 = (0, _react.renderHook)(function () {
322
+ return (0, _.useUseCase)(defaultFile, fileUseCase);
323
+ }),
324
+ result = _renderHook6.result;
278
325
  var cores = result.current;
279
326
  var _cores2 = (0, _slicedToArray2["default"])(cores, 2),
280
327
  reducers = _cores2[1];
281
328
  (0, _globals.expect)((0, _typeof2["default"])(reducers)).toBe('object');
282
329
  });
283
330
  (0, _globals.test)('`Provider` should be returned as a function', function () {
284
- var _renderHook4 = (0, _react.renderHook)(function () {
331
+ var _renderHook7 = (0, _react.renderHook)(function () {
285
332
  return (0, _.useUseCase)(defaultFile, fileUseCase);
286
333
  }),
287
- result = _renderHook4.result;
334
+ result = _renderHook7.result;
288
335
  var cores = result.current;
289
336
  var _cores3 = (0, _slicedToArray2["default"])(cores, 3),
290
337
  Provider = _cores3[2];
@@ -292,11 +339,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
292
339
  });
293
340
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
294
341
  var mockUseCase = _globals.jest.fn(fileUseCase);
295
- var _renderHook5 = (0, _react.renderHook)(function () {
342
+ var _renderHook8 = (0, _react.renderHook)(function () {
296
343
  return (0, _.useUseCase)(defaultFile, mockUseCase);
297
344
  }),
298
- result = _renderHook5.result,
299
- rerender = _renderHook5.rerender;
345
+ result = _renderHook8.result,
346
+ rerender = _renderHook8.rerender;
300
347
  var cores = result.current;
301
348
  var _cores4 = (0, _slicedToArray2["default"])(cores, 2),
302
349
  setEntity = _cores4[1].setEntity;
@@ -309,11 +356,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
309
356
  });
310
357
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
311
358
  var mockUseCase = _globals.jest.fn(fileUseCase);
312
- var _renderHook6 = (0, _react.renderHook)(function () {
359
+ var _renderHook9 = (0, _react.renderHook)(function () {
313
360
  return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [1, 'x']);
314
361
  }),
315
- result = _renderHook6.result,
316
- rerender = _renderHook6.rerender;
362
+ result = _renderHook9.result,
363
+ rerender = _renderHook9.rerender;
317
364
  var cores = result.current;
318
365
  var _cores5 = (0, _slicedToArray2["default"])(cores, 2),
319
366
  setEntity = _cores5[1].setEntity;
@@ -327,11 +374,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
327
374
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
328
375
  var i = 0;
329
376
  var mockUseCase = _globals.jest.fn(fileUseCase);
330
- var _renderHook7 = (0, _react.renderHook)(function () {
377
+ var _renderHook10 = (0, _react.renderHook)(function () {
331
378
  return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [i++, 'x']);
332
379
  }),
333
- result = _renderHook7.result,
334
- rerender = _renderHook7.rerender;
380
+ result = _renderHook10.result,
381
+ rerender = _renderHook10.rerender;
335
382
  var cores = result.current;
336
383
  var _cores6 = (0, _slicedToArray2["default"])(cores, 2),
337
384
  setEntity = _cores6[1].setEntity;
@@ -346,7 +393,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
346
393
  (0, _globals.test)('after call non-generator reducer, it should not trigger update', function () {
347
394
  var onUpdate = _globals.jest.fn();
348
395
  var onDeepUpdate = _globals.jest.fn();
349
- var _renderHook8 = (0, _react.renderHook)(function () {
396
+ var _renderHook11 = (0, _react.renderHook)(function () {
350
397
  var context = (0, _.useUseCase)(defaultFile, fileUseCase);
351
398
  var _context4 = (0, _slicedToArray2["default"])(context, 2),
352
399
  reducers = _context4[1];
@@ -366,7 +413,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
366
413
  update();
367
414
  };
368
415
  }),
369
- result = _renderHook8.result;
416
+ result = _renderHook11.result;
370
417
  (0, _react.act)(function () {
371
418
  result.current();
372
419
  });
@@ -380,13 +427,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
380
427
  });
381
428
  (0, _globals.test)('after `yield entity`, it should trigger update', function () {
382
429
  var onUpdate = _globals.jest.fn();
383
- var _renderHook9 = (0, _react.renderHook)(function () {
430
+ var _renderHook12 = (0, _react.renderHook)(function () {
384
431
  (0, _ahooks.useUpdateEffect)(function () {
385
432
  onUpdate();
386
433
  });
387
434
  return (0, _.useUseCase)(defaultFile, fileUseCase);
388
435
  }),
389
- result = _renderHook9.result;
436
+ result = _renderHook12.result;
390
437
  var cores = result.current;
391
438
  var _cores7 = (0, _slicedToArray2["default"])(cores, 2),
392
439
  entity = _cores7[0],
@@ -411,17 +458,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
411
458
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
412
459
  });
413
460
  (0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
414
- var onUpdate, _renderHook10, result, cores, _cores8, entity, reducers, readFile, promise;
461
+ var onUpdate, _renderHook13, result, cores, _cores8, entity, reducers, readFile, promise;
415
462
  return _regenerator["default"].wrap(function _callee3$(_context5) {
416
463
  while (1) switch (_context5.prev = _context5.next) {
417
464
  case 0:
418
465
  onUpdate = _globals.jest.fn();
419
- _renderHook10 = (0, _react.renderHook)(function () {
466
+ _renderHook13 = (0, _react.renderHook)(function () {
420
467
  (0, _ahooks.useUpdateEffect)(function () {
421
468
  onUpdate();
422
469
  });
423
470
  return (0, _.useUseCase)(defaultFile, fileUseCase);
424
- }), result = _renderHook10.result;
471
+ }), result = _renderHook13.result;
425
472
  cores = result.current;
426
473
  _cores8 = (0, _slicedToArray2["default"])(cores, 2), entity = _cores8[0], reducers = _cores8[1];
427
474
  readFile = reducers.readFile;
@@ -449,13 +496,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
449
496
  })));
450
497
  (0, _globals.test)('after `yield entity` callbacks, it should trigger update', function () {
451
498
  var onUpdate = _globals.jest.fn();
452
- var _renderHook11 = (0, _react.renderHook)(function () {
499
+ var _renderHook14 = (0, _react.renderHook)(function () {
453
500
  (0, _ahooks.useUpdateEffect)(function () {
454
501
  onUpdate();
455
502
  });
456
503
  return (0, _.useUseCase)(defaultFile, fileUseCase);
457
504
  }),
458
- result = _renderHook11.result;
505
+ result = _renderHook14.result;
459
506
  var cores = result.current;
460
507
  var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
461
508
  reducers = _cores9[1];
@@ -592,12 +639,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
592
639
  });
593
640
  (0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
594
641
  var onChange = _globals.jest.fn();
595
- var _renderHook12 = (0, _react.renderHook)(function () {
642
+ var _renderHook15 = (0, _react.renderHook)(function () {
596
643
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
597
644
  onChange: onChange
598
645
  });
599
646
  }),
600
- result = _renderHook12.result;
647
+ result = _renderHook15.result;
601
648
  var cores = result.current;
602
649
  var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
603
650
  reducers = _cores10[1];
@@ -616,12 +663,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
616
663
  var onChange1 = _globals.jest.fn();
617
664
  var onChange2 = _globals.jest.fn();
618
665
  var onChange = onChange1;
619
- var _renderHook13 = (0, _react.renderHook)(function () {
666
+ var _renderHook16 = (0, _react.renderHook)(function () {
620
667
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
621
668
  onChange: onChange
622
669
  }, []);
623
670
  }),
624
- result = _renderHook13.result;
671
+ result = _renderHook16.result;
625
672
  var cores = result.current;
626
673
  var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
627
674
  reducers = _cores11[1];
@@ -651,7 +698,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
651
698
  }));
652
699
  });
653
700
  (0, _globals.test)('`options.options` should override rest options', function () {
654
- var _renderHook14 = (0, _react.renderHook)(function () {
701
+ var _renderHook17 = (0, _react.renderHook)(function () {
655
702
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
656
703
  pathPrefix: 'xyz/',
657
704
  options: {
@@ -659,7 +706,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
659
706
  }
660
707
  });
661
708
  }),
662
- result = _renderHook14.result;
709
+ result = _renderHook17.result;
663
710
  var cores = result.current;
664
711
  var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
665
712
  path = _cores12[0].path,
@@ -674,7 +721,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
674
721
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
675
722
  var onUpdate = _globals.jest.fn();
676
723
  var onDeepUpdate = _globals.jest.fn();
677
- var _renderHook15 = (0, _react.renderHook)(function () {
724
+ var _renderHook18 = (0, _react.renderHook)(function () {
678
725
  var _useState = (0, _react2.useState)('user/'),
679
726
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
680
727
  pathPrefix = _useState2[0],
@@ -690,7 +737,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
690
737
  }, [context]);
691
738
  return setPathPrefix;
692
739
  }),
693
- result = _renderHook15.result;
740
+ result = _renderHook18.result;
694
741
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
695
742
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
696
743
  (0, _react.act)(function () {
@@ -702,7 +749,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
702
749
  (0, _globals.test)('when `deps` has changed, it should trigger update', function () {
703
750
  var onUpdate = _globals.jest.fn();
704
751
  var onDeepUpdate = _globals.jest.fn();
705
- var _renderHook16 = (0, _react.renderHook)(function () {
752
+ var _renderHook19 = (0, _react.renderHook)(function () {
706
753
  var _useState3 = (0, _react2.useState)('user/'),
707
754
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
708
755
  pathPrefix = _useState4[0],
@@ -718,7 +765,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
718
765
  }, [context]);
719
766
  return setPathPrefix;
720
767
  }),
721
- result = _renderHook16.result;
768
+ result = _renderHook19.result;
722
769
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
723
770
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
724
771
  (0, _react.act)(function () {
@@ -730,7 +777,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
730
777
  (0, _globals.test)('empty `deps` should not trigger update', function () {
731
778
  var onUpdate = _globals.jest.fn();
732
779
  var onDeepUpdate = _globals.jest.fn();
733
- var _renderHook17 = (0, _react.renderHook)(function () {
780
+ var _renderHook20 = (0, _react.renderHook)(function () {
734
781
  var _useState5 = (0, _react2.useState)('user/'),
735
782
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
736
783
  pathPrefix = _useState6[0],
@@ -746,7 +793,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
746
793
  }, [context]);
747
794
  return setPathPrefix;
748
795
  }),
749
- result = _renderHook17.result;
796
+ result = _renderHook20.result;
750
797
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
751
798
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
752
799
  (0, _react.act)(function () {
@@ -759,12 +806,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
759
806
  var onPathChange1 = _globals.jest.fn();
760
807
  var onPathChange2 = _globals.jest.fn();
761
808
  var onPathChange = onPathChange1;
762
- var _renderHook18 = (0, _react.renderHook)(function () {
809
+ var _renderHook21 = (0, _react.renderHook)(function () {
763
810
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
764
811
  onPathChange: onPathChange
765
812
  });
766
813
  }),
767
- result = _renderHook18.result;
814
+ result = _renderHook21.result;
768
815
  var context = result.current;
769
816
  var _context6 = (0, _slicedToArray2["default"])(context, 2),
770
817
  setPath = _context6[1].setPath;
@@ -785,7 +832,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
785
832
  (0, _globals.test)('`options.watch` should be trigger after entity changed', function () {
786
833
  var onPathChange = _globals.jest.fn();
787
834
  var onSizeChange = _globals.jest.fn();
788
- var _renderHook19 = (0, _react.renderHook)(function () {
835
+ var _renderHook22 = (0, _react.renderHook)(function () {
789
836
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
790
837
  watch: {
791
838
  path: onPathChange,
@@ -793,7 +840,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
793
840
  }
794
841
  });
795
842
  }),
796
- result = _renderHook19.result;
843
+ result = _renderHook22.result;
797
844
  var cores = result.current;
798
845
  var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
799
846
  setPath = _cores13[1].setPath;
@@ -818,14 +865,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
818
865
  var onPathChange1 = _globals.jest.fn();
819
866
  var onPathChange2 = _globals.jest.fn();
820
867
  var onPathChange = onPathChange1;
821
- var _renderHook20 = (0, _react.renderHook)(function () {
868
+ var _renderHook23 = (0, _react.renderHook)(function () {
822
869
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
823
870
  watch: {
824
871
  path: onPathChange
825
872
  }
826
873
  });
827
874
  }),
828
- result = _renderHook20.result;
875
+ result = _renderHook23.result;
829
876
  var cores = result.current;
830
877
  var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
831
878
  _cores14$ = _cores14[1],
@@ -870,17 +917,18 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
870
917
  });
871
918
  });
872
919
  (0, _globals.test)('`options.watch` should work with array field path of array', function () {
920
+ var initialData = {};
873
921
  var onExtChange = _globals.jest.fn();
874
922
  var onSizeChange = _globals.jest.fn();
875
- var _renderHook21 = (0, _react.renderHook)(function () {
876
- return (0, _.useUseCase)({}, fieldPathUseCase, {
923
+ var _renderHook24 = (0, _react.renderHook)(function () {
924
+ return (0, _.useUseCase)(initialData, fieldPathUseCase, {
877
925
  watch: {
878
926
  'list.ext': onExtChange,
879
927
  'list.size': onSizeChange
880
928
  }
881
929
  });
882
930
  }),
883
- result = _renderHook21.result;
931
+ result = _renderHook24.result;
884
932
  var cores = result.current;
885
933
  var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
886
934
  setEntity = _cores15[1].setEntity;
@@ -1168,7 +1216,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1168
1216
  var lengthUseCase = function lengthUseCase() {
1169
1217
  return (0, _usecases.entityUseCase)();
1170
1218
  };
1171
- var _renderHook22 = (0, _react.renderHook)(function () {
1219
+ var _renderHook25 = (0, _react.renderHook)(function () {
1172
1220
  return (0, _.useUseCase)([], lengthUseCase, {
1173
1221
  watch: {
1174
1222
  length: onEntityLengthChange,
@@ -1176,7 +1224,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1176
1224
  }
1177
1225
  });
1178
1226
  }),
1179
- result = _renderHook22.result;
1227
+ result = _renderHook25.result;
1180
1228
  var cores = result.current;
1181
1229
  var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
1182
1230
  setEntity = _cores16[1].setEntity;
@@ -1209,15 +1257,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1209
1257
  });
1210
1258
  });
1211
1259
  (0, _globals.test)('`options.watch` should work with field path of nested array', function () {
1260
+ var initialData = {};
1212
1261
  var onChange = _globals.jest.fn();
1213
- var _renderHook23 = (0, _react.renderHook)(function () {
1214
- return (0, _.useUseCase)({}, fieldPathUseCase, {
1262
+ var _renderHook26 = (0, _react.renderHook)(function () {
1263
+ return (0, _.useUseCase)(initialData, fieldPathUseCase, {
1215
1264
  watch: {
1216
1265
  'nestedList.size': onChange
1217
1266
  }
1218
1267
  });
1219
1268
  }),
1220
- result = _renderHook23.result;
1269
+ result = _renderHook26.result;
1221
1270
  var cores = result.current;
1222
1271
  var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
1223
1272
  setEntity = _cores17[1].setEntity;
@@ -1302,17 +1351,18 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1302
1351
  });
1303
1352
  });
1304
1353
  (0, _globals.test)('`options.watch` should work with field path of object', function () {
1354
+ var initialData = {};
1305
1355
  var onExtChange = _globals.jest.fn();
1306
1356
  var onSizeChange = _globals.jest.fn();
1307
- var _renderHook24 = (0, _react.renderHook)(function () {
1308
- return (0, _.useUseCase)({}, fieldPathUseCase, {
1357
+ var _renderHook27 = (0, _react.renderHook)(function () {
1358
+ return (0, _.useUseCase)(initialData, fieldPathUseCase, {
1309
1359
  watch: {
1310
1360
  'obj.file.ext': onExtChange,
1311
1361
  'obj.file.size': onSizeChange
1312
1362
  }
1313
1363
  });
1314
1364
  }),
1315
- result = _renderHook24.result;
1365
+ result = _renderHook27.result;
1316
1366
  var cores = result.current;
1317
1367
  var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
1318
1368
  setEntity = _cores18[1].setEntity;
@@ -1367,13 +1417,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1367
1417
  var onStringMount = _globals.jest.fn();
1368
1418
  var onBooleanMount = _globals.jest.fn();
1369
1419
  var numberUseCase = function numberUseCase() {
1370
- return (0, _usecases.objectUseCase)();
1420
+ return (0, _usecases.entityUseCase)();
1371
1421
  };
1372
1422
  var stringUseCase = function stringUseCase() {
1373
- return (0, _usecases.objectUseCase)();
1423
+ return (0, _usecases.entityUseCase)();
1374
1424
  };
1375
1425
  var booleanUseCase = function booleanUseCase() {
1376
- return (0, _usecases.objectUseCase)();
1426
+ return (0, _usecases.entityUseCase)();
1377
1427
  };
1378
1428
  var TestChildComponent = function TestChildComponent() {
1379
1429
  var _useUseCase12 = (0, _.useUseCase)(numberUseCase),
@@ -1413,63 +1463,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1413
1463
  (0, _globals.expect)(onBooleanMount).toHaveBeenCalledWith(true);
1414
1464
  });
1415
1465
  });
1416
- (0, _globals.describe)('`useUseCase` should work the same as `ModeCoreCollectionHook`', function () {
1417
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: check context type', function (mode) {
1418
- var _renderHook25 = (0, _react.renderHook)(function () {
1419
- return (0, _.useUseCase)(defaultFile, fileUseCase, mode);
1420
- }),
1421
- result = _renderHook25.result;
1422
- var cores = result.current;
1423
- (0, _globals.expect)(Array.isArray(cores)).toBe(true);
1424
- (0, _globals.expect)(cores).toHaveLength(3);
1425
- });
1426
- (0, _globals.test)('stateless mode should not generate new reducers when `yeild entity`', function () {
1427
- var onUpdate = _globals.jest.fn();
1428
- var _renderHook26 = (0, _react.renderHook)(function () {
1429
- var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1430
- (0, _ahooks.useUpdateEffect)(function () {
1431
- onUpdate();
1432
- });
1433
- return (0, _.useUseCase)(file, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1434
- }),
1435
- result = _renderHook26.result,
1436
- rerender = _renderHook26.rerender;
1437
- var cores = result.current;
1438
- var _cores19 = (0, _slicedToArray2["default"])(cores, 2),
1439
- setPath = _cores19[1].setPath;
1440
- setPath(PATH_1);
1441
- (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1442
- (0, _globals.expect)(result.current[0].path).toBe('');
1443
- (0, _globals.expect)(result.current[1].setPath).toBe(setPath);
1444
- rerender(_objectSpread(_objectSpread({}, defaultFile), {}, {
1445
- path: PATH_1
1446
- }));
1447
- (0, _globals.expect)(result.current[0].path).toBe(PATH_1);
1448
- (0, _globals.expect)(result.current[1].setPath).not.toBe(setPath);
1449
- });
1450
- (0, _globals.test)('stateless mode should not trigger update when after `yield entity`', function () {
1451
- var onUpdate = _globals.jest.fn();
1452
- var _renderHook27 = (0, _react.renderHook)(function () {
1453
- (0, _ahooks.useUpdateEffect)(function () {
1454
- onUpdate();
1455
- });
1456
- return (0, _.useUseCase)(defaultFile, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1457
- }),
1458
- result = _renderHook27.result;
1459
- var cores = result.current;
1460
- var _cores20 = (0, _slicedToArray2["default"])(cores, 2),
1461
- reducers = _cores20[1];
1462
- var setPath = reducers.setPath;
1463
- (0, _react.act)(function () {
1464
- setPath(PATH_1);
1465
- });
1466
- (0, _globals.expect)(result.current).toBe(cores);
1467
- (0, _globals.expect)(result.current).toEqual(cores);
1468
- (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1469
- });
1470
- });
1471
1466
  (0, _globals.describe)('`useUseCase` should work the same as useContextualCoreCollection', function () {
1472
- _globals.test.each([void 0, _UseCaseModes.UseCaseModes.Normal])('[mode=%s]: normal mode should trigger Parent & Child to update', function (mode) {
1467
+ (0, _globals.test)('Should trigger Parent & Child to update', function () {
1473
1468
  var onParentUpdate = _globals.jest.fn();
1474
1469
  var onChildUpdate = _globals.jest.fn();
1475
1470
  var onPathChange = _globals.jest.fn();
@@ -1479,7 +1474,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1479
1474
  });
1480
1475
  (0, _react.render)((0, _jsxRuntime.jsx)("div", {
1481
1476
  children: (0, _jsxRuntime.jsx)(Parent, {
1482
- mode: mode,
1483
1477
  onSetPath: onSetPath,
1484
1478
  onUpdate: onParentUpdate,
1485
1479
  children: (0, _jsxRuntime.jsx)(Child, {
@@ -1501,31 +1495,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1501
1495
  (0, _globals.expect)(onPathChange).toHaveBeenCalledWith(PATH_2);
1502
1496
  (0, _globals.expect)(onUndefinedEntity).toHaveBeenCalledTimes(0);
1503
1497
  });
1504
- _globals.test.each([_UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: stateless mode should not trigger Parent & Child to update', function () {
1505
- var onParentUpdate = _globals.jest.fn();
1506
- var onChildUpdate = _globals.jest.fn();
1507
- var onSetPath = _globals.jest.fn(function () {
1508
- return PATH_1;
1509
- });
1510
- (0, _react.render)((0, _jsxRuntime.jsx)("div", {
1511
- children: (0, _jsxRuntime.jsx)(Parent, {
1512
- mode: _UseCaseModes.UseCaseModes.Stateless,
1513
- onSetPath: onSetPath,
1514
- onUpdate: onParentUpdate,
1515
- children: (0, _jsxRuntime.jsx)(Child, {
1516
- onUpdate: onChildUpdate
1517
- })
1518
- })
1519
- }));
1520
- _react.fireEvent.click(_react.screen.getByText(PARENT_BUTTON_TEXT));
1521
- (0, _globals.expect)(onSetPath).toHaveBeenCalledTimes(1);
1522
- (0, _globals.expect)(onParentUpdate).toHaveBeenCalledTimes(0);
1523
- (0, _globals.expect)(onChildUpdate).toHaveBeenCalledTimes(0);
1524
- _react.fireEvent.click(_react.screen.getByText(CHILD_BUTTON_TEXT));
1525
- (0, _globals.expect)(onSetPath).toHaveBeenCalledTimes(1);
1526
- (0, _globals.expect)(onParentUpdate).toHaveBeenCalledTimes(0);
1527
- (0, _globals.expect)(onChildUpdate).toHaveBeenCalledTimes(0);
1528
- });
1529
1498
  (0, _globals.test)('`usecase` should not be called at child component', function () {
1530
1499
  var mockUseCase = _globals.jest.fn(fileUseCase);
1531
1500
  var A = function A() {
@@ -1737,7 +1706,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1737
1706
  (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
1738
1707
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
1739
1708
  });
1740
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.onChange` should always trigger the latest one in child components', function (mode) {
1709
+ (0, _globals.test)('`options.onChange` should always trigger the latest one in child components', function () {
1741
1710
  var onFirstChange = _globals.jest.fn();
1742
1711
  var onSecondChange = _globals.jest.fn();
1743
1712
  var onChange = onFirstChange;
@@ -1767,19 +1736,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1767
1736
  });
1768
1737
  };
1769
1738
  var B = function B() {
1770
- var _useState7 = (0, _react2.useState)(defaultFile),
1771
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
1772
- file = _useState8[0],
1773
- setFile = _useState8[1];
1774
- var _useUseCase42 = (0, _.useUseCase)(file, fileUseCase, mode, {
1775
- onChange: function onChange(newFile) {
1776
- if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1777
- return;
1778
- }
1779
- // `stateless` 不会保存状态,所以需要手动保存
1780
- setFile(newFile);
1781
- }
1782
- }),
1739
+ var _useUseCase42 = (0, _.useUseCase)(defaultFile, fileUseCase),
1783
1740
  _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
1784
1741
  Provider = _useUseCase43[2];
1785
1742
  return (0, _jsxRuntime.jsx)(Provider, {
@@ -1898,7 +1855,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1898
1855
  (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
1899
1856
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
1900
1857
  });
1901
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.watch` should trigger the latest one in child components', function (mode) {
1858
+ (0, _globals.test)('`options.watch` should trigger the latest one in child components', function () {
1902
1859
  var onFirstExtChange = _globals.jest.fn();
1903
1860
  var onSecondExtChange = _globals.jest.fn();
1904
1861
  var onExtChange = onFirstExtChange;
@@ -1930,19 +1887,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1930
1887
  });
1931
1888
  };
1932
1889
  var B = function B() {
1933
- var _useState9 = (0, _react2.useState)(defaultFile),
1934
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
1935
- file = _useState10[0],
1936
- setFile = _useState10[1];
1937
- var _useUseCase52 = (0, _.useUseCase)(file, fileUseCase, mode, {
1938
- onChange: function onChange(newFile) {
1939
- if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1940
- return;
1941
- }
1942
- // `stateless` 不会保存状态,所以需要手动保存
1943
- setFile(newFile);
1944
- }
1945
- }),
1890
+ var _useUseCase52 = (0, _.useUseCase)(defaultFile, fileUseCase),
1946
1891
  _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 3),
1947
1892
  Provider = _useUseCase53[2];
1948
1893
  return (0, _jsxRuntime.jsx)(Provider, {
@@ -2111,10 +2056,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2111
2056
  var onUpdate = _globals.jest.fn();
2112
2057
  var onDeepUpdate = _globals.jest.fn();
2113
2058
  var _renderHook34 = (0, _react.renderHook)(function () {
2114
- var _useState11 = (0, _react2.useState)(0),
2115
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2116
- extraValue = _useState12[0],
2117
- setExtraValue = _useState12[1];
2059
+ var _useState7 = (0, _react2.useState)(0),
2060
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
2061
+ extraValue = _useState8[0],
2062
+ setExtraValue = _useState8[1];
2118
2063
  var reducers = (0, _.useUseCase)(mathUseCase, {
2119
2064
  extraValue: extraValue
2120
2065
  });
@@ -2139,10 +2084,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2139
2084
  var onUpdate = _globals.jest.fn();
2140
2085
  var onDeepUpdate = _globals.jest.fn();
2141
2086
  var _renderHook35 = (0, _react.renderHook)(function () {
2142
- var _useState13 = (0, _react2.useState)(0),
2143
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
2144
- extraValue = _useState14[0],
2145
- setExtraValue = _useState14[1];
2087
+ var _useState9 = (0, _react2.useState)(0),
2088
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
2089
+ extraValue = _useState10[0],
2090
+ setExtraValue = _useState10[1];
2146
2091
  var reducers = (0, _.useUseCase)(mathUseCase, {
2147
2092
  extraValue: extraValue
2148
2093
  }, [extraValue]);
@@ -2167,10 +2112,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2167
2112
  var onUpdate = _globals.jest.fn();
2168
2113
  var onDeepUpdate = _globals.jest.fn();
2169
2114
  var _renderHook36 = (0, _react.renderHook)(function () {
2170
- var _useState15 = (0, _react2.useState)(0),
2171
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
2172
- extraValue = _useState16[0],
2173
- setExtraValue = _useState16[1];
2115
+ var _useState11 = (0, _react2.useState)(0),
2116
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2117
+ extraValue = _useState12[0],
2118
+ setExtraValue = _useState12[1];
2174
2119
  var reducers = (0, _.useUseCase)(mathUseCase, {
2175
2120
  extraValue: extraValue
2176
2121
  }, []);