@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
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.captureCalls = void 0;
|
|
7
|
+
var captureCalls = exports.captureCalls = function captureCalls(obj, callback) {
|
|
8
|
+
var newObj = {};
|
|
9
|
+
Object.keys(obj).forEach(function (key) {
|
|
10
|
+
var value = obj[key];
|
|
11
|
+
if (typeof value === 'function') {
|
|
12
|
+
newObj[key] = function () {
|
|
13
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
14
|
+
args[_key] = arguments[_key];
|
|
15
|
+
}
|
|
16
|
+
return callback(key, args);
|
|
17
|
+
};
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
newObj[key] = value;
|
|
21
|
+
});
|
|
22
|
+
return newObj;
|
|
23
|
+
};
|
|
@@ -8,12 +8,11 @@ exports.initEntityReducers = void 0;
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _usecases = require("@mic-rexjs/usecases");
|
|
11
|
-
var _excluded = ["
|
|
11
|
+
var _excluded = ["onChange", "options"];
|
|
12
12
|
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; }
|
|
13
13
|
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; }
|
|
14
14
|
var initEntityReducers = exports.initEntityReducers = function initEntityReducers(usecase, store, options) {
|
|
15
|
-
var
|
|
16
|
-
onChange = options.onChange,
|
|
15
|
+
var onChange = options.onChange,
|
|
17
16
|
usecaseOptions = options.options,
|
|
18
17
|
restUseCaseOptions = (0, _objectWithoutProperties2["default"])(options, _excluded);
|
|
19
18
|
return (0, _usecases.createEntityReducers)(store, usecase, _objectSpread(_objectSpread(_objectSpread({}, restUseCaseOptions), usecaseOptions), {}, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.4",
|
|
4
4
|
"description": "React-based solution for use usecases of Clean Architecture",
|
|
5
5
|
"private": false,
|
|
6
6
|
"keywords": [
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"license": "MIT",
|
|
35
35
|
"peerDependencies": {
|
|
36
|
-
"@mic-rexjs/usecases": "^2.
|
|
36
|
+
"@mic-rexjs/usecases": "^2.7.5",
|
|
37
37
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@commitlint/cli": "^19.0.3",
|
|
50
50
|
"@commitlint/config-angular": "^19.0.3",
|
|
51
51
|
"@jest/globals": "^29.5.0",
|
|
52
|
-
"@mic-rexjs/usecases": "^2.
|
|
52
|
+
"@mic-rexjs/usecases": "^2.7.5",
|
|
53
53
|
"@testing-library/react": "^14.0.0",
|
|
54
54
|
"@types/node": "^20.4.2",
|
|
55
55
|
"@types/react": "^18.2.14",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useCreation, useLatest } from 'ahooks';
|
|
2
|
-
import { useCompareDeps } from '../useCompareDeps';
|
|
3
|
-
import { cacheCall } from '../../methods/cacheCall';
|
|
4
|
-
export const useMemoizedCall = (factory, deps) => {
|
|
5
|
-
const depsKey = useCompareDeps(deps);
|
|
6
|
-
const factoryRef = useLatest(factory);
|
|
7
|
-
return useCreation(() => {
|
|
8
|
-
void depsKey;
|
|
9
|
-
return cacheCall(factoryRef.current, {
|
|
10
|
-
onCompare() {
|
|
11
|
-
return true;
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
}, [depsKey, factoryRef]);
|
|
15
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { compareProperty } from '../compareProperty';
|
|
2
|
-
export const triggerWatchers = (watch, newEntity, oldEntity) => {
|
|
3
|
-
for (const [fieldPath, watcher] of Object.entries(watch)) {
|
|
4
|
-
compareProperty(oldEntity, newEntity, fieldPath, (oldValue, newValue, fieldPaths) => {
|
|
5
|
-
watcher({
|
|
6
|
-
fieldPaths,
|
|
7
|
-
newEntity,
|
|
8
|
-
oldEntity,
|
|
9
|
-
newValue,
|
|
10
|
-
oldValue,
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useMemoizedCall = void 0;
|
|
7
|
-
var _ahooks = require("ahooks");
|
|
8
|
-
var _useCompareDeps = require("../useCompareDeps");
|
|
9
|
-
var _cacheCall = require("../../methods/cacheCall");
|
|
10
|
-
var useMemoizedCall = exports.useMemoizedCall = function useMemoizedCall(factory, deps) {
|
|
11
|
-
var depsKey = (0, _useCompareDeps.useCompareDeps)(deps);
|
|
12
|
-
var factoryRef = (0, _ahooks.useLatest)(factory);
|
|
13
|
-
return (0, _ahooks.useCreation)(function () {
|
|
14
|
-
void depsKey;
|
|
15
|
-
return (0, _cacheCall.cacheCall)(factoryRef.current, {
|
|
16
|
-
onCompare: function onCompare() {
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}, [depsKey, factoryRef]);
|
|
21
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.triggerCallbacks = void 0;
|
|
7
|
-
var triggerCallbacks = exports.triggerCallbacks = function triggerCallbacks(callbacks, newEntity, oldEntity) {
|
|
8
|
-
for (var i = callbacks.length; i > 0; i--) {
|
|
9
|
-
callbacks[i - 1](newEntity, oldEntity);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.triggerWatchers = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _compareProperty = require("../compareProperty");
|
|
10
|
-
var triggerWatchers = exports.triggerWatchers = function triggerWatchers(watch, newEntity, oldEntity) {
|
|
11
|
-
var _loop = function _loop() {
|
|
12
|
-
var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
|
|
13
|
-
fieldPath = _Object$entries$_i[0],
|
|
14
|
-
watcher = _Object$entries$_i[1];
|
|
15
|
-
(0, _compareProperty.compareProperty)(oldEntity, newEntity, fieldPath, function (oldValue, newValue, fieldPaths) {
|
|
16
|
-
watcher({
|
|
17
|
-
fieldPaths: fieldPaths,
|
|
18
|
-
newEntity: newEntity,
|
|
19
|
-
oldEntity: oldEntity,
|
|
20
|
-
newValue: newValue,
|
|
21
|
-
oldValue: oldValue
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
|
-
for (var _i = 0, _Object$entries = Object.entries(watch); _i < _Object$entries.length; _i++) {
|
|
26
|
-
_loop();
|
|
27
|
-
}
|
|
28
|
-
};
|