@mic-rexjs/usecases-react 2.4.0 → 2.5.1
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/enums/UseCaseArgumentTypes/index.d.ts +1 -2
- package/es/enums/UseCaseArgumentTypes/index.js +0 -1
- package/es/enums/UseCaseStatuses/index.d.ts +1 -3
- package/es/enums/UseCaseStatuses/index.js +0 -4
- package/es/hooks/useArgumentTypes/index.js +1 -4
- package/es/hooks/useEntity/index.js +9 -12
- package/es/hooks/useRuntimeEntity/index.d.ts +2 -1
- package/es/hooks/useRuntimeEntity/index.js +2 -11
- package/es/hooks/useUseCase/index.js +2 -2
- package/es/hooks/useUseCase/index.test.js +53 -129
- package/es/hooks/useUseCase/types.d.ts +2 -6
- package/es/hooks/useUseCaseStatuses/index.d.ts +1 -2
- package/es/hooks/useUseCaseStatuses/index.js +2 -11
- package/es/index.d.ts +0 -2
- package/es/index.js +0 -2
- package/es/methods/fillArguments/index.js +2 -20
- package/es/methods/fillArguments/types.d.ts +0 -2
- package/lib/enums/UseCaseArgumentTypes/index.js +0 -1
- package/lib/enums/UseCaseStatuses/index.js +0 -4
- package/lib/hooks/useArgumentTypes/index.js +2 -6
- package/lib/hooks/useEntity/index.js +7 -15
- package/lib/hooks/useRuntimeEntity/index.js +2 -11
- package/lib/hooks/useUseCase/index.js +4 -5
- package/lib/hooks/useUseCase/index.test.js +147 -248
- package/lib/hooks/useUseCaseStatuses/index.js +2 -11
- package/lib/index.js +1 -15
- package/lib/methods/fillArguments/index.js +4 -10
- package/package.json +2 -2
- package/es/enums/UseCaseModes/index.d.ts +0 -5
- package/es/enums/UseCaseModes/index.js +0 -6
- package/es/hooks/useStateControllableUseCase/index.d.ts +0 -2
- package/es/hooks/useStateControllableUseCase/index.js +0 -5
- package/es/hooks/useStateControllableUseCase/index.test.d.ts +0 -1
- package/es/hooks/useStateControllableUseCase/index.test.js +0 -37
- package/es/hooks/useStateControllableUseCase/types.d.ts +0 -3
- package/es/hooks/useStateControllableUseCase/types.js +0 -1
- package/es/hooks/useStatelessUseCase/index.d.ts +0 -2
- package/es/hooks/useStatelessUseCase/index.js +0 -5
- package/es/hooks/useStatelessUseCase/index.test.d.ts +0 -1
- package/es/hooks/useStatelessUseCase/index.test.js +0 -37
- package/es/hooks/useStatelessUseCase/types.d.ts +0 -3
- package/es/hooks/useStatelessUseCase/types.js +0 -1
- package/lib/enums/UseCaseModes/index.js +0 -12
- package/lib/hooks/useStateControllableUseCase/index.js +0 -11
- package/lib/hooks/useStateControllableUseCase/index.test.js +0 -37
- package/lib/hooks/useStateControllableUseCase/types.js +0 -5
- package/lib/hooks/useStatelessUseCase/index.js +0 -11
- package/lib/hooks/useStatelessUseCase/index.test.js +0 -37
- package/lib/hooks/useStatelessUseCase/types.js +0 -5
|
@@ -12,15 +12,11 @@ var _useConstant = require("../useConstant");
|
|
|
12
12
|
var useArgumentTypes = exports.useArgumentTypes = function useArgumentTypes(args) {
|
|
13
13
|
return (0, _useConstant.useConstant)(function () {
|
|
14
14
|
var types = _UseCaseArgumentTypes.UseCaseArgumentTypes.None;
|
|
15
|
-
var _args = (0, _slicedToArray2["default"])(args,
|
|
16
|
-
arg2 = _args[1]
|
|
17
|
-
arg3 = _args[2];
|
|
15
|
+
var _args = (0, _slicedToArray2["default"])(args, 2),
|
|
16
|
+
arg2 = _args[1];
|
|
18
17
|
var type2 = (0, _typeof2["default"])(arg2);
|
|
19
18
|
if (type2 === 'function') {
|
|
20
19
|
types |= _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity;
|
|
21
|
-
if (typeof arg3 === 'number') {
|
|
22
|
-
types |= _UseCaseArgumentTypes.UseCaseArgumentTypes.Mode;
|
|
23
|
-
}
|
|
24
20
|
}
|
|
25
21
|
return types;
|
|
26
22
|
});
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.useEntity = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
7
|
var _react = require("react");
|
|
10
8
|
var _usecases = require("@mic-rexjs/usecases");
|
|
11
9
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
@@ -14,29 +12,23 @@ var _ahooks = require("ahooks");
|
|
|
14
12
|
var _triggerWatchers = require("../../methods/triggerWatchers");
|
|
15
13
|
var _useRuntimeEntity = require("../useRuntimeEntity");
|
|
16
14
|
var useEntity = exports.useEntity = function useEntity(statuses, rootEntity, contextStore, options, depsKey) {
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
entityState = _useState2[0],
|
|
20
|
-
setEntityState = _useState2[1];
|
|
15
|
+
var update = (0, _ahooks.useUpdate)();
|
|
16
|
+
var optionsRef = (0, _ahooks.useLatest)(options);
|
|
21
17
|
var contextEntity = contextStore ? contextStore.value : null;
|
|
22
|
-
var runtimeEntity = (0, _useRuntimeEntity.useRuntimeEntity)(statuses, entityState, rootEntity, contextEntity);
|
|
23
18
|
var entityEnabled = (statuses & _UseCaseStatuses.UseCaseStatuses.EntityEnabled) === _UseCaseStatuses.UseCaseStatuses.EntityEnabled;
|
|
24
19
|
var entityRootEnabled = (statuses & _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled) === _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled;
|
|
25
|
-
var optionsRef = (0, _ahooks.useLatest)(options);
|
|
26
20
|
var store = (0, _useContextualItem.useContextualItem)(contextStore, statuses, function () {
|
|
27
21
|
if (!entityRootEnabled) {
|
|
28
22
|
return new _usecases.EntityStore(null);
|
|
29
23
|
}
|
|
30
|
-
var
|
|
31
|
-
return new _usecases.EntityStore(
|
|
32
|
-
onChange: function onChange(
|
|
33
|
-
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
setEntityState(newEntity);
|
|
24
|
+
var isFunction = typeof rootEntity === 'function';
|
|
25
|
+
return new _usecases.EntityStore(isFunction ? rootEntity() : rootEntity, {
|
|
26
|
+
onChange: function onChange() {
|
|
27
|
+
update();
|
|
37
28
|
}
|
|
38
29
|
});
|
|
39
30
|
});
|
|
31
|
+
var runtimeEntity = (0, _useRuntimeEntity.useRuntimeEntity)(store, rootEntity, contextEntity, statuses);
|
|
40
32
|
if (entityRootEnabled) {
|
|
41
33
|
// 执行同步操作
|
|
42
34
|
store.value = runtimeEntity;
|
|
@@ -6,27 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useRuntimeEntity = void 0;
|
|
7
7
|
var _UseCaseStatuses = require("../../enums/UseCaseStatuses");
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
var useRuntimeEntity = exports.useRuntimeEntity = function useRuntimeEntity(
|
|
9
|
+
var useRuntimeEntity = exports.useRuntimeEntity = function useRuntimeEntity(store, rootEntity, contextEntity, statuses) {
|
|
10
10
|
var prevRootEntityRef = (0, _react.useRef)(rootEntity);
|
|
11
11
|
var entityRootDisabled = (statuses & _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled) !== _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled;
|
|
12
12
|
if (entityRootDisabled) {
|
|
13
13
|
return contextEntity;
|
|
14
14
|
}
|
|
15
15
|
var isFunction = typeof rootEntity === 'function';
|
|
16
|
-
var statelessEnable = (statuses & _UseCaseStatuses.UseCaseStatuses.StatelessEnabled) === _UseCaseStatuses.UseCaseStatuses.StatelessEnabled;
|
|
17
|
-
if (statelessEnable) {
|
|
18
|
-
if (isFunction) {
|
|
19
|
-
return rootEntity();
|
|
20
|
-
}
|
|
21
|
-
return rootEntity;
|
|
22
|
-
}
|
|
23
16
|
var prevRootEntity = prevRootEntityRef.current;
|
|
24
|
-
var stateControllableDisabled = (statuses & _UseCaseStatuses.UseCaseStatuses.StateControllableEnabled) !== _UseCaseStatuses.UseCaseStatuses.StateControllableEnabled;
|
|
25
17
|
switch (true) {
|
|
26
|
-
case stateControllableDisabled:
|
|
27
18
|
case isFunction:
|
|
28
19
|
case prevRootEntity === rootEntity:
|
|
29
|
-
return
|
|
20
|
+
return store.value;
|
|
30
21
|
}
|
|
31
22
|
prevRootEntityRef.current = rootEntity;
|
|
32
23
|
return rootEntity;
|
|
@@ -30,19 +30,18 @@ var useUseCase = exports.useUseCase = function useUseCase() {
|
|
|
30
30
|
}
|
|
31
31
|
var argumentTypes = (0, _useArgumentTypes.useArgumentTypes)(args);
|
|
32
32
|
var fullArguments = (0, _fillArguments.fillArguments)(args, argumentTypes);
|
|
33
|
-
var _fullArguments = (0, _slicedToArray2["default"])(fullArguments,
|
|
33
|
+
var _fullArguments = (0, _slicedToArray2["default"])(fullArguments, 4),
|
|
34
34
|
unsafeEntity = _fullArguments[0],
|
|
35
35
|
unsafeUsecase = _fullArguments[1],
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
deps = _fullArguments[4];
|
|
36
|
+
options = _fullArguments[2],
|
|
37
|
+
deps = _fullArguments[3];
|
|
39
38
|
var unkownUsecase = (0, _useConstantFn.useConstantFn)(unsafeUsecase);
|
|
40
39
|
var usecase = unkownUsecase;
|
|
41
40
|
var entityUseCase = unkownUsecase;
|
|
42
41
|
var context = (0, _useUseCaseContext.useUseCaseContext)(unkownUsecase, argumentTypes);
|
|
43
42
|
var contextValue = (0, _react.useContext)(context);
|
|
44
43
|
var entityContextValue = contextValue;
|
|
45
|
-
var statuses = (0, _useUseCaseStatuses.useUseCaseStatuses)(argumentTypes,
|
|
44
|
+
var statuses = (0, _useUseCaseStatuses.useUseCaseStatuses)(argumentTypes, contextValue);
|
|
46
45
|
var optionsRef = (0, _ahooks.useLatest)(options);
|
|
47
46
|
var depsKey = (0, _useCompareDeps.useCompareDeps)(deps);
|
|
48
47
|
var _ref = contextValue || {},
|