@mic-rexjs/usecases-react 2.12.0 → 2.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/index.min.js +1 -1
  2. package/es/components/SafeUseCaseFragment/index.js +17 -7
  3. package/es/components/SafeUseCaseFragment/types.js +1 -1
  4. package/es/components/UseCaseFragment/index.js +16 -6
  5. package/es/components/UseCaseFragment/types.js +1 -1
  6. package/es/entities/matchPropertyFailedResult/types.js +1 -1
  7. package/es/enums/ArgumentTypes/index.js +3 -3
  8. package/es/enums/Statuses/index.js +22 -22
  9. package/es/hooks/useArgumentTypes/index.js +12 -10
  10. package/es/hooks/useConstant/index.js +7 -4
  11. package/es/hooks/useConstant/types.js +1 -1
  12. package/es/hooks/useConstantEntityReducers/index.js +4 -4
  13. package/es/hooks/useConstantFn/index.js +9 -6
  14. package/es/hooks/useConstantReducers/index.js +4 -4
  15. package/es/hooks/useContext/index.js +14 -11
  16. package/es/hooks/useContext/index.test.js +50 -44
  17. package/es/hooks/useContextualItem/index.js +27 -25
  18. package/es/hooks/useContextualItem/types.js +1 -1
  19. package/es/hooks/useDepsKey/index.js +9 -5
  20. package/es/hooks/useEntity/index.js +65 -61
  21. package/es/hooks/useFullArguments/index.js +12 -17
  22. package/es/hooks/useFullArguments/types.js +1 -1
  23. package/es/hooks/useIsRenderingRef/index.js +6 -6
  24. package/es/hooks/useProvider/index.js +21 -15
  25. package/es/hooks/useProvider/types.js +1 -1
  26. package/es/hooks/useRuntimeEntity/index.js +18 -16
  27. package/es/hooks/useStatuses/index.js +19 -19
  28. package/es/hooks/useUseCase/index.js +78 -53
  29. package/es/hooks/useUseCase/index.test.js +2400 -1755
  30. package/es/hooks/useUseCase/types.d.ts +1 -1
  31. package/es/hooks/useUseCase/types.js +1 -1
  32. package/es/index.js +1 -1
  33. package/es/methods/triggerWatchers/index.js +12 -7
  34. package/es/types.js +1 -1
  35. package/es/usecases/contextUseCase/index.js +70 -65
  36. package/es/usecases/contextUseCase/types.js +1 -1
  37. package/es/usecases/methodUseCase/index.js +69 -52
  38. package/es/usecases/methodUseCase/types.js +1 -1
  39. package/es/usecases/valueUseCase/index.js +175 -167
  40. package/es/usecases/valueUseCase/types.js +1 -1
  41. package/lib/components/UseCaseFragment/index.js +1 -1
  42. package/lib/hooks/useUseCase/index.js +4 -3
  43. package/lib/hooks/useUseCase/index.test.js +48 -49
  44. package/lib/methods/triggerWatchers/index.js +9 -7
  45. package/lib/usecases/valueUseCase/index.js +1 -1
  46. package/package.json +3 -3
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useUseCase = void 0;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _useArgumentTypes = require("../useArgumentTypes");
14
14
  var _useConstantFn = require("../useConstantFn");
@@ -25,9 +25,9 @@ var _ahooks = require("ahooks");
25
25
  var _react = require("react");
26
26
  var _Statuses = require("../../enums/Statuses");
27
27
  var _methodUseCase = require("../../usecases/methodUseCase");
28
- var _excluded = ["watch", "onChange", "options"];
29
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
29
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
+ var _excluded = ["watch", "onChange", "options"];
31
31
  var useUseCase = exports.useUseCase = function useUseCase() {
32
32
  var isRenderingRef = (0, _useIsRenderingRef.useIsRenderingRef)();
33
33
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -63,8 +63,9 @@ var useUseCase = exports.useUseCase = function useUseCase() {
63
63
  captureCalls = _useConstantReducers.captureCalls;
64
64
  var reducers = (0, _useContextualItem.useContextualItem)(contextReducers, statuses, function () {
65
65
  var opts = captureCalls(options, function (key, callArgs) {
66
+ var _optionsRef$current$k2;
66
67
  var _optionsRef$current$k, _optionsRef$current;
67
- return (_optionsRef$current$k = (_optionsRef$current = optionsRef.current)[key]) === null || _optionsRef$current$k === void 0 ? void 0 : _optionsRef$current$k.call.apply(_optionsRef$current$k, [_optionsRef$current].concat((0, _toConsumableArray2["default"])(callArgs)));
68
+ return (_optionsRef$current$k = (_optionsRef$current = optionsRef.current)[key]) === null || _optionsRef$current$k === void 0 ? void 0 : (_optionsRef$current$k2 = _optionsRef$current$k).call.apply(_optionsRef$current$k2, [_optionsRef$current].concat((0, _toConsumableArray2["default"])(callArgs)));
68
69
  });
69
70
  if ((statuses & _Statuses.Statuses.EntityEnabled) !== _Statuses.Statuses.EntityEnabled) {
70
71
  return usecase(opts);
@@ -5,11 +5,11 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
5
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
6
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
7
7
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _wrapAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapAsyncGenerator"));
11
10
  var _awaitAsyncGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/awaitAsyncGenerator"));
12
11
  var _asyncGeneratorDelegate2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncGeneratorDelegate"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  var _ = require(".");
15
15
  var _useDepsKey = require("../useDepsKey");
@@ -44,29 +44,28 @@ var fileUseCase = function fileUseCase() {
44
44
  var init = function init(entity) {
45
45
  var newEntity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultFile;
46
46
  return /*#__PURE__*/_regenerator["default"].mark(function _callee() {
47
- return _regenerator["default"].wrap(function (_context) {
48
- while (1) switch (_context.prev = _context.next) {
47
+ return _regenerator["default"].wrap(function (_context3) {
48
+ while (1) switch (_context3.prev = _context3.next) {
49
49
  case 0:
50
- _context.next = 1;
50
+ _context3.next = 1;
51
51
  return function () {
52
52
  return newEntity;
53
53
  };
54
54
  case 1:
55
55
  case "end":
56
- return _context.stop();
56
+ return _context3.stop();
57
57
  }
58
58
  }, _callee);
59
59
  })();
60
60
  };
61
61
  var setPath = /*#__PURE__*/_regenerator["default"].mark(function setPath(entity, path) {
62
- var _path$match;
63
- var oldPath, newPath;
64
- return _regenerator["default"].wrap(function (_context2) {
65
- while (1) switch (_context2.prev = _context2.next) {
62
+ var _path$match, oldPath, newPath;
63
+ return _regenerator["default"].wrap(function (_context4) {
64
+ while (1) switch (_context4.prev = _context4.next) {
66
65
  case 0:
67
66
  oldPath = entity.path;
68
67
  newPath = pathPrefix + path;
69
- _context2.next = 1;
68
+ _context4.next = 1;
70
69
  return _objectSpread(_objectSpread({}, entity), {}, {
71
70
  path: newPath,
72
71
  ext: ((_path$match = path.match(/\.[^.]+$/)) === null || _path$match === void 0 ? void 0 : _path$match[0]) || ''
@@ -75,38 +74,38 @@ var fileUseCase = function fileUseCase() {
75
74
  onPathChange === null || onPathChange === void 0 || onPathChange(newPath, oldPath);
76
75
  case 2:
77
76
  case "end":
78
- return _context2.stop();
77
+ return _context4.stop();
79
78
  }
80
79
  }, setPath);
81
80
  });
82
81
  var readFile = /*#__PURE__*/function () {
83
- var _ref = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
82
+ var _ref7 = (0, _wrapAsyncGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(entity, path) {
84
83
  var size;
85
- return _regenerator["default"].wrap(function (_context3) {
86
- while (1) switch (_context3.prev = _context3.next) {
84
+ return _regenerator["default"].wrap(function (_context5) {
85
+ while (1) switch (_context5.prev = _context5.next) {
87
86
  case 0:
88
87
  size = 2000;
89
- return _context3.delegateYield((0, _asyncGeneratorDelegate2["default"])(_asyncIterator(setPath(entity, path)), _awaitAsyncGenerator2["default"]), "t0", 1);
88
+ return _context5.delegateYield((0, _asyncGeneratorDelegate2["default"])(_asyncIterator(setPath(entity, path)), _awaitAsyncGenerator2["default"]), "t0", 1);
90
89
  case 1:
91
- _context3.next = 2;
90
+ _context5.next = 2;
92
91
  return (0, _awaitAsyncGenerator2["default"])(Promise.resolve(null));
93
92
  case 2:
94
- _context3.next = 3;
93
+ _context5.next = 3;
95
94
  return function (oldEntity) {
96
95
  return _objectSpread(_objectSpread({}, oldEntity), {}, {
97
96
  size: size
98
97
  });
99
98
  };
100
99
  case 3:
101
- return _context3.abrupt("return", size);
100
+ return _context5.abrupt("return", size);
102
101
  case 4:
103
102
  case "end":
104
- return _context3.stop();
103
+ return _context5.stop();
105
104
  }
106
105
  }, _callee2);
107
106
  }));
108
107
  return function readFile(_x, _x2) {
109
- return _ref.apply(this, arguments);
108
+ return _ref7.apply(this, arguments);
110
109
  };
111
110
  }();
112
111
  var isImage = function isImage(entity) {
@@ -138,19 +137,19 @@ var mathUseCase = function mathUseCase() {
138
137
  var fieldPathUseCase = function fieldPathUseCase() {
139
138
  return (0, _usecases.objectUseCase)();
140
139
  };
141
- var Child = function Child(_ref2) {
142
- var _ref2$textPrefix = _ref2.textPrefix,
143
- textPrefix = _ref2$textPrefix === void 0 ? '' : _ref2$textPrefix,
144
- onUpdate = _ref2.onUpdate,
145
- onPathChange = _ref2.onPathChange,
146
- onUndefinedEntity = _ref2.onUndefinedEntity;
140
+ var Child = function Child(_ref) {
141
+ var _ref$textPrefix = _ref.textPrefix,
142
+ textPrefix = _ref$textPrefix === void 0 ? '' : _ref$textPrefix,
143
+ onUpdate = _ref.onUpdate,
144
+ onPathChange = _ref.onPathChange,
145
+ onUndefinedEntity = _ref.onUndefinedEntity;
147
146
  var _useUseCase = (0, _.useUseCase)(fileUseCase),
148
147
  _useUseCase2 = (0, _slicedToArray2["default"])(_useUseCase, 2),
149
148
  file = _useUseCase2[0],
150
149
  setPath = _useUseCase2[1].setPath;
151
- var _ref3 = file || {},
152
- path = _ref3.path,
153
- ext = _ref3.ext;
150
+ var _ref2 = file || {},
151
+ path = _ref2.path,
152
+ ext = _ref2.ext;
154
153
  var onClick = function onClick() {
155
154
  setPath(PATH_2);
156
155
  };
@@ -180,10 +179,10 @@ var Child = function Child(_ref2) {
180
179
  })]
181
180
  });
182
181
  };
183
- var Parent = function Parent(_ref4) {
184
- var children = _ref4.children,
185
- onUpdate = _ref4.onUpdate,
186
- onSetPath = _ref4.onSetPath;
182
+ var Parent = function Parent(_ref3) {
183
+ var children = _ref3.children,
184
+ onUpdate = _ref3.onUpdate,
185
+ onSetPath = _ref3.onSetPath;
187
186
  var _useUseCase3 = (0, _.useUseCase)(defaultFile, fileUseCase),
188
187
  _useUseCase4 = (0, _slicedToArray2["default"])(_useUseCase3, 3),
189
188
  _useUseCase4$ = _useUseCase4[0],
@@ -212,10 +211,10 @@ var Parent = function Parent(_ref4) {
212
211
  })
213
212
  });
214
213
  };
215
- var MathParent = function MathParent(_ref5) {
216
- var _ref5$extraValue = _ref5.extraValue,
217
- extraValue = _ref5$extraValue === void 0 ? 0 : _ref5$extraValue,
218
- onUpdate = _ref5.onUpdate;
214
+ var MathParent = function MathParent(_ref4) {
215
+ var _ref4$extraValue = _ref4.extraValue,
216
+ extraValue = _ref4$extraValue === void 0 ? 0 : _ref4$extraValue,
217
+ onUpdate = _ref4.onUpdate;
219
218
  var _useUseCase5 = (0, _.useUseCase)(mathUseCase, {
220
219
  extraValue: extraValue
221
220
  }, [extraValue]),
@@ -588,8 +587,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
588
587
  var onDeepUpdate = _globals.jest.fn();
589
588
  var _renderHook15 = (0, _react.renderHook)(function () {
590
589
  var context = (0, _.useUseCase)(defaultFile, fileUseCase);
591
- var _context4 = (0, _slicedToArray2["default"])(context, 2),
592
- reducers = _context4[1];
590
+ var _context = (0, _slicedToArray2["default"])(context, 2),
591
+ reducers = _context[1];
593
592
  var isImage = reducers.isImage;
594
593
  var update = (0, _ahooks.useUpdate)();
595
594
  (0, _ahooks.useUpdateEffect)(function () {
@@ -652,8 +651,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
652
651
  });
653
652
  (0, _globals.test)('after `yield entity` on async mode, it should trigger update', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
654
653
  var onUpdate, _renderHook17, result, cores, _cores8, entity, reducers, readFile, promise;
655
- return _regenerator["default"].wrap(function (_context5) {
656
- while (1) switch (_context5.prev = _context5.next) {
654
+ return _regenerator["default"].wrap(function (_context6) {
655
+ while (1) switch (_context6.prev = _context6.next) {
657
656
  case 0:
658
657
  onUpdate = _globals.jest.fn();
659
658
  _renderHook17 = (0, _react.renderHook)(function () {
@@ -671,7 +670,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
671
670
  (0, _globals.expect)(result.current).toBe(cores);
672
671
  (0, _globals.expect)(result.current).toEqual(cores);
673
672
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(0);
674
- _context5.next = 1;
673
+ _context6.next = 1;
675
674
  return promise;
676
675
  case 1:
677
676
  (0, _globals.expect)(result.current[0]).not.toBe(entity);
@@ -683,7 +682,7 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
683
682
  (0, _globals.expect)(onUpdate).toHaveBeenCalledTimes(1);
684
683
  case 2:
685
684
  case "end":
686
- return _context5.stop();
685
+ return _context6.stop();
687
686
  }
688
687
  }, _callee3);
689
688
  })));
@@ -1024,8 +1023,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1024
1023
  }),
1025
1024
  result = _renderHook25.result;
1026
1025
  var context = result.current;
1027
- var _context6 = (0, _slicedToArray2["default"])(context, 2),
1028
- setPath = _context6[1].setPath;
1026
+ var _context2 = (0, _slicedToArray2["default"])(context, 2),
1027
+ setPath = _context2[1].setPath;
1029
1028
  (0, _react.act)(function () {
1030
1029
  setPath(PATH_1);
1031
1030
  onPathChange = onPathChange2;
@@ -1970,8 +1969,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
1970
1969
  var onChangeB = _globals.jest.fn(updateChangeTimes);
1971
1970
  var onChangeC = _globals.jest.fn(updateChangeTimes);
1972
1971
  var buttonText = 'my button';
1973
- var A = function A(_ref7) {
1974
- var children = _ref7.children;
1972
+ var A = function A(_ref5) {
1973
+ var children = _ref5.children;
1975
1974
  (0, _.useUseCase)(fileUseCase, {
1976
1975
  onChange: onChangeA
1977
1976
  });
@@ -2113,8 +2112,8 @@ var useDeepCompareUpdate = function useDeepCompareUpdate(callback, deps) {
2113
2112
  var onChangeB = _globals.jest.fn(updateChangeTimes);
2114
2113
  var onChangeC = _globals.jest.fn(updateChangeTimes);
2115
2114
  var buttonText = 'my button';
2116
- var A = function A(_ref8) {
2117
- var children = _ref8.children;
2115
+ var A = function A(_ref6) {
2116
+ var children = _ref6.children;
2118
2117
  (0, _.useUseCase)(fileUseCase, {
2119
2118
  watch: {
2120
2119
  ext: onChangeA
@@ -11,13 +11,15 @@ var triggerWatchers = exports.triggerWatchers = function triggerWatchers(watch,
11
11
  var _valueUseCase = (0, _valueUseCase2.valueUseCase)(),
12
12
  matchProperty = _valueUseCase.matchProperty;
13
13
  var _loop = function _loop() {
14
- var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
15
- fieldPath = _Object$entries$_i[0],
16
- watcher = _Object$entries$_i[1];
17
- matchProperty(oldEntity, newEntity, fieldPath, function (result) {
18
- watcher(result);
19
- });
20
- };
14
+ var _ref = _Object$entries[_i];
15
+ _ref2 = (0, _slicedToArray2["default"])(_ref, 2);
16
+ var fieldPath = _ref2[0];
17
+ var watcher = _ref2[1];
18
+ matchProperty(oldEntity, newEntity, fieldPath, function (result) {
19
+ watcher(result);
20
+ });
21
+ },
22
+ _ref2;
21
23
  for (var _i = 0, _Object$entries = Object.entries(watch); _i < _Object$entries.length; _i++) {
22
24
  _loop();
23
25
  }
@@ -8,8 +8,8 @@ exports.valueUseCase = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
11
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _usecases = require("@mic-rexjs/usecases");
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "2.12.0",
3
+ "version": "2.12.2",
4
4
  "description": "React-based solution for use usecases of Clean Architecture",
5
5
  "private": false,
6
6
  "sideEffects": false,
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "license": "MIT",
37
37
  "peerDependencies": {
38
- "@mic-rexjs/usecases": "^2.14.2",
38
+ "@mic-rexjs/usecases": "^2.15.3",
39
39
  "react": ">=16.8.0"
40
40
  },
41
41
  "dependencies": {
@@ -54,7 +54,7 @@
54
54
  "@eslint/js": "^10.0.1",
55
55
  "@ianvs/prettier-plugin-sort-imports": "^4.7.1",
56
56
  "@jest/globals": "^30.3.0",
57
- "@mic-rexjs/usecases": "^2.15.2",
57
+ "@mic-rexjs/usecases": "^2.15.3",
58
58
  "@testing-library/dom": "^10.4.1",
59
59
  "@testing-library/react": "^16.3.2",
60
60
  "@types/node": "^25.6.0",