@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.
- package/dist/index.min.js +1 -1
- package/es/components/UseCaseFragment/index.d.ts +1 -1
- package/es/components/UseCaseFragment/index.js +2 -2
- package/es/components/UseCaseFragment/types.d.ts +0 -2
- package/es/hooks/useCompareDeps/index.d.ts +1 -1
- package/es/hooks/useContextualItem/index.d.ts +1 -1
- package/es/hooks/useContextualItem/index.js +12 -4
- package/es/hooks/useEntity/index.d.ts +1 -1
- package/es/hooks/useEntity/index.js +6 -9
- package/es/hooks/useUseCase/index.js +12 -5
- package/es/hooks/useUseCase/index.test.js +89 -607
- package/es/hooks/useUseCase/types.d.ts +1 -15
- package/es/methods/captureCalls/index.d.ts +2 -0
- package/es/methods/captureCalls/index.js +14 -0
- package/es/methods/captureCalls/types.d.ts +4 -0
- package/es/methods/captureCalls/types.js +1 -0
- package/es/methods/initEntityReducers/index.js +1 -1
- package/lib/components/UseCaseFragment/index.js +0 -2
- package/lib/hooks/useContextualItem/index.js +11 -3
- package/lib/hooks/useEntity/index.js +6 -11
- package/lib/hooks/useUseCase/index.js +13 -4
- package/lib/hooks/useUseCase/index.test.js +234 -868
- package/lib/methods/captureCalls/index.js +23 -0
- package/lib/methods/captureCalls/types.js +5 -0
- package/lib/methods/initEntityReducers/index.js +2 -3
- package/package.json +3 -3
- package/es/hooks/useMemoizedCall/index.d.ts +0 -2
- package/es/hooks/useMemoizedCall/index.js +0 -15
- package/es/methods/triggerCallbacks/index.d.ts +0 -2
- package/es/methods/triggerCallbacks/index.js +0 -5
- package/es/methods/triggerWatchers/index.d.ts +0 -2
- package/es/methods/triggerWatchers/index.js +0 -14
- package/lib/hooks/useMemoizedCall/index.js +0 -21
- package/lib/methods/triggerCallbacks/index.js +0 -11
- 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
|
-
|
|
64
|
+
oldPath = entity.path;
|
|
65
|
+
newPath = pathPrefix + path;
|
|
66
|
+
_context2.next = 4;
|
|
63
67
|
return _objectSpread(_objectSpread({}, entity), {}, {
|
|
64
|
-
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
|
|
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.
|
|
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 =
|
|
659
|
+
result = _renderHook14.result;
|
|
619
660
|
var cores = result.current;
|
|
620
|
-
var
|
|
621
|
-
path =
|
|
622
|
-
reducers =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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)(
|
|
801
|
-
var
|
|
802
|
-
var
|
|
803
|
-
var
|
|
804
|
-
var
|
|
805
|
-
|
|
806
|
-
|
|
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 =
|
|
1373
|
-
var
|
|
1374
|
-
var
|
|
1375
|
-
|
|
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
|
-
|
|
1379
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
1493
|
-
rerender =
|
|
852
|
+
result = _renderHook20.result,
|
|
853
|
+
rerender = _renderHook20.rerender;
|
|
1494
854
|
var cores = result.current;
|
|
1495
|
-
var
|
|
1496
|
-
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
|
|
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 =
|
|
875
|
+
result = _renderHook21.result;
|
|
1516
876
|
var cores = result.current;
|
|
1517
|
-
var
|
|
1518
|
-
reducers =
|
|
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
|
|
1594
|
-
|
|
1595
|
-
Provider =
|
|
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
|
|
1616
|
-
|
|
1617
|
-
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
|
|
1630
|
-
|
|
1631
|
-
Provider =
|
|
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
|
|
1656
|
-
|
|
1657
|
-
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
|
|
1672
|
-
|
|
1673
|
-
Provider =
|
|
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
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
add =
|
|
1705
|
-
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
|
|
1726
|
-
|
|
1727
|
-
Provider =
|
|
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(
|
|
1813
|
-
var 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
|
|
1132
|
+
var _useUseCase38 = (0, _.useUseCase)(defaultFile, fileUseCase, {
|
|
1829
1133
|
onChange: onChangeC
|
|
1830
1134
|
}),
|
|
1831
|
-
|
|
1832
|
-
setPath =
|
|
1833
|
-
Provider =
|
|
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
|
|
1222
|
+
var _renderHook22 = (0, _react.renderHook)(function () {
|
|
1857
1223
|
return (0, _.useUseCase)(mathUseCase);
|
|
1858
1224
|
}),
|
|
1859
|
-
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
|
|
1230
|
+
var _renderHook23 = (0, _react.renderHook)(function () {
|
|
1865
1231
|
return (0, _.useUseCase)(mathUseCase);
|
|
1866
1232
|
}),
|
|
1867
|
-
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
|
|
1240
|
+
var _renderHook24 = (0, _react.renderHook)(function () {
|
|
1875
1241
|
return (0, _.useUseCase)(mockUseCase);
|
|
1876
1242
|
}),
|
|
1877
|
-
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
|
|
1250
|
+
var _renderHook25 = (0, _react.renderHook)(function () {
|
|
1885
1251
|
return (0, _.useUseCase)(mockUseCase, {}, [1, 'x']);
|
|
1886
1252
|
}),
|
|
1887
|
-
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
|
|
1261
|
+
var _renderHook26 = (0, _react.renderHook)(function () {
|
|
1896
1262
|
return (0, _.useUseCase)(mockUseCase, {}, [i++, 'x']);
|
|
1897
1263
|
}),
|
|
1898
|
-
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
|
|
1907
|
-
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
|
|
1931
|
-
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
|
|
1960
|
-
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
|
|
1348
|
+
var _renderHook27 = (0, _react.renderHook)(function () {
|
|
1983
1349
|
return (0, _.useUseCase)(mathUseCase, {
|
|
1984
1350
|
extraValue: 5
|
|
1985
1351
|
});
|
|
1986
1352
|
}),
|
|
1987
|
-
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
|
|
1996
|
-
var
|
|
1997
|
-
|
|
1998
|
-
extraValue =
|
|
1999
|
-
setExtraValue =
|
|
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 =
|
|
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
|
|
2024
|
-
var
|
|
2025
|
-
|
|
2026
|
-
extraValue =
|
|
2027
|
-
setExtraValue =
|
|
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 =
|
|
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
|
|
2052
|
-
var
|
|
2053
|
-
|
|
2054
|
-
extraValue =
|
|
2055
|
-
setExtraValue =
|
|
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 =
|
|
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 () {
|