@mic-rexjs/usecases-react 2.1.3 → 2.2.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.
- package/dist/index.min.js +1 -1
- package/es/components/UseCaseFragment/index.d.ts +2 -2
- package/es/components/UseCaseFragment/types.d.ts +3 -3
- package/es/configs/defaultUseCaseContext/index.d.ts +3 -1
- package/es/configs/defaultUseCaseContext/types.d.ts +7 -5
- package/es/configs/useCaseContextReferenceMap/types.d.ts +2 -2
- package/es/hooks/useArgumentTypes/index.js +2 -5
- package/es/hooks/useContextualItem/index.d.ts +1 -1
- package/es/hooks/useContextualItem/index.js +1 -1
- package/es/hooks/useEntity/index.js +5 -6
- package/es/hooks/useGlobalUseCase/index.js +2 -2
- package/es/hooks/useGlobalUseCase/index.test.js +23 -7
- package/es/hooks/useGlobalUseCase/types.d.ts +2 -4
- package/es/hooks/useProvider/index.d.ts +2 -2
- package/es/hooks/useProvider/index.js +2 -1
- package/es/hooks/useUseCase/index.js +10 -12
- package/es/hooks/useUseCase/index.test.js +68 -105
- package/es/hooks/useUseCase/types.d.ts +19 -45
- package/es/hooks/useUseCaseContext/index.d.ts +2 -3
- package/es/hooks/useUseCaseContext/index.js +3 -8
- package/es/hooks/useUseCaseContext/index.test.js +2 -30
- package/es/hooks/useUseCaseStatuses/index.d.ts +2 -2
- package/es/hooks/useUseCaseStatuses/index.js +3 -3
- package/es/index.d.ts +1 -1
- package/es/methods/fillArguments/index.d.ts +2 -2
- package/es/methods/fillArguments/index.js +0 -9
- package/es/methods/fillArguments/types.d.ts +3 -3
- package/es/methods/initEntityReducers/index.d.ts +2 -2
- package/lib/hooks/useArgumentTypes/index.js +2 -5
- package/lib/hooks/useContextualItem/index.js +1 -1
- package/lib/hooks/useEntity/index.js +5 -8
- package/lib/hooks/useGlobalUseCase/index.js +2 -2
- package/lib/hooks/useGlobalUseCase/index.test.js +18 -7
- package/lib/hooks/useProvider/index.js +4 -2
- package/lib/hooks/useUseCase/index.js +12 -12
- package/lib/hooks/useUseCase/index.test.js +147 -182
- package/lib/hooks/useUseCaseContext/index.js +2 -8
- package/lib/hooks/useUseCaseContext/index.test.js +8 -36
- package/lib/hooks/useUseCaseStatuses/index.js +3 -3
- package/lib/methods/fillArguments/index.js +0 -3
- package/package.json +3 -3
- package/es/enums/UseCaseModeErrors/index.d.ts +0 -4
- package/es/enums/UseCaseModeErrors/index.js +0 -5
- package/es/hooks/useSafeMode/index.d.ts +0 -3
- package/es/hooks/useSafeMode/index.js +0 -18
- package/lib/enums/UseCaseModeErrors/index.js +0 -11
- package/lib/hooks/useSafeMode/index.js +0 -24
|
@@ -7,7 +7,6 @@ var _react = require("@testing-library/react");
|
|
|
7
7
|
var _ = require(".");
|
|
8
8
|
var _defaultUseCaseContext = require("../../configs/defaultUseCaseContext");
|
|
9
9
|
var _useCaseContextReferenceMap = require("../../configs/useCaseContextReferenceMap");
|
|
10
|
-
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
11
10
|
var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
12
11
|
var testUseCase = function testUseCase() {
|
|
13
12
|
return {};
|
|
@@ -23,7 +22,7 @@ var testUseCase = function testUseCase() {
|
|
|
23
22
|
});
|
|
24
23
|
(0, _globals.test)('should return the default context if map has not saved a usecase with `UseCaseArgumentTypes.None` & `UseCaseModes.Normal`', function () {
|
|
25
24
|
var _renderHook2 = (0, _react.renderHook)(function () {
|
|
26
|
-
return (0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.None
|
|
25
|
+
return (0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.None);
|
|
27
26
|
}),
|
|
28
27
|
result = _renderHook2.result;
|
|
29
28
|
var current = result.current;
|
|
@@ -31,51 +30,24 @@ var testUseCase = function testUseCase() {
|
|
|
31
30
|
});
|
|
32
31
|
(0, _globals.test)('should return a new context if map has not saved a usecase with `UseCaseArgumentTypes.Entity` & `UseCaseModes.Normal`', function () {
|
|
33
32
|
var _renderHook3 = (0, _react.renderHook)(function () {
|
|
34
|
-
return (0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity
|
|
33
|
+
return (0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity);
|
|
35
34
|
}),
|
|
36
35
|
result = _renderHook3.result;
|
|
37
36
|
var current = result.current;
|
|
38
37
|
(0, _globals.expect)((0, _typeof2["default"])(current)).toBe('object');
|
|
39
38
|
});
|
|
40
|
-
(0, _globals.test)('should return a new context if map has not saved a usecase with `UseCaseArgumentTypes.None` & `UseCaseModes.Global`', function () {
|
|
41
|
-
var _renderHook4 = (0, _react.renderHook)(function () {
|
|
42
|
-
return (0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.None, _UseCaseModes.UseCaseModes.Global);
|
|
43
|
-
}),
|
|
44
|
-
result = _renderHook4.result;
|
|
45
|
-
var current = result.current;
|
|
46
|
-
(0, _globals.expect)((0, _typeof2["default"])(current)).toBe('object');
|
|
47
|
-
});
|
|
48
|
-
_globals.test.each([{
|
|
49
|
-
type: _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity,
|
|
50
|
-
mode: _UseCaseModes.UseCaseModes.Normal
|
|
51
|
-
}, {
|
|
52
|
-
type: _UseCaseArgumentTypes.UseCaseArgumentTypes.None,
|
|
53
|
-
mode: _UseCaseModes.UseCaseModes.Global
|
|
54
|
-
}, {
|
|
55
|
-
type: _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity,
|
|
56
|
-
mode: _UseCaseModes.UseCaseModes.Global
|
|
57
|
-
}])('should return the existing context if map has save a usecase already', function (_ref) {
|
|
58
|
-
var type = _ref.type,
|
|
59
|
-
mode = _ref.mode;
|
|
60
|
-
var _renderHook5 = (0, _react.renderHook)(function () {
|
|
61
|
-
return (0, _.useUseCaseContext)(testUseCase, type, mode) === (0, _.useUseCaseContext)(testUseCase);
|
|
62
|
-
}),
|
|
63
|
-
result = _renderHook5.result;
|
|
64
|
-
var isSame = result.current;
|
|
65
|
-
(0, _globals.expect)(isSame).toBe(true);
|
|
66
|
-
});
|
|
67
39
|
(0, _globals.test)('check context reference times when mount/unmount a usecase', function () {
|
|
68
|
-
var
|
|
40
|
+
var _renderHook4 = (0, _react.renderHook)(function () {
|
|
69
41
|
(0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity);
|
|
70
42
|
}),
|
|
71
|
-
unmount1 =
|
|
43
|
+
unmount1 = _renderHook4.unmount;
|
|
72
44
|
var _usecaseContextRefere = _useCaseContextReferenceMap.usecaseContextReferenceMap.get(testUseCase),
|
|
73
45
|
times1 = _usecaseContextRefere.times;
|
|
74
|
-
var
|
|
46
|
+
var _renderHook5 = (0, _react.renderHook)(function () {
|
|
75
47
|
(0, _.useUseCaseContext)(testUseCase);
|
|
76
48
|
(0, _.useUseCaseContext)(testUseCase);
|
|
77
49
|
}),
|
|
78
|
-
unmount2 =
|
|
50
|
+
unmount2 = _renderHook5.unmount;
|
|
79
51
|
var _usecaseContextRefere2 = _useCaseContextReferenceMap.usecaseContextReferenceMap.get(testUseCase),
|
|
80
52
|
times2 = _usecaseContextRefere2.times;
|
|
81
53
|
(0, _globals.expect)(times1).toBe(1);
|
|
@@ -89,10 +61,10 @@ var testUseCase = function testUseCase() {
|
|
|
89
61
|
(0, _globals.expect)(hasSaved).toBe(false);
|
|
90
62
|
});
|
|
91
63
|
(0, _globals.test)('context reference times should not change when rerender hooks', function () {
|
|
92
|
-
var
|
|
64
|
+
var _renderHook6 = (0, _react.renderHook)(function () {
|
|
93
65
|
(0, _.useUseCaseContext)(testUseCase, _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity);
|
|
94
66
|
}),
|
|
95
|
-
rerender =
|
|
67
|
+
rerender = _renderHook6.rerender;
|
|
96
68
|
rerender();
|
|
97
69
|
var _usecaseContextRefere4 = _useCaseContextReferenceMap.usecaseContextReferenceMap.get(testUseCase),
|
|
98
70
|
times = _usecaseContextRefere4.times;
|
|
@@ -16,10 +16,10 @@ var useUseCaseStatuses = exports.useUseCaseStatuses = function useUseCaseStatuse
|
|
|
16
16
|
if ((argumentTypes & _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) === _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) {
|
|
17
17
|
statuses |= _UseCaseStatuses.UseCaseStatuses.EntityRootEnabled;
|
|
18
18
|
}
|
|
19
|
-
if (contextValue
|
|
20
|
-
statuses |= _UseCaseStatuses.UseCaseStatuses.RootEnabled;
|
|
21
|
-
} else {
|
|
19
|
+
if (contextValue) {
|
|
22
20
|
statuses |= _UseCaseStatuses.UseCaseStatuses.ContextEnabled;
|
|
21
|
+
} else {
|
|
22
|
+
statuses |= _UseCaseStatuses.UseCaseStatuses.RootEnabled;
|
|
23
23
|
}
|
|
24
24
|
if (store) {
|
|
25
25
|
statuses |= _UseCaseStatuses.UseCaseStatuses.EntityEnabled;
|
|
@@ -23,8 +23,5 @@ var fillArguments = exports.fillArguments = function fillArguments(args, argumen
|
|
|
23
23
|
}
|
|
24
24
|
return [arg1, arg2, _UseCaseModes.UseCaseModes.Normal, arg3 || {}, arg4 || []];
|
|
25
25
|
}
|
|
26
|
-
if (hasMode) {
|
|
27
|
-
return [null, arg1, arg2, arg3 || {}, arg4 || []];
|
|
28
|
-
}
|
|
29
26
|
return [null, arg1, _UseCaseModes.UseCaseModes.Normal, arg2 || {}, arg3 || []];
|
|
30
27
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
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.5.1",
|
|
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.5.1",
|
|
53
53
|
"@testing-library/react": "^14.0.0",
|
|
54
54
|
"@types/node": "^20.4.2",
|
|
55
55
|
"@types/react": "^18.2.14",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export var UseCaseModeErrors;
|
|
2
|
-
(function (UseCaseModeErrors) {
|
|
3
|
-
UseCaseModeErrors["UnsupportedGlobal"] = "useUseCase does not support \"global\" mode with entity usecase";
|
|
4
|
-
UseCaseModeErrors["UnsupportedStateless"] = "useUseCase does not support \"stateless\" mode with non-entity usecase";
|
|
5
|
-
})(UseCaseModeErrors || (UseCaseModeErrors = {}));
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { UseCaseArgumentTypes } from '../../enums/UseCaseArgumentTypes';
|
|
2
|
-
import { UseCaseModes } from '../../enums/UseCaseModes';
|
|
3
|
-
import { useConstant } from '../useConstant';
|
|
4
|
-
import { UseCaseModeErrors } from '../../enums/UseCaseModeErrors';
|
|
5
|
-
export const useSafeMode = (unsafeMode, argumentTypes) => {
|
|
6
|
-
return useConstant(() => {
|
|
7
|
-
if ((argumentTypes & UseCaseArgumentTypes.Entity) === UseCaseArgumentTypes.Entity) {
|
|
8
|
-
if ((unsafeMode & UseCaseModes.Global) === UseCaseModes.Global) {
|
|
9
|
-
throw UseCaseModeErrors.UnsupportedGlobal;
|
|
10
|
-
}
|
|
11
|
-
return unsafeMode;
|
|
12
|
-
}
|
|
13
|
-
if ((unsafeMode & UseCaseModes.Stateless) === UseCaseModes.Stateless) {
|
|
14
|
-
throw UseCaseModeErrors.UnsupportedStateless;
|
|
15
|
-
}
|
|
16
|
-
return unsafeMode;
|
|
17
|
-
});
|
|
18
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.UseCaseModeErrors = void 0;
|
|
7
|
-
var UseCaseModeErrors;
|
|
8
|
-
(function (UseCaseModeErrors) {
|
|
9
|
-
UseCaseModeErrors["UnsupportedGlobal"] = "useUseCase does not support \"global\" mode with entity usecase";
|
|
10
|
-
UseCaseModeErrors["UnsupportedStateless"] = "useUseCase does not support \"stateless\" mode with non-entity usecase";
|
|
11
|
-
})(UseCaseModeErrors || (exports.UseCaseModeErrors = UseCaseModeErrors = {}));
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useSafeMode = void 0;
|
|
7
|
-
var _UseCaseArgumentTypes = require("../../enums/UseCaseArgumentTypes");
|
|
8
|
-
var _UseCaseModes = require("../../enums/UseCaseModes");
|
|
9
|
-
var _useConstant = require("../useConstant");
|
|
10
|
-
var _UseCaseModeErrors = require("../../enums/UseCaseModeErrors");
|
|
11
|
-
var useSafeMode = exports.useSafeMode = function useSafeMode(unsafeMode, argumentTypes) {
|
|
12
|
-
return (0, _useConstant.useConstant)(function () {
|
|
13
|
-
if ((argumentTypes & _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) === _UseCaseArgumentTypes.UseCaseArgumentTypes.Entity) {
|
|
14
|
-
if ((unsafeMode & _UseCaseModes.UseCaseModes.Global) === _UseCaseModes.UseCaseModes.Global) {
|
|
15
|
-
throw _UseCaseModeErrors.UseCaseModeErrors.UnsupportedGlobal;
|
|
16
|
-
}
|
|
17
|
-
return unsafeMode;
|
|
18
|
-
}
|
|
19
|
-
if ((unsafeMode & _UseCaseModes.UseCaseModes.Stateless) === _UseCaseModes.UseCaseModes.Stateless) {
|
|
20
|
-
throw _UseCaseModeErrors.UseCaseModeErrors.UnsupportedStateless;
|
|
21
|
-
}
|
|
22
|
-
return unsafeMode;
|
|
23
|
-
});
|
|
24
|
-
};
|