@mic-rexjs/usecases-react 2.3.2 → 2.3.5

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.
@@ -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
  }
@@ -606,15 +612,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
606
612
  ext: EXT_1
607
613
  }), defaultFile);
608
614
  });
609
- (0, _globals.test)('`options.onChange` should be updated after `deps` changed', function () {
615
+ (0, _globals.test)('`options.onChange` should always trigger the latest one', function () {
610
616
  var onChange1 = _globals.jest.fn();
611
617
  var onChange2 = _globals.jest.fn();
612
618
  var onChange = onChange1;
613
- var deps = [1];
614
619
  var _renderHook13 = (0, _react.renderHook)(function () {
615
620
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
616
621
  onChange: onChange
617
- }, deps);
622
+ }, []);
618
623
  }),
619
624
  result = _renderHook13.result;
620
625
  var cores = result.current;
@@ -624,7 +629,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
624
629
  (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(0);
625
630
  (0, _react.act)(function () {
626
631
  setPath(PATH_1);
627
- deps = [2];
628
632
  onChange = onChange2;
629
633
  });
630
634
  (0, _globals.expect)(onChange2).toHaveBeenCalledTimes(0);
@@ -646,46 +650,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
646
650
  ext: EXT_1
647
651
  }));
648
652
  });
649
- (0, _globals.test)('`options.onChange` should not be updated if `deps` has not changed', function () {
650
- var onChange1 = _globals.jest.fn();
651
- var onChange2 = _globals.jest.fn();
652
- var onChange = onChange1;
653
- var _renderHook14 = (0, _react.renderHook)(function () {
654
- return (0, _.useUseCase)(defaultFile, fileUseCase, {
655
- onChange: onChange
656
- }, []);
657
- }),
658
- result = _renderHook14.result;
659
- var cores = result.current;
660
- var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
661
- reducers = _cores12[1];
662
- var setPath = reducers.setPath;
663
- (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(0);
664
- (0, _react.act)(function () {
665
- setPath(PATH_1);
666
- onChange = onChange2;
667
- });
668
- (0, _globals.expect)(onChange2).toHaveBeenCalledTimes(0);
669
- (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(1);
670
- (0, _globals.expect)(onChange1).toHaveBeenLastCalledWith(_objectSpread(_objectSpread({}, defaultFile), {}, {
671
- path: PATH_1,
672
- ext: EXT_1
673
- }), defaultFile);
674
- (0, _react.act)(function () {
675
- setPath(PATH_2);
676
- });
677
- (0, _globals.expect)(onChange2).toHaveBeenCalledTimes(0);
678
- (0, _globals.expect)(onChange1).toHaveBeenCalledTimes(2);
679
- (0, _globals.expect)(onChange1).toHaveBeenLastCalledWith(_objectSpread(_objectSpread({}, defaultFile), {}, {
680
- path: PATH_2,
681
- ext: EXT_2
682
- }), _objectSpread(_objectSpread({}, defaultFile), {}, {
683
- path: PATH_1,
684
- ext: EXT_1
685
- }));
686
- });
687
653
  (0, _globals.test)('`options.options` should override rest options', function () {
688
- var _renderHook15 = (0, _react.renderHook)(function () {
654
+ var _renderHook14 = (0, _react.renderHook)(function () {
689
655
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
690
656
  pathPrefix: 'xyz/',
691
657
  options: {
@@ -693,11 +659,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
693
659
  }
694
660
  });
695
661
  }),
696
- result = _renderHook15.result;
662
+ result = _renderHook14.result;
697
663
  var cores = result.current;
698
- var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
699
- path = _cores13[0].path,
700
- reducers = _cores13[1];
664
+ var _cores12 = (0, _slicedToArray2["default"])(cores, 2),
665
+ path = _cores12[0].path,
666
+ reducers = _cores12[1];
701
667
  var setPath = reducers.setPath;
702
668
  (0, _globals.expect)(path).toBe('');
703
669
  (0, _react.act)(function () {
@@ -708,7 +674,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
708
674
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
709
675
  var onUpdate = _globals.jest.fn();
710
676
  var onDeepUpdate = _globals.jest.fn();
711
- var _renderHook16 = (0, _react.renderHook)(function () {
677
+ var _renderHook15 = (0, _react.renderHook)(function () {
712
678
  var _useState = (0, _react2.useState)('user/'),
713
679
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
714
680
  pathPrefix = _useState2[0],
@@ -724,7 +690,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
724
690
  }, [context]);
725
691
  return setPathPrefix;
726
692
  }),
727
- result = _renderHook16.result;
693
+ result = _renderHook15.result;
728
694
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
729
695
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
730
696
  (0, _react.act)(function () {
@@ -733,42 +699,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
733
699
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
734
700
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
735
701
  });
736
- (0, _globals.test)('when `entity` change, it should trigger watchers', function () {
737
- var onPathChange = _globals.jest.fn();
738
- var onSizeChange = _globals.jest.fn();
739
- var _renderHook17 = (0, _react.renderHook)(function () {
740
- return (0, _.useUseCase)(defaultFile, fileUseCase, {
741
- watch: {
742
- path: onPathChange,
743
- size: onSizeChange
744
- }
745
- });
746
- }),
747
- result = _renderHook17.result;
748
- var cores = result.current;
749
- var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
750
- setPath = _cores14[1].setPath;
751
- (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
752
- (0, _react.act)(function () {
753
- setPath(PATH_1);
754
- });
755
- (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(1);
756
- (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
757
- (0, _globals.expect)(onPathChange).toHaveBeenLastCalledWith({
758
- fieldPaths: ['path'],
759
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
760
- path: PATH_1,
761
- ext: EXT_1
762
- }),
763
- oldEntity: defaultFile,
764
- newValue: PATH_1,
765
- oldValue: ''
766
- });
767
- });
768
702
  (0, _globals.test)('when `deps` has changed, it should trigger update', function () {
769
703
  var onUpdate = _globals.jest.fn();
770
704
  var onDeepUpdate = _globals.jest.fn();
771
- var _renderHook18 = (0, _react.renderHook)(function () {
705
+ var _renderHook16 = (0, _react.renderHook)(function () {
772
706
  var _useState3 = (0, _react2.useState)('user/'),
773
707
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
774
708
  pathPrefix = _useState4[0],
@@ -784,7 +718,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
784
718
  }, [context]);
785
719
  return setPathPrefix;
786
720
  }),
787
- result = _renderHook18.result;
721
+ result = _renderHook16.result;
788
722
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
789
723
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
790
724
  (0, _react.act)(function () {
@@ -796,7 +730,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
796
730
  (0, _globals.test)('empty `deps` should not trigger update', function () {
797
731
  var onUpdate = _globals.jest.fn();
798
732
  var onDeepUpdate = _globals.jest.fn();
799
- var _renderHook19 = (0, _react.renderHook)(function () {
733
+ var _renderHook17 = (0, _react.renderHook)(function () {
800
734
  var _useState5 = (0, _react2.useState)('user/'),
801
735
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
802
736
  pathPrefix = _useState6[0],
@@ -812,7 +746,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
812
746
  }, [context]);
813
747
  return setPathPrefix;
814
748
  }),
815
- result = _renderHook19.result;
749
+ result = _renderHook17.result;
816
750
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
817
751
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
818
752
  (0, _react.act)(function () {
@@ -821,35 +755,55 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
821
755
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
822
756
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
823
757
  });
824
- (0, _globals.test)('`options.watch` should be updated after `deps` changed', function () {
758
+ (0, _globals.test)("should call latest functions of usecase options even deps has not change", function () {
825
759
  var onPathChange1 = _globals.jest.fn();
826
760
  var onPathChange2 = _globals.jest.fn();
827
761
  var onPathChange = onPathChange1;
828
- var deps = [1];
829
- var _renderHook20 = (0, _react.renderHook)(function () {
762
+ var _renderHook18 = (0, _react.renderHook)(function () {
763
+ return (0, _.useUseCase)(defaultFile, fileUseCase, {
764
+ onPathChange: onPathChange
765
+ });
766
+ }),
767
+ result = _renderHook18.result;
768
+ var context = result.current;
769
+ var _context6 = (0, _slicedToArray2["default"])(context, 2),
770
+ setPath = _context6[1].setPath;
771
+ (0, _react.act)(function () {
772
+ setPath(PATH_1);
773
+ onPathChange = onPathChange2;
774
+ });
775
+ (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
776
+ (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(0);
777
+ (0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith(PATH_1, '');
778
+ (0, _react.act)(function () {
779
+ setPath(PATH_2);
780
+ });
781
+ (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
782
+ (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
783
+ (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith(PATH_2, PATH_1);
784
+ });
785
+ (0, _globals.test)('`options.watch` should be trigger after entity changed', function () {
786
+ var onPathChange = _globals.jest.fn();
787
+ var onSizeChange = _globals.jest.fn();
788
+ var _renderHook19 = (0, _react.renderHook)(function () {
830
789
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
831
790
  watch: {
832
- path: onPathChange
791
+ path: onPathChange,
792
+ size: onSizeChange
833
793
  }
834
- }, deps);
794
+ });
835
795
  }),
836
- result = _renderHook20.result;
796
+ result = _renderHook19.result;
837
797
  var cores = result.current;
838
- var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
839
- _cores15$ = _cores15[1],
840
- setPath = _cores15$.setPath,
841
- setEntity = _cores15$.setEntity;
842
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
798
+ var _cores13 = (0, _slicedToArray2["default"])(cores, 2),
799
+ setPath = _cores13[1].setPath;
800
+ (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(0);
843
801
  (0, _react.act)(function () {
844
802
  setPath(PATH_1);
845
- setEntity({
846
- size: 5000
847
- });
848
- deps = [2];
849
- onPathChange = onPathChange2;
850
803
  });
851
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
852
- (0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith({
804
+ (0, _globals.expect)(onPathChange).toHaveBeenCalledTimes(1);
805
+ (0, _globals.expect)(onSizeChange).toHaveBeenCalledTimes(0);
806
+ (0, _globals.expect)(onPathChange).toHaveBeenLastCalledWith({
853
807
  fieldPaths: ['path'],
854
808
  newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
855
809
  path: PATH_1,
@@ -859,42 +813,24 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
859
813
  newValue: PATH_1,
860
814
  oldValue: ''
861
815
  });
862
- (0, _react.act)(function () {
863
- setPath('');
864
- });
865
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
866
- (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
867
- (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith({
868
- fieldPaths: ['path'],
869
- newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
870
- size: 5000
871
- }),
872
- oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
873
- path: PATH_1,
874
- ext: EXT_1,
875
- size: 5000
876
- }),
877
- newValue: '',
878
- oldValue: PATH_1
879
- });
880
816
  });
881
- (0, _globals.test)('`options.watch` should not be updated if `deps` has not changed', function () {
817
+ (0, _globals.test)('`options.watch` should trigger the latest one', function () {
882
818
  var onPathChange1 = _globals.jest.fn();
883
819
  var onPathChange2 = _globals.jest.fn();
884
820
  var onPathChange = onPathChange1;
885
- var _renderHook21 = (0, _react.renderHook)(function () {
821
+ var _renderHook20 = (0, _react.renderHook)(function () {
886
822
  return (0, _.useUseCase)(defaultFile, fileUseCase, {
887
823
  watch: {
888
824
  path: onPathChange
889
825
  }
890
- }, []);
826
+ });
891
827
  }),
892
- result = _renderHook21.result;
828
+ result = _renderHook20.result;
893
829
  var cores = result.current;
894
- var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
895
- _cores16$ = _cores16[1],
896
- setPath = _cores16$.setPath,
897
- setEntity = _cores16$.setEntity;
830
+ var _cores14 = (0, _slicedToArray2["default"])(cores, 2),
831
+ _cores14$ = _cores14[1],
832
+ setPath = _cores14$.setPath,
833
+ setEntity = _cores14$.setEntity;
898
834
  (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(0);
899
835
  (0, _react.act)(function () {
900
836
  setPath(PATH_1);
@@ -917,9 +853,9 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
917
853
  (0, _react.act)(function () {
918
854
  setPath('');
919
855
  });
920
- (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(0);
921
- (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(2);
922
- (0, _globals.expect)(onPathChange1).toHaveBeenLastCalledWith({
856
+ (0, _globals.expect)(onPathChange1).toHaveBeenCalledTimes(1);
857
+ (0, _globals.expect)(onPathChange2).toHaveBeenCalledTimes(1);
858
+ (0, _globals.expect)(onPathChange2).toHaveBeenLastCalledWith({
923
859
  fieldPaths: ['path'],
924
860
  newEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
925
861
  size: 5000
@@ -936,7 +872,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
936
872
  (0, _globals.test)('`options.watch` should work with array field path of array', function () {
937
873
  var onExtChange = _globals.jest.fn();
938
874
  var onSizeChange = _globals.jest.fn();
939
- var _renderHook22 = (0, _react.renderHook)(function () {
875
+ var _renderHook21 = (0, _react.renderHook)(function () {
940
876
  return (0, _.useUseCase)({}, fieldPathUseCase, {
941
877
  watch: {
942
878
  'list.ext': onExtChange,
@@ -944,10 +880,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
944
880
  }
945
881
  });
946
882
  }),
947
- result = _renderHook22.result;
883
+ result = _renderHook21.result;
948
884
  var cores = result.current;
949
- var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
950
- setEntity = _cores17[1].setEntity;
885
+ var _cores15 = (0, _slicedToArray2["default"])(cores, 2),
886
+ setEntity = _cores15[1].setEntity;
951
887
  (0, _react.act)(function () {
952
888
  setEntity({
953
889
  list: [defaultFile]
@@ -1232,7 +1168,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1232
1168
  var lengthUseCase = function lengthUseCase() {
1233
1169
  return (0, _usecases.entityUseCase)();
1234
1170
  };
1235
- var _renderHook23 = (0, _react.renderHook)(function () {
1171
+ var _renderHook22 = (0, _react.renderHook)(function () {
1236
1172
  return (0, _.useUseCase)([], lengthUseCase, {
1237
1173
  watch: {
1238
1174
  length: onEntityLengthChange,
@@ -1240,10 +1176,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1240
1176
  }
1241
1177
  });
1242
1178
  }),
1243
- result = _renderHook23.result;
1179
+ result = _renderHook22.result;
1244
1180
  var cores = result.current;
1245
- var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
1246
- setEntity = _cores18[1].setEntity;
1181
+ var _cores16 = (0, _slicedToArray2["default"])(cores, 2),
1182
+ setEntity = _cores16[1].setEntity;
1247
1183
  (0, _globals.expect)(onEntityLengthChange).toHaveBeenCalledTimes(0);
1248
1184
  (0, _globals.expect)(onListLengthChange).toHaveBeenCalledTimes(0);
1249
1185
  (0, _react.act)(function () {
@@ -1274,17 +1210,17 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1274
1210
  });
1275
1211
  (0, _globals.test)('`options.watch` should work with field path of nested array', function () {
1276
1212
  var onChange = _globals.jest.fn();
1277
- var _renderHook24 = (0, _react.renderHook)(function () {
1213
+ var _renderHook23 = (0, _react.renderHook)(function () {
1278
1214
  return (0, _.useUseCase)({}, fieldPathUseCase, {
1279
1215
  watch: {
1280
1216
  'nestedList.size': onChange
1281
1217
  }
1282
1218
  });
1283
1219
  }),
1284
- result = _renderHook24.result;
1220
+ result = _renderHook23.result;
1285
1221
  var cores = result.current;
1286
- var _cores19 = (0, _slicedToArray2["default"])(cores, 2),
1287
- setEntity = _cores19[1].setEntity;
1222
+ var _cores17 = (0, _slicedToArray2["default"])(cores, 2),
1223
+ setEntity = _cores17[1].setEntity;
1288
1224
  (0, _globals.expect)(onChange).toHaveBeenCalledTimes(0);
1289
1225
  (0, _react.act)(function () {
1290
1226
  setEntity({
@@ -1368,7 +1304,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1368
1304
  (0, _globals.test)('`options.watch` should work with field path of object', function () {
1369
1305
  var onExtChange = _globals.jest.fn();
1370
1306
  var onSizeChange = _globals.jest.fn();
1371
- var _renderHook25 = (0, _react.renderHook)(function () {
1307
+ var _renderHook24 = (0, _react.renderHook)(function () {
1372
1308
  return (0, _.useUseCase)({}, fieldPathUseCase, {
1373
1309
  watch: {
1374
1310
  'obj.file.ext': onExtChange,
@@ -1376,10 +1312,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1376
1312
  }
1377
1313
  });
1378
1314
  }),
1379
- result = _renderHook25.result;
1315
+ result = _renderHook24.result;
1380
1316
  var cores = result.current;
1381
- var _cores20 = (0, _slicedToArray2["default"])(cores, 2),
1382
- setEntity = _cores20[1].setEntity;
1317
+ var _cores18 = (0, _slicedToArray2["default"])(cores, 2),
1318
+ setEntity = _cores18[1].setEntity;
1383
1319
  (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(0);
1384
1320
  (0, _react.act)(function () {
1385
1321
  setEntity({
@@ -1479,28 +1415,28 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1479
1415
  });
1480
1416
  (0, _globals.describe)('`useUseCase` should work the same as `ModeCoreCollectionHook`', function () {
1481
1417
  _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: check context type', function (mode) {
1482
- var _renderHook26 = (0, _react.renderHook)(function () {
1418
+ var _renderHook25 = (0, _react.renderHook)(function () {
1483
1419
  return (0, _.useUseCase)(defaultFile, fileUseCase, mode);
1484
1420
  }),
1485
- result = _renderHook26.result;
1421
+ result = _renderHook25.result;
1486
1422
  var cores = result.current;
1487
1423
  (0, _globals.expect)(Array.isArray(cores)).toBe(true);
1488
1424
  (0, _globals.expect)(cores).toHaveLength(3);
1489
1425
  });
1490
1426
  (0, _globals.test)('stateless mode should not generate new reducers when `yeild entity`', function () {
1491
1427
  var onUpdate = _globals.jest.fn();
1492
- var _renderHook27 = (0, _react.renderHook)(function () {
1428
+ var _renderHook26 = (0, _react.renderHook)(function () {
1493
1429
  var file = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultFile;
1494
1430
  (0, _ahooks.useUpdateEffect)(function () {
1495
1431
  onUpdate();
1496
1432
  });
1497
1433
  return (0, _.useUseCase)(file, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1498
1434
  }),
1499
- result = _renderHook27.result,
1500
- rerender = _renderHook27.rerender;
1435
+ result = _renderHook26.result,
1436
+ rerender = _renderHook26.rerender;
1501
1437
  var cores = result.current;
1502
- var _cores21 = (0, _slicedToArray2["default"])(cores, 2),
1503
- setPath = _cores21[1].setPath;
1438
+ var _cores19 = (0, _slicedToArray2["default"])(cores, 2),
1439
+ setPath = _cores19[1].setPath;
1504
1440
  setPath(PATH_1);
1505
1441
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
1506
1442
  (0, _globals.expect)(result.current[0].path).toBe('');
@@ -1513,16 +1449,16 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1513
1449
  });
1514
1450
  (0, _globals.test)('stateless mode should not trigger update when after `yield entity`', function () {
1515
1451
  var onUpdate = _globals.jest.fn();
1516
- var _renderHook28 = (0, _react.renderHook)(function () {
1452
+ var _renderHook27 = (0, _react.renderHook)(function () {
1517
1453
  (0, _ahooks.useUpdateEffect)(function () {
1518
1454
  onUpdate();
1519
1455
  });
1520
1456
  return (0, _.useUseCase)(defaultFile, fileUseCase, _UseCaseModes.UseCaseModes.Stateless);
1521
1457
  }),
1522
- result = _renderHook28.result;
1458
+ result = _renderHook27.result;
1523
1459
  var cores = result.current;
1524
- var _cores22 = (0, _slicedToArray2["default"])(cores, 2),
1525
- reducers = _cores22[1];
1460
+ var _cores20 = (0, _slicedToArray2["default"])(cores, 2),
1461
+ reducers = _cores20[1];
1526
1462
  var setPath = reducers.setPath;
1527
1463
  (0, _react.act)(function () {
1528
1464
  setPath(PATH_1);
@@ -1751,130 +1687,6 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1751
1687
  _react.fireEvent.click(_react.screen.getByText(updateButtonText));
1752
1688
  (0, _globals.expect)(addReducer).toHaveBeenCalledTimes(3);
1753
1689
  });
1754
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.watch` should be updated in child element after `deps` changed', function (mode) {
1755
- var onFirstExtChange = _globals.jest.fn();
1756
- var onSecondExtChange = _globals.jest.fn();
1757
- var onExtChange = onFirstExtChange;
1758
- var deps = [1];
1759
- var firstButtonText = 'first button';
1760
- var secondButtonText = 'second button';
1761
- var A = function A() {
1762
- (0, _.useUseCase)(fileUseCase, {
1763
- watch: {
1764
- ext: onExtChange
1765
- }
1766
- }, deps);
1767
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1768
- };
1769
- var B = function B() {
1770
- var _useState7 = (0, _react2.useState)(defaultFile),
1771
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
1772
- file = _useState8[0],
1773
- setFile = _useState8[1];
1774
- var _useUseCase38 = (0, _.useUseCase)(file, fileUseCase, mode, {
1775
- onChange: function onChange(newFile) {
1776
- if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1777
- return;
1778
- }
1779
- // `stateless` 不会保存状态,所以需要手动保存
1780
- setFile(newFile);
1781
- }
1782
- }),
1783
- _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 3),
1784
- setPath = _useUseCase39[1].setPath,
1785
- Provider = _useUseCase39[2];
1786
- var onFirstClick = function onFirstClick() {
1787
- setPath(PATH_1);
1788
- deps = [2];
1789
- onExtChange = onSecondExtChange;
1790
- };
1791
- var onSecondClick = function onSecondClick() {
1792
- setPath('');
1793
- };
1794
- return (0, _jsxRuntime.jsxs)(Provider, {
1795
- children: [(0, _jsxRuntime.jsx)(A, {}), (0, _jsxRuntime.jsx)("button", {
1796
- onClick: onFirstClick,
1797
- children: firstButtonText
1798
- }), (0, _jsxRuntime.jsx)("button", {
1799
- onClick: onSecondClick,
1800
- children: secondButtonText
1801
- })]
1802
- });
1803
- };
1804
- (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1805
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
1806
- _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1807
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
1808
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
1809
- _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1810
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
1811
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(1);
1812
- (0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith({
1813
- fieldPaths: ['ext'],
1814
- newEntity: defaultFile,
1815
- oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
1816
- ext: EXT_1,
1817
- path: PATH_1
1818
- }),
1819
- newValue: '',
1820
- oldValue: EXT_1
1821
- });
1822
- });
1823
- _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('`options.watch` should not be updated in child element if `deps` has not changed', function (mode) {
1824
- var onFirstExtChange = _globals.jest.fn();
1825
- var onSecondExtChange = _globals.jest.fn();
1826
- var onExtChange = onFirstExtChange;
1827
- var firstButtonText = 'first button';
1828
- var secondButtonText = 'second button';
1829
- var A = function A() {
1830
- (0, _.useUseCase)(fileUseCase, {
1831
- watch: {
1832
- ext: onExtChange
1833
- }
1834
- }, []);
1835
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1836
- };
1837
- var B = function B() {
1838
- var _useUseCase40 = (0, _.useUseCase)(defaultFile, fileUseCase, mode),
1839
- _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 3),
1840
- setPath = _useUseCase41[1].setPath,
1841
- Provider = _useUseCase41[2];
1842
- var onFirstClick = function onFirstClick() {
1843
- setPath(PATH_1);
1844
- onExtChange = onSecondExtChange;
1845
- };
1846
- var onSecondClick = function onSecondClick() {
1847
- setPath('');
1848
- };
1849
- return (0, _jsxRuntime.jsxs)(Provider, {
1850
- children: [(0, _jsxRuntime.jsx)(A, {}), (0, _jsxRuntime.jsx)("button", {
1851
- onClick: onFirstClick,
1852
- children: firstButtonText
1853
- }), (0, _jsxRuntime.jsx)("button", {
1854
- onClick: onSecondClick,
1855
- children: secondButtonText
1856
- })]
1857
- });
1858
- };
1859
- (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1860
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
1861
- _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1862
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
1863
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
1864
- _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1865
- (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(2);
1866
- (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
1867
- (0, _globals.expect)(onFirstExtChange).toHaveBeenLastCalledWith({
1868
- fieldPaths: ['ext'],
1869
- newEntity: defaultFile,
1870
- oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
1871
- ext: EXT_1,
1872
- path: PATH_1
1873
- }),
1874
- newValue: '',
1875
- oldValue: EXT_1
1876
- });
1877
- });
1878
1690
  (0, _globals.test)('`options.onChange` event should be trigger in orders', function () {
1879
1691
  var changeTimes = 0;
1880
1692
  var updateChangeTimes = function updateChangeTimes() {
@@ -1900,12 +1712,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1900
1712
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1901
1713
  };
1902
1714
  var C = function C() {
1903
- var _useUseCase42 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1715
+ var _useUseCase38 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1904
1716
  onChange: onChangeC
1905
1717
  }),
1906
- _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
1907
- setPath = _useUseCase43[1].setPath,
1908
- Provider = _useUseCase43[2];
1718
+ _useUseCase39 = (0, _slicedToArray2["default"])(_useUseCase38, 3),
1719
+ setPath = _useUseCase39[1].setPath,
1720
+ Provider = _useUseCase39[2];
1909
1721
  var onFirstClick = function onFirstClick() {
1910
1722
  setPath(PATH_1);
1911
1723
  };
@@ -1925,32 +1737,95 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1925
1737
  (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
1926
1738
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
1927
1739
  });
1928
- (0, _globals.test)('`options.watch` should be trigger at child elements', function () {
1929
- var onExtChange = _globals.jest.fn();
1740
+ _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.onChange` should always trigger the latest one in child components', function (mode) {
1741
+ var onFirstChange = _globals.jest.fn();
1742
+ var onSecondChange = _globals.jest.fn();
1743
+ var onChange = onFirstChange;
1930
1744
  var firstButtonText = 'first button';
1745
+ var secondButtonText = 'second button';
1931
1746
  var A = function A() {
1932
- (0, _.useUseCase)(fileUseCase, {
1933
- watch: {
1934
- ext: onExtChange
1935
- }
1936
- });
1937
- return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1938
- };
1939
- var B = function B() {
1940
- var _useUseCase44 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
1941
- _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 3),
1942
- setPath = _useUseCase45[1].setPath,
1943
- Provider = _useUseCase45[2];
1747
+ var _useUseCase40 = (0, _.useUseCase)(fileUseCase, {
1748
+ onChange: onChange
1749
+ }),
1750
+ _useUseCase41 = (0, _slicedToArray2["default"])(_useUseCase40, 2),
1751
+ setPath = _useUseCase41[1].setPath;
1944
1752
  var onFirstClick = function onFirstClick() {
1945
1753
  setPath(PATH_1);
1754
+ onChange = onSecondChange;
1946
1755
  };
1947
- return (0, _jsxRuntime.jsxs)(Provider, {
1948
- children: [(0, _jsxRuntime.jsx)(A, {}), (0, _jsxRuntime.jsx)("button", {
1756
+ var onSecondClick = function onSecondClick() {
1757
+ setPath('');
1758
+ };
1759
+ return (0, _jsxRuntime.jsxs)(_react2.Fragment, {
1760
+ children: [(0, _jsxRuntime.jsx)("button", {
1949
1761
  onClick: onFirstClick,
1950
1762
  children: firstButtonText
1763
+ }), (0, _jsxRuntime.jsx)("button", {
1764
+ onClick: onSecondClick,
1765
+ children: secondButtonText
1951
1766
  })]
1952
1767
  });
1953
1768
  };
1769
+ var B = function B() {
1770
+ var _useState7 = (0, _react2.useState)(defaultFile),
1771
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
1772
+ file = _useState8[0],
1773
+ setFile = _useState8[1];
1774
+ var _useUseCase42 = (0, _.useUseCase)(file, fileUseCase, mode, {
1775
+ onChange: function onChange(newFile) {
1776
+ if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1777
+ return;
1778
+ }
1779
+ // `stateless` 不会保存状态,所以需要手动保存
1780
+ setFile(newFile);
1781
+ }
1782
+ }),
1783
+ _useUseCase43 = (0, _slicedToArray2["default"])(_useUseCase42, 3),
1784
+ Provider = _useUseCase43[2];
1785
+ return (0, _jsxRuntime.jsx)(Provider, {
1786
+ children: (0, _jsxRuntime.jsx)(A, {})
1787
+ });
1788
+ };
1789
+ (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1790
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(0);
1791
+ _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1792
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1793
+ (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(0);
1794
+ _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1795
+ (0, _globals.expect)(onFirstChange).toHaveBeenCalledTimes(1);
1796
+ (0, _globals.expect)(onSecondChange).toHaveBeenCalledTimes(1);
1797
+ (0, _globals.expect)(onSecondChange).toHaveBeenLastCalledWith(defaultFile, _objectSpread(_objectSpread({}, defaultFile), {}, {
1798
+ ext: EXT_1,
1799
+ path: PATH_1
1800
+ }));
1801
+ });
1802
+ (0, _globals.test)('`options.watch` should be trigger at child elements', function () {
1803
+ var onExtChange = _globals.jest.fn();
1804
+ var firstButtonText = 'first button';
1805
+ var A = function A() {
1806
+ var _useUseCase44 = (0, _.useUseCase)(fileUseCase, {
1807
+ watch: {
1808
+ ext: onExtChange
1809
+ }
1810
+ }),
1811
+ _useUseCase45 = (0, _slicedToArray2["default"])(_useUseCase44, 2),
1812
+ setPath = _useUseCase45[1].setPath;
1813
+ var onFirstClick = function onFirstClick() {
1814
+ setPath(PATH_1);
1815
+ };
1816
+ return (0, _jsxRuntime.jsx)("button", {
1817
+ onClick: onFirstClick,
1818
+ children: firstButtonText
1819
+ });
1820
+ };
1821
+ var B = function B() {
1822
+ var _useUseCase46 = (0, _.useUseCase)(defaultFile, fileUseCase, {}),
1823
+ _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 3),
1824
+ Provider = _useUseCase47[2];
1825
+ return (0, _jsxRuntime.jsx)(Provider, {
1826
+ children: (0, _jsxRuntime.jsx)(A, {})
1827
+ });
1828
+ };
1954
1829
  (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1955
1830
  (0, _globals.expect)(onExtChange).toHaveBeenCalledTimes(0);
1956
1831
  _react.fireEvent.click(_react.screen.getByText(firstButtonText));
@@ -1996,14 +1871,14 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1996
1871
  return (0, _jsxRuntime.jsx)(_react2.Fragment, {});
1997
1872
  };
1998
1873
  var C = function C() {
1999
- var _useUseCase46 = (0, _.useUseCase)(defaultFile, fileUseCase, {
1874
+ var _useUseCase48 = (0, _.useUseCase)(defaultFile, fileUseCase, {
2000
1875
  watch: {
2001
1876
  ext: onChangeC
2002
1877
  }
2003
1878
  }),
2004
- _useUseCase47 = (0, _slicedToArray2["default"])(_useUseCase46, 3),
2005
- setPath = _useUseCase47[1].setPath,
2006
- Provider = _useUseCase47[2];
1879
+ _useUseCase49 = (0, _slicedToArray2["default"])(_useUseCase48, 3),
1880
+ setPath = _useUseCase49[1].setPath,
1881
+ Provider = _useUseCase49[2];
2007
1882
  var onFirstClick = function onFirstClick() {
2008
1883
  setPath(PATH_1);
2009
1884
  };
@@ -2023,41 +1898,111 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2023
1898
  (0, _globals.expect)(onChangeB).toHaveReturnedWith(1);
2024
1899
  (0, _globals.expect)(onChangeC).toHaveReturnedWith(3);
2025
1900
  });
1901
+ _globals.test.each([_UseCaseModes.UseCaseModes.Normal, _UseCaseModes.UseCaseModes.Stateless])('[mode=%s]: `options.watch` should trigger the latest one in child components', function (mode) {
1902
+ var onFirstExtChange = _globals.jest.fn();
1903
+ var onSecondExtChange = _globals.jest.fn();
1904
+ var onExtChange = onFirstExtChange;
1905
+ var firstButtonText = 'first button';
1906
+ var secondButtonText = 'second button';
1907
+ var A = function A() {
1908
+ var _useUseCase50 = (0, _.useUseCase)(fileUseCase, {
1909
+ watch: {
1910
+ ext: onExtChange
1911
+ }
1912
+ }),
1913
+ _useUseCase51 = (0, _slicedToArray2["default"])(_useUseCase50, 2),
1914
+ setPath = _useUseCase51[1].setPath;
1915
+ var onFirstClick = function onFirstClick() {
1916
+ setPath(PATH_1);
1917
+ onExtChange = onSecondExtChange;
1918
+ };
1919
+ var onSecondClick = function onSecondClick() {
1920
+ setPath('');
1921
+ };
1922
+ return (0, _jsxRuntime.jsxs)(_react2.Fragment, {
1923
+ children: [(0, _jsxRuntime.jsx)("button", {
1924
+ onClick: onFirstClick,
1925
+ children: firstButtonText
1926
+ }), (0, _jsxRuntime.jsx)("button", {
1927
+ onClick: onSecondClick,
1928
+ children: secondButtonText
1929
+ })]
1930
+ });
1931
+ };
1932
+ var B = function B() {
1933
+ var _useState9 = (0, _react2.useState)(defaultFile),
1934
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
1935
+ file = _useState10[0],
1936
+ setFile = _useState10[1];
1937
+ var _useUseCase52 = (0, _.useUseCase)(file, fileUseCase, mode, {
1938
+ onChange: function onChange(newFile) {
1939
+ if ((mode & _UseCaseModes.UseCaseModes.Stateless) !== _UseCaseModes.UseCaseModes.Stateless) {
1940
+ return;
1941
+ }
1942
+ // `stateless` 不会保存状态,所以需要手动保存
1943
+ setFile(newFile);
1944
+ }
1945
+ }),
1946
+ _useUseCase53 = (0, _slicedToArray2["default"])(_useUseCase52, 3),
1947
+ Provider = _useUseCase53[2];
1948
+ return (0, _jsxRuntime.jsx)(Provider, {
1949
+ children: (0, _jsxRuntime.jsx)(A, {})
1950
+ });
1951
+ };
1952
+ (0, _react.render)((0, _jsxRuntime.jsx)(B, {}));
1953
+ (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(0);
1954
+ _react.fireEvent.click(_react.screen.getByText(firstButtonText));
1955
+ (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
1956
+ (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(0);
1957
+ _react.fireEvent.click(_react.screen.getByText(secondButtonText));
1958
+ (0, _globals.expect)(onFirstExtChange).toHaveBeenCalledTimes(1);
1959
+ (0, _globals.expect)(onSecondExtChange).toHaveBeenCalledTimes(1);
1960
+ (0, _globals.expect)(onSecondExtChange).toHaveBeenLastCalledWith({
1961
+ fieldPaths: ['ext'],
1962
+ newEntity: defaultFile,
1963
+ oldEntity: _objectSpread(_objectSpread({}, defaultFile), {}, {
1964
+ ext: EXT_1,
1965
+ path: PATH_1
1966
+ }),
1967
+ newValue: '',
1968
+ oldValue: EXT_1
1969
+ });
1970
+ });
2026
1971
  });
2027
1972
  (0, _globals.describe)('`useUseCase` should work the same as `useReducers`', function () {
2028
1973
  (0, _globals.test)('`entity` should equal `defaultFile`', function () {
2029
- var _renderHook29 = (0, _react.renderHook)(function () {
1974
+ var _renderHook28 = (0, _react.renderHook)(function () {
2030
1975
  return (0, _.useUseCase)(mathUseCase);
2031
1976
  }),
2032
- result = _renderHook29.result;
1977
+ result = _renderHook28.result;
2033
1978
  var reducers = result.current;
2034
1979
  (0, _globals.expect)(Array.isArray(reducers)).toBe(false);
2035
1980
  });
2036
1981
  (0, _globals.test)('returned reducer should work', function () {
2037
- var _renderHook30 = (0, _react.renderHook)(function () {
1982
+ var _renderHook29 = (0, _react.renderHook)(function () {
2038
1983
  return (0, _.useUseCase)(mathUseCase);
2039
1984
  }),
2040
- result = _renderHook30.result;
1985
+ result = _renderHook29.result;
2041
1986
  var reducers = result.current;
2042
1987
  var add = reducers.add;
2043
1988
  (0, _globals.expect)(add(1, 2)).toBe(3);
2044
1989
  });
2045
1990
  (0, _globals.test)('`usecase` should be called only once if deps has not provided', function () {
2046
1991
  var mockUseCase = _globals.jest.fn(mathUseCase);
2047
- var _renderHook31 = (0, _react.renderHook)(function () {
1992
+ var _renderHook30 = (0, _react.renderHook)(function () {
2048
1993
  return (0, _.useUseCase)(mockUseCase);
2049
1994
  }),
2050
- rerender = _renderHook31.rerender;
1995
+ rerender = _renderHook30.rerender;
2051
1996
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2052
1997
  rerender();
2053
1998
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2054
1999
  });
2055
2000
  (0, _globals.test)('`usecase` should be called only once if deps has not changed', function () {
2056
2001
  var mockUseCase = _globals.jest.fn(mathUseCase);
2057
- var _renderHook32 = (0, _react.renderHook)(function () {
2002
+ var _renderHook31 = (0, _react.renderHook)(function () {
2058
2003
  return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
2059
2004
  }),
2060
- rerender = _renderHook32.rerender;
2005
+ rerender = _renderHook31.rerender;
2061
2006
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2062
2007
  rerender();
2063
2008
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
@@ -2065,10 +2010,10 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2065
2010
  (0, _globals.test)('`usecase` should be called if deps has changed', function () {
2066
2011
  var i = 0;
2067
2012
  var mockUseCase = _globals.jest.fn(mathUseCase);
2068
- var _renderHook33 = (0, _react.renderHook)(function () {
2013
+ var _renderHook32 = (0, _react.renderHook)(function () {
2069
2014
  return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
2070
2015
  }),
2071
- rerender = _renderHook33.rerender;
2016
+ rerender = _renderHook32.rerender;
2072
2017
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(1);
2073
2018
  rerender();
2074
2019
  (0, _globals.expect)(mockUseCase).toHaveBeenCalledTimes(2);
@@ -2076,8 +2021,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2076
2021
  (0, _globals.test)('reducer call should not be cached if component is at rendering phase', function () {
2077
2022
  var buttonText = 'button';
2078
2023
  var CacheTestComponent = function CacheTestComponent() {
2079
- var _useUseCase48 = (0, _.useUseCase)(mathUseCase),
2080
- subtraction = _useUseCase48.subtraction;
2024
+ var _useUseCase54 = (0, _.useUseCase)(mathUseCase),
2025
+ subtraction = _useUseCase54.subtraction;
2081
2026
  var update = (0, _ahooks.useUpdate)();
2082
2027
  var onClick = function onClick() {
2083
2028
  update();
@@ -2100,8 +2045,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2100
2045
  (0, _globals.test)('reducer call should not be cached if component is not at rendering phase', function () {
2101
2046
  var buttonText = 'button';
2102
2047
  var CacheTestComponent = function CacheTestComponent() {
2103
- var _useUseCase49 = (0, _.useUseCase)(mathUseCase),
2104
- subtraction = _useUseCase49.subtraction;
2048
+ var _useUseCase55 = (0, _.useUseCase)(mathUseCase),
2049
+ subtraction = _useUseCase55.subtraction;
2105
2050
  var onClick = function onClick() {
2106
2051
  subtraction(5, 3);
2107
2052
  };
@@ -2129,8 +2074,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2129
2074
  var count = 0;
2130
2075
  var buttonText = 'button';
2131
2076
  var StringUseCaseTestComponent = function StringUseCaseTestComponent() {
2132
- var _useUseCase50 = (0, _.useUseCase)(mathUseCase),
2133
- subtraction = _useUseCase50.subtraction;
2077
+ var _useUseCase56 = (0, _.useUseCase)(mathUseCase),
2078
+ subtraction = _useUseCase56.subtraction;
2134
2079
  var update = (0, _ahooks.useUpdate)();
2135
2080
  subtraction(5, count++);
2136
2081
  var onUpdate = function onUpdate() {
@@ -2152,12 +2097,12 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2152
2097
  (0, _globals.expect)(subtractionReducer).toHaveReturnedWith(4);
2153
2098
  });
2154
2099
  (0, _globals.test)('`options.extraValue` should be added after call `add` method', function () {
2155
- var _renderHook34 = (0, _react.renderHook)(function () {
2100
+ var _renderHook33 = (0, _react.renderHook)(function () {
2156
2101
  return (0, _.useUseCase)(mathUseCase, {
2157
2102
  extraValue: 5
2158
2103
  });
2159
2104
  }),
2160
- result = _renderHook34.result;
2105
+ result = _renderHook33.result;
2161
2106
  var reducers = result.current;
2162
2107
  var add = reducers.add;
2163
2108
  (0, _globals.expect)(add(1, 2)).toBe(8);
@@ -2165,11 +2110,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2165
2110
  (0, _globals.test)('when `options` has changed, it should not trigger update', function () {
2166
2111
  var onUpdate = _globals.jest.fn();
2167
2112
  var onDeepUpdate = _globals.jest.fn();
2168
- var _renderHook35 = (0, _react.renderHook)(function () {
2169
- var _useState9 = (0, _react2.useState)(0),
2170
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
2171
- extraValue = _useState10[0],
2172
- setExtraValue = _useState10[1];
2113
+ var _renderHook34 = (0, _react.renderHook)(function () {
2114
+ var _useState11 = (0, _react2.useState)(0),
2115
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2116
+ extraValue = _useState12[0],
2117
+ setExtraValue = _useState12[1];
2173
2118
  var reducers = (0, _.useUseCase)(mathUseCase, {
2174
2119
  extraValue: extraValue
2175
2120
  });
@@ -2181,7 +2126,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2181
2126
  }, [reducers]);
2182
2127
  return setExtraValue;
2183
2128
  }),
2184
- result = _renderHook35.result;
2129
+ result = _renderHook34.result;
2185
2130
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2186
2131
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2187
2132
  (0, _react.act)(function () {
@@ -2193,11 +2138,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2193
2138
  (0, _globals.test)('when `deps` change, it should update reducers', function () {
2194
2139
  var onUpdate = _globals.jest.fn();
2195
2140
  var onDeepUpdate = _globals.jest.fn();
2196
- var _renderHook36 = (0, _react.renderHook)(function () {
2197
- var _useState11 = (0, _react2.useState)(0),
2198
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
2199
- extraValue = _useState12[0],
2200
- setExtraValue = _useState12[1];
2141
+ var _renderHook35 = (0, _react.renderHook)(function () {
2142
+ var _useState13 = (0, _react2.useState)(0),
2143
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
2144
+ extraValue = _useState14[0],
2145
+ setExtraValue = _useState14[1];
2201
2146
  var reducers = (0, _.useUseCase)(mathUseCase, {
2202
2147
  extraValue: extraValue
2203
2148
  }, [extraValue]);
@@ -2209,7 +2154,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2209
2154
  }, [reducers]);
2210
2155
  return setExtraValue;
2211
2156
  }),
2212
- result = _renderHook36.result;
2157
+ result = _renderHook35.result;
2213
2158
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2214
2159
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2215
2160
  (0, _react.act)(function () {
@@ -2221,11 +2166,11 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2221
2166
  (0, _globals.test)('empty `deps` should not update reducers', function () {
2222
2167
  var onUpdate = _globals.jest.fn();
2223
2168
  var onDeepUpdate = _globals.jest.fn();
2224
- var _renderHook37 = (0, _react.renderHook)(function () {
2225
- var _useState13 = (0, _react2.useState)(0),
2226
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
2227
- extraValue = _useState14[0],
2228
- setExtraValue = _useState14[1];
2169
+ var _renderHook36 = (0, _react.renderHook)(function () {
2170
+ var _useState15 = (0, _react2.useState)(0),
2171
+ _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
2172
+ extraValue = _useState16[0],
2173
+ setExtraValue = _useState16[1];
2229
2174
  var reducers = (0, _.useUseCase)(mathUseCase, {
2230
2175
  extraValue: extraValue
2231
2176
  }, []);
@@ -2237,7 +2182,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2237
2182
  }, [reducers]);
2238
2183
  return setExtraValue;
2239
2184
  }),
2240
- result = _renderHook37.result;
2185
+ result = _renderHook36.result;
2241
2186
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
2242
2187
  (0, _globals.expect)(onDeepUpdate).toHaveBeenCalledTimes(0);
2243
2188
  (0, _react.act)(function () {