@mic-rexjs/usecases-react 2.3.1 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index.min.js +1 -1
  2. package/es/components/UseCaseFragment/index.d.ts +1 -1
  3. package/es/components/UseCaseFragment/index.js +2 -2
  4. package/es/components/UseCaseFragment/types.d.ts +0 -2
  5. package/es/hooks/useCompareDeps/index.d.ts +1 -1
  6. package/es/hooks/useContextualItem/index.d.ts +1 -1
  7. package/es/hooks/useContextualItem/index.js +12 -4
  8. package/es/hooks/useEntity/index.d.ts +1 -1
  9. package/es/hooks/useEntity/index.js +6 -9
  10. package/es/hooks/useUseCase/index.js +12 -5
  11. package/es/hooks/useUseCase/index.test.js +89 -607
  12. package/es/hooks/useUseCase/types.d.ts +1 -15
  13. package/es/methods/captureCalls/index.d.ts +2 -0
  14. package/es/methods/captureCalls/index.js +14 -0
  15. package/es/methods/captureCalls/types.d.ts +4 -0
  16. package/es/methods/captureCalls/types.js +1 -0
  17. package/es/methods/initEntityReducers/index.js +1 -1
  18. package/lib/components/UseCaseFragment/index.js +0 -2
  19. package/lib/hooks/useContextualItem/index.js +11 -3
  20. package/lib/hooks/useEntity/index.js +6 -11
  21. package/lib/hooks/useUseCase/index.js +13 -4
  22. package/lib/hooks/useUseCase/index.test.js +234 -868
  23. package/lib/methods/captureCalls/index.js +23 -0
  24. package/lib/methods/captureCalls/types.js +5 -0
  25. package/lib/methods/initEntityReducers/index.js +2 -3
  26. package/package.json +3 -3
  27. package/es/hooks/useMemoizedCall/index.d.ts +0 -2
  28. package/es/hooks/useMemoizedCall/index.js +0 -15
  29. package/es/methods/triggerCallbacks/index.d.ts +0 -2
  30. package/es/methods/triggerCallbacks/index.js +0 -5
  31. package/es/methods/triggerWatchers/index.d.ts +0 -2
  32. package/es/methods/triggerWatchers/index.js +0 -14
  33. package/lib/hooks/useMemoizedCall/index.js +0 -21
  34. package/lib/methods/triggerCallbacks/index.js +0 -11
  35. package/lib/methods/triggerWatchers/index.js +0 -28
@@ -36,7 +36,8 @@ var fileUseCase = function fileUseCase() {
36
36
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
37
37
  var entityReducers = (0, _usecases.objectUseCase)();
38
38
  var _options$pathPrefix = options.pathPrefix,
39
- pathPrefix = _options$pathPrefix === void 0 ? '' : _options$pathPrefix;
39
+ pathPrefix = _options$pathPrefix === void 0 ? '' : _options$pathPrefix,
40
+ onPathChange = options.onPathChange;
40
41
  var init = function init(entity) {
41
42
  var newEntity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFile;
42
43
  return /*#__PURE__*/_regenerator["default"].mark(function _callee() {
@@ -56,15 +57,20 @@ var fileUseCase = function fileUseCase() {
56
57
  };
57
58
  var setPath = /*#__PURE__*/_regenerator["default"].mark(function setPath(entity, path) {
58
59
  var _path$match;
60
+ var oldPath, newPath;
59
61
  return _regenerator["default"].wrap(function setPath$(_context2) {
60
62
  while (1) switch (_context2.prev = _context2.next) {
61
63
  case 0:
62
- _context2.next = 2;
64
+ oldPath = entity.path;
65
+ newPath = pathPrefix + path;
66
+ _context2.next = 4;
63
67
  return _objectSpread(_objectSpread({}, entity), {}, {
64
- path: pathPrefix + path,
68
+ path: newPath,
65
69
  ext: ((_path$match = path.match(/\.[^.]+$/)) === null || _path$match === void 0 ? void 0 : _path$match[0]) || ''
66
70
  });
67
- case 2:
71
+ case 4:
72
+ onPathChange === null || onPathChange === void 0 || onPathChange(newPath, oldPath);
73
+ case 5:
68
74
  case "end":
69
75
  return _context2.stop();
70
76
  }
@@ -126,9 +132,6 @@ var mathUseCase = function mathUseCase() {
126
132
  subtraction: subtractionReducer
127
133
  };
128
134
  };
129
- var fieldPathUseCase = function fieldPathUseCase() {
130
- return (0, _usecases.objectUseCase)();
131
- };
132
135
  var Child = function Child(_ref2) {
133
136
  var _ref2$textPrefix = _ref2.textPrefix,
134
137
  textPrefix = _ref2$textPrefix === void 0 ? '' : _ref2$textPrefix,
@@ -606,8 +609,46 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
606
609
  ext: EXT_1
607
610
  }), defaultFile);
608
611
  });
609
- (0, _globals.test)('`options.options` should override rest options', function () {
612
+ (0, _globals.test)('`options.onChange` should always trigger the latest one', function () {
613
+ var onChange1 = _globals.jest.fn();
614
+ var onChange2 = _globals.jest.fn();
615
+ var onChange = onChange1;
610
616
  var _renderHook13 = (0, _react.renderHook)(function () {
617
+ return (0, _.useUseCase)(defaultFile, fileUseCase, {
618
+ onChange: onChange
619
+ }, []);
620
+ }),
621
+ result = _renderHook13.result;
622
+ var cores = result.current;
623
+ var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
624
+ reducers = _cores11[1];
625
+ var setPath = reducers.setPath;
626
+ (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(0);
627
+ (0, _react.act)(function () {
628
+ setPath(PATH_1);
629
+ onChange = onChange2;
630
+ });
631
+ (0, _globals.expect)(onChange2).toHaveBeenCalledTimes(0);
632
+ (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(1);
633
+ (0, _globals.expect)(onChange1).toHaveBeenLastCalledWith(_objectSpread(_objectSpread({}, defaultFile), {}, {
634
+ path: PATH_1,
635
+ ext: EXT_1
636
+ }), defaultFile);
637
+ (0, _react.act)(function () {
638
+ setPath(PATH_2);
639
+ });
640
+ (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(1);
641
+ (0, _globals.expect)(onChange2).toHaveBeenCalledTimes(1);
642
+ (0, _globals.expect)(onChange2).toHaveBeenLastCalledWith(_objectSpread(_objectSpread({}, defaultFile), {}, {
643
+ path: PATH_2,
644
+ ext: EXT_2
645
+ }), _objectSpread(_objectSpread({}, defaultFile), {}, {
646
+ path: PATH_1,
647
+ ext: EXT_1
648
+ }));
649
+ });
650
+ (0, _globals.test)('`options.options` should override rest options', function () {
651
+ var _renderHook14 = (0, _react.renderHook)(function () {
611
652
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
612
653
  pathPrefix: 'xyz/',
613
654
  options: {
@@ -615,11 +656,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
615
656
  }
616
657
  });
617
658
  }),
618
- result = _renderHook13.result;
659
+ result = _renderHook14.result;
619
660
  var cores = result.current;
620
- var _cores11 = (0, _slicedToArray2["default"])(cores, 2),
621
- path = _cores11[0].path,
622
- reducers = _cores11[1];
661
+ var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
662
+ path = _cores12[0].path,
663
+ reducers = _cores12[1];
623
664
  var setPath = reducers.setPath;
624
665
  (0, _globals.expect)(path).toBe('');
625
666
  (0, _react.act)(function () {
@@ -630,7 +671,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
630
671
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
631
672
  var onUpdate = _globals.jest.fn();
632
673
  var onDeepUpdate = _globals.jest.fn();
633
- var _renderHook14 = (0, _react.renderHook)(function () {
674
+ var _renderHook15 = (0, _react.renderHook)(function () {
634
675
  var _useState = (0, _react2.useState)('user/'),
635
676
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
636
677
  pathPrefix = _useState2[0],
@@ -646,7 +687,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
646
687
  }, [context]);
647
688
  return setPathPrefix;
648
689
  }),
649
- result = _renderHook14.result;
690
+ result = _renderHook15.result;
650
691
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
651
692
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
652
693
  (0, _react.act)(function () {
@@ -655,96 +696,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
655
696
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
656
697
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
657
698
  });
658
- (0, _globals.test)('when `entity` change, it should trigger watchers', function () {
659
- var onPathChange = _globals.jest.fn();
660
- var onSizeChange = _globals.jest.fn();
661
- var _renderHook15 = (0, _react.renderHook)(function () {
662
- return (0, _.useUseCase)(defaultFile, fileUseCase, {
663
- watch: {
664
- path: onPathChange,
665
- size: onSizeChange
666
- }
667
- });
668
- }),
669
- result = _renderHook15.result;
670
- var cores = result.current;
671
- var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
672
- setPath = _cores12[1].setPath;
673
- (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
674
- (0, _react.act)(function () {
675
- setPath(PATH_1);
676
- });
677
- (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(1);
678
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
679
- (0, _globals.expect)(onPathChange).toHaveBeenLastCalledWith({
680
- fieldPaths: ['path'],
681
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
682
- path: PATH_1,
683
- ext: EXT_1
684
- }),
685
- oldEntity: defaultFile,
686
- newValue: PATH_1,
687
- oldValue: ''
688
- });
689
- });
690
- (0, _globals.test)('watcher should be updated after `entity` change', function () {
691
- var onPathChange1 = _globals.jest.fn();
692
- var onPathChange2 = _globals.jest.fn();
693
- var onPathChange = onPathChange1;
694
- var _renderHook16 = (0, _react.renderHook)(function () {
695
- return (0, _.useUseCase)(defaultFile, fileUseCase, {
696
- watch: {
697
- path: onPathChange
698
- }
699
- });
700
- }),
701
- result = _renderHook16.result;
702
- var cores = result.current;
703
- var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
704
- _cores13$ = _cores13[1],
705
- setPath = _cores13$.setPath,
706
- setEntity = _cores13$.setEntity;
707
- onPathChange = onPathChange2;
708
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
709
- (0, _react.act)(function () {
710
- setPath(PATH_1);
711
- setEntity({
712
- size: 5000
713
- });
714
- });
715
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
716
- (0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith({
717
- fieldPaths: ['path'],
718
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
719
- path: PATH_1,
720
- ext: EXT_1
721
- }),
722
- oldEntity: defaultFile,
723
- newValue: PATH_1,
724
- oldValue: ''
725
- });
726
- (0, _react.act)(function () {
727
- setPath('');
728
- });
729
- (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
730
- (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith({
731
- fieldPaths: ['path'],
732
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
733
- size: 5000
734
- }),
735
- oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
736
- path: PATH_1,
737
- size: 5000,
738
- ext: EXT_1
739
- }),
740
- newValue: '',
741
- oldValue: PATH_1
742
- });
743
- });
744
699
  (0, _globals.test)('when `deps` has changed, it should trigger update', function () {
745
700
  var onUpdate = _globals.jest.fn();
746
701
  var onDeepUpdate = _globals.jest.fn();
747
- var _renderHook17 = (0, _react.renderHook)(function () {
702
+ var _renderHook16 = (0, _react.renderHook)(function () {
748
703
  var _useState3 = (0, _react2.useState)('user/'),
749
704
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
750
705
  pathPrefix = _useState4[0],
@@ -760,7 +715,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
760
715
  }, [context]);
761
716
  return setPathPrefix;
762
717
  }),
763
- result = _renderHook17.result;
718
+ result = _renderHook16.result;
764
719
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
765
720
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
766
721
  (0, _react.act)(function () {
@@ -772,7 +727,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
772
727
  (0, _globals.test)('empty `deps` should not trigger update', function () {
773
728
  var onUpdate = _globals.jest.fn();
774
729
  var onDeepUpdate = _globals.jest.fn();
775
- var _renderHook18 = (0, _react.renderHook)(function () {
730
+ var _renderHook17 = (0, _react.renderHook)(function () {
776
731
  var _useState5 = (0, _react2.useState)('user/'),
777
732
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
778
733
  pathPrefix = _useState6[0],
@@ -788,7 +743,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
788
743
  }, [context]);
789
744
  return setPathPrefix;
790
745
  }),
791
- result = _renderHook18.result;
746
+ result = _renderHook17.result;
792
747
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
793
748
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
794
749
  (0, _react.act)(function () {
@@ -797,627 +752,32 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
797
752
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
798
753
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
799
754
  });
800
- (0, _globals.test)('`options.watch` should be trigger at child elements', function () {
801
- var onFirstExtChange = _globals.jest.fn();
802
- var onSecondExtChange = _globals.jest.fn();
803
- var onParentExtChange = _globals.jest.fn();
804
- var onExtChange = onFirstExtChange;
805
- var firstButtonText = 'first button';
806
- var secondButtonText = 'second button';
807
- var A = function A() {
808
- (0, _.useUseCase)(fileUseCase, {
809
- watch: {
810
- ext: onExtChange
811
- }
812
- });
813
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
814
- };
815
- var B = function B() {
816
- var _useUseCase12 = (0, _.useUseCase)(defaultFile, fileUseCase, {
817
- watch: {
818
- ext: onParentExtChange
819
- }
820
- }),
821
- _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 3),
822
- setPath = _useUseCase13[1].setPath,
823
- Provider = _useUseCase13[2];
824
- var onFirstClick = function onFirstClick() {
825
- setPath(PATH_1);
826
- onExtChange = onSecondExtChange;
827
- };
828
- var onSecondClick = function onSecondClick() {
829
- setPath('');
830
- };
831
- return (0, _jsxRuntime.jsxs)(Provider, {
832
- children: [(0, _jsxRuntime.jsx)(A, {}), (0, _jsxRuntime.jsx)("button", {
833
- onClick: onFirstClick,
834
- children: firstButtonText
835
- }), (0, _jsxRuntime.jsx)("button", {
836
- onClick: onSecondClick,
837
- children: secondButtonText
838
- })]
839
- });
840
- };
841
- (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
842
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
843
- _react.fireEvent.click(_react.screen.getByText(firstButtonText));
844
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
845
- (0, _globals.expect)(onFirstExtChange).toHaveBeenLastCalledWith({
846
- fieldPaths: ['ext'],
847
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
848
- ext: EXT_1,
849
- path: PATH_1
850
- }),
851
- oldEntity: defaultFile,
852
- newValue: EXT_1,
853
- oldValue: ''
854
- });
855
- (0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(1);
856
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
857
- _react.fireEvent.click(_react.screen.getByText(secondButtonText));
858
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(1);
859
- (0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith({
860
- fieldPaths: ['ext'],
861
- newEntity: defaultFile,
862
- oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
863
- ext: EXT_1,
864
- path: PATH_1
865
- }),
866
- newValue: '',
867
- oldValue: EXT_1
868
- });
869
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
870
- (0, _globals.expect)(onParentExtChange).toHaveBeenCalledTimes(2);
871
- });
872
- (0, _globals.test)('`options.watch` should be trigger in orders', function () {
873
- var changeTimes = 0;
874
- var updateChangeTimes = function updateChangeTimes(e) {
875
- void e;
876
- return ++changeTimes;
877
- };
878
- var onChangeA = _globals.jest.fn(updateChangeTimes);
879
- var onChangeB = _globals.jest.fn(updateChangeTimes);
880
- var onChangeC = _globals.jest.fn(updateChangeTimes);
881
- var buttonText = 'my button';
882
- var A = function A(_ref7) {
883
- var children = _ref7.children;
884
- (0, _.useUseCase)(fileUseCase, {
885
- watch: {
886
- ext: onChangeA
887
- }
888
- });
889
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {
890
- children: children
891
- });
892
- };
893
- var B = function B() {
894
- (0, _.useUseCase)(fileUseCase, {
895
- watch: {
896
- ext: onChangeB
897
- }
898
- });
899
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
900
- };
901
- var C = function C() {
902
- var _useUseCase14 = (0, _.useUseCase)(defaultFile, fileUseCase, {
903
- watch: {
904
- ext: onChangeC
905
- }
906
- }),
907
- _useUseCase15 = (0, _slicedToArray2["default"])(_useUseCase14, 3),
908
- setPath = _useUseCase15[1].setPath,
909
- Provider = _useUseCase15[2];
910
- var onFirstClick = function onFirstClick() {
911
- setPath(PATH_1);
912
- };
913
- return (0, _jsxRuntime.jsxs)(Provider, {
914
- children: [(0, _jsxRuntime.jsx)(A, {
915
- children: (0, _jsxRuntime.jsx)(B, {})
916
- }), (0, _jsxRuntime.jsx)("button", {
917
- onClick: onFirstClick,
918
- children: buttonText
919
- })]
920
- });
921
- };
922
- (0, _react.render)((0, _jsxRuntime.jsx)(C, {}));
923
- (0, _globals.expect)(changeTimes).toBe(0);
924
- _react.fireEvent.click(_react.screen.getByText(buttonText));
925
- (0, _globals.expect)(onChangeA).toHaveReturnedWith(2);
926
- (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
927
- (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
928
- });
929
- (0, _globals.test)('`options.watch` should work with array field path of array', function () {
930
- var onExtChange = _globals.jest.fn();
931
- var onSizeChange = _globals.jest.fn();
932
- var _renderHook19 = (0, _react.renderHook)(function () {
933
- return (0, _.useUseCase)({}, fieldPathUseCase, {
934
- watch: {
935
- 'list.ext': onExtChange,
936
- 'list.size': onSizeChange
937
- }
938
- });
939
- }),
940
- result = _renderHook19.result;
941
- var cores = result.current;
942
- var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
943
- setEntity = _cores14[1].setEntity;
944
- (0, _react.act)(function () {
945
- setEntity({
946
- list: [defaultFile]
947
- });
948
- });
949
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(1);
950
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
951
- (0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
952
- fieldPaths: ['list', '0', 'ext'],
953
- newEntity: {
954
- list: [defaultFile]
955
- },
956
- oldEntity: {},
957
- newValue: '',
958
- oldValue: void 0
959
- });
960
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
961
- fieldPaths: ['list', '0', 'size'],
962
- newEntity: {
963
- list: [defaultFile]
964
- },
965
- oldEntity: {},
966
- newValue: 0,
967
- oldValue: void 0
968
- });
969
- (0, _react.act)(function () {
970
- setEntity({
971
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
972
- ext: EXT_1
973
- })]
974
- });
975
- });
976
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(2);
977
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(1);
978
- (0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
979
- fieldPaths: ['list', '0', 'ext'],
980
- newEntity: {
981
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
982
- ext: EXT_1
983
- })]
984
- },
985
- oldEntity: {
986
- list: [defaultFile]
987
- },
988
- newValue: EXT_1,
989
- oldValue: ''
990
- });
991
- (0, _react.act)(function () {
992
- setEntity({
993
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
994
- ext: EXT_1
995
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
996
- ext: EXT_2
997
- })]
998
- });
999
- });
1000
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(3);
1001
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(2);
1002
- (0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
1003
- fieldPaths: ['list', '1', 'ext'],
1004
- newEntity: {
1005
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1006
- ext: EXT_1
1007
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1008
- ext: EXT_2
1009
- })]
1010
- },
1011
- oldEntity: {
1012
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1013
- ext: EXT_1
1014
- })]
1015
- },
1016
- newValue: EXT_2,
1017
- oldValue: void 0
1018
- });
1019
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
1020
- fieldPaths: ['list', '1', 'size'],
1021
- newEntity: {
1022
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1023
- ext: EXT_1
1024
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1025
- ext: EXT_2
1026
- })]
1027
- },
1028
- oldEntity: {
1029
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1030
- ext: EXT_1
1031
- })]
1032
- },
1033
- newValue: 0,
1034
- oldValue: void 0
1035
- });
1036
- (0, _react.act)(function () {
1037
- setEntity({
1038
- nestedList: []
1039
- });
1040
- });
1041
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(3);
1042
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(2);
1043
- (0, _react.act)(function () {
1044
- setEntity(function () {
1045
- return {
1046
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1047
- ext: EXT_2
1048
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1049
- ext: EXT_1
1050
- }), defaultFile]
1051
- };
1052
- });
1053
- });
1054
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(6);
1055
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(3);
1056
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(4, {
1057
- fieldPaths: ['list', '0', 'ext'],
1058
- newEntity: {
1059
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1060
- ext: EXT_2
1061
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1062
- ext: EXT_1
1063
- }), defaultFile]
1064
- },
1065
- oldEntity: {
1066
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1067
- ext: EXT_1
1068
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1069
- ext: EXT_2
1070
- })],
1071
- nestedList: []
1072
- },
1073
- newValue: EXT_2,
1074
- oldValue: EXT_1
1075
- });
1076
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(5, {
1077
- fieldPaths: ['list', '1', 'ext'],
1078
- newEntity: {
1079
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1080
- ext: EXT_2
1081
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1082
- ext: EXT_1
1083
- }), defaultFile]
1084
- },
1085
- oldEntity: {
1086
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1087
- ext: EXT_1
1088
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1089
- ext: EXT_2
1090
- })],
1091
- nestedList: []
1092
- },
1093
- newValue: EXT_1,
1094
- oldValue: EXT_2
1095
- });
1096
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(6, {
1097
- fieldPaths: ['list', '2', 'ext'],
1098
- newEntity: {
1099
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1100
- ext: EXT_2
1101
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1102
- ext: EXT_1
1103
- }), defaultFile]
1104
- },
1105
- oldEntity: {
1106
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1107
- ext: EXT_1
1108
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1109
- ext: EXT_2
1110
- })],
1111
- nestedList: []
1112
- },
1113
- newValue: '',
1114
- oldValue: void 0
1115
- });
1116
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledWith({
1117
- fieldPaths: ['list', '2', 'size'],
1118
- newEntity: {
1119
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1120
- ext: EXT_2
1121
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1122
- ext: EXT_1
1123
- }), defaultFile]
1124
- },
1125
- oldEntity: {
1126
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1127
- ext: EXT_1
1128
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1129
- ext: EXT_2
1130
- })],
1131
- nestedList: []
1132
- },
1133
- newValue: 0,
1134
- oldValue: void 0
1135
- });
1136
- (0, _react.act)(function () {
1137
- setEntity(function () {
1138
- return {};
1139
- });
1140
- });
1141
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(9);
1142
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(6);
1143
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(7, {
1144
- fieldPaths: ['list', '0', 'ext'],
1145
- newEntity: {},
1146
- oldEntity: {
1147
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1148
- ext: EXT_2
1149
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1150
- ext: EXT_1
1151
- }), defaultFile]
1152
- },
1153
- newValue: void 0,
1154
- oldValue: EXT_2
1155
- });
1156
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(8, {
1157
- fieldPaths: ['list', '1', 'ext'],
1158
- newEntity: {},
1159
- oldEntity: {
1160
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1161
- ext: EXT_2
1162
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1163
- ext: EXT_1
1164
- }), defaultFile]
1165
- },
1166
- newValue: void 0,
1167
- oldValue: EXT_1
1168
- });
1169
- (0, _globals.expect)(onExtChange).toHaveBeenNthCalledWith(9, {
1170
- fieldPaths: ['list', '2', 'ext'],
1171
- newEntity: {},
1172
- oldEntity: {
1173
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1174
- ext: EXT_2
1175
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1176
- ext: EXT_1
1177
- }), defaultFile]
1178
- },
1179
- newValue: void 0,
1180
- oldValue: ''
1181
- });
1182
- (0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(4, {
1183
- fieldPaths: ['list', '0', 'size'],
1184
- newEntity: {},
1185
- oldEntity: {
1186
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1187
- ext: EXT_2
1188
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1189
- ext: EXT_1
1190
- }), defaultFile]
1191
- },
1192
- newValue: void 0,
1193
- oldValue: 0
1194
- });
1195
- (0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(5, {
1196
- fieldPaths: ['list', '1', 'size'],
1197
- newEntity: {},
1198
- oldEntity: {
1199
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1200
- ext: EXT_2
1201
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1202
- ext: EXT_1
1203
- }), defaultFile]
1204
- },
1205
- newValue: void 0,
1206
- oldValue: 0
1207
- });
1208
- (0, _globals.expect)(onSizeChange).toHaveBeenNthCalledWith(6, {
1209
- fieldPaths: ['list', '2', 'size'],
1210
- newEntity: {},
1211
- oldEntity: {
1212
- list: [_objectSpread(_objectSpread({}, defaultFile), {}, {
1213
- ext: EXT_2
1214
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1215
- ext: EXT_1
1216
- }), defaultFile]
1217
- },
1218
- newValue: void 0,
1219
- oldValue: 0
1220
- });
1221
- });
1222
- (0, _globals.test)('`options.watch` should work with field path of array length', function () {
1223
- var onEntityLengthChange = _globals.jest.fn();
1224
- var onListLengthChange = _globals.jest.fn();
1225
- var lengthUseCase = function lengthUseCase() {
1226
- return (0, _usecases.entityUseCase)();
1227
- };
1228
- var _renderHook20 = (0, _react.renderHook)(function () {
1229
- return (0, _.useUseCase)([], lengthUseCase, {
1230
- watch: {
1231
- length: onEntityLengthChange,
1232
- 'list.length': onListLengthChange
1233
- }
1234
- });
1235
- }),
1236
- result = _renderHook20.result;
1237
- var cores = result.current;
1238
- var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
1239
- setEntity = _cores15[1].setEntity;
1240
- (0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(0);
1241
- (0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(0);
1242
- (0, _react.act)(function () {
1243
- setEntity([{
1244
- list: [defaultFile, defaultFile]
1245
- }]);
1246
- });
1247
- (0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(1);
1248
- (0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(1);
1249
- (0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledWith({
1250
- fieldPaths: ['length'],
1251
- newEntity: [{
1252
- list: [defaultFile, defaultFile]
1253
- }],
1254
- oldEntity: [],
1255
- newValue: 1,
1256
- oldValue: 0
1257
- });
1258
- (0, _globals.expect)(onListLengthChange).toHaveBeenCalledWith({
1259
- fieldPaths: ['0', 'list', 'length'],
1260
- newEntity: [{
1261
- list: [defaultFile, defaultFile]
1262
- }],
1263
- oldEntity: [],
1264
- newValue: 2,
1265
- oldValue: void 0
1266
- });
1267
- });
1268
- (0, _globals.test)('`options.watch` should work with field path of nested array', function () {
1269
- var onChange = _globals.jest.fn();
1270
- var _renderHook21 = (0, _react.renderHook)(function () {
1271
- return (0, _.useUseCase)({}, fieldPathUseCase, {
1272
- watch: {
1273
- 'nestedList.size': onChange
1274
- }
1275
- });
1276
- }),
1277
- result = _renderHook21.result;
1278
- var cores = result.current;
1279
- var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
1280
- setEntity = _cores16[1].setEntity;
1281
- (0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
1282
- (0, _react.act)(function () {
1283
- setEntity({
1284
- nestedList: [[[defaultFile]]]
1285
- });
1286
- });
1287
- (0, _globals.expect)(onChange).toHaveBeenCalledTimes(1);
1288
- (0, _globals.expect)(onChange).toHaveBeenCalledWith({
1289
- fieldPaths: ['nestedList', '0', '0', '0', 'size'],
1290
- newEntity: {
1291
- nestedList: [[[defaultFile]]]
1292
- },
1293
- oldEntity: {},
1294
- newValue: 0,
1295
- oldValue: void 0
1296
- });
1297
- (0, _react.act)(function () {
1298
- setEntity({
1299
- nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
1300
- size: 100
1301
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1302
- size: 200
1303
- })]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
1304
- size: 300
1305
- })]]]
1306
- });
1307
- });
1308
- (0, _globals.expect)(onChange).toHaveBeenCalledTimes(4);
1309
- (0, _globals.expect)(onChange).toHaveBeenNthCalledWith(2, {
1310
- fieldPaths: ['nestedList', '0', '0', '0', 'size'],
1311
- newEntity: {
1312
- nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
1313
- size: 100
1314
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1315
- size: 200
1316
- })]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
1317
- size: 300
1318
- })]]]
1319
- },
1320
- oldEntity: {
1321
- nestedList: [[[defaultFile]]]
1322
- },
1323
- newValue: 100,
1324
- oldValue: 0
1325
- });
1326
- (0, _globals.expect)(onChange).toHaveBeenNthCalledWith(3, {
1327
- fieldPaths: ['nestedList', '0', '0', '1', 'size'],
1328
- newEntity: {
1329
- nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
1330
- size: 100
1331
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1332
- size: 200
1333
- })]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
1334
- size: 300
1335
- })]]]
1336
- },
1337
- oldEntity: {
1338
- nestedList: [[[defaultFile]]]
1339
- },
1340
- newValue: 200,
1341
- oldValue: void 0
1342
- });
1343
- (0, _globals.expect)(onChange).toHaveBeenNthCalledWith(4, {
1344
- fieldPaths: ['nestedList', '1', '0', '0', 'size'],
1345
- newEntity: {
1346
- nestedList: [[[_objectSpread(_objectSpread({}, defaultFile), {}, {
1347
- size: 100
1348
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
1349
- size: 200
1350
- })]], [[_objectSpread(_objectSpread({}, defaultFile), {}, {
1351
- size: 300
1352
- })]]]
1353
- },
1354
- oldEntity: {
1355
- nestedList: [[[defaultFile]]]
1356
- },
1357
- newValue: 300,
1358
- oldValue: void 0
1359
- });
1360
- });
1361
- (0, _globals.test)('`options.watch` should work with field path of object', function () {
1362
- var onExtChange = _globals.jest.fn();
1363
- var onSizeChange = _globals.jest.fn();
1364
- var _renderHook22 = (0, _react.renderHook)(function () {
1365
- return (0, _.useUseCase)({}, fieldPathUseCase, {
1366
- watch: {
1367
- 'obj.file.ext': onExtChange,
1368
- 'obj.file.size': onSizeChange
1369
- }
755
+ (0, _globals.test)("should call latest functions of usecase options even deps has not change", function () {
756
+ var onPathChange1 = _globals.jest.fn();
757
+ var onPathChange2 = _globals.jest.fn();
758
+ var onPathChange = onPathChange1;
759
+ var _renderHook18 = (0, _react.renderHook)(function () {
760
+ return (0, _.useUseCase)(defaultFile, fileUseCase, {
761
+ onPathChange: onPathChange
1370
762
  });
1371
763
  }),
1372
- result = _renderHook22.result;
1373
- var cores = result.current;
1374
- var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
1375
- setEntity = _cores17[1].setEntity;
1376
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(0);
764
+ result = _renderHook18.result;
765
+ var context = result.current;
766
+ var _context6 = (0, _slicedToArray2["default"])(context, 2),
767
+ setPath = _context6[1].setPath;
1377
768
  (0, _react.act)(function () {
1378
- setEntity({
1379
- obj: {
1380
- file: {
1381
- ext: EXT_1
1382
- }
1383
- }
1384
- });
1385
- });
1386
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(1);
1387
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
1388
- (0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
1389
- fieldPaths: ['obj', 'file', 'ext'],
1390
- newEntity: {
1391
- obj: {
1392
- file: {
1393
- ext: EXT_1
1394
- }
1395
- }
1396
- },
1397
- oldEntity: {},
1398
- newValue: EXT_1,
1399
- oldValue: void 0
769
+ setPath(PATH_1);
770
+ onPathChange = onPathChange2;
1400
771
  });
772
+ (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
773
+ (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(0);
774
+ (0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith(PATH_1, '');
1401
775
  (0, _react.act)(function () {
1402
- setEntity(function () {
1403
- return {};
1404
- });
1405
- });
1406
- (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(2);
1407
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
1408
- (0, _globals.expect)(onExtChange).toHaveBeenCalledWith({
1409
- fieldPaths: ['obj', 'file', 'ext'],
1410
- newEntity: {},
1411
- oldEntity: {
1412
- obj: {
1413
- file: {
1414
- ext: EXT_1
1415
- }
1416
- }
1417
- },
1418
- newValue: void 0,
1419
- oldValue: EXT_1
776
+ setPath(PATH_2);
1420
777
  });
778
+ (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
779
+ (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
780
+ (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith(PATH_2, PATH_1);
1421
781
  });
1422
782
  (0, _globals.test)('multiple `Provider` should work', function () {
1423
783
  var onNumberMount = _globals.jest.fn();
@@ -1433,15 +793,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1433
793
  return (0, _usecases.objectUseCase)();
1434
794
  };
1435
795
  var TestChildComponent = function TestChildComponent() {
1436
- var _useUseCase16 = (0, _.useUseCase)(numberUseCase),
796
+ var _useUseCase12 = (0, _.useUseCase)(numberUseCase),
797
+ _useUseCase13 = (0, _slicedToArray2["default"])(_useUseCase12, 1),
798
+ numberValue = _useUseCase13[0];
799
+ var _useUseCase14 = (0, _.useUseCase)(stringUseCase),
800
+ _useUseCase15 = (0, _slicedToArray2["default"])(_useUseCase14, 1),
801
+ stringValue = _useUseCase15[0];
802
+ var _useUseCase16 = (0, _.useUseCase)(booleanUseCase),
1437
803
  _useUseCase17 = (0, _slicedToArray2["default"])(_useUseCase16, 1),
1438
- numberValue = _useUseCase17[0];
1439
- var _useUseCase18 = (0, _.useUseCase)(stringUseCase),
1440
- _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 1),
1441
- stringValue = _useUseCase19[0];
1442
- var _useUseCase20 = (0, _.useUseCase)(booleanUseCase),
1443
- _useUseCase21 = (0, _slicedToArray2["default"])(_useUseCase20, 1),
1444
- booleanValue = _useUseCase21[0];
804
+ booleanValue = _useUseCase17[0];
1445
805
  (0, _ahooks.useMount)(function () {
1446
806
  onNumberMount(numberValue);
1447
807
  onStringMount(stringValue);
@@ -1450,15 +810,15 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1450
810
  return null;
1451
811
  };
1452
812
  var TestParentComponent = function TestParentComponent() {
1453
- var _useUseCase22 = (0, _.useUseCase)(11, numberUseCase),
813
+ var _useUseCase18 = (0, _.useUseCase)(11, numberUseCase),
814
+ _useUseCase19 = (0, _slicedToArray2["default"])(_useUseCase18, 3),
815
+ NumberProvider = _useUseCase19[2];
816
+ var _useUseCase20 = (0, _.useUseCase)('hello', stringUseCase),
817
+ _useUseCase21 = (0, _slicedToArray2["default"])(_useUseCase20, 3),
818
+ StringProvider = _useUseCase21[2];
819
+ var _useUseCase22 = (0, _.useUseCase)(true, booleanUseCase),
1454
820
  _useUseCase23 = (0, _slicedToArray2["default"])(_useUseCase22, 3),
1455
- NumberProvider = _useUseCase23[2];
1456
- var _useUseCase24 = (0, _.useUseCase)('hello', stringUseCase),
1457
- _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 3),
1458
- StringProvider = _useUseCase25[2];
1459
- var _useUseCase26 = (0, _.useUseCase)(true, booleanUseCase),
1460
- _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 3),
1461
- BooleanProvider = _useUseCase27[2];
821
+ BooleanProvider = _useUseCase23[2];
1462
822
  return (0, _jsxRuntime.jsx)(NumberProvider, {
1463
823
  "with": [StringProvider, BooleanProvider],
1464
824
  children: (0, _jsxRuntime.jsx)(TestChildComponent, {})
@@ -1471,29 +831,29 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1471
831
  });
1472
832
  });
1473
833
  (0, _globals.describe)('`useUseCase` should work the same as `ModeCoreCollectionHook`', function () {
1474
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('check context type', function (mode) {
1475
- var _renderHook23 = (0, _react.renderHook)(function () {
834
+ _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: check context type', function (mode) {
835
+ var _renderHook19 = (0, _react.renderHook)(function () {
1476
836
  return (0, _.useUseCase)(defaultFile, fileUseCase, mode);
1477
837
  }),
1478
- result = _renderHook23.result;
838
+ result = _renderHook19.result;
1479
839
  var cores = result.current;
1480
840
  (0, _globals.expect)(Array.isArray(cores)).toBe(true);
1481
841
  (0, _globals.expect)(cores).toHaveLength(3);
1482
842
  });
1483
843
  (0, _globals.test)('stateless mode should not generate new reducers when `yeild entity`', function () {
1484
844
  var onUpdate = _globals.jest.fn();
1485
- var _renderHook24 = (0, _react.renderHook)(function () {
845
+ var _renderHook20 = (0, _react.renderHook)(function () {
1486
846
  var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1487
847
  (0, _ahooks.useUpdateEffect)(function () {
1488
848
  onUpdate();
1489
849
  });
1490
850
  return (0, _.useUseCase)(file, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1491
851
  }),
1492
- result = _renderHook24.result,
1493
- rerender = _renderHook24.rerender;
852
+ result = _renderHook20.result,
853
+ rerender = _renderHook20.rerender;
1494
854
  var cores = result.current;
1495
- var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
1496
- setPath = _cores18[1].setPath;
855
+ var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
856
+ setPath = _cores13[1].setPath;
1497
857
  setPath(PATH_1);
1498
858
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1499
859
  (0, _globals.expect)(result.current[0].path).toBe('');
@@ -1506,16 +866,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1506
866
  });
1507
867
  (0, _globals.test)('stateless mode should not trigger update when after `yield entity`', function () {
1508
868
  var onUpdate = _globals.jest.fn();
1509
- var _renderHook25 = (0, _react.renderHook)(function () {
869
+ var _renderHook21 = (0, _react.renderHook)(function () {
1510
870
  (0, _ahooks.useUpdateEffect)(function () {
1511
871
  onUpdate();
1512
872
  });
1513
873
  return (0, _.useUseCase)(defaultFile, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1514
874
  }),
1515
- result = _renderHook25.result;
875
+ result = _renderHook21.result;
1516
876
  var cores = result.current;
1517
- var _cores19 = (0, _slicedToArray2["default"])(cores, 2),
1518
- reducers = _cores19[1];
877
+ var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
878
+ reducers = _cores14[1];
1519
879
  var setPath = reducers.setPath;
1520
880
  (0, _react.act)(function () {
1521
881
  setPath(PATH_1);
@@ -1590,9 +950,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1590
950
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1591
951
  };
1592
952
  var B = function B() {
1593
- var _useUseCase28 = (0, _.useUseCase)(defaultFile, mockUseCase),
1594
- _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
1595
- Provider = _useUseCase29[2];
953
+ var _useUseCase24 = (0, _.useUseCase)(defaultFile, mockUseCase),
954
+ _useUseCase25 = (0, _slicedToArray2["default"])(_useUseCase24, 3),
955
+ Provider = _useUseCase25[2];
1596
956
  return (0, _jsxRuntime.jsx)(Provider, {
1597
957
  children: (0, _jsxRuntime.jsx)(A, {})
1598
958
  });
@@ -1612,9 +972,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1612
972
  });
1613
973
  };
1614
974
  var A = function A() {
1615
- var _useUseCase30 = (0, _.useUseCase)(stringUseCase),
1616
- _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 2),
1617
- add = _useUseCase31[1].add;
975
+ var _useUseCase26 = (0, _.useUseCase)(stringUseCase),
976
+ _useUseCase27 = (0, _slicedToArray2["default"])(_useUseCase26, 2),
977
+ add = _useUseCase27[1].add;
1618
978
  var update = (0, _ahooks.useUpdate)();
1619
979
  var onClick = function onClick() {
1620
980
  update();
@@ -1626,9 +986,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1626
986
  });
1627
987
  };
1628
988
  var B = function B() {
1629
- var _useUseCase32 = (0, _.useUseCase)('', stringUseCase),
1630
- _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
1631
- Provider = _useUseCase33[2];
989
+ var _useUseCase28 = (0, _.useUseCase)('', stringUseCase),
990
+ _useUseCase29 = (0, _slicedToArray2["default"])(_useUseCase28, 3),
991
+ Provider = _useUseCase29[2];
1632
992
  return (0, _jsxRuntime.jsx)(Provider, {
1633
993
  children: (0, _jsxRuntime.jsx)(A, {})
1634
994
  });
@@ -1652,9 +1012,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1652
1012
  });
1653
1013
  };
1654
1014
  var A = function A() {
1655
- var _useUseCase34 = (0, _.useUseCase)(stringUseCase),
1656
- _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 2),
1657
- add = _useUseCase35[1].add;
1015
+ var _useUseCase30 = (0, _.useUseCase)(stringUseCase),
1016
+ _useUseCase31 = (0, _slicedToArray2["default"])(_useUseCase30, 2),
1017
+ add = _useUseCase31[1].add;
1658
1018
  var onClick = function onClick() {
1659
1019
  add('x');
1660
1020
  };
@@ -1668,9 +1028,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1668
1028
  });
1669
1029
  };
1670
1030
  var B = function B() {
1671
- var _useUseCase36 = (0, _.useUseCase)('', stringUseCase),
1672
- _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
1673
- Provider = _useUseCase37[2];
1031
+ var _useUseCase32 = (0, _.useUseCase)('', stringUseCase),
1032
+ _useUseCase33 = (0, _slicedToArray2["default"])(_useUseCase32, 3),
1033
+ Provider = _useUseCase33[2];
1674
1034
  return (0, _jsxRuntime.jsx)(Provider, {
1675
1035
  children: (0, _jsxRuntime.jsx)(A, {})
1676
1036
  });
@@ -1698,11 +1058,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1698
1058
  });
1699
1059
  };
1700
1060
  var A = function A() {
1701
- var _useUseCase38 = (0, _.useUseCase)(stringUseCase),
1702
- _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 2),
1703
- _useUseCase39$ = _useUseCase39[1],
1704
- add = _useUseCase39$.add,
1705
- setEntity = _useUseCase39$.setEntity;
1061
+ var _useUseCase34 = (0, _.useUseCase)(stringUseCase),
1062
+ _useUseCase35 = (0, _slicedToArray2["default"])(_useUseCase34, 2),
1063
+ _useUseCase35$ = _useUseCase35[1],
1064
+ add = _useUseCase35$.add,
1065
+ setEntity = _useUseCase35$.setEntity;
1706
1066
  var update = (0, _ahooks.useUpdate)();
1707
1067
  add(addedText);
1708
1068
  var onSet = function onSet() {
@@ -1722,9 +1082,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1722
1082
  });
1723
1083
  };
1724
1084
  var B = function B() {
1725
- var _useUseCase40 = (0, _.useUseCase)('', stringUseCase),
1726
- _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
1727
- Provider = _useUseCase41[2];
1085
+ var _useUseCase36 = (0, _.useUseCase)('', stringUseCase),
1086
+ _useUseCase37 = (0, _slicedToArray2["default"])(_useUseCase36, 3),
1087
+ Provider = _useUseCase37[2];
1728
1088
  return (0, _jsxRuntime.jsx)(Provider, {
1729
1089
  children: (0, _jsxRuntime.jsx)(A, {})
1730
1090
  });
@@ -1744,62 +1104,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1744
1104
  _react.fireEvent.click(_react.screen.getByText(updateButtonText));
1745
1105
  (0, _globals.expect)(addReducer).toHaveBeenCalledTimes(3);
1746
1106
  });
1747
- (0, _globals.test)('`options.onChange` event should be trigger at child elements', function () {
1748
- var onFirstChange = _globals.jest.fn();
1749
- var onSecondChange = _globals.jest.fn();
1750
- var onParentPathChange = _globals.jest.fn();
1751
- var firstButtonText = 'first button';
1752
- var secondButtonText = 'second button';
1753
- var onChange = onFirstChange;
1754
- var A = function A() {
1755
- (0, _.useUseCase)(fileUseCase, {
1756
- onChange: onChange
1757
- });
1758
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1759
- };
1760
- var B = function B() {
1761
- var _useUseCase42 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1762
- onChange: onParentPathChange
1763
- }),
1764
- _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
1765
- setPath = _useUseCase43[1].setPath,
1766
- Provider = _useUseCase43[2];
1767
- var onFirstClick = function onFirstClick() {
1768
- setPath(PATH_1);
1769
- onChange = onSecondChange;
1770
- };
1771
- var onSecondClick = function onSecondClick() {
1772
- setPath('');
1773
- };
1774
- return (0, _jsxRuntime.jsxs)(Provider, {
1775
- children: [(0, _jsxRuntime.jsx)(A, {}), (0, _jsxRuntime.jsx)("button", {
1776
- onClick: onFirstClick,
1777
- children: firstButtonText
1778
- }), (0, _jsxRuntime.jsx)("button", {
1779
- onClick: onSecondClick,
1780
- children: secondButtonText
1781
- })]
1782
- });
1783
- };
1784
- (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1785
- (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(0);
1786
- _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1787
- (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1788
- (0, _globals.expect)(onFirstChange).toHaveBeenLastCalledWith(_objectSpread(_objectSpread({}, defaultFile), {}, {
1789
- ext: EXT_1,
1790
- path: PATH_1
1791
- }), defaultFile);
1792
- (0, _globals.expect)(onParentPathChange).toHaveBeenCalledTimes(1);
1793
- (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(0);
1794
- _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1795
- (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(1);
1796
- (0, _globals.expect)(onSecondChange).toHaveBeenLastCalledWith(defaultFile, _objectSpread(_objectSpread({}, defaultFile), {}, {
1797
- ext: EXT_1,
1798
- path: PATH_1
1799
- }));
1800
- (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1801
- (0, _globals.expect)(onParentPathChange).toHaveBeenCalledTimes(2);
1802
- });
1803
1107
  (0, _globals.test)('`options.onChange` event should be trigger in orders', function () {
1804
1108
  var changeTimes = 0;
1805
1109
  var updateChangeTimes = function updateChangeTimes() {
@@ -1809,8 +1113,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1809
1113
  var onChangeB = _globals.jest.fn(updateChangeTimes);
1810
1114
  var onChangeC = _globals.jest.fn(updateChangeTimes);
1811
1115
  var buttonText = 'my button';
1812
- var A = function A(_ref8) {
1813
- var children = _ref8.children;
1116
+ var A = function A(_ref7) {
1117
+ var children = _ref7.children;
1814
1118
  (0, _.useUseCase)(fileUseCase, {
1815
1119
  onChange: onChangeA
1816
1120
  });
@@ -1825,12 +1129,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1825
1129
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1826
1130
  };
1827
1131
  var C = function C() {
1828
- var _useUseCase44 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1132
+ var _useUseCase38 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1829
1133
  onChange: onChangeC
1830
1134
  }),
1831
- _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
1832
- setPath = _useUseCase45[1].setPath,
1833
- Provider = _useUseCase45[2];
1135
+ _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 3),
1136
+ setPath = _useUseCase39[1].setPath,
1137
+ Provider = _useUseCase39[2];
1834
1138
  var onFirstClick = function onFirstClick() {
1835
1139
  setPath(PATH_1);
1836
1140
  };
@@ -1850,41 +1154,103 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1850
1154
  (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
1851
1155
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
1852
1156
  });
1157
+ _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.onChange` should always trigger the latest one in child components', function (mode) {
1158
+ var onFirstChange = _globals.jest.fn();
1159
+ var onSecondChange = _globals.jest.fn();
1160
+ var onChange = onFirstChange;
1161
+ var firstButtonText = 'first button';
1162
+ var secondButtonText = 'second button';
1163
+ var A = function A() {
1164
+ var _useUseCase40 = (0, _.useUseCase)(fileUseCase, {
1165
+ onChange: onChange
1166
+ }),
1167
+ _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 2),
1168
+ setPath = _useUseCase41[1].setPath;
1169
+ var onFirstClick = function onFirstClick() {
1170
+ setPath(PATH_1);
1171
+ onChange = onSecondChange;
1172
+ };
1173
+ var onSecondClick = function onSecondClick() {
1174
+ setPath('');
1175
+ };
1176
+ return (0, _jsxRuntime.jsxs)(_react2.Fragment, {
1177
+ children: [(0, _jsxRuntime.jsx)("button", {
1178
+ onClick: onFirstClick,
1179
+ children: firstButtonText
1180
+ }), (0, _jsxRuntime.jsx)("button", {
1181
+ onClick: onSecondClick,
1182
+ children: secondButtonText
1183
+ })]
1184
+ });
1185
+ };
1186
+ var B = function B() {
1187
+ var _useState7 = (0, _react2.useState)(defaultFile),
1188
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
1189
+ file = _useState8[0],
1190
+ setFile = _useState8[1];
1191
+ var _useUseCase42 = (0, _.useUseCase)(file, fileUseCase, mode, {
1192
+ onChange: function onChange(newFile) {
1193
+ if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1194
+ return;
1195
+ }
1196
+ // `stateless` 不会保存状态,所以需要手动保存
1197
+ setFile(newFile);
1198
+ }
1199
+ }),
1200
+ _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
1201
+ Provider = _useUseCase43[2];
1202
+ return (0, _jsxRuntime.jsx)(Provider, {
1203
+ children: (0, _jsxRuntime.jsx)(A, {})
1204
+ });
1205
+ };
1206
+ (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1207
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(0);
1208
+ _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1209
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1210
+ (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(0);
1211
+ _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1212
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1213
+ (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(1);
1214
+ (0, _globals.expect)(onSecondChange).toHaveBeenLastCalledWith(defaultFile, _objectSpread(_objectSpread({}, defaultFile), {}, {
1215
+ ext: EXT_1,
1216
+ path: PATH_1
1217
+ }));
1218
+ });
1853
1219
  });
1854
1220
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
1855
1221
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
1856
- var _renderHook26 = (0, _react.renderHook)(function () {
1222
+ var _renderHook22 = (0, _react.renderHook)(function () {
1857
1223
  return (0, _.useUseCase)(mathUseCase);
1858
1224
  }),
1859
- result = _renderHook26.result;
1225
+ result = _renderHook22.result;
1860
1226
  var reducers = result.current;
1861
1227
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
1862
1228
  });
1863
1229
  (0, _globals.test)('returned reducer should work', function () {
1864
- var _renderHook27 = (0, _react.renderHook)(function () {
1230
+ var _renderHook23 = (0, _react.renderHook)(function () {
1865
1231
  return (0, _.useUseCase)(mathUseCase);
1866
1232
  }),
1867
- result = _renderHook27.result;
1233
+ result = _renderHook23.result;
1868
1234
  var reducers = result.current;
1869
1235
  var add = reducers.add;
1870
1236
  (0, _globals.expect)(add(1, 2)).toBe(3);
1871
1237
  });
1872
1238
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
1873
1239
  var mockUseCase = _globals.jest.fn(mathUseCase);
1874
- var _renderHook28 = (0, _react.renderHook)(function () {
1240
+ var _renderHook24 = (0, _react.renderHook)(function () {
1875
1241
  return (0, _.useUseCase)(mockUseCase);
1876
1242
  }),
1877
- rerender = _renderHook28.rerender;
1243
+ rerender = _renderHook24.rerender;
1878
1244
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1879
1245
  rerender();
1880
1246
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1881
1247
  });
1882
1248
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
1883
1249
  var mockUseCase = _globals.jest.fn(mathUseCase);
1884
- var _renderHook29 = (0, _react.renderHook)(function () {
1250
+ var _renderHook25 = (0, _react.renderHook)(function () {
1885
1251
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
1886
1252
  }),
1887
- rerender = _renderHook29.rerender;
1253
+ rerender = _renderHook25.rerender;
1888
1254
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1889
1255
  rerender();
1890
1256
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -1892,10 +1258,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1892
1258
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
1893
1259
  var i = 0;
1894
1260
  var mockUseCase = _globals.jest.fn(mathUseCase);
1895
- var _renderHook30 = (0, _react.renderHook)(function () {
1261
+ var _renderHook26 = (0, _react.renderHook)(function () {
1896
1262
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
1897
1263
  }),
1898
- rerender = _renderHook30.rerender;
1264
+ rerender = _renderHook26.rerender;
1899
1265
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
1900
1266
  rerender();
1901
1267
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -1903,8 +1269,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1903
1269
  (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
1904
1270
  var buttonText = 'button';
1905
1271
  var CacheTestComponent = function CacheTestComponent() {
1906
- var _useUseCase46 = (0, _.useUseCase)(mathUseCase),
1907
- subtraction = _useUseCase46.subtraction;
1272
+ var _useUseCase44 = (0, _.useUseCase)(mathUseCase),
1273
+ subtraction = _useUseCase44.subtraction;
1908
1274
  var update = (0, _ahooks.useUpdate)();
1909
1275
  var onClick = function onClick() {
1910
1276
  update();
@@ -1927,8 +1293,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1927
1293
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
1928
1294
  var buttonText = 'button';
1929
1295
  var CacheTestComponent = function CacheTestComponent() {
1930
- var _useUseCase47 = (0, _.useUseCase)(mathUseCase),
1931
- subtraction = _useUseCase47.subtraction;
1296
+ var _useUseCase45 = (0, _.useUseCase)(mathUseCase),
1297
+ subtraction = _useUseCase45.subtraction;
1932
1298
  var onClick = function onClick() {
1933
1299
  subtraction(5, 3);
1934
1300
  };
@@ -1956,8 +1322,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1956
1322
  var count = 0;
1957
1323
  var buttonText = 'button';
1958
1324
  var StringUseCaseTestComponent = function StringUseCaseTestComponent() {
1959
- var _useUseCase48 = (0, _.useUseCase)(mathUseCase),
1960
- subtraction = _useUseCase48.subtraction;
1325
+ var _useUseCase46 = (0, _.useUseCase)(mathUseCase),
1326
+ subtraction = _useUseCase46.subtraction;
1961
1327
  var update = (0, _ahooks.useUpdate)();
1962
1328
  subtraction(5, count++);
1963
1329
  var onUpdate = function onUpdate() {
@@ -1979,12 +1345,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1979
1345
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
1980
1346
  });
1981
1347
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
1982
- var _renderHook31 = (0, _react.renderHook)(function () {
1348
+ var _renderHook27 = (0, _react.renderHook)(function () {
1983
1349
  return (0, _.useUseCase)(mathUseCase, {
1984
1350
  extraValue: 5
1985
1351
  });
1986
1352
  }),
1987
- result = _renderHook31.result;
1353
+ result = _renderHook27.result;
1988
1354
  var reducers = result.current;
1989
1355
  var add = reducers.add;
1990
1356
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -1992,11 +1358,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1992
1358
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
1993
1359
  var onUpdate = _globals.jest.fn();
1994
1360
  var onDeepUpdate = _globals.jest.fn();
1995
- var _renderHook32 = (0, _react.renderHook)(function () {
1996
- var _useState7 = (0, _react2.useState)(0),
1997
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
1998
- extraValue = _useState8[0],
1999
- setExtraValue = _useState8[1];
1361
+ var _renderHook28 = (0, _react.renderHook)(function () {
1362
+ var _useState9 = (0, _react2.useState)(0),
1363
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
1364
+ extraValue = _useState10[0],
1365
+ setExtraValue = _useState10[1];
2000
1366
  var reducers = (0, _.useUseCase)(mathUseCase, {
2001
1367
  extraValue: extraValue
2002
1368
  });
@@ -2008,7 +1374,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2008
1374
  }, [reducers]);
2009
1375
  return setExtraValue;
2010
1376
  }),
2011
- result = _renderHook32.result;
1377
+ result = _renderHook28.result;
2012
1378
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2013
1379
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2014
1380
  (0, _react.act)(function () {
@@ -2020,11 +1386,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2020
1386
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
2021
1387
  var onUpdate = _globals.jest.fn();
2022
1388
  var onDeepUpdate = _globals.jest.fn();
2023
- var _renderHook33 = (0, _react.renderHook)(function () {
2024
- var _useState9 = (0, _react2.useState)(0),
2025
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
2026
- extraValue = _useState10[0],
2027
- setExtraValue = _useState10[1];
1389
+ var _renderHook29 = (0, _react.renderHook)(function () {
1390
+ var _useState11 = (0, _react2.useState)(0),
1391
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
1392
+ extraValue = _useState12[0],
1393
+ setExtraValue = _useState12[1];
2028
1394
  var reducers = (0, _.useUseCase)(mathUseCase, {
2029
1395
  extraValue: extraValue
2030
1396
  }, [extraValue]);
@@ -2036,7 +1402,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2036
1402
  }, [reducers]);
2037
1403
  return setExtraValue;
2038
1404
  }),
2039
- result = _renderHook33.result;
1405
+ result = _renderHook29.result;
2040
1406
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2041
1407
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2042
1408
  (0, _react.act)(function () {
@@ -2048,11 +1414,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2048
1414
  (0, _globals.test)('empty `deps` should not update reducers', function () {
2049
1415
  var onUpdate = _globals.jest.fn();
2050
1416
  var onDeepUpdate = _globals.jest.fn();
2051
- var _renderHook34 = (0, _react.renderHook)(function () {
2052
- var _useState11 = (0, _react2.useState)(0),
2053
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2054
- extraValue = _useState12[0],
2055
- setExtraValue = _useState12[1];
1417
+ var _renderHook30 = (0, _react.renderHook)(function () {
1418
+ var _useState13 = (0, _react2.useState)(0),
1419
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
1420
+ extraValue = _useState14[0],
1421
+ setExtraValue = _useState14[1];
2056
1422
  var reducers = (0, _.useUseCase)(mathUseCase, {
2057
1423
  extraValue: extraValue
2058
1424
  }, []);
@@ -2064,7 +1430,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2064
1430
  }, [reducers]);
2065
1431
  return setExtraValue;
2066
1432
  }),
2067
- result = _renderHook34.result;
1433
+ result = _renderHook30.result;
2068
1434
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2069
1435
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2070
1436
  (0, _react.act)(function () {