@mic-rexjs/usecases-react 2.12.2 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +3 -12
  2. package/dist/index.min.js +1 -1
  3. package/es/hooks/useContext/index.d.ts +2 -2
  4. package/es/hooks/useContextualItem/index.js +0 -1
  5. package/es/hooks/useEntity/index.d.ts +2 -3
  6. package/es/hooks/useEntity/index.js +19 -72
  7. package/es/hooks/useFullArguments/types.d.ts +3 -3
  8. package/es/hooks/useIsRenderingRef/index.d.ts +1 -1
  9. package/es/hooks/useProvider/index.d.ts +2 -2
  10. package/es/hooks/useReducers/index.d.ts +6 -0
  11. package/es/hooks/useReducers/index.js +40 -0
  12. package/es/hooks/useStatuses/index.d.ts +2 -2
  13. package/es/hooks/useStatuses/index.js +3 -1
  14. package/es/hooks/useStore/index.d.ts +6 -0
  15. package/es/hooks/useStore/index.js +68 -0
  16. package/es/hooks/useUseCase/index.js +11 -47
  17. package/es/hooks/useUseCase/index.test.js +222 -107
  18. package/es/hooks/useUseCase/types.d.ts +3 -4
  19. package/es/methods/initStore/index.d.ts +3 -0
  20. package/es/methods/initStore/index.js +23 -0
  21. package/es/types.d.ts +5 -1
  22. package/es/usecases/contextUseCase/types.d.ts +12 -12
  23. package/es/usecases/entityRuntimeUseCase/index.d.ts +2 -0
  24. package/es/usecases/entityRuntimeUseCase/index.js +16 -0
  25. package/es/usecases/entityRuntimeUseCase/types.d.ts +8 -0
  26. package/es/usecases/entityRuntimeUseCase/types.js +1 -0
  27. package/es/usecases/valueUseCase/index.js +1 -1
  28. package/lib/hooks/useContextualItem/index.js +0 -1
  29. package/lib/hooks/useEntity/index.js +19 -73
  30. package/lib/hooks/useReducers/index.js +50 -0
  31. package/lib/hooks/useStatuses/index.js +3 -1
  32. package/lib/hooks/useStore/index.js +75 -0
  33. package/lib/hooks/useUseCase/index.js +12 -48
  34. package/lib/hooks/useUseCase/index.test.js +283 -126
  35. package/lib/methods/initStore/index.js +29 -0
  36. package/lib/usecases/entityRuntimeUseCase/index.js +25 -0
  37. package/lib/usecases/entityRuntimeUseCase/types.js +5 -0
  38. package/lib/usecases/valueUseCase/index.js +1 -1
  39. package/package.json +3 -3
  40. package/es/hooks/useRuntimeEntity/index.d.ts +0 -5
  41. package/es/hooks/useRuntimeEntity/index.js +0 -22
  42. package/lib/hooks/useRuntimeEntity/index.js +0 -28
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.initStore = void 0;
7
+ var _usecases = require("@mic-rexjs/usecases");
8
+ var _entityRuntimeUseCase = require("../../usecases/entityRuntimeUseCase");
9
+ var initStore = exports.initStore = function initStore(entity, prevStore, changedDeps) {
10
+ var isFunction = typeof entity === 'function';
11
+ if (!isFunction) {
12
+ return new _usecases.EntityStore(entity);
13
+ }
14
+ var _ref = prevStore || {},
15
+ value = _ref.value;
16
+ var store = new _usecases.EntityStore(value);
17
+ var _createEntityReducers = (0, _usecases.createEntityReducers)(store, _entityRuntimeUseCase.entityRuntimeUseCase, {
18
+ onInit: function onInit(currentValue) {
19
+ return entity(currentValue, changedDeps);
20
+ },
21
+ onReturn: function onReturn(result) {
22
+ store.setValue(result);
23
+ return result;
24
+ }
25
+ }),
26
+ initEntity = _createEntityReducers.initEntity;
27
+ initEntity();
28
+ return store;
29
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.entityRuntimeUseCase = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _usecases = require("@mic-rexjs/usecases");
10
+ 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; }
11
+ 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; }
12
+ var entityRuntimeUseCase = exports.entityRuntimeUseCase = function entityRuntimeUseCase() {
13
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
+ var entityReducers = (0, _usecases.entityUseCase)();
15
+ var onInit = options.onInit;
16
+ var initEntity = function initEntity(entity) {
17
+ if (typeof onInit !== 'function') {
18
+ return entity;
19
+ }
20
+ return onInit(entity);
21
+ };
22
+ return _objectSpread(_objectSpread({}, entityReducers), {}, {
23
+ initEntity: initEntity
24
+ });
25
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -15,10 +15,10 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
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; }
16
16
  var valueUseCase = exports.valueUseCase = (0, _usecases.createUseCase)(function () {
17
17
  return function () {
18
+ var entityReducers = (0, _usecases.entityUseCase)();
18
19
  var _utilsUseCase = (0, _usecases.utilsUseCase)(),
19
20
  createKey = _utilsUseCase.createKey;
20
21
  var prevKeyIndex = createKey();
21
- var entityReducers = (0, _usecases.entityUseCase)();
22
22
  var hasField = function hasField(entity, field) {
23
23
  if ((0, _typeof2["default"])(entity) !== 'object' || entity === null) {
24
24
  return false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mic-rexjs/usecases-react",
3
- "version": "2.12.2",
3
+ "version": "2.13.0",
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.15.3",
38
+ "@mic-rexjs/usecases": "^3.0.2",
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.3",
57
+ "@mic-rexjs/usecases": "^3.0.2",
58
58
  "@testing-library/dom": "^10.4.1",
59
59
  "@testing-library/react": "^16.3.2",
60
60
  "@types/node": "^25.6.0",
@@ -1,5 +0,0 @@
1
- import { EntityStore } from '@mic-rexjs/usecases';
2
- import { Statuses } from '../../enums/Statuses';
3
- import { EntityGetter } from '../../hooks/useUseCase/types';
4
- import { Dependencies } from '../../types';
5
- export declare const useRuntimeEntity: <T, TDependencies extends Dependencies = Dependencies>(store: EntityStore<T>, entityArg: T | EntityGetter<T, TDependencies>, contextEntity: T, statuses: Statuses) => T;
@@ -1,22 +0,0 @@
1
- import { useConstantEntityReducers } from '../useConstantEntityReducers';
2
- import { Statuses } from '../../enums/Statuses';
3
- import { valueUseCase } from '../../usecases/valueUseCase';
4
- export const useRuntimeEntity = (store, entityArg, contextEntity, statuses) => {
5
- const _useConstantEntityRed = useConstantEntityReducers(entityArg, valueUseCase),
6
- isValueChanged = _useConstantEntityRed.isValueChanged,
7
- recordValue = _useConstantEntityRed.recordValue;
8
- const changed = isValueChanged(entityArg);
9
- const entityRootDisabled = (statuses & Statuses.EntityRootEnabled) !== Statuses.EntityRootEnabled;
10
- if (entityRootDisabled) {
11
- return contextEntity;
12
- }
13
- const isFunction = typeof entityArg === 'function';
14
- const value = store.value;
15
- switch (true) {
16
- case isFunction:
17
- case !changed:
18
- return value;
19
- }
20
- recordValue(entityArg);
21
- return entityArg;
22
- };
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useRuntimeEntity = void 0;
7
- var _useConstantEntityReducers = require("../useConstantEntityReducers");
8
- var _Statuses = require("../../enums/Statuses");
9
- var _valueUseCase = require("../../usecases/valueUseCase");
10
- var useRuntimeEntity = exports.useRuntimeEntity = function useRuntimeEntity(store, entityArg, contextEntity, statuses) {
11
- var _useConstantEntityRed = (0, _useConstantEntityReducers.useConstantEntityReducers)(entityArg, _valueUseCase.valueUseCase),
12
- isValueChanged = _useConstantEntityRed.isValueChanged,
13
- recordValue = _useConstantEntityRed.recordValue;
14
- var changed = isValueChanged(entityArg);
15
- var entityRootDisabled = (statuses & _Statuses.Statuses.EntityRootEnabled) !== _Statuses.Statuses.EntityRootEnabled;
16
- if (entityRootDisabled) {
17
- return contextEntity;
18
- }
19
- var isFunction = typeof entityArg === 'function';
20
- var value = store.value;
21
- switch (true) {
22
- case isFunction:
23
- case !changed:
24
- return value;
25
- }
26
- recordValue(entityArg);
27
- return entityArg;
28
- };