@mic-rexjs/usecases-react 1.3.36 → 1.4.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/README.md +2 -2
- package/dist/index.min.js +1 -1
- package/es/components/UpdateFragment/index.d.ts +2 -0
- package/es/components/UpdateFragment/index.js +8 -0
- package/es/components/UpdateFragment/types.d.ts +3 -0
- package/es/components/UseCaseFragment/index.d.ts +1 -1
- package/es/components/UseCaseFragment/types.d.ts +3 -3
- package/es/configs/defaultUseCaseContext/index.d.ts +3 -1
- package/es/configs/defaultUseCaseContext/index.js +1 -1
- package/es/configs/defaultUseCaseContext/types.d.ts +11 -0
- package/es/configs/defaultUseCaseContext/types.js +1 -0
- package/es/configs/usecaseContextMap/index.d.ts +1 -3
- package/es/configs/usecaseContextMap/types.d.ts +4 -17
- package/es/hooks/useCompareDeps/index.d.ts +1 -0
- package/es/hooks/useCompareDeps/index.js +24 -0
- package/es/hooks/useConstant/index.d.ts +2 -0
- package/es/hooks/useConstant/index.js +5 -0
- package/es/hooks/useConstant/types.d.ts +3 -0
- package/es/hooks/useConstant/types.js +1 -0
- package/es/hooks/useConstantFn/index.d.ts +1 -0
- package/es/hooks/useConstantFn/index.js +7 -0
- package/es/hooks/useOptionsRefCollection/index.d.ts +3 -0
- package/es/hooks/useOptionsRefCollection/index.js +22 -0
- package/es/hooks/useOptionsRefCollection/types.d.ts +2 -0
- package/es/hooks/useOptionsRefCollection/types.js +1 -0
- package/es/hooks/useProvider/index.d.ts +7 -0
- package/es/hooks/useProvider/index.js +17 -0
- package/es/hooks/useProvider/types.d.ts +3 -0
- package/es/hooks/useProvider/types.js +1 -0
- package/es/hooks/useScope/index.d.ts +2 -0
- package/es/hooks/useScope/index.js +3 -0
- package/es/hooks/useScope/types.d.ts +3 -0
- package/es/hooks/useScope/types.js +1 -0
- package/es/hooks/useUseCase/index.js +68 -89
- package/es/hooks/useUseCase/index.test.js +638 -156
- package/es/hooks/useUseCase/types.d.ts +27 -13
- package/es/hooks/useUseCaseContext/index.d.ts +3 -0
- package/es/hooks/useUseCaseContext/index.js +17 -0
- package/es/index.d.ts +3 -2
- package/es/methods/compareProperty/index.d.ts +2 -0
- package/es/methods/compareProperty/index.js +34 -0
- package/es/methods/compareProperty/types.d.ts +3 -0
- package/es/methods/compareProperty/types.js +1 -0
- package/es/methods/getRootEntity/index.d.ts +2 -0
- package/es/methods/getRootEntity/index.js +9 -0
- package/es/methods/hasField/index.d.ts +1 -0
- package/es/methods/hasField/index.js +6 -0
- package/es/methods/initEntityReducers/index.d.ts +5 -0
- package/es/methods/initEntityReducers/index.js +13 -0
- package/es/methods/initEntityReducers/types.d.ts +3 -0
- package/es/methods/initEntityReducers/types.js +1 -0
- package/es/methods/removeItem/index.d.ts +1 -0
- package/es/methods/removeItem/index.js +7 -0
- package/es/methods/triggerCallbacks/index.d.ts +3 -0
- package/es/methods/triggerCallbacks/index.js +14 -0
- package/es/methods/triggerWatchers/index.d.ts +2 -0
- package/es/methods/triggerWatchers/index.js +14 -0
- package/lib/components/UpdateFragment/index.js +16 -0
- package/lib/configs/defaultUseCaseContext/index.js +1 -1
- package/lib/configs/defaultUseCaseContext/types.js +5 -0
- package/lib/hooks/useCompareDeps/index.js +31 -0
- package/lib/hooks/useConstant/index.js +16 -0
- package/lib/hooks/useConstant/types.js +5 -0
- package/lib/hooks/useConstantFn/index.js +18 -0
- package/lib/hooks/useOptionsRefCollection/index.js +29 -0
- package/lib/hooks/useOptionsRefCollection/types.js +5 -0
- package/lib/hooks/useProvider/index.js +30 -0
- package/lib/hooks/useProvider/types.js +5 -0
- package/lib/hooks/useScope/index.js +10 -0
- package/lib/hooks/useScope/types.js +5 -0
- package/lib/hooks/useUseCase/index.js +73 -115
- package/lib/hooks/useUseCase/index.test.js +841 -240
- package/lib/hooks/useUseCaseContext/index.js +24 -0
- package/lib/methods/compareProperty/index.js +50 -0
- package/lib/methods/compareProperty/types.js +5 -0
- package/lib/methods/getRootEntity/index.js +16 -0
- package/lib/methods/hasField/index.js +15 -0
- package/lib/methods/initEntityReducers/index.js +29 -0
- package/lib/methods/initEntityReducers/types.js +5 -0
- package/lib/methods/removeItem/index.js +14 -0
- package/lib/methods/triggerCallbacks/index.js +22 -0
- package/lib/{hooks/useUseCase/methods → methods}/triggerWatchers/index.js +16 -9
- package/package.json +2 -2
- package/es/core/usecases/optionsGetterCellectionUseCase/index.d.ts +0 -2
- package/es/core/usecases/optionsGetterCellectionUseCase/index.js +0 -13
- package/es/core/usecases/optionsGetterCellectionUseCase/types.d.ts +0 -8
- package/es/hooks/useOptionsTransfer/index.d.ts +0 -3
- package/es/hooks/useOptionsTransfer/index.js +0 -15
- package/es/hooks/useUseCase/methods/triggerCallbacks/index.d.ts +0 -3
- package/es/hooks/useUseCase/methods/triggerCallbacks/index.js +0 -11
- package/es/hooks/useUseCase/methods/triggerWatchers/index.d.ts +0 -2
- package/es/hooks/useUseCase/methods/triggerWatchers/index.js +0 -10
- package/lib/core/usecases/optionsGetterCellectionUseCase/index.js +0 -23
- package/lib/hooks/useOptionsTransfer/index.js +0 -23
- package/lib/hooks/useUseCase/methods/triggerCallbacks/index.js +0 -32
- /package/es/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js +0 -0
- /package/lib/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useUseCaseContext = void 0;
|
|
7
|
+
var _useConstant = require("../useConstant");
|
|
8
|
+
var _usecaseContextMap = require("../../configs/usecaseContextMap");
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var useUseCaseContext = function useUseCaseContext(usecase, defaultContext) {
|
|
11
|
+
return (0, _useConstant.useConstant)(function () {
|
|
12
|
+
var map = _usecaseContextMap.usecaseContextMap;
|
|
13
|
+
if (map.has(usecase)) {
|
|
14
|
+
return map.get(usecase);
|
|
15
|
+
}
|
|
16
|
+
if (defaultContext) {
|
|
17
|
+
return defaultContext;
|
|
18
|
+
}
|
|
19
|
+
var ctx = (0, _react.createContext)({});
|
|
20
|
+
map.set(usecase, ctx);
|
|
21
|
+
return ctx;
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
exports.useUseCaseContext = useUseCaseContext;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.compareProperty = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _hasField = require("../hasField");
|
|
11
|
+
var compareProperty = function compareProperty(from, to, fieldPath, callback) {
|
|
12
|
+
var fieldPathStack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
|
|
13
|
+
var undef = void 0;
|
|
14
|
+
var _ref = fieldPath.match(/^([^.]+)\.(.+)$/) || [],
|
|
15
|
+
_ref2 = (0, _slicedToArray2["default"])(_ref, 3),
|
|
16
|
+
_ref2$ = _ref2[1],
|
|
17
|
+
key = _ref2$ === void 0 ? fieldPath : _ref2$,
|
|
18
|
+
_ref2$2 = _ref2[2],
|
|
19
|
+
subFieldPath = _ref2$2 === void 0 ? '' : _ref2$2;
|
|
20
|
+
var hasFromField = (0, _hasField.hasField)(from, key);
|
|
21
|
+
var hasToField = (0, _hasField.hasField)(to, key);
|
|
22
|
+
var currentFieldPathStack = [].concat((0, _toConsumableArray2["default"])(fieldPathStack), [key]);
|
|
23
|
+
if (hasFromField || hasToField) {
|
|
24
|
+
var fromValue = hasFromField ? from[key] : undef;
|
|
25
|
+
var toValue = hasToField ? to[key] : undef;
|
|
26
|
+
if (subFieldPath) {
|
|
27
|
+
compareProperty(fromValue, toValue, subFieldPath, callback, currentFieldPathStack);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (fromValue === toValue) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
callback(fromValue, toValue, currentFieldPathStack);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (/^\d+^/.test(key)) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var fromArray = Array.isArray(from) ? from : [];
|
|
40
|
+
var toArray = Array.isArray(to) ? to : [];
|
|
41
|
+
var fromLength = fromArray.length;
|
|
42
|
+
var toLength = toArray.length;
|
|
43
|
+
var length = Math.max(fromLength, toLength);
|
|
44
|
+
for (var i = 0; i < length; i++) {
|
|
45
|
+
var fromItem = fromArray[i];
|
|
46
|
+
var toItem = toArray[i];
|
|
47
|
+
compareProperty(fromItem, toItem, fieldPath, callback, [].concat((0, _toConsumableArray2["default"])(fieldPathStack), ["".concat(i)]));
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.compareProperty = compareProperty;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRootEntity = void 0;
|
|
7
|
+
var getRootEntity = function getRootEntity(entityState, entityArg, stateless) {
|
|
8
|
+
if (!stateless) {
|
|
9
|
+
return entityState;
|
|
10
|
+
}
|
|
11
|
+
if (typeof entityArg === 'function') {
|
|
12
|
+
return entityArg();
|
|
13
|
+
}
|
|
14
|
+
return entityArg;
|
|
15
|
+
};
|
|
16
|
+
exports.getRootEntity = getRootEntity;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.hasField = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var hasField = function hasField(data, field) {
|
|
10
|
+
if ((0, _typeof2["default"])(data) !== 'object' || data === null) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return Object.hasOwn(data, field);
|
|
14
|
+
};
|
|
15
|
+
exports.hasField = hasField;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.initEntityReducers = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _usecases = require("@mic-rexjs/usecases");
|
|
11
|
+
var _excluded = ["stateless", "watch", "onChange", "options"];
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
var initEntityReducers = function initEntityReducers(entity, usecase, options, onEntityChange) {
|
|
15
|
+
var _entityReducerUseCase = (0, _usecases.entityReducerUseCase)(),
|
|
16
|
+
createEntityReducers = _entityReducerUseCase.createEntityReducers;
|
|
17
|
+
var stateless = options.stateless,
|
|
18
|
+
watch = options.watch,
|
|
19
|
+
onChange = options.onChange,
|
|
20
|
+
usecaseOptions = options.options,
|
|
21
|
+
restUseCaseOptions = (0, _objectWithoutProperties2["default"])(options, _excluded);
|
|
22
|
+
return createEntityReducers(entity, usecase, _objectSpread(_objectSpread(_objectSpread({}, restUseCaseOptions), usecaseOptions), {}, {
|
|
23
|
+
onChange: onEntityChange,
|
|
24
|
+
onGenerate: function onGenerate(newEntity, result) {
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
exports.initEntityReducers = initEntityReducers;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.removeItem = void 0;
|
|
7
|
+
var removeItem = function removeItem(list, item) {
|
|
8
|
+
var index = list.indexOf(item);
|
|
9
|
+
if (index === -1) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
list.splice(index, 1);
|
|
13
|
+
};
|
|
14
|
+
exports.removeItem = removeItem;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.triggerCallbacks = void 0;
|
|
7
|
+
var _triggerWatchers = require("../triggerWatchers");
|
|
8
|
+
var triggerCallbacks = function triggerCallbacks(optionsRefCollection, newEntity, oldEntity) {
|
|
9
|
+
for (var i = optionsRefCollection.length; i > 0; i--) {
|
|
10
|
+
var options = optionsRefCollection[i - 1].current;
|
|
11
|
+
if (!options) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
var onChange = options.onChange,
|
|
15
|
+
watch = options.watch;
|
|
16
|
+
if (watch) {
|
|
17
|
+
(0, _triggerWatchers.triggerWatchers)(watch, newEntity, oldEntity);
|
|
18
|
+
}
|
|
19
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(newEntity, oldEntity);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.triggerCallbacks = triggerCallbacks;
|
|
@@ -6,17 +6,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.triggerWatchers = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var
|
|
10
|
-
|
|
9
|
+
var _compareProperty = require("../compareProperty");
|
|
10
|
+
var triggerWatchers = function triggerWatchers(watch, newEntity, oldEntity) {
|
|
11
|
+
var _loop = function _loop() {
|
|
11
12
|
var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
|
|
12
|
-
|
|
13
|
+
fieldPath = _Object$entries$_i[0],
|
|
13
14
|
watcher = _Object$entries$_i[1];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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();
|
|
20
27
|
}
|
|
21
28
|
};
|
|
22
29
|
exports.triggerWatchers = triggerWatchers;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mic-rexjs/usecases-react",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "React-based solution for use usecases of Clean Architecture",
|
|
5
5
|
"private": false,
|
|
6
6
|
"keywords": [
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@commitlint/cli": "^17.6.6",
|
|
49
49
|
"@commitlint/config-angular": "^17.6.6",
|
|
50
50
|
"@jest/globals": "^29.5.0",
|
|
51
|
-
"@mic-rexjs/usecases": "^1.4.
|
|
51
|
+
"@mic-rexjs/usecases": "^1.4.11",
|
|
52
52
|
"@testing-library/react": "^14.0.0",
|
|
53
53
|
"@types/node": "^20.4.2",
|
|
54
54
|
"@types/react": "^18.2.14",
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const optionsGetterCollectionUseCase = (collection) => {
|
|
2
|
-
const addOptionsGetter = (getter) => {
|
|
3
|
-
collection.unshift(getter);
|
|
4
|
-
};
|
|
5
|
-
const removeOptionsGetter = (getter) => {
|
|
6
|
-
const index = collection.indexOf(getter);
|
|
7
|
-
if (index === -1) {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
collection.splice(index, 1);
|
|
11
|
-
};
|
|
12
|
-
return { addOptionsGetter, removeOptionsGetter };
|
|
13
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Reducers } from '@mic-rexjs/usecases';
|
|
2
|
-
export interface OptionsGetter<T> {
|
|
3
|
-
(): T;
|
|
4
|
-
}
|
|
5
|
-
export type OptionsGetterCollectionReducers<T> = Reducers<{
|
|
6
|
-
addOptionsGetter(getter: OptionsGetter<T>): void;
|
|
7
|
-
removeOptionsGetter(getter: OptionsGetter<T>): void;
|
|
8
|
-
}>;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { UseCaseHookOptions } from '../useUseCase/types';
|
|
2
|
-
import { OptionsGetterCollectionReducers } from '../../core/usecases/optionsGetterCellectionUseCase/types';
|
|
3
|
-
export declare const useOptionsTransfer: <T, TOptions extends object>(options: UseCaseHookOptions<T, TOptions>, optionsGetterListReducers: OptionsGetterCollectionReducers<UseCaseHookOptions<T, TOptions>>) => void;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { useCreation, useMemoizedFn, usePrevious, useUnmount } from 'ahooks';
|
|
2
|
-
export const useOptionsTransfer = (options, optionsGetterListReducers) => {
|
|
3
|
-
const { addOptionsGetter, removeOptionsGetter } = optionsGetterListReducers;
|
|
4
|
-
const prevRemoveOptionsGetter = usePrevious(removeOptionsGetter);
|
|
5
|
-
const getOptions = useMemoizedFn(() => {
|
|
6
|
-
return options;
|
|
7
|
-
});
|
|
8
|
-
useCreation(() => {
|
|
9
|
-
prevRemoveOptionsGetter?.(getOptions);
|
|
10
|
-
addOptionsGetter(getOptions);
|
|
11
|
-
}, [addOptionsGetter, prevRemoveOptionsGetter, getOptions]);
|
|
12
|
-
useUnmount(() => {
|
|
13
|
-
removeOptionsGetter(getOptions);
|
|
14
|
-
});
|
|
15
|
-
};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { OptionsGetter } from '../../../../core/usecases/optionsGetterCellectionUseCase/types';
|
|
2
|
-
import { UseCaseHookOptions } from '../../types';
|
|
3
|
-
export declare const triggerCallbacks: <T, TOptions extends object>(getterList: OptionsGetter<UseCaseHookOptions<T, TOptions>>[], newEntity: T, prevEntity: T) => void;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { triggerWatchers } from '../triggerWatchers';
|
|
2
|
-
export const triggerCallbacks = (getterList, newEntity, prevEntity) => {
|
|
3
|
-
for (const getter of getterList) {
|
|
4
|
-
const { onChange, watch } = getter();
|
|
5
|
-
onChange?.(newEntity, prevEntity);
|
|
6
|
-
if (!watch) {
|
|
7
|
-
continue;
|
|
8
|
-
}
|
|
9
|
-
triggerWatchers(watch, newEntity, prevEntity);
|
|
10
|
-
}
|
|
11
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const triggerWatchers = (watch, newEntity, prevEntity) => {
|
|
2
|
-
for (const [property, watcher] of Object.entries(watch)) {
|
|
3
|
-
const newValue = newEntity?.[property];
|
|
4
|
-
const prevValue = prevEntity?.[property];
|
|
5
|
-
if (newValue === prevValue) {
|
|
6
|
-
continue;
|
|
7
|
-
}
|
|
8
|
-
watcher(newEntity, prevEntity);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.optionsGetterCollectionUseCase = void 0;
|
|
7
|
-
var optionsGetterCollectionUseCase = function optionsGetterCollectionUseCase(collection) {
|
|
8
|
-
var addOptionsGetter = function addOptionsGetter(getter) {
|
|
9
|
-
collection.unshift(getter);
|
|
10
|
-
};
|
|
11
|
-
var removeOptionsGetter = function removeOptionsGetter(getter) {
|
|
12
|
-
var index = collection.indexOf(getter);
|
|
13
|
-
if (index === -1) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
collection.splice(index, 1);
|
|
17
|
-
};
|
|
18
|
-
return {
|
|
19
|
-
addOptionsGetter: addOptionsGetter,
|
|
20
|
-
removeOptionsGetter: removeOptionsGetter
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
exports.optionsGetterCollectionUseCase = optionsGetterCollectionUseCase;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useOptionsTransfer = void 0;
|
|
7
|
-
var _ahooks = require("ahooks");
|
|
8
|
-
var useOptionsTransfer = function useOptionsTransfer(options, optionsGetterListReducers) {
|
|
9
|
-
var addOptionsGetter = optionsGetterListReducers.addOptionsGetter,
|
|
10
|
-
removeOptionsGetter = optionsGetterListReducers.removeOptionsGetter;
|
|
11
|
-
var prevRemoveOptionsGetter = (0, _ahooks.usePrevious)(removeOptionsGetter);
|
|
12
|
-
var getOptions = (0, _ahooks.useMemoizedFn)(function () {
|
|
13
|
-
return options;
|
|
14
|
-
});
|
|
15
|
-
(0, _ahooks.useCreation)(function () {
|
|
16
|
-
prevRemoveOptionsGetter === null || prevRemoveOptionsGetter === void 0 ? void 0 : prevRemoveOptionsGetter(getOptions);
|
|
17
|
-
addOptionsGetter(getOptions);
|
|
18
|
-
}, [addOptionsGetter, prevRemoveOptionsGetter, getOptions]);
|
|
19
|
-
(0, _ahooks.useUnmount)(function () {
|
|
20
|
-
removeOptionsGetter(getOptions);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
exports.useOptionsTransfer = useOptionsTransfer;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.triggerCallbacks = void 0;
|
|
7
|
-
var _triggerWatchers = require("../triggerWatchers");
|
|
8
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
-
var triggerCallbacks = function triggerCallbacks(getterList, newEntity, prevEntity) {
|
|
12
|
-
var _iterator = _createForOfIteratorHelper(getterList),
|
|
13
|
-
_step;
|
|
14
|
-
try {
|
|
15
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
16
|
-
var getter = _step.value;
|
|
17
|
-
var _getter = getter(),
|
|
18
|
-
onChange = _getter.onChange,
|
|
19
|
-
watch = _getter.watch;
|
|
20
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(newEntity, prevEntity);
|
|
21
|
-
if (!watch) {
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
(0, _triggerWatchers.triggerWatchers)(watch, newEntity, prevEntity);
|
|
25
|
-
}
|
|
26
|
-
} catch (err) {
|
|
27
|
-
_iterator.e(err);
|
|
28
|
-
} finally {
|
|
29
|
-
_iterator.f();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
exports.triggerCallbacks = triggerCallbacks;
|
/package/es/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js
RENAMED
|
File without changes
|
/package/lib/{core/usecases/optionsGetterCellectionUseCase → components/UpdateFragment}/types.js
RENAMED
|
File without changes
|