@mic-rexjs/usecases-react 2.10.2 → 2.11.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/dist/index.min.js.LICENSE.txt +4 -2
- package/es/components/SafeUseCaseFragment/index.js +1 -1
- package/es/components/UseCaseFragment/index.js +2 -2
- package/es/components/UseCaseFragment/types.d.ts +1 -1
- package/es/entities/matchPropertyFailedResult/types.d.ts +7 -0
- package/es/hooks/useArgumentTypes/index.d.ts +1 -1
- package/es/hooks/useArgumentTypes/index.js +3 -4
- package/es/hooks/useConstantEntityReducers/index.d.ts +3 -0
- package/es/hooks/useConstantEntityReducers/index.js +7 -0
- package/es/hooks/useConstantReducers/index.d.ts +3 -0
- package/es/hooks/useConstantReducers/index.js +6 -0
- package/es/hooks/useContext/index.d.ts +2 -2
- package/es/hooks/useContext/index.test.js +2 -2
- package/es/hooks/useContextualItem/index.d.ts +3 -2
- package/es/hooks/useContextualItem/index.js +18 -8
- package/es/hooks/useDepsKey/index.d.ts +2 -0
- package/es/hooks/useDepsKey/index.js +7 -0
- package/es/hooks/useEntity/index.d.ts +3 -2
- package/es/hooks/useEntity/index.js +17 -9
- package/es/hooks/useFullArguments/index.d.ts +3 -3
- package/es/hooks/useFullArguments/types.d.ts +5 -4
- package/es/hooks/useIsRenderingRef/index.js +3 -3
- package/es/hooks/useProvider/index.d.ts +3 -3
- package/es/hooks/useProvider/index.js +3 -3
- package/es/hooks/useProvider/types.d.ts +0 -1
- package/es/hooks/useRuntimeEntity/index.d.ts +3 -2
- package/es/hooks/useRuntimeEntity/index.js +8 -6
- package/es/hooks/useStatuses/index.d.ts +2 -2
- package/es/hooks/useStatuses/index.js +1 -1
- package/es/hooks/useUseCase/index.js +22 -16
- package/es/hooks/useUseCase/index.test.js +70 -6
- package/es/hooks/useUseCase/types.d.ts +13 -16
- package/es/methods/triggerWatchers/index.js +4 -9
- package/es/types.d.ts +3 -0
- package/es/usecases/contextUseCase/index.js +1 -1
- package/es/usecases/contextUseCase/types.d.ts +2 -3
- package/es/usecases/methodUseCase/index.d.ts +2 -0
- package/es/usecases/methodUseCase/index.js +55 -0
- package/es/usecases/methodUseCase/types.d.ts +21 -0
- package/es/usecases/valueUseCase/index.d.ts +2 -0
- package/es/usecases/valueUseCase/index.js +172 -0
- package/es/usecases/valueUseCase/types.d.ts +20 -0
- package/es/usecases/valueUseCase/types.js +1 -0
- package/lib/components/SafeUseCaseFragment/index.js +1 -1
- package/lib/components/UseCaseFragment/index.js +2 -2
- package/lib/hooks/useArgumentTypes/index.js +3 -4
- package/lib/hooks/useConstantEntityReducers/index.js +13 -0
- package/lib/hooks/useConstantReducers/index.js +12 -0
- package/lib/hooks/useContext/index.test.js +2 -2
- package/lib/hooks/useContextualItem/index.js +18 -7
- package/lib/hooks/useDepsKey/index.js +18 -0
- package/lib/hooks/useEntity/index.js +21 -10
- package/lib/hooks/useIsRenderingRef/index.js +2 -2
- package/lib/hooks/useProvider/index.js +4 -6
- package/lib/hooks/useRuntimeEntity/index.js +10 -6
- package/lib/hooks/useStatuses/index.js +1 -1
- package/lib/hooks/useUseCase/index.js +30 -19
- package/lib/hooks/useUseCase/index.test.js +242 -158
- package/lib/methods/triggerWatchers/index.js +5 -9
- package/lib/usecases/contextUseCase/index.js +1 -1
- package/lib/usecases/methodUseCase/index.js +79 -0
- package/lib/usecases/valueUseCase/index.js +246 -0
- package/lib/usecases/valueUseCase/types.js +5 -0
- package/package.json +45 -40
- package/es/hooks/useCompareDeps/index.d.ts +0 -1
- package/es/hooks/useCompareDeps/index.js +0 -11
- package/es/methods/cacheCall/index.d.ts +0 -2
- package/es/methods/cacheCall/index.js +0 -26
- package/es/methods/cacheCall/types.d.ts +0 -13
- package/es/methods/cacheCalls/index.d.ts +0 -2
- package/es/methods/cacheCalls/index.js +0 -8
- package/es/methods/captureCalls/index.d.ts +0 -2
- package/es/methods/captureCalls/index.js +0 -14
- package/es/methods/captureCalls/types.d.ts +0 -4
- package/es/methods/compareProperty/index.d.ts +0 -2
- package/es/methods/compareProperty/index.js +0 -34
- package/es/methods/compareProperty/types.d.ts +0 -3
- package/es/methods/hasField/index.d.ts +0 -1
- package/es/methods/hasField/index.js +0 -6
- package/es/methods/initEntityReducers/index.d.ts +0 -5
- package/es/methods/initEntityReducers/index.js +0 -11
- package/es/methods/isSameArray/index.d.ts +0 -1
- package/es/methods/isSameArray/index.js +0 -14
- package/lib/hooks/useCompareDeps/index.js +0 -17
- package/lib/methods/cacheCall/index.js +0 -41
- package/lib/methods/cacheCalls/index.js +0 -19
- package/lib/methods/captureCalls/index.js +0 -23
- package/lib/methods/compareProperty/index.js +0 -49
- package/lib/methods/hasField/index.js +0 -14
- package/lib/methods/initEntityReducers/index.js +0 -24
- package/lib/methods/isSameArray/index.js +0 -20
- /package/es/{methods/cacheCall → entities/matchPropertyFailedResult}/types.js +0 -0
- /package/es/{methods/captureCalls/types.js → types.js} +0 -0
- /package/es/{methods/compareProperty → usecases/methodUseCase}/types.js +0 -0
- /package/lib/{methods/cacheCall → entities/matchPropertyFailedResult}/types.js +0 -0
- /package/lib/{methods/captureCalls/types.js → types.js} +0 -0
- /package/lib/{methods/compareProperty → usecases/methodUseCase}/types.js +0 -0
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const isSameArray = (array1, array2) => {
|
|
2
|
-
const { length: length1 } = array1;
|
|
3
|
-
const { length: length2 } = array2;
|
|
4
|
-
if (length1 !== length2) {
|
|
5
|
-
return false;
|
|
6
|
-
}
|
|
7
|
-
for (let i = 0; i < length1; i++) {
|
|
8
|
-
if (array1[i] === array2[i]) {
|
|
9
|
-
continue;
|
|
10
|
-
}
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
return true;
|
|
14
|
-
};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useCompareDeps = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _isSameArray = require("../../methods/isSameArray");
|
|
9
|
-
var useCompareDeps = exports.useCompareDeps = function useCompareDeps(deps) {
|
|
10
|
-
var updateTimesRef = (0, _react.useRef)(0);
|
|
11
|
-
var prevDepsRef = (0, _react.useRef)([]);
|
|
12
|
-
var prevDeps = prevDepsRef.current;
|
|
13
|
-
var isSame = (0, _isSameArray.isSameArray)(deps, prevDeps);
|
|
14
|
-
prevDepsRef.current = deps;
|
|
15
|
-
updateTimesRef.current += isSame ? 0 : 1;
|
|
16
|
-
return updateTimesRef.current;
|
|
17
|
-
};
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.cacheCall = void 0;
|
|
7
|
-
var _isSameArray = require("../isSameArray");
|
|
8
|
-
var cacheCall = exports.cacheCall = function cacheCall(factory, options) {
|
|
9
|
-
var cache;
|
|
10
|
-
var _ref = options || {},
|
|
11
|
-
_ref$onShouldCache = _ref.onShouldCache,
|
|
12
|
-
onShouldCache = _ref$onShouldCache === void 0 ? function () {
|
|
13
|
-
return true;
|
|
14
|
-
} : _ref$onShouldCache,
|
|
15
|
-
_ref$onCompare = _ref.onCompare,
|
|
16
|
-
onCompare = _ref$onCompare === void 0 ? function (newArgs, oldArgs) {
|
|
17
|
-
return (0, _isSameArray.isSameArray)(newArgs, oldArgs);
|
|
18
|
-
} : _ref$onCompare;
|
|
19
|
-
return function () {
|
|
20
|
-
var cacheable = onShouldCache();
|
|
21
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
22
|
-
args[_key] = arguments[_key];
|
|
23
|
-
}
|
|
24
|
-
if (cache && cacheable) {
|
|
25
|
-
var _cache = cache,
|
|
26
|
-
parameters = _cache.parameters,
|
|
27
|
-
_returnValue = _cache.returnValue;
|
|
28
|
-
if (onCompare(parameters, args)) {
|
|
29
|
-
return _returnValue;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
var returnValue = factory.apply(void 0, args);
|
|
33
|
-
if (cacheable) {
|
|
34
|
-
cache = {
|
|
35
|
-
parameters: args,
|
|
36
|
-
returnValue: returnValue
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return returnValue;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
@@ -1,19 +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.cacheCalls = void 0;
|
|
8
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var _cacheCall = require("../cacheCall");
|
|
10
|
-
var cacheCalls = exports.cacheCalls = function cacheCalls(sourceFactories, options) {
|
|
11
|
-
var cachedFactories = {};
|
|
12
|
-
Object.entries(sourceFactories).forEach(function (_ref) {
|
|
13
|
-
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
14
|
-
key = _ref2[0],
|
|
15
|
-
factory = _ref2[1];
|
|
16
|
-
cachedFactories[key] = (0, _cacheCall.cacheCall)(factory, options);
|
|
17
|
-
});
|
|
18
|
-
return cachedFactories;
|
|
19
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
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
|
-
};
|
|
@@ -1,49 +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.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 = exports.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
|
-
};
|
|
@@ -1,14 +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.hasField = void 0;
|
|
8
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
-
var hasField = exports.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
|
-
};
|
|
@@ -1,24 +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.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 = ["watch", "onChange", "options"];
|
|
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
|
-
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
|
-
var initEntityReducers = exports.initEntityReducers = function initEntityReducers(usecase, store, options) {
|
|
15
|
-
var watch = options.watch,
|
|
16
|
-
onChange = options.onChange,
|
|
17
|
-
usecaseOptions = options.options,
|
|
18
|
-
restUseCaseOptions = (0, _objectWithoutProperties2["default"])(options, _excluded);
|
|
19
|
-
return (0, _usecases.createEntityReducers)(store, usecase, _objectSpread(_objectSpread(_objectSpread({}, restUseCaseOptions), usecaseOptions), {}, {
|
|
20
|
-
onGenerate: function onGenerate(newEntity, result) {
|
|
21
|
-
return result;
|
|
22
|
-
}
|
|
23
|
-
}));
|
|
24
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.isSameArray = void 0;
|
|
7
|
-
var isSameArray = exports.isSameArray = function isSameArray(array1, array2) {
|
|
8
|
-
var length1 = array1.length;
|
|
9
|
-
var length2 = array2.length;
|
|
10
|
-
if (length1 !== length2) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
for (var i = 0; i < length1; i++) {
|
|
14
|
-
if (array1[i] === array2[i]) {
|
|
15
|
-
continue;
|
|
16
|
-
}
|
|
17
|
-
return false;
|
|
18
|
-
}
|
|
19
|
-
return true;
|
|
20
|
-
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|