@mic-rexjs/usecases-react 2.13.6 → 3.0.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.
@@ -3,7 +3,6 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
5
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
7
6
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
7
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
@@ -512,50 +511,86 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
512
511
  path: PATH_2
513
512
  }));
514
513
  });
515
- (0, _globals.test)('Entity initializer should provide the changed deps', function () {
514
+ (0, _globals.test)('Do not update entity when the initializer has yielded some constant entity properties', function () {
516
515
  var updateIndex = 0;
517
- var file = defaultFile;
518
- var symbol = Symbol('changedDep');
519
- var onChangedDeps = _globals.jest.fn();
520
516
  var _renderHook0 = (0, _react.renderHook)(function () {
521
- return (0, _.useUseCase)(function () {
522
- var currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
523
- var changedDeps = arguments.length > 1 ? arguments[1] : undefined;
524
- // 验证参数类型
525
- var _changedDeps = (0, _slicedToArray2["default"])(changedDeps, 6),
526
- index1 = _changedDeps[0],
527
- num1 = _changedDeps[1],
528
- index2 = _changedDeps[2],
529
- string1 = _changedDeps[3],
530
- index3 = _changedDeps[4],
531
- boolean1 = _changedDeps[5];
532
- var a = index1;
533
- var b = num1;
534
- var c = index2;
535
- var d = string1;
536
- var e = index3;
537
- var f = boolean1;
538
- void a;
539
- void b;
540
- void c;
541
- void d;
542
- void e;
543
- void f;
544
- // 先 `fill` 填充,再合并,以 `symbol` 代替虚无项去匹配
545
- onChangedDeps(Object.assign((0, _toConsumableArray2["default"])(changedDeps).fill(symbol), changedDeps));
546
- return currentFile;
547
- }, fileUseCase, {}, [updateIndex++, 0, updateIndex++, 'xyz', updateIndex++, false]);
517
+ return (0, _.useUseCase)(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
518
+ return _regenerator["default"].wrap(function (_context1) {
519
+ while (1) switch (_context1.prev = _context1.next) {
520
+ case 0:
521
+ _context1.next = 1;
522
+ return defaultFile;
523
+ case 1:
524
+ _context1.next = 2;
525
+ return {
526
+ path: PATH_1
527
+ };
528
+ case 2:
529
+ case "end":
530
+ return _context1.stop();
531
+ }
532
+ }, _callee8);
533
+ }), fileUseCase, {}, [updateIndex++]);
548
534
  }),
549
535
  result = _renderHook0.result;
550
- var _result$current6 = (0, _slicedToArray2["default"])(result.current, 2),
551
- setPath = _result$current6[1].setPath;
552
- (0, _globals.expect)(onChangedDeps).toHaveBeenCalledTimes(1);
553
- (0, _globals.expect)(onChangedDeps).toHaveBeenCalledWith([0, 0, 1, 'xyz', 2, false]);
536
+ var current1 = result.current;
537
+ var _current = (0, _slicedToArray2["default"])(current1, 2),
538
+ entity1 = _current[0],
539
+ setEntity = _current[1].setEntity;
540
+ (0, _globals.expect)(entity1).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
541
+ path: PATH_1
542
+ }));
554
543
  (0, _react.act)(function () {
555
- setPath(PATH_1);
544
+ setEntity({
545
+ path: PATH_2
546
+ });
556
547
  });
557
- (0, _globals.expect)(onChangedDeps).toHaveBeenCalledTimes(2);
558
- (0, _globals.expect)(onChangedDeps).toHaveBeenCalledWith([3, symbol, 4, symbol, 5, symbol]);
548
+ var current2 = result.current;
549
+ var _current2 = (0, _slicedToArray2["default"])(current2, 1),
550
+ entity2 = _current2[0];
551
+ (0, _globals.expect)(entity2).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
552
+ path: PATH_2
553
+ }));
554
+ });
555
+ (0, _globals.test)('Should update entity when the initializer has returned some cconstant entity properties after `setEntity`', function () {
556
+ var updateIndex = 0;
557
+ var _renderHook1 = (0, _react.renderHook)(function () {
558
+ return (0, _.useUseCase)(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
559
+ return _regenerator["default"].wrap(function (_context10) {
560
+ while (1) switch (_context10.prev = _context10.next) {
561
+ case 0:
562
+ _context10.next = 1;
563
+ return defaultFile;
564
+ case 1:
565
+ return _context10.abrupt("return", {
566
+ path: PATH_1
567
+ });
568
+ case 2:
569
+ case "end":
570
+ return _context10.stop();
571
+ }
572
+ }, _callee9);
573
+ }), fileUseCase, {}, [updateIndex++]);
574
+ }),
575
+ result = _renderHook1.result;
576
+ var current1 = result.current;
577
+ var _current3 = (0, _slicedToArray2["default"])(current1, 2),
578
+ entity1 = _current3[0],
579
+ setEntity = _current3[1].setEntity;
580
+ (0, _globals.expect)(entity1).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
581
+ path: PATH_1
582
+ }));
583
+ (0, _react.act)(function () {
584
+ setEntity({
585
+ path: PATH_2
586
+ });
587
+ });
588
+ var current2 = result.current;
589
+ var _current4 = (0, _slicedToArray2["default"])(current2, 1),
590
+ entity2 = _current4[0];
591
+ (0, _globals.expect)(entity2).toEqual(_objectSpread(_objectSpread({}, defaultFile), {}, {
592
+ path: PATH_1
593
+ }));
559
594
  });
560
595
  (0, _globals.test)('Entity property getter should always return the same object if nothing changed after component update', function () {
561
596
  var updateTimes = 0;
@@ -565,7 +600,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
565
600
  return {};
566
601
  }
567
602
  };
568
- var _renderHook1 = (0, _react.renderHook)(function () {
603
+ var _renderHook10 = (0, _react.renderHook)(function () {
569
604
  var collection = (0, _.useUseCase)(data, _usecases.entityUseCase);
570
605
  var _collection3 = (0, _slicedToArray2["default"])(collection, 1),
571
606
  obj = _collection3[0].obj;
@@ -575,7 +610,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
575
610
  }, [obj]);
576
611
  return collection;
577
612
  }),
578
- rerender = _renderHook1.rerender;
613
+ rerender = _renderHook10.rerender;
579
614
  (0, _globals.expect)(updateTimes).toEqual(1);
580
615
  (0, _react.act)(function () {
581
616
  rerender();
@@ -590,7 +625,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
590
625
  return {};
591
626
  }
592
627
  };
593
- var _renderHook10 = (0, _react.renderHook)(function () {
628
+ var _renderHook11 = (0, _react.renderHook)(function () {
594
629
  var collection = (0, _.useUseCase)(data, _usecases.entityUseCase);
595
630
  var _collection4 = (0, _slicedToArray2["default"])(collection, 1),
596
631
  obj = _collection4[0].obj;
@@ -600,10 +635,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
600
635
  }, [obj]);
601
636
  return collection;
602
637
  }),
603
- result = _renderHook10.result;
638
+ result = _renderHook11.result;
604
639
  var current = result.current;
605
- var _current = (0, _slicedToArray2["default"])(current, 2),
606
- setEntity = _current[1].setEntity;
640
+ var _current5 = (0, _slicedToArray2["default"])(current, 2),
641
+ setEntity = _current5[1].setEntity;
607
642
  (0, _globals.expect)(updateTimes).toEqual(1);
608
643
  (0, _react.act)(function () {
609
644
  setEntity({
@@ -616,7 +651,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
616
651
  var entityArg;
617
652
  var times = 0;
618
653
  var file = defaultFile;
619
- var _renderHook11 = (0, _react.renderHook)(function () {
654
+ var _renderHook12 = (0, _react.renderHook)(function () {
620
655
  return (0, _.useUseCase)(function () {
621
656
  var entity = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : file;
622
657
  var path = entity.path;
@@ -626,7 +661,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
626
661
  });
627
662
  }, fileUseCase, {}, [times++]);
628
663
  }),
629
- result = _renderHook11.result;
664
+ result = _renderHook12.result;
630
665
  var collection1 = result.current;
631
666
  var _collection5 = (0, _slicedToArray2["default"])(collection1, 2),
632
667
  currentFile1 = _collection5[0],
@@ -649,20 +684,20 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
649
684
  }));
650
685
  });
651
686
  (0, _globals.test)('`reducers` should be returned as an object', function () {
652
- var _renderHook12 = (0, _react.renderHook)(function () {
687
+ var _renderHook13 = (0, _react.renderHook)(function () {
653
688
  return (0, _.useUseCase)(defaultFile, fileUseCase);
654
689
  }),
655
- result = _renderHook12.result;
690
+ result = _renderHook13.result;
656
691
  var cores = result.current;
657
692
  var _cores2 = (0, _slicedToArray2["default"])(cores, 2),
658
693
  reducers = _cores2[1];
659
694
  (0, _globals.expect)((0, _typeof2["default"])(reducers)).toBe('object');
660
695
  });
661
696
  (0, _globals.test)('`Provider` should be returned as a function', function () {
662
- var _renderHook13 = (0, _react.renderHook)(function () {
697
+ var _renderHook14 = (0, _react.renderHook)(function () {
663
698
  return (0, _.useUseCase)(defaultFile, fileUseCase);
664
699
  }),
665
- result = _renderHook13.result;
700
+ result = _renderHook14.result;
666
701
  var cores = result.current;
667
702
  var _cores3 = (0, _slicedToArray2["default"])(cores, 3),
668
703
  Provider = _cores3[2];
@@ -670,11 +705,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
670
705
  });
671
706
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
672
707
  var mockUseCase = _globals.jest.fn(fileUseCase);
673
- var _renderHook14 = (0, _react.renderHook)(function () {
708
+ var _renderHook15 = (0, _react.renderHook)(function () {
674
709
  return (0, _.useUseCase)(defaultFile, mockUseCase);
675
710
  }),
676
- result = _renderHook14.result,
677
- rerender = _renderHook14.rerender;
711
+ result = _renderHook15.result,
712
+ rerender = _renderHook15.rerender;
678
713
  var cores = result.current;
679
714
  var _cores4 = (0, _slicedToArray2["default"])(cores, 2),
680
715
  setEntity = _cores4[1].setEntity;
@@ -687,11 +722,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
687
722
  });
688
723
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
689
724
  var mockUseCase = _globals.jest.fn(fileUseCase);
690
- var _renderHook15 = (0, _react.renderHook)(function () {
725
+ var _renderHook16 = (0, _react.renderHook)(function () {
691
726
  return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [1, 'x']);
692
727
  }),
693
- result = _renderHook15.result,
694
- rerender = _renderHook15.rerender;
728
+ result = _renderHook16.result,
729
+ rerender = _renderHook16.rerender;
695
730
  var cores = result.current;
696
731
  var _cores5 = (0, _slicedToArray2["default"])(cores, 2),
697
732
  setEntity = _cores5[1].setEntity;
@@ -705,11 +740,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
705
740
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
706
741
  var i = 0;
707
742
  var mockUseCase = _globals.jest.fn(fileUseCase);
708
- var _renderHook16 = (0, _react.renderHook)(function () {
743
+ var _renderHook17 = (0, _react.renderHook)(function () {
709
744
  return (0, _.useUseCase)(defaultFile, mockUseCase, {}, [i++, 'x']);
710
745
  }),
711
- result = _renderHook16.result,
712
- rerender = _renderHook16.rerender;
746
+ result = _renderHook17.result,
747
+ rerender = _renderHook17.rerender;
713
748
  var cores = result.current;
714
749
  var _cores6 = (0, _slicedToArray2["default"])(cores, 2),
715
750
  setEntity = _cores6[1].setEntity;
@@ -724,7 +759,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
724
759
  (0, _globals.test)('after call non-generator reducer, it should not trigger update', function () {
725
760
  var onUpdate = _globals.jest.fn();
726
761
  var onDeepUpdate = _globals.jest.fn();
727
- var _renderHook17 = (0, _react.renderHook)(function () {
762
+ var _renderHook18 = (0, _react.renderHook)(function () {
728
763
  var context = (0, _.useUseCase)(defaultFile, fileUseCase);
729
764
  var _context = (0, _slicedToArray2["default"])(context, 2),
730
765
  reducers = _context[1];
@@ -744,7 +779,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
744
779
  update();
745
780
  };
746
781
  }),
747
- result = _renderHook17.result;
782
+ result = _renderHook18.result;
748
783
  (0, _react.act)(function () {
749
784
  result.current();
750
785
  });
@@ -758,13 +793,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
758
793
  });
759
794
  (0, _globals.test)('after `yield entity`, it should trigger update', function () {
760
795
  var onUpdate = _globals.jest.fn();
761
- var _renderHook18 = (0, _react.renderHook)(function () {
796
+ var _renderHook19 = (0, _react.renderHook)(function () {
762
797
  (0, _ahooks.useUpdateEffect)(function () {
763
798
  onUpdate();
764
799
  });
765
800
  return (0, _.useUseCase)(defaultFile, fileUseCase);
766
801
  }),
767
- result = _renderHook18.result;
802
+ result = _renderHook19.result;
768
803
  var cores = result.current;
769
804
  var _cores7 = (0, _slicedToArray2["default"])(cores, 2),
770
805
  entity = _cores7[0],
@@ -788,18 +823,18 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
788
823
  }));
789
824
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
790
825
  });
791
- (0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
792
- var onUpdate, _renderHook19, result, cores, _cores8, entity, reducers, readFile, promise;
793
- return _regenerator["default"].wrap(function (_context1) {
794
- while (1) switch (_context1.prev = _context1.next) {
826
+ (0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
827
+ var onUpdate, _renderHook20, result, cores, _cores8, entity, reducers, readFile, promise;
828
+ return _regenerator["default"].wrap(function (_context11) {
829
+ while (1) switch (_context11.prev = _context11.next) {
795
830
  case 0:
796
831
  onUpdate = _globals.jest.fn();
797
- _renderHook19 = (0, _react.renderHook)(function () {
832
+ _renderHook20 = (0, _react.renderHook)(function () {
798
833
  (0, _ahooks.useUpdateEffect)(function () {
799
834
  onUpdate();
800
835
  });
801
836
  return (0, _.useUseCase)(defaultFile, fileUseCase);
802
- }), result = _renderHook19.result;
837
+ }), result = _renderHook20.result;
803
838
  cores = result.current;
804
839
  _cores8 = (0, _slicedToArray2["default"])(cores, 2), entity = _cores8[0], reducers = _cores8[1];
805
840
  readFile = reducers.readFile;
@@ -809,7 +844,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
809
844
  (0, _globals.expect)(result.current).toBe(cores);
810
845
  (0, _globals.expect)(result.current).toEqual(cores);
811
846
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
812
- _context1.next = 1;
847
+ _context11.next = 1;
813
848
  return promise;
814
849
  case 1:
815
850
  (0, _globals.expect)(result.current[0]).not.toBe(entity);
@@ -821,19 +856,19 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
821
856
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
822
857
  case 2:
823
858
  case "end":
824
- return _context1.stop();
859
+ return _context11.stop();
825
860
  }
826
- }, _callee8);
861
+ }, _callee0);
827
862
  })));
828
863
  (0, _globals.test)('after `yield entity` callbacks, it should trigger update', function () {
829
864
  var onUpdate = _globals.jest.fn();
830
- var _renderHook20 = (0, _react.renderHook)(function () {
865
+ var _renderHook21 = (0, _react.renderHook)(function () {
831
866
  (0, _ahooks.useUpdateEffect)(function () {
832
867
  onUpdate();
833
868
  });
834
869
  return (0, _.useUseCase)(defaultFile, fileUseCase);
835
870
  }),
836
- result = _renderHook20.result;
871
+ result = _renderHook21.result;
837
872
  var cores = result.current;
838
873
  var _cores9 = (0, _slicedToArray2["default"])(cores, 2),
839
874
  reducers = _cores9[1];
@@ -970,12 +1005,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
970
1005
  });
971
1006
  (0, _globals.test)('`options.onChange` should be trigger when entity has changed', function () {
972
1007
  var onChange = _globals.jest.fn();
973
- var _renderHook21 = (0, _react.renderHook)(function () {
1008
+ var _renderHook22 = (0, _react.renderHook)(function () {
974
1009
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
975
1010
  onChange: onChange
976
1011
  });
977
1012
  }),
978
- result = _renderHook21.result;
1013
+ result = _renderHook22.result;
979
1014
  var cores = result.current;
980
1015
  var _cores0 = (0, _slicedToArray2["default"])(cores, 2),
981
1016
  reducers = _cores0[1];
@@ -994,12 +1029,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
994
1029
  var onChange1 = _globals.jest.fn();
995
1030
  var onChange2 = _globals.jest.fn();
996
1031
  var onChange = onChange1;
997
- var _renderHook22 = (0, _react.renderHook)(function () {
1032
+ var _renderHook23 = (0, _react.renderHook)(function () {
998
1033
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
999
1034
  onChange: onChange
1000
1035
  }, []);
1001
1036
  }),
1002
- result = _renderHook22.result;
1037
+ result = _renderHook23.result;
1003
1038
  var cores = result.current;
1004
1039
  var _cores1 = (0, _slicedToArray2["default"])(cores, 2),
1005
1040
  reducers = _cores1[1];
@@ -1029,7 +1064,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1029
1064
  }));
1030
1065
  });
1031
1066
  (0, _globals.test)('`options.options` should override rest options', function () {
1032
- var _renderHook23 = (0, _react.renderHook)(function () {
1067
+ var _renderHook24 = (0, _react.renderHook)(function () {
1033
1068
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
1034
1069
  pathPrefix: 'xyz/',
1035
1070
  options: {
@@ -1037,7 +1072,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1037
1072
  }
1038
1073
  });
1039
1074
  }),
1040
- result = _renderHook23.result;
1075
+ result = _renderHook24.result;
1041
1076
  var cores = result.current;
1042
1077
  var _cores10 = (0, _slicedToArray2["default"])(cores, 2),
1043
1078
  path = _cores10[0].path,
@@ -1070,7 +1105,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1070
1105
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
1071
1106
  var onUpdate = _globals.jest.fn();
1072
1107
  var onDeepUpdate = _globals.jest.fn();
1073
- var _renderHook24 = (0, _react.renderHook)(function () {
1108
+ var _renderHook25 = (0, _react.renderHook)(function () {
1074
1109
  var _useState = (0, _react2.useState)('user/'),
1075
1110
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
1076
1111
  pathPrefix = _useState2[0],
@@ -1086,7 +1121,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1086
1121
  }, [context]);
1087
1122
  return setPathPrefix;
1088
1123
  }),
1089
- result = _renderHook24.result;
1124
+ result = _renderHook25.result;
1090
1125
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1091
1126
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
1092
1127
  (0, _react.act)(function () {
@@ -1098,7 +1133,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1098
1133
  (0, _globals.test)('when `deps` has changed, it should trigger update', function () {
1099
1134
  var onUpdate = _globals.jest.fn();
1100
1135
  var onDeepUpdate = _globals.jest.fn();
1101
- var _renderHook25 = (0, _react.renderHook)(function () {
1136
+ var _renderHook26 = (0, _react.renderHook)(function () {
1102
1137
  var _useState3 = (0, _react2.useState)('user/'),
1103
1138
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
1104
1139
  pathPrefix = _useState4[0],
@@ -1114,7 +1149,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1114
1149
  }, [context]);
1115
1150
  return setPathPrefix;
1116
1151
  }),
1117
- result = _renderHook25.result;
1152
+ result = _renderHook26.result;
1118
1153
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1119
1154
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
1120
1155
  (0, _react.act)(function () {
@@ -1126,7 +1161,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1126
1161
  (0, _globals.test)('empty `deps` should not trigger update', function () {
1127
1162
  var onUpdate = _globals.jest.fn();
1128
1163
  var onDeepUpdate = _globals.jest.fn();
1129
- var _renderHook26 = (0, _react.renderHook)(function () {
1164
+ var _renderHook27 = (0, _react.renderHook)(function () {
1130
1165
  var _useState5 = (0, _react2.useState)('user/'),
1131
1166
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
1132
1167
  pathPrefix = _useState6[0],
@@ -1142,7 +1177,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1142
1177
  }, [context]);
1143
1178
  return setPathPrefix;
1144
1179
  }),
1145
- result = _renderHook26.result;
1180
+ result = _renderHook27.result;
1146
1181
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1147
1182
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
1148
1183
  (0, _react.act)(function () {
@@ -1155,12 +1190,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1155
1190
  var onPathChange1 = _globals.jest.fn();
1156
1191
  var onPathChange2 = _globals.jest.fn();
1157
1192
  var onPathChange = onPathChange1;
1158
- var _renderHook27 = (0, _react.renderHook)(function () {
1193
+ var _renderHook28 = (0, _react.renderHook)(function () {
1159
1194
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
1160
1195
  onPathChange: onPathChange
1161
1196
  });
1162
1197
  }),
1163
- result = _renderHook27.result;
1198
+ result = _renderHook28.result;
1164
1199
  var context = result.current;
1165
1200
  var _context2 = (0, _slicedToArray2["default"])(context, 2),
1166
1201
  setPath = _context2[1].setPath;
@@ -1181,7 +1216,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1181
1216
  (0, _globals.test)('`options.watch` should be trigger after entity changed', function () {
1182
1217
  var onPathChange = _globals.jest.fn();
1183
1218
  var onSizeChange = _globals.jest.fn();
1184
- var _renderHook28 = (0, _react.renderHook)(function () {
1219
+ var _renderHook29 = (0, _react.renderHook)(function () {
1185
1220
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
1186
1221
  watch: {
1187
1222
  path: onPathChange,
@@ -1189,7 +1224,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1189
1224
  }
1190
1225
  });
1191
1226
  }),
1192
- result = _renderHook28.result;
1227
+ result = _renderHook29.result;
1193
1228
  var cores = result.current;
1194
1229
  var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
1195
1230
  setPath = _cores11[1].setPath;
@@ -1212,7 +1247,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1212
1247
  });
1213
1248
  (0, _globals.test)('`options.watch` should be trigger after update entity by entity initializer', function () {
1214
1249
  var onPathChange = _globals.jest.fn();
1215
- var _renderHook29 = (0, _react.renderHook)(function () {
1250
+ var _renderHook30 = (0, _react.renderHook)(function () {
1216
1251
  var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
1217
1252
  return (0, _.useUseCase)(function () {
1218
1253
  var currentFile = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
@@ -1225,7 +1260,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1225
1260
  }
1226
1261
  }, [path]);
1227
1262
  }),
1228
- rerender = _renderHook29.rerender;
1263
+ rerender = _renderHook30.rerender;
1229
1264
  (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
1230
1265
  (0, _react.act)(function () {
1231
1266
  rerender(PATH_1);
@@ -1325,14 +1360,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1325
1360
  var onPathChange1 = _globals.jest.fn();
1326
1361
  var onPathChange2 = _globals.jest.fn();
1327
1362
  var onPathChange = onPathChange1;
1328
- var _renderHook30 = (0, _react.renderHook)(function () {
1363
+ var _renderHook31 = (0, _react.renderHook)(function () {
1329
1364
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
1330
1365
  watch: {
1331
1366
  path: onPathChange
1332
1367
  }
1333
1368
  });
1334
1369
  }),
1335
- result = _renderHook30.result;
1370
+ result = _renderHook31.result;
1336
1371
  var cores = result.current;
1337
1372
  var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
1338
1373
  _cores12$ = _cores12[1],
@@ -1380,7 +1415,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1380
1415
  var initialData = {};
1381
1416
  var onExtChange = _globals.jest.fn();
1382
1417
  var onSizeChange = _globals.jest.fn();
1383
- var _renderHook31 = (0, _react.renderHook)(function () {
1418
+ var _renderHook32 = (0, _react.renderHook)(function () {
1384
1419
  return (0, _.useUseCase)(initialData, fieldPathUseCase, {
1385
1420
  watch: {
1386
1421
  'list.ext': onExtChange,
@@ -1388,7 +1423,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1388
1423
  }
1389
1424
  });
1390
1425
  }),
1391
- result = _renderHook31.result;
1426
+ result = _renderHook32.result;
1392
1427
  var cores = result.current;
1393
1428
  var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
1394
1429
  setEntity = _cores13[1].setEntity;
@@ -1681,20 +1716,21 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1681
1716
  });
1682
1717
  });
1683
1718
  (0, _globals.test)('`options.watch` should work with field path of array length', function () {
1719
+ var defaultList = [];
1684
1720
  var onEntityLengthChange = _globals.jest.fn();
1685
1721
  var onListLengthChange = _globals.jest.fn();
1686
1722
  var lengthUseCase = function lengthUseCase() {
1687
1723
  return (0, _usecases.entityUseCase)();
1688
1724
  };
1689
- var _renderHook32 = (0, _react.renderHook)(function () {
1690
- return (0, _.useUseCase)([], lengthUseCase, {
1725
+ var _renderHook33 = (0, _react.renderHook)(function () {
1726
+ return (0, _.useUseCase)(defaultList, lengthUseCase, {
1691
1727
  watch: {
1692
1728
  length: onEntityLengthChange,
1693
1729
  'list.length': onListLengthChange
1694
1730
  }
1695
1731
  });
1696
1732
  }),
1697
- result = _renderHook32.result;
1733
+ result = _renderHook33.result;
1698
1734
  var cores = result.current;
1699
1735
  var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
1700
1736
  setEntity = _cores14[1].setEntity;
@@ -1729,14 +1765,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1729
1765
  (0, _globals.test)('`options.watch` should work with field path of nested array', function () {
1730
1766
  var initialData = {};
1731
1767
  var onChange = _globals.jest.fn();
1732
- var _renderHook33 = (0, _react.renderHook)(function () {
1768
+ var _renderHook34 = (0, _react.renderHook)(function () {
1733
1769
  return (0, _.useUseCase)(initialData, fieldPathUseCase, {
1734
1770
  watch: {
1735
1771
  'nestedList.size': onChange
1736
1772
  }
1737
1773
  });
1738
1774
  }),
1739
- result = _renderHook33.result;
1775
+ result = _renderHook34.result;
1740
1776
  var cores = result.current;
1741
1777
  var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
1742
1778
  setEntity = _cores15[1].setEntity;
@@ -1824,7 +1860,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1824
1860
  var initialData = {};
1825
1861
  var onExtChange = _globals.jest.fn();
1826
1862
  var onSizeChange = _globals.jest.fn();
1827
- var _renderHook34 = (0, _react.renderHook)(function () {
1863
+ var _renderHook35 = (0, _react.renderHook)(function () {
1828
1864
  return (0, _.useUseCase)(initialData, fieldPathUseCase, {
1829
1865
  watch: {
1830
1866
  'obj.file.ext': onExtChange,
@@ -1832,7 +1868,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1832
1868
  }
1833
1869
  });
1834
1870
  }),
1835
- result = _renderHook34.result;
1871
+ result = _renderHook35.result;
1836
1872
  var cores = result.current;
1837
1873
  var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
1838
1874
  setEntity = _cores16[1].setEntity;
@@ -1940,6 +1976,51 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1940
1976
  (0, _globals.expect)(onStringMount).toHaveBeenCalledWith('hello');
1941
1977
  (0, _globals.expect)(onBooleanMount).toHaveBeenCalledWith(true);
1942
1978
  });
1979
+ (0, _globals.test)('`bindEntity` should be called when component mount', function () {
1980
+ var bindEntity = _globals.jest.fn(function (entity) {
1981
+ void entity;
1982
+ });
1983
+ var testUseCase = function testUseCase() {
1984
+ var entityReducers = (0, _usecases.entityUseCase)();
1985
+ return _objectSpread(_objectSpread({}, entityReducers), {}, {
1986
+ bindEntity: bindEntity
1987
+ });
1988
+ };
1989
+ (0, _react.renderHook)(function () {
1990
+ var _useUseCase24 = (0, _.useUseCase)(5, testUseCase),
1991
+ _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 2),
1992
+ setEntity = _useUseCase25[1].setEntity;
1993
+ (0, _ahooks.useMount)(function () {
1994
+ setEntity(100);
1995
+ });
1996
+ });
1997
+ (0, _globals.expect)(bindEntity).toHaveBeenCalledTimes(1);
1998
+ (0, _globals.expect)(bindEntity).toHaveBeenCalledWith(5);
1999
+ });
2000
+ (0, _globals.test)('`unbindEntity` should be called when component unmount', function () {
2001
+ var unbindEntity = _globals.jest.fn(function (entity) {
2002
+ void entity;
2003
+ });
2004
+ var testUseCase = function testUseCase() {
2005
+ var entityReducers = (0, _usecases.entityUseCase)();
2006
+ return _objectSpread(_objectSpread({}, entityReducers), {}, {
2007
+ unbindEntity: unbindEntity
2008
+ });
2009
+ };
2010
+ var _renderHook36 = (0, _react.renderHook)(function () {
2011
+ var _useUseCase26 = (0, _.useUseCase)(5, testUseCase),
2012
+ _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
2013
+ setEntity = _useUseCase27[1].setEntity;
2014
+ (0, _ahooks.useMount)(function () {
2015
+ setEntity(100);
2016
+ });
2017
+ }),
2018
+ unmount = _renderHook36.unmount;
2019
+ (0, _globals.expect)(unbindEntity).toHaveBeenCalledTimes(0);
2020
+ unmount();
2021
+ (0, _globals.expect)(unbindEntity).toHaveBeenCalledTimes(1);
2022
+ (0, _globals.expect)(unbindEntity).toHaveBeenCalledWith(100);
2023
+ });
1943
2024
  });
1944
2025
  (0, _globals.describe)('`useUseCase` should work the same as `useContextualCoreCollection`', function () {
1945
2026
  (0, _globals.test)('Provider should be returned in child component', function () {
@@ -1956,13 +2037,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1956
2037
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1957
2038
  };
1958
2039
  var TestParent = function TestParent() {
1959
- var _useUseCase24 = (0, _.useUseCase)(function () {
2040
+ var _useUseCase28 = (0, _.useUseCase)(function () {
1960
2041
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
1961
2042
  ext: EXT_1
1962
2043
  });
1963
2044
  }, fileUseCase),
1964
- _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 3),
1965
- Provider = _useUseCase25[2];
2045
+ _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
2046
+ Provider = _useUseCase29[2];
1966
2047
  return (0, _jsxRuntime.jsx)(Provider, {
1967
2048
  children: (0, _jsxRuntime.jsx)(TestChild, {})
1968
2049
  });
@@ -1978,10 +2059,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1978
2059
  var onPopupFile = _globals.jest.fn();
1979
2060
  var buttonText = 'button';
1980
2061
  var Popup = function Popup() {
1981
- var _useUseCase26 = (0, _.useUseCase)(fileUseCase),
1982
- _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
1983
- file = _useUseCase27[0],
1984
- setEntity = _useUseCase27[1].setEntity;
2062
+ var _useUseCase30 = (0, _.useUseCase)(fileUseCase),
2063
+ _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 2),
2064
+ file = _useUseCase31[0],
2065
+ setEntity = _useUseCase31[1].setEntity;
1985
2066
  var onClick = function onClick() {
1986
2067
  setEntity({
1987
2068
  ext: EXT_2
@@ -1996,24 +2077,24 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1996
2077
  });
1997
2078
  };
1998
2079
  var TestChild = function TestChild() {
1999
- var _useUseCase28 = (0, _.useUseCase)(fileUseCase),
2000
- _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
2001
- Provider = _useUseCase29[2];
2080
+ var _useUseCase32 = (0, _.useUseCase)(fileUseCase),
2081
+ _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
2082
+ Provider = _useUseCase33[2];
2002
2083
  return (0, _reactDom.createPortal)((0, _jsxRuntime.jsx)(Provider, {
2003
2084
  children: (0, _jsxRuntime.jsx)(Popup, {})
2004
2085
  }), document.body);
2005
2086
  };
2006
2087
  var TestParent = function TestParent() {
2007
- var _useUseCase30 = (0, _.useUseCase)(function () {
2088
+ var _useUseCase34 = (0, _.useUseCase)(function () {
2008
2089
  return _objectSpread(_objectSpread({}, defaultFile), {}, {
2009
2090
  ext: EXT_1
2010
2091
  });
2011
2092
  }, fileUseCase, {
2012
2093
  onChange: onChange
2013
2094
  }),
2014
- _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 3),
2015
- file = _useUseCase31[0],
2016
- Provider = _useUseCase31[2];
2095
+ _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 3),
2096
+ file = _useUseCase35[0],
2097
+ Provider = _useUseCase35[2];
2017
2098
  (0, _react2.useEffect)(function () {
2018
2099
  onRootFile(file);
2019
2100
  }, [file]);
@@ -2074,9 +2155,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2074
2155
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2075
2156
  };
2076
2157
  var B = function B() {
2077
- var _useUseCase32 = (0, _.useUseCase)(defaultFile, mockUseCase),
2078
- _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
2079
- Provider = _useUseCase33[2];
2158
+ var _useUseCase36 = (0, _.useUseCase)(defaultFile, mockUseCase),
2159
+ _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2160
+ Provider = _useUseCase37[2];
2080
2161
  return (0, _jsxRuntime.jsx)(Provider, {
2081
2162
  children: (0, _jsxRuntime.jsx)(A, {})
2082
2163
  });
@@ -2096,9 +2177,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2096
2177
  });
2097
2178
  };
2098
2179
  var A = function A() {
2099
- var _useUseCase34 = (0, _.useUseCase)(stringUseCase),
2100
- _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 2),
2101
- add = _useUseCase35[1].add;
2180
+ var _useUseCase38 = (0, _.useUseCase)(stringUseCase),
2181
+ _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 2),
2182
+ add = _useUseCase39[1].add;
2102
2183
  var update = (0, _ahooks.useUpdate)();
2103
2184
  var onClick = function onClick() {
2104
2185
  update();
@@ -2110,9 +2191,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2110
2191
  });
2111
2192
  };
2112
2193
  var B = function B() {
2113
- var _useUseCase36 = (0, _.useUseCase)('', stringUseCase),
2114
- _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
2115
- Provider = _useUseCase37[2];
2194
+ var _useUseCase40 = (0, _.useUseCase)('', stringUseCase),
2195
+ _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
2196
+ Provider = _useUseCase41[2];
2116
2197
  return (0, _jsxRuntime.jsx)(Provider, {
2117
2198
  children: (0, _jsxRuntime.jsx)(A, {})
2118
2199
  });
@@ -2136,9 +2217,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2136
2217
  });
2137
2218
  };
2138
2219
  var A = function A() {
2139
- var _useUseCase38 = (0, _.useUseCase)(stringUseCase),
2140
- _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 2),
2141
- add = _useUseCase39[1].add;
2220
+ var _useUseCase42 = (0, _.useUseCase)(stringUseCase),
2221
+ _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 2),
2222
+ add = _useUseCase43[1].add;
2142
2223
  var onClick = function onClick() {
2143
2224
  add('x');
2144
2225
  };
@@ -2152,9 +2233,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2152
2233
  });
2153
2234
  };
2154
2235
  var B = function B() {
2155
- var _useUseCase40 = (0, _.useUseCase)('', stringUseCase),
2156
- _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
2157
- Provider = _useUseCase41[2];
2236
+ var _useUseCase44 = (0, _.useUseCase)('', stringUseCase),
2237
+ _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
2238
+ Provider = _useUseCase45[2];
2158
2239
  return (0, _jsxRuntime.jsx)(Provider, {
2159
2240
  children: (0, _jsxRuntime.jsx)(A, {})
2160
2241
  });
@@ -2182,11 +2263,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2182
2263
  });
2183
2264
  };
2184
2265
  var A = function A() {
2185
- var _useUseCase42 = (0, _.useUseCase)(stringUseCase),
2186
- _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 2),
2187
- _useUseCase43$ = _useUseCase43[1],
2188
- add = _useUseCase43$.add,
2189
- setEntity = _useUseCase43$.setEntity;
2266
+ var _useUseCase46 = (0, _.useUseCase)(stringUseCase),
2267
+ _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 2),
2268
+ _useUseCase47$ = _useUseCase47[1],
2269
+ add = _useUseCase47$.add,
2270
+ setEntity = _useUseCase47$.setEntity;
2190
2271
  var update = (0, _ahooks.useUpdate)();
2191
2272
  add(addedText);
2192
2273
  var onSet = function onSet() {
@@ -2206,9 +2287,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2206
2287
  });
2207
2288
  };
2208
2289
  var B = function B() {
2209
- var _useUseCase44 = (0, _.useUseCase)('', stringUseCase),
2210
- _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
2211
- Provider = _useUseCase45[2];
2290
+ var _useUseCase48 = (0, _.useUseCase)('', stringUseCase),
2291
+ _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 3),
2292
+ Provider = _useUseCase49[2];
2212
2293
  return (0, _jsxRuntime.jsx)(Provider, {
2213
2294
  children: (0, _jsxRuntime.jsx)(A, {})
2214
2295
  });
@@ -2253,12 +2334,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2253
2334
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2254
2335
  };
2255
2336
  var C = function C() {
2256
- var _useUseCase46 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2337
+ var _useUseCase50 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2257
2338
  onChange: onChangeC
2258
2339
  }),
2259
- _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 3),
2260
- setPath = _useUseCase47[1].setPath,
2261
- Provider = _useUseCase47[2];
2340
+ _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2341
+ setPath = _useUseCase51[1].setPath,
2342
+ Provider = _useUseCase51[2];
2262
2343
  var onFirstClick = function onFirstClick() {
2263
2344
  setPath(PATH_1);
2264
2345
  };
@@ -2285,11 +2366,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2285
2366
  var firstButtonText = 'first button';
2286
2367
  var secondButtonText = 'second button';
2287
2368
  var A = function A() {
2288
- var _useUseCase48 = (0, _.useUseCase)(fileUseCase, {
2369
+ var _useUseCase52 = (0, _.useUseCase)(fileUseCase, {
2289
2370
  onChange: onChange
2290
2371
  }),
2291
- _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 2),
2292
- setPath = _useUseCase49[1].setPath;
2372
+ _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 2),
2373
+ setPath = _useUseCase53[1].setPath;
2293
2374
  var onFirstClick = function onFirstClick() {
2294
2375
  setPath(PATH_1);
2295
2376
  onChange = onSecondChange;
@@ -2308,9 +2389,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2308
2389
  });
2309
2390
  };
2310
2391
  var B = function B() {
2311
- var _useUseCase50 = (0, _.useUseCase)(defaultFile, fileUseCase),
2312
- _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 3),
2313
- Provider = _useUseCase51[2];
2392
+ var _useUseCase54 = (0, _.useUseCase)(defaultFile, fileUseCase),
2393
+ _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 3),
2394
+ Provider = _useUseCase55[2];
2314
2395
  return (0, _jsxRuntime.jsx)(Provider, {
2315
2396
  children: (0, _jsxRuntime.jsx)(A, {})
2316
2397
  });
@@ -2332,13 +2413,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2332
2413
  var onExtChange = _globals.jest.fn();
2333
2414
  var firstButtonText = 'first button';
2334
2415
  var A = function A() {
2335
- var _useUseCase52 = (0, _.useUseCase)(fileUseCase, {
2416
+ var _useUseCase56 = (0, _.useUseCase)(fileUseCase, {
2336
2417
  watch: {
2337
2418
  ext: onExtChange
2338
2419
  }
2339
2420
  }),
2340
- _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 2),
2341
- setPath = _useUseCase53[1].setPath;
2421
+ _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 2),
2422
+ setPath = _useUseCase57[1].setPath;
2342
2423
  var onFirstClick = function onFirstClick() {
2343
2424
  setPath(PATH_1);
2344
2425
  };
@@ -2348,9 +2429,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2348
2429
  });
2349
2430
  };
2350
2431
  var B = function B() {
2351
- var _useUseCase54 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2352
- _useUseCase55 = (0, _slicedToArray2["default"])(_useUseCase54, 3),
2353
- Provider = _useUseCase55[2];
2432
+ var _useUseCase58 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
2433
+ _useUseCase59 = (0, _slicedToArray2["default"])(_useUseCase58, 3),
2434
+ Provider = _useUseCase59[2];
2354
2435
  return (0, _jsxRuntime.jsx)(Provider, {
2355
2436
  children: (0, _jsxRuntime.jsx)(A, {})
2356
2437
  });
@@ -2400,14 +2481,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2400
2481
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
2401
2482
  };
2402
2483
  var C = function C() {
2403
- var _useUseCase56 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2484
+ var _useUseCase60 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2404
2485
  watch: {
2405
2486
  ext: onChangeC
2406
2487
  }
2407
2488
  }),
2408
- _useUseCase57 = (0, _slicedToArray2["default"])(_useUseCase56, 3),
2409
- setPath = _useUseCase57[1].setPath,
2410
- Provider = _useUseCase57[2];
2489
+ _useUseCase61 = (0, _slicedToArray2["default"])(_useUseCase60, 3),
2490
+ setPath = _useUseCase61[1].setPath,
2491
+ Provider = _useUseCase61[2];
2411
2492
  var onFirstClick = function onFirstClick() {
2412
2493
  setPath(PATH_1);
2413
2494
  };
@@ -2434,13 +2515,13 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2434
2515
  var firstButtonText = 'first button';
2435
2516
  var secondButtonText = 'second button';
2436
2517
  var A = function A() {
2437
- var _useUseCase58 = (0, _.useUseCase)(fileUseCase, {
2518
+ var _useUseCase62 = (0, _.useUseCase)(fileUseCase, {
2438
2519
  watch: {
2439
2520
  ext: onExtChange
2440
2521
  }
2441
2522
  }),
2442
- _useUseCase59 = (0, _slicedToArray2["default"])(_useUseCase58, 2),
2443
- setPath = _useUseCase59[1].setPath;
2523
+ _useUseCase63 = (0, _slicedToArray2["default"])(_useUseCase62, 2),
2524
+ setPath = _useUseCase63[1].setPath;
2444
2525
  var onFirstClick = function onFirstClick() {
2445
2526
  setPath(PATH_1);
2446
2527
  onExtChange = onSecondExtChange;
@@ -2459,9 +2540,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2459
2540
  });
2460
2541
  };
2461
2542
  var B = function B() {
2462
- var _useUseCase60 = (0, _.useUseCase)(defaultFile, fileUseCase),
2463
- _useUseCase61 = (0, _slicedToArray2["default"])(_useUseCase60, 3),
2464
- Provider = _useUseCase61[2];
2543
+ var _useUseCase64 = (0, _.useUseCase)(defaultFile, fileUseCase),
2544
+ _useUseCase65 = (0, _slicedToArray2["default"])(_useUseCase64, 3),
2545
+ Provider = _useUseCase65[2];
2465
2546
  return (0, _jsxRuntime.jsx)(Provider, {
2466
2547
  children: (0, _jsxRuntime.jsx)(A, {})
2467
2548
  });
@@ -2488,38 +2569,38 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2488
2569
  });
2489
2570
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
2490
2571
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
2491
- var _renderHook35 = (0, _react.renderHook)(function () {
2572
+ var _renderHook37 = (0, _react.renderHook)(function () {
2492
2573
  return (0, _.useUseCase)(mathUseCase);
2493
2574
  }),
2494
- result = _renderHook35.result;
2575
+ result = _renderHook37.result;
2495
2576
  var reducers = result.current;
2496
2577
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
2497
2578
  });
2498
2579
  (0, _globals.test)('returned reducer should work', function () {
2499
- var _renderHook36 = (0, _react.renderHook)(function () {
2580
+ var _renderHook38 = (0, _react.renderHook)(function () {
2500
2581
  return (0, _.useUseCase)(mathUseCase);
2501
2582
  }),
2502
- result = _renderHook36.result;
2583
+ result = _renderHook38.result;
2503
2584
  var reducers = result.current;
2504
2585
  var add = reducers.add;
2505
2586
  (0, _globals.expect)(add(1, 2)).toBe(3);
2506
2587
  });
2507
2588
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
2508
2589
  var mockUseCase = _globals.jest.fn(mathUseCase);
2509
- var _renderHook37 = (0, _react.renderHook)(function () {
2590
+ var _renderHook39 = (0, _react.renderHook)(function () {
2510
2591
  return (0, _.useUseCase)(mockUseCase);
2511
2592
  }),
2512
- rerender = _renderHook37.rerender;
2593
+ rerender = _renderHook39.rerender;
2513
2594
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2514
2595
  rerender();
2515
2596
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2516
2597
  });
2517
2598
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
2518
2599
  var mockUseCase = _globals.jest.fn(mathUseCase);
2519
- var _renderHook38 = (0, _react.renderHook)(function () {
2600
+ var _renderHook40 = (0, _react.renderHook)(function () {
2520
2601
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
2521
2602
  }),
2522
- rerender = _renderHook38.rerender;
2603
+ rerender = _renderHook40.rerender;
2523
2604
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2524
2605
  rerender();
2525
2606
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2527,10 +2608,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2527
2608
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
2528
2609
  var i = 0;
2529
2610
  var mockUseCase = _globals.jest.fn(mathUseCase);
2530
- var _renderHook39 = (0, _react.renderHook)(function () {
2611
+ var _renderHook41 = (0, _react.renderHook)(function () {
2531
2612
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
2532
2613
  }),
2533
- rerender = _renderHook39.rerender;
2614
+ rerender = _renderHook41.rerender;
2534
2615
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2535
2616
  rerender();
2536
2617
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2538,8 +2619,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2538
2619
  (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
2539
2620
  var buttonText = 'button';
2540
2621
  var CacheTestComponent = function CacheTestComponent() {
2541
- var _useUseCase62 = (0, _.useUseCase)(mathUseCase),
2542
- subtraction = _useUseCase62.subtraction;
2622
+ var _useUseCase66 = (0, _.useUseCase)(mathUseCase),
2623
+ subtraction = _useUseCase66.subtraction;
2543
2624
  var update = (0, _ahooks.useUpdate)();
2544
2625
  var onClick = function onClick() {
2545
2626
  update();
@@ -2562,8 +2643,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2562
2643
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
2563
2644
  var buttonText = 'button';
2564
2645
  var CacheTestComponent = function CacheTestComponent() {
2565
- var _useUseCase63 = (0, _.useUseCase)(mathUseCase),
2566
- subtraction = _useUseCase63.subtraction;
2646
+ var _useUseCase67 = (0, _.useUseCase)(mathUseCase),
2647
+ subtraction = _useUseCase67.subtraction;
2567
2648
  var onClick = function onClick() {
2568
2649
  subtraction(5, 3);
2569
2650
  };
@@ -2591,8 +2672,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2591
2672
  var count = 0;
2592
2673
  var buttonText = 'button';
2593
2674
  var StringUseCaseTestComponent = function StringUseCaseTestComponent() {
2594
- var _useUseCase64 = (0, _.useUseCase)(mathUseCase),
2595
- subtraction = _useUseCase64.subtraction;
2675
+ var _useUseCase68 = (0, _.useUseCase)(mathUseCase),
2676
+ subtraction = _useUseCase68.subtraction;
2596
2677
  var update = (0, _ahooks.useUpdate)();
2597
2678
  subtraction(5, count++);
2598
2679
  var onUpdate = function onUpdate() {
@@ -2614,12 +2695,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2614
2695
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
2615
2696
  });
2616
2697
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
2617
- var _renderHook40 = (0, _react.renderHook)(function () {
2698
+ var _renderHook42 = (0, _react.renderHook)(function () {
2618
2699
  return (0, _.useUseCase)(mathUseCase, {
2619
2700
  extraValue: 5
2620
2701
  });
2621
2702
  }),
2622
- result = _renderHook40.result;
2703
+ result = _renderHook42.result;
2623
2704
  var reducers = result.current;
2624
2705
  var add = reducers.add;
2625
2706
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -2627,7 +2708,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2627
2708
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
2628
2709
  var onUpdate = _globals.jest.fn();
2629
2710
  var onDeepUpdate = _globals.jest.fn();
2630
- var _renderHook41 = (0, _react.renderHook)(function () {
2711
+ var _renderHook43 = (0, _react.renderHook)(function () {
2631
2712
  var _useState7 = (0, _react2.useState)(0),
2632
2713
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
2633
2714
  extraValue = _useState8[0],
@@ -2643,7 +2724,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2643
2724
  }, [reducers]);
2644
2725
  return setExtraValue;
2645
2726
  }),
2646
- result = _renderHook41.result;
2727
+ result = _renderHook43.result;
2647
2728
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2648
2729
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2649
2730
  (0, _react.act)(function () {
@@ -2655,7 +2736,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2655
2736
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
2656
2737
  var onUpdate = _globals.jest.fn();
2657
2738
  var onDeepUpdate = _globals.jest.fn();
2658
- var _renderHook42 = (0, _react.renderHook)(function () {
2739
+ var _renderHook44 = (0, _react.renderHook)(function () {
2659
2740
  var _useState9 = (0, _react2.useState)(0),
2660
2741
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
2661
2742
  extraValue = _useState0[0],
@@ -2671,7 +2752,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2671
2752
  }, [reducers]);
2672
2753
  return setExtraValue;
2673
2754
  }),
2674
- result = _renderHook42.result;
2755
+ result = _renderHook44.result;
2675
2756
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2676
2757
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2677
2758
  (0, _react.act)(function () {
@@ -2683,7 +2764,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2683
2764
  (0, _globals.test)('empty `deps` should not update reducers', function () {
2684
2765
  var onUpdate = _globals.jest.fn();
2685
2766
  var onDeepUpdate = _globals.jest.fn();
2686
- var _renderHook43 = (0, _react.renderHook)(function () {
2767
+ var _renderHook45 = (0, _react.renderHook)(function () {
2687
2768
  var _useState1 = (0, _react2.useState)(0),
2688
2769
  _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
2689
2770
  extraValue = _useState10[0],
@@ -2699,7 +2780,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2699
2780
  }, [reducers]);
2700
2781
  return setExtraValue;
2701
2782
  }),
2702
- result = _renderHook43.result;
2783
+ result = _renderHook45.result;
2703
2784
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2704
2785
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2705
2786
  (0, _react.act)(function () {