@adaas/a-concept 0.1.24 → 0.1.26
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.cjs +3 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +3961 -0
- package/dist/index.d.ts +3961 -50
- package/dist/index.mjs +3 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +5 -6
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +2 -1
- package/src/global/A-Context/A-Context.class.ts +81 -7
- package/src/global/A-Context/A-Context.error.ts +4 -0
- package/src/global/A-Dependency/A-Dependency-Default.decorator.ts +75 -0
- package/src/global/A-Dependency/A-Dependency-Load.decorator.ts +80 -0
- package/src/global/A-Dependency/A-Dependency-Require.decorator.ts +68 -0
- package/src/global/A-Dependency/A-Dependency.class.ts +33 -0
- package/src/global/A-Dependency/A-Dependency.error.ts +13 -0
- package/src/global/A-Dependency/A-Dependency.types.ts +28 -0
- package/src/global/A-Feature/A-Feature-Define.decorator.ts +2 -1
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +2 -1
- package/src/global/A-Feature/A-Feature.class.ts +11 -0
- package/src/global/A-Inject/A-Inject.decorator.ts +4 -2
- package/src/global/A-Inject/A-Inject.types.ts +5 -3
- package/src/global/A-Scope/A-Scope.class.ts +85 -57
- package/src/global/A-Stage/A-Stage.class.ts +22 -2
- package/src/global/A-Stage/A-Stage.error.ts +2 -0
- package/src/helpers/A_Common.helper.ts +101 -0
- package/src/helpers/A_TypeGuards.helper.ts +8 -0
- package/src/index.ts +88 -0
- package/tests/A-Component.test.ts +1 -1
- package/tests/A-Concept.test.ts +5 -6
- package/tests/A-Dependency.test.ts +93 -0
- package/tests/A-Feature.test.ts +7 -7
- package/tests/A-Scope.test.ts +10 -10
- package/tsconfig.json +2 -2
- package/tsup.config.ts +32 -0
- package/dist/index.js +0 -112
- package/dist/index.js.map +0 -1
- package/dist/src/constants/env.constants.d.ts +0 -33
- package/dist/src/constants/env.constants.js +0 -47
- package/dist/src/constants/env.constants.js.map +0 -1
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -23
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -96
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +0 -74
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js +0 -130
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +0 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +0 -7
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js +0 -12
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +0 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +0 -38
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -3
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +0 -1
- package/dist/src/global/A-Caller/A_Caller.class.d.ts +0 -33
- package/dist/src/global/A-Caller/A_Caller.class.js +0 -44
- package/dist/src/global/A-Caller/A_Caller.class.js.map +0 -1
- package/dist/src/global/A-Caller/A_Caller.error.d.ts +0 -7
- package/dist/src/global/A-Caller/A_Caller.error.js +0 -12
- package/dist/src/global/A-Caller/A_Caller.error.js.map +0 -1
- package/dist/src/global/A-Caller/A_Caller.types.d.ts +0 -18
- package/dist/src/global/A-Caller/A_Caller.types.js +0 -3
- package/dist/src/global/A-Caller/A_Caller.types.js.map +0 -1
- package/dist/src/global/A-Component/A-Component.class.d.ts +0 -34
- package/dist/src/global/A-Component/A-Component.class.js +0 -56
- package/dist/src/global/A-Component/A-Component.class.js.map +0 -1
- package/dist/src/global/A-Component/A-Component.constants.d.ts +0 -6
- package/dist/src/global/A-Component/A-Component.constants.js +0 -11
- package/dist/src/global/A-Component/A-Component.constants.js.map +0 -1
- package/dist/src/global/A-Component/A-Component.meta.d.ts +0 -34
- package/dist/src/global/A-Component/A-Component.meta.js +0 -78
- package/dist/src/global/A-Component/A-Component.meta.js.map +0 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +0 -76
- package/dist/src/global/A-Component/A-Component.types.js +0 -4
- package/dist/src/global/A-Component/A-Component.types.js.map +0 -1
- package/dist/src/global/A-Concept/A-Concept.class.d.ts +0 -153
- package/dist/src/global/A-Concept/A-Concept.class.js +0 -260
- package/dist/src/global/A-Concept/A-Concept.class.js.map +0 -1
- package/dist/src/global/A-Concept/A-Concept.constants.d.ts +0 -33
- package/dist/src/global/A-Concept/A-Concept.constants.js +0 -39
- package/dist/src/global/A-Concept/A-Concept.constants.js.map +0 -1
- package/dist/src/global/A-Concept/A-Concept.meta.d.ts +0 -6
- package/dist/src/global/A-Concept/A-Concept.meta.js +0 -12
- package/dist/src/global/A-Concept/A-Concept.meta.js.map +0 -1
- package/dist/src/global/A-Concept/A-Concept.types.d.ts +0 -66
- package/dist/src/global/A-Concept/A-Concept.types.js +0 -3
- package/dist/src/global/A-Concept/A-Concept.types.js.map +0 -1
- package/dist/src/global/A-Container/A-Container.class.d.ts +0 -52
- package/dist/src/global/A-Container/A-Container.class.js +0 -78
- package/dist/src/global/A-Container/A-Container.class.js.map +0 -1
- package/dist/src/global/A-Container/A-Container.constants.d.ts +0 -6
- package/dist/src/global/A-Container/A-Container.constants.js +0 -11
- package/dist/src/global/A-Container/A-Container.constants.js.map +0 -1
- package/dist/src/global/A-Container/A-Container.meta.d.ts +0 -35
- package/dist/src/global/A-Container/A-Container.meta.js +0 -76
- package/dist/src/global/A-Container/A-Container.meta.js.map +0 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +0 -75
- package/dist/src/global/A-Container/A-Container.types.js +0 -4
- package/dist/src/global/A-Container/A-Container.types.js.map +0 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +0 -361
- package/dist/src/global/A-Context/A-Context.class.js +0 -603
- package/dist/src/global/A-Context/A-Context.class.js.map +0 -1
- package/dist/src/global/A-Context/A-Context.error.d.ts +0 -20
- package/dist/src/global/A-Context/A-Context.error.js +0 -25
- package/dist/src/global/A-Context/A-Context.error.js.map +0 -1
- package/dist/src/global/A-Context/A-Context.types.d.ts +0 -5
- package/dist/src/global/A-Context/A-Context.types.js +0 -3
- package/dist/src/global/A-Context/A-Context.types.js.map +0 -1
- package/dist/src/global/A-Dependency/A-DependencyReference.class.d.ts +0 -0
- package/dist/src/global/A-Dependency/A-DependencyReference.class.js +0 -49
- package/dist/src/global/A-Dependency/A-DependencyReference.class.js.map +0 -1
- package/dist/src/global/A-Dependency/A-DependencyReference.types.d.ts +0 -0
- package/dist/src/global/A-Dependency/A-DependencyReference.types.js +0 -58
- package/dist/src/global/A-Dependency/A-DependencyReference.types.js.map +0 -1
- package/dist/src/global/A-Entity/A-Entity.class.d.ts +0 -214
- package/dist/src/global/A-Entity/A-Entity.class.js +0 -282
- package/dist/src/global/A-Entity/A-Entity.class.js.map +0 -1
- package/dist/src/global/A-Entity/A-Entity.constants.d.ts +0 -11
- package/dist/src/global/A-Entity/A-Entity.constants.js +0 -17
- package/dist/src/global/A-Entity/A-Entity.constants.js.map +0 -1
- package/dist/src/global/A-Entity/A-Entity.error.d.ts +0 -7
- package/dist/src/global/A-Entity/A-Entity.error.js +0 -12
- package/dist/src/global/A-Entity/A-Entity.error.js.map +0 -1
- package/dist/src/global/A-Entity/A-Entity.meta.d.ts +0 -11
- package/dist/src/global/A-Entity/A-Entity.meta.js +0 -18
- package/dist/src/global/A-Entity/A-Entity.meta.js.map +0 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +0 -56
- package/dist/src/global/A-Entity/A-Entity.types.js +0 -5
- package/dist/src/global/A-Entity/A-Entity.types.js.map +0 -1
- package/dist/src/global/A-Error/A_Error.class.d.ts +0 -229
- package/dist/src/global/A-Error/A_Error.class.js +0 -296
- package/dist/src/global/A-Error/A_Error.class.js.map +0 -1
- package/dist/src/global/A-Error/A_Error.constants.d.ts +0 -5
- package/dist/src/global/A-Error/A_Error.constants.js +0 -9
- package/dist/src/global/A-Error/A_Error.constants.js.map +0 -1
- package/dist/src/global/A-Error/A_Error.types.d.ts +0 -93
- package/dist/src/global/A-Error/A_Error.types.js +0 -3
- package/dist/src/global/A-Error/A_Error.types.js.map +0 -1
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +0 -15
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js +0 -76
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +0 -1
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.d.ts +0 -56
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +0 -128
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
- package/dist/src/global/A-Feature/A-Feature.class.d.ts +0 -175
- package/dist/src/global/A-Feature/A-Feature.class.js +0 -318
- package/dist/src/global/A-Feature/A-Feature.class.js.map +0 -1
- package/dist/src/global/A-Feature/A-Feature.error.d.ts +0 -25
- package/dist/src/global/A-Feature/A-Feature.error.js +0 -33
- package/dist/src/global/A-Feature/A-Feature.error.js.map +0 -1
- package/dist/src/global/A-Feature/A-Feature.types.d.ts +0 -334
- package/dist/src/global/A-Feature/A-Feature.types.js +0 -26
- package/dist/src/global/A-Feature/A-Feature.types.js.map +0 -1
- package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +0 -36
- package/dist/src/global/A-Fragment/A-Fragment.class.js +0 -46
- package/dist/src/global/A-Fragment/A-Fragment.class.js.map +0 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +0 -21
- package/dist/src/global/A-Fragment/A-Fragment.types.js +0 -6
- package/dist/src/global/A-Fragment/A-Fragment.types.js.map +0 -1
- package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +0 -80
- package/dist/src/global/A-Inject/A-Inject.decorator.js +0 -49
- package/dist/src/global/A-Inject/A-Inject.decorator.js.map +0 -1
- package/dist/src/global/A-Inject/A-Inject.error.d.ts +0 -5
- package/dist/src/global/A-Inject/A-Inject.error.js +0 -10
- package/dist/src/global/A-Inject/A-Inject.error.js.map +0 -1
- package/dist/src/global/A-Inject/A-Inject.types.d.ts +0 -42
- package/dist/src/global/A-Inject/A-Inject.types.js +0 -3
- package/dist/src/global/A-Inject/A-Inject.types.js.map +0 -1
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +0 -97
- package/dist/src/global/A-Meta/A-Meta.class.js +0 -164
- package/dist/src/global/A-Meta/A-Meta.class.js.map +0 -1
- package/dist/src/global/A-Meta/A-Meta.types.d.ts +0 -14
- package/dist/src/global/A-Meta/A-Meta.types.js +0 -3
- package/dist/src/global/A-Meta/A-Meta.types.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +0 -466
- package/dist/src/global/A-Scope/A-Scope.class.js +0 -791
- package/dist/src/global/A-Scope/A-Scope.class.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.error.d.ts +0 -8
- package/dist/src/global/A-Scope/A-Scope.error.js +0 -13
- package/dist/src/global/A-Scope/A-Scope.error.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.types.d.ts +0 -81
- package/dist/src/global/A-Scope/A-Scope.types.js +0 -3
- package/dist/src/global/A-Scope/A-Scope.types.js.map +0 -1
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +0 -112
- package/dist/src/global/A-Stage/A-Stage.class.js +0 -240
- package/dist/src/global/A-Stage/A-Stage.class.js.map +0 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +0 -4
- package/dist/src/global/A-Stage/A-Stage.error.js +0 -11
- package/dist/src/global/A-Stage/A-Stage.error.js.map +0 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +0 -101
- package/dist/src/global/A-Stage/A-Stage.types.js +0 -43
- package/dist/src/global/A-Stage/A-Stage.types.js.map +0 -1
- package/dist/src/global/A-StepManager/A-StepManager.class.d.ts +0 -20
- package/dist/src/global/A-StepManager/A-StepManager.class.js +0 -112
- package/dist/src/global/A-StepManager/A-StepManager.class.js.map +0 -1
- package/dist/src/global/A-StepManager/A-StepManager.error.d.ts +0 -4
- package/dist/src/global/A-StepManager/A-StepManager.error.js +0 -9
- package/dist/src/global/A-StepManager/A-StepManager.error.js.map +0 -1
- package/dist/src/global/ASEID/ASEID.class.d.ts +0 -130
- package/dist/src/global/ASEID/ASEID.class.js +0 -167
- package/dist/src/global/ASEID/ASEID.class.js.map +0 -1
- package/dist/src/global/ASEID/ASEID.constants.d.ts +0 -0
- package/dist/src/global/ASEID/ASEID.constants.js +0 -2
- package/dist/src/global/ASEID/ASEID.constants.js.map +0 -1
- package/dist/src/global/ASEID/ASEID.error.d.ts +0 -5
- package/dist/src/global/ASEID/ASEID.error.js +0 -10
- package/dist/src/global/ASEID/ASEID.error.js.map +0 -1
- package/dist/src/global/ASEID/ASEID.types.d.ts +0 -65
- package/dist/src/global/ASEID/ASEID.types.js +0 -5
- package/dist/src/global/ASEID/ASEID.types.js.map +0 -1
- package/dist/src/helpers/A_Common.helper.d.ts +0 -28
- package/dist/src/helpers/A_Common.helper.js +0 -170
- package/dist/src/helpers/A_Common.helper.js.map +0 -1
- package/dist/src/helpers/A_Formatter.helper.d.ts +0 -35
- package/dist/src/helpers/A_Formatter.helper.js +0 -62
- package/dist/src/helpers/A_Formatter.helper.js.map +0 -1
- package/dist/src/helpers/A_Identity.helper.d.ts +0 -29
- package/dist/src/helpers/A_Identity.helper.js +0 -43
- package/dist/src/helpers/A_Identity.helper.js.map +0 -1
- package/dist/src/helpers/A_TypeGuards.helper.d.ts +0 -207
- package/dist/src/helpers/A_TypeGuards.helper.js +0 -296
- package/dist/src/helpers/A_TypeGuards.helper.js.map +0 -1
- package/dist/src/types/A_Common.types.d.ts +0 -36
- package/dist/src/types/A_Common.types.js +0 -3
- package/dist/src/types/A_Common.types.js.map +0 -1
- package/index.ts +0 -81
- package/src/global/A-Dependency/A-DependencyReference.class.ts +0 -61
- package/src/global/A-Dependency/A-DependencyReference.types.ts +0 -61
- package/trace-require.js +0 -46
- package/tsconfig.build.json +0 -58
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.A_Feature_Extend = A_Feature_Extend;
|
|
4
|
-
exports.buildTargetRegexp = buildTargetRegexp;
|
|
5
|
-
const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
6
|
-
const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
7
|
-
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
8
|
-
const A_Component_constants_1 = require("../A-Component/A-Component.constants");
|
|
9
|
-
const A_Feature_error_1 = require("./A-Feature.error");
|
|
10
|
-
function A_Feature_Extend(param1) {
|
|
11
|
-
return function (target, propertyKey, descriptor) {
|
|
12
|
-
var _a;
|
|
13
|
-
// for error messages
|
|
14
|
-
const componentName = ((_a = target === null || target === void 0 ? void 0 : target.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(target) || 'Unknown';
|
|
15
|
-
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureExtension(target))
|
|
16
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureExtensionError, `A-Feature-Extend cannot be applied on the ${componentName} level`);
|
|
17
|
-
let targetRegexp;
|
|
18
|
-
let behavior = 'sync';
|
|
19
|
-
let before = '';
|
|
20
|
-
let after = '';
|
|
21
|
-
let override = '';
|
|
22
|
-
let include = [];
|
|
23
|
-
let exclude = [];
|
|
24
|
-
let throwOnError = true;
|
|
25
|
-
switch (true) {
|
|
26
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isRegExp(param1):
|
|
27
|
-
targetRegexp = param1;
|
|
28
|
-
break;
|
|
29
|
-
case !!param1 && typeof param1 === 'object':
|
|
30
|
-
if (Array.isArray(param1.scope))
|
|
31
|
-
include = param1.scope;
|
|
32
|
-
else if (!!param1.scope && typeof param1.scope === 'object') {
|
|
33
|
-
if (Array.isArray(param1.scope.include))
|
|
34
|
-
include = param1.scope.include;
|
|
35
|
-
if (Array.isArray(param1.scope.exclude))
|
|
36
|
-
exclude = param1.scope.exclude;
|
|
37
|
-
}
|
|
38
|
-
targetRegexp = buildTargetRegexp(param1, include, exclude, propertyKey);
|
|
39
|
-
behavior = param1.behavior || behavior;
|
|
40
|
-
throwOnError = param1.throwOnError !== undefined ? param1.throwOnError : throwOnError;
|
|
41
|
-
before = A_TypeGuards_helper_1.A_TypeGuards.isArray(param1.before)
|
|
42
|
-
? new RegExp(`^${param1.before.join('|').replace(/\./g, '\\.')}$`).source
|
|
43
|
-
: param1.before instanceof RegExp
|
|
44
|
-
? param1.before.source
|
|
45
|
-
: '';
|
|
46
|
-
after = A_TypeGuards_helper_1.A_TypeGuards.isArray(param1.after)
|
|
47
|
-
? new RegExp(`^${param1.after.join('|').replace(/\./g, '\\.')}$`).source
|
|
48
|
-
: param1.after instanceof RegExp
|
|
49
|
-
? param1.after.source
|
|
50
|
-
: '';
|
|
51
|
-
override = A_TypeGuards_helper_1.A_TypeGuards.isArray(param1.override)
|
|
52
|
-
? new RegExp(`^${param1.override.join('|').replace(/\./g, '\\.')}$`).source
|
|
53
|
-
: param1.override instanceof RegExp
|
|
54
|
-
? param1.override.source
|
|
55
|
-
: '';
|
|
56
|
-
break;
|
|
57
|
-
default:
|
|
58
|
-
targetRegexp = new RegExp(`^.*${propertyKey.replace(/\./g, '\\.')}$`);
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
const existedDefinitions = A_Context_class_1.A_Context
|
|
62
|
-
.meta(target)
|
|
63
|
-
.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES);
|
|
64
|
-
// Get the existed metadata or create a new one
|
|
65
|
-
const meta = A_Context_class_1.A_Context
|
|
66
|
-
.meta(target);
|
|
67
|
-
const existedMeta = meta.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
68
|
-
? new A_Meta_class_1.A_Meta().from(meta.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS))
|
|
69
|
-
: new A_Meta_class_1.A_Meta();
|
|
70
|
-
if (existedDefinitions
|
|
71
|
-
&& existedDefinitions.size()
|
|
72
|
-
&& existedDefinitions.has(propertyKey)
|
|
73
|
-
&& existedDefinitions.get(propertyKey).invoke) {
|
|
74
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureExtensionError, `A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true. Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
75
|
-
}
|
|
76
|
-
const existedMetaValue = [
|
|
77
|
-
...(existedMeta.get(targetRegexp.source) || [])
|
|
78
|
-
];
|
|
79
|
-
const existedIndex = existedMetaValue.findIndex(item => item.handler === propertyKey);
|
|
80
|
-
const extension = {
|
|
81
|
-
name: targetRegexp.source,
|
|
82
|
-
handler: propertyKey,
|
|
83
|
-
behavior,
|
|
84
|
-
before,
|
|
85
|
-
after,
|
|
86
|
-
throwOnError,
|
|
87
|
-
override
|
|
88
|
-
};
|
|
89
|
-
if (existedIndex !== -1) {
|
|
90
|
-
// Update the existing method in the metadata
|
|
91
|
-
existedMetaValue[existedIndex] = extension;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// Add the new method to the metadata
|
|
95
|
-
existedMetaValue.push(extension);
|
|
96
|
-
}
|
|
97
|
-
// Add the new method to the metadata
|
|
98
|
-
existedMetaValue.push();
|
|
99
|
-
// Set the metadata of the method to define a custom Feature with name
|
|
100
|
-
existedMeta.set(targetRegexp.source, existedMetaValue);
|
|
101
|
-
// Update the metadata of the container with the new Feature definition
|
|
102
|
-
A_Context_class_1.A_Context
|
|
103
|
-
.meta(target)
|
|
104
|
-
.set(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS, existedMeta);
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Builds a target regular expression based on the provided parameters.
|
|
109
|
-
*
|
|
110
|
-
* @param param1 - The first parameter, which can be a string or an object.
|
|
111
|
-
* @param include - An array of items to include in the regular expression.
|
|
112
|
-
* @param exclude - An array of items to exclude from the regular expression.
|
|
113
|
-
* @param propertyKey - The property key to use in the regular expression.
|
|
114
|
-
* @returns A regular expression object.
|
|
115
|
-
*/
|
|
116
|
-
function buildTargetRegexp(param1, include, exclude, propertyKey) {
|
|
117
|
-
const includePart = include.length
|
|
118
|
-
? `(${include.map(el => el.name).join('|')})`
|
|
119
|
-
: `.*`;
|
|
120
|
-
const excludePart = exclude.length
|
|
121
|
-
? `(?!${exclude.map(el => el.name).join('|')})`
|
|
122
|
-
: ``;
|
|
123
|
-
const pattern = param1.scope
|
|
124
|
-
? `^${excludePart}${includePart}\\.${param1.name || propertyKey}$`
|
|
125
|
-
: `.*\\.${param1.name || propertyKey}$`;
|
|
126
|
-
return new RegExp(pattern);
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=A-Feature-Extend.decorator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AAyDA,4CAqIC;AAYD,8CAmBC;AA7ND,uFAA8E;AAC9E,8EAAqE;AAErE,sFAA4E;AAC5E,gFAAiF;AACjF,uDAAmD;AAoDnD,SAAgB,gBAAgB,CAC5B,MAAgE;IAEhE,OAAO,UACH,MAA6C,EAC7C,WAAmB,EACnB,UAAqD;;QAErD,qBAAqB;QACrB,MAAM,aAAa,GAAG,CAAA,MAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAU,WAAW,0CAAE,IAAI,KAAI,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;QAExF,IAAI,CAAC,kCAAY,CAAC,4BAA4B,CAAC,MAAM,CAAC;YAClD,MAAM,IAAI,gCAAc,CACpB,gCAAc,CAAC,qBAAqB,EACpC,6CAA6C,aAAa,QAAQ,CACrE,CAAC;QAEN,IAAI,YAAoB,CAAC;QACzB,IAAI,QAAQ,GAAqB,MAAM,CAAC;QACxC,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,KAAK,GAAW,EAAE,CAAC;QACvB,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAoD,EAAE,CAAC;QAClE,IAAI,OAAO,GAAoD,EAAE,CAAC;QAClE,IAAI,YAAY,GAAY,IAAI,CAAC;QAIjC,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,kCAAY,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC9B,YAAY,GAAG,MAAM,CAAC;gBACtB,MAAM;YAEV,KAAK,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAEvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC3B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;qBACtB,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;wBACnC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBACnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;wBACnC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvC,CAAC;gBAGD,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;gBAExE,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;gBACvC,YAAY,GAAG,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;gBAEtF,MAAM,GAAG,kCAAY,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;oBACxC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;oBACzE,CAAC,CAAC,MAAM,CAAC,MAAM,YAAY,MAAM;wBAC7B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;wBACtB,CAAC,CAAC,EAAE,CAAA;gBACZ,KAAK,GAAG,kCAAY,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACtC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;oBACxE,CAAC,CAAC,MAAM,CAAC,KAAK,YAAY,MAAM;wBAC5B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM;wBACrB,CAAC,CAAC,EAAE,CAAA;gBAEZ,QAAQ,GAAG,kCAAY,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC5C,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM;oBAC3E,CAAC,CAAC,MAAM,CAAC,QAAQ,YAAY,MAAM;wBAC/B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;wBACxB,CAAC,CAAC,EAAE,CAAA;gBACZ,MAAM;YAEV;gBACI,YAAY,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtE,MAAM;QACd,CAAC;QAGD,MAAM,kBAAkB,GAAG,2BAAS;aAC/B,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,iDAAyB,CAAC,QAAQ,CAAC,CAAC;QAG7C,+CAA+C;QAC/C,MAAM,IAAI,GAAG,2BAAS;aACjB,IAAI,CAAC,MAAM,CAAC,CAAA;QAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,UAAU,CAAC;YAC9D,CAAC,CAAC,IAAI,qBAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAyB,CAAC,UAAU,CAAE,CAAC;YACpE,CAAC,CAAC,IAAI,qBAAM,EAAE,CAAC;QAEnB,IAAI,kBAAkB;eACf,kBAAkB,CAAC,IAAI,EAAE;eACzB,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC;eACnC,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC,MAAM,EAChD,CAAC;YACC,MAAM,IAAI,gCAAc,CACpB,gCAAc,CAAC,qBAAqB,EACpC,kDAAkD,WAAW,2KAA2K,CAC3O,CAAC;QACN,CAAC;QAED,MAAM,gBAAgB,GAAG;YACrB,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAClD,CAAC;QAEF,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC;QAEtF,MAAM,SAAS,GAAG;YACd,IAAI,EAAE,YAAY,CAAC,MAAM;YACzB,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,MAAM;YACN,KAAK;YACL,YAAY;YACZ,QAAQ;SACX,CAAA;QAED,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,6CAA6C;YAC7C,gBAAgB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,qCAAqC;YACrC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,qCAAqC;QACrC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAExB,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEvD,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,iDAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;AACN,CAAC;AAGD;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC7B,MAAW,EACX,OAAc,EACd,OAAc,EACd,WAAmB;IAEnB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;QAC9B,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QAC7C,CAAC,CAAC,IAAI,CAAC;IAEX,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM;QAC9B,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QAC/C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK;QACxB,CAAC,CAAC,IAAI,WAAW,GAAG,WAAW,MAAM,MAAM,CAAC,IAAI,IAAI,WAAW,GAAG;QAClE,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;IAE5C,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { A_TYPES__Feature_Init, A_TYPES__Feature_InitWithComponent, A_TYPES__Feature_InitWithTemplate, A_TYPES__FeatureAvailableComponents, A_TYPES__FeatureState } from "./A-Feature.types";
|
|
2
|
-
import { A_Feature_Define } from "./A-Feature-Define.decorator";
|
|
3
|
-
import { A_Feature_Extend } from "./A-Feature-Extend.decorator";
|
|
4
|
-
import { A_Stage } from "../A-Stage/A-Stage.class";
|
|
5
|
-
import { A_StepsManager } from "../A-StepManager/A-StepManager.class";
|
|
6
|
-
import { A_StageError } from "../A-Stage/A-Stage.error";
|
|
7
|
-
import { A_FeatureError } from "./A-Feature.error";
|
|
8
|
-
import { A_Caller } from "../A-Caller/A_Caller.class";
|
|
9
|
-
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
10
|
-
/**
|
|
11
|
-
* A_Feature is representing a feature that can be executed across multiple components
|
|
12
|
-
* This class stores the steps of the feature and executes them in order of appearance
|
|
13
|
-
*
|
|
14
|
-
* Using A_Feature.Define and A_Feature.Extend decorators to define and extend the feature methods
|
|
15
|
-
* across the different, distributed components
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
export declare class A_Feature<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> {
|
|
19
|
-
/**
|
|
20
|
-
* Define a new A-Feature
|
|
21
|
-
*/
|
|
22
|
-
static get Define(): typeof A_Feature_Define;
|
|
23
|
-
/**
|
|
24
|
-
* Extend an existing A-Feature
|
|
25
|
-
*/
|
|
26
|
-
static get Extend(): typeof A_Feature_Extend;
|
|
27
|
-
/**
|
|
28
|
-
* The name of the Feature
|
|
29
|
-
*/
|
|
30
|
-
protected _name: string;
|
|
31
|
-
/**
|
|
32
|
-
* List of stages that are part of this Feature
|
|
33
|
-
*/
|
|
34
|
-
protected _stages: Array<A_Stage>;
|
|
35
|
-
/**
|
|
36
|
-
* The Stage currently being processed
|
|
37
|
-
*/
|
|
38
|
-
protected _current?: A_Stage;
|
|
39
|
-
/**
|
|
40
|
-
* Actual Index of the current Stage being processed
|
|
41
|
-
*/
|
|
42
|
-
protected _index: number;
|
|
43
|
-
/**
|
|
44
|
-
* Steps Manager to organize the steps into stages
|
|
45
|
-
*/
|
|
46
|
-
protected _SM: A_StepsManager;
|
|
47
|
-
/**
|
|
48
|
-
* The Caller that initiated the Feature call
|
|
49
|
-
*/
|
|
50
|
-
protected _caller: A_Caller<T>;
|
|
51
|
-
/**
|
|
52
|
-
* The current state of the Feature
|
|
53
|
-
*/
|
|
54
|
-
protected _state: A_TYPES__FeatureState;
|
|
55
|
-
/**
|
|
56
|
-
* The error that caused the Feature to be interrupted
|
|
57
|
-
*/
|
|
58
|
-
protected _error?: A_FeatureError;
|
|
59
|
-
/**
|
|
60
|
-
* A-Feature is a pipeline distributed by multiple components that can be easily attached or detached from the scope.
|
|
61
|
-
* Feature itself does not have scope, but attached to the caller who dictates how feature should be processed.
|
|
62
|
-
*
|
|
63
|
-
* Comparing to A-Command Feature does not store any state except statuses for better analysis.
|
|
64
|
-
*
|
|
65
|
-
* [!] Note: If A-Feature should have result use A-Fragment
|
|
66
|
-
*
|
|
67
|
-
* @param params
|
|
68
|
-
*/
|
|
69
|
-
constructor(
|
|
70
|
-
/**
|
|
71
|
-
* Feature Initialization parameters
|
|
72
|
-
*/
|
|
73
|
-
params: A_TYPES__Feature_Init<T>);
|
|
74
|
-
/**
|
|
75
|
-
* The name of the Feature
|
|
76
|
-
*/
|
|
77
|
-
get name(): string;
|
|
78
|
-
/**
|
|
79
|
-
* The error that caused the Feature to be interrupted
|
|
80
|
-
*/
|
|
81
|
-
get error(): A_FeatureError | undefined;
|
|
82
|
-
/**
|
|
83
|
-
* The current state of the Feature
|
|
84
|
-
*/
|
|
85
|
-
get state(): A_TYPES__FeatureState;
|
|
86
|
-
/**
|
|
87
|
-
* Sets the current state of the Feature
|
|
88
|
-
*/
|
|
89
|
-
get index(): number;
|
|
90
|
-
/**
|
|
91
|
-
* Returns the current A-Feature Stage
|
|
92
|
-
*/
|
|
93
|
-
get stage(): A_Stage | undefined;
|
|
94
|
-
/**
|
|
95
|
-
* The Caller that initiated the Feature call
|
|
96
|
-
*/
|
|
97
|
-
get caller(): A_Caller<T>;
|
|
98
|
-
/**
|
|
99
|
-
* The Scope allocated for the Feature Execution
|
|
100
|
-
*/
|
|
101
|
-
get scope(): A_Scope;
|
|
102
|
-
/**
|
|
103
|
-
* This method checks if the A-Feature is done
|
|
104
|
-
*
|
|
105
|
-
* @returns
|
|
106
|
-
*/
|
|
107
|
-
get isDone(): boolean;
|
|
108
|
-
/**
|
|
109
|
-
* Iterator to iterate over the steps of the feature
|
|
110
|
-
*
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
[Symbol.iterator](): Iterator<A_Stage, any>;
|
|
114
|
-
/**
|
|
115
|
-
* Validates the provided parameters for A-Feature initialization
|
|
116
|
-
*
|
|
117
|
-
* @param params
|
|
118
|
-
*/
|
|
119
|
-
protected validateParams(params: A_TYPES__Feature_Init<T>): void;
|
|
120
|
-
/**
|
|
121
|
-
* Returns the appropriate initializer method based on the provided parameters
|
|
122
|
-
*
|
|
123
|
-
* @param params
|
|
124
|
-
* @returns
|
|
125
|
-
*/
|
|
126
|
-
protected getInitializer(params: A_TYPES__Feature_Init<T>): (param1: any) => void | (() => void);
|
|
127
|
-
/**
|
|
128
|
-
* Initializes the A-Feature from the provided template
|
|
129
|
-
*
|
|
130
|
-
* @param params
|
|
131
|
-
*/
|
|
132
|
-
protected fromTemplate(params: A_TYPES__Feature_InitWithTemplate<T>): void;
|
|
133
|
-
/**
|
|
134
|
-
* Initializes the A-Feature from the provided component
|
|
135
|
-
*
|
|
136
|
-
* @param params
|
|
137
|
-
*/
|
|
138
|
-
protected fromComponent(params: A_TYPES__Feature_InitWithComponent<T>): void;
|
|
139
|
-
/**
|
|
140
|
-
* This method processes the feature by executing all the stages
|
|
141
|
-
*
|
|
142
|
-
*/
|
|
143
|
-
process(
|
|
144
|
-
/**
|
|
145
|
-
* Optional scope to be used to resolve the steps dependencies
|
|
146
|
-
* If not provided, the scope of the caller component will be used
|
|
147
|
-
*/
|
|
148
|
-
scope?: A_Scope): Promise<void>;
|
|
149
|
-
/**
|
|
150
|
-
* This method moves the feature to the next stage
|
|
151
|
-
*
|
|
152
|
-
* @param stage
|
|
153
|
-
*/
|
|
154
|
-
next(stage: any): void;
|
|
155
|
-
/**
|
|
156
|
-
* This method marks the feature as completed and returns the result
|
|
157
|
-
* Uses to interrupt or end the feature processing
|
|
158
|
-
*
|
|
159
|
-
* @param result
|
|
160
|
-
* @returns
|
|
161
|
-
*/
|
|
162
|
-
completed(): Promise<void>;
|
|
163
|
-
/**
|
|
164
|
-
* This method marks the feature as failed and throws an error
|
|
165
|
-
* Uses to interrupt or end the feature processing
|
|
166
|
-
*
|
|
167
|
-
* @param error
|
|
168
|
-
*/
|
|
169
|
-
interrupt(
|
|
170
|
-
/**
|
|
171
|
-
* The reason of feature interruption
|
|
172
|
-
*/
|
|
173
|
-
reason?: string | A_StageError | Error): Promise<void>;
|
|
174
|
-
toString(): string;
|
|
175
|
-
}
|
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.A_Feature = void 0;
|
|
13
|
-
const A_Feature_types_1 = require("./A-Feature.types");
|
|
14
|
-
const A_Feature_Define_decorator_1 = require("./A-Feature-Define.decorator");
|
|
15
|
-
const A_Feature_Extend_decorator_1 = require("./A-Feature-Extend.decorator");
|
|
16
|
-
const A_StepManager_class_1 = require("../A-StepManager/A-StepManager.class");
|
|
17
|
-
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
18
|
-
const A_Feature_error_1 = require("./A-Feature.error");
|
|
19
|
-
const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
20
|
-
const A_Caller_class_1 = require("../A-Caller/A_Caller.class");
|
|
21
|
-
const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
|
|
22
|
-
const A_Component_class_1 = require("../A-Component/A-Component.class");
|
|
23
|
-
/**
|
|
24
|
-
* A_Feature is representing a feature that can be executed across multiple components
|
|
25
|
-
* This class stores the steps of the feature and executes them in order of appearance
|
|
26
|
-
*
|
|
27
|
-
* Using A_Feature.Define and A_Feature.Extend decorators to define and extend the feature methods
|
|
28
|
-
* across the different, distributed components
|
|
29
|
-
*
|
|
30
|
-
*/
|
|
31
|
-
class A_Feature {
|
|
32
|
-
// =============================================================================
|
|
33
|
-
// --------------------------- Static Methods ---------------------------------
|
|
34
|
-
// =============================================================================
|
|
35
|
-
/**
|
|
36
|
-
* Define a new A-Feature
|
|
37
|
-
*/
|
|
38
|
-
static get Define() {
|
|
39
|
-
return A_Feature_Define_decorator_1.A_Feature_Define;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Extend an existing A-Feature
|
|
43
|
-
*/
|
|
44
|
-
static get Extend() {
|
|
45
|
-
return A_Feature_Extend_decorator_1.A_Feature_Extend;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* A-Feature is a pipeline distributed by multiple components that can be easily attached or detached from the scope.
|
|
49
|
-
* Feature itself does not have scope, but attached to the caller who dictates how feature should be processed.
|
|
50
|
-
*
|
|
51
|
-
* Comparing to A-Command Feature does not store any state except statuses for better analysis.
|
|
52
|
-
*
|
|
53
|
-
* [!] Note: If A-Feature should have result use A-Fragment
|
|
54
|
-
*
|
|
55
|
-
* @param params
|
|
56
|
-
*/
|
|
57
|
-
constructor(
|
|
58
|
-
/**
|
|
59
|
-
* Feature Initialization parameters
|
|
60
|
-
*/
|
|
61
|
-
params) {
|
|
62
|
-
/**
|
|
63
|
-
* List of stages that are part of this Feature
|
|
64
|
-
*/
|
|
65
|
-
this._stages = [];
|
|
66
|
-
/**
|
|
67
|
-
* Actual Index of the current Stage being processed
|
|
68
|
-
*/
|
|
69
|
-
this._index = 0;
|
|
70
|
-
/**
|
|
71
|
-
* The current state of the Feature
|
|
72
|
-
*/
|
|
73
|
-
this._state = A_Feature_types_1.A_TYPES__FeatureState.INITIALIZED;
|
|
74
|
-
this.validateParams(params);
|
|
75
|
-
const initializer = this.getInitializer(params);
|
|
76
|
-
// the returned initializer is already bound to `this` (we used .bind(this)),
|
|
77
|
-
// so calling it will run the appropriate logic on this instance:
|
|
78
|
-
initializer.call(this, params);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* The name of the Feature
|
|
82
|
-
*/
|
|
83
|
-
get name() { return this._name; }
|
|
84
|
-
/**
|
|
85
|
-
* The error that caused the Feature to be interrupted
|
|
86
|
-
*/
|
|
87
|
-
get error() { return this._error; }
|
|
88
|
-
/**
|
|
89
|
-
* The current state of the Feature
|
|
90
|
-
*/
|
|
91
|
-
get state() { return this._state; }
|
|
92
|
-
/**
|
|
93
|
-
* Sets the current state of the Feature
|
|
94
|
-
*/
|
|
95
|
-
get index() { return this._index; }
|
|
96
|
-
/**
|
|
97
|
-
* Returns the current A-Feature Stage
|
|
98
|
-
*/
|
|
99
|
-
get stage() { return this._current; }
|
|
100
|
-
/**
|
|
101
|
-
* The Caller that initiated the Feature call
|
|
102
|
-
*/
|
|
103
|
-
get caller() { return this._caller; }
|
|
104
|
-
/**
|
|
105
|
-
* The Scope allocated for the Feature Execution
|
|
106
|
-
*/
|
|
107
|
-
get scope() { return A_Context_class_1.A_Context.scope(this); }
|
|
108
|
-
/**
|
|
109
|
-
* This method checks if the A-Feature is done
|
|
110
|
-
*
|
|
111
|
-
* @returns
|
|
112
|
-
*/
|
|
113
|
-
get isDone() {
|
|
114
|
-
return !this.stage
|
|
115
|
-
|| this._index >= this._stages.length
|
|
116
|
-
|| this.state === A_Feature_types_1.A_TYPES__FeatureState.COMPLETED
|
|
117
|
-
|| this.state === A_Feature_types_1.A_TYPES__FeatureState.INTERRUPTED;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Iterator to iterate over the steps of the feature
|
|
121
|
-
*
|
|
122
|
-
* @returns
|
|
123
|
-
*/
|
|
124
|
-
[Symbol.iterator]() {
|
|
125
|
-
return {
|
|
126
|
-
next: () => {
|
|
127
|
-
if (!this.isDone) {
|
|
128
|
-
this._current = this._stages[this._index];
|
|
129
|
-
this._index++;
|
|
130
|
-
return {
|
|
131
|
-
value: this._current,
|
|
132
|
-
done: false
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
this._current = undefined; // Reset current on end
|
|
137
|
-
return {
|
|
138
|
-
value: undefined,
|
|
139
|
-
done: true
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
// ============================================================================
|
|
146
|
-
// ------------------------ Initialization Methods ----------------------------
|
|
147
|
-
// ============================================================================
|
|
148
|
-
/**
|
|
149
|
-
* Validates the provided parameters for A-Feature initialization
|
|
150
|
-
*
|
|
151
|
-
* @param params
|
|
152
|
-
*/
|
|
153
|
-
validateParams(params) {
|
|
154
|
-
if (!params || typeof params !== 'object') {
|
|
155
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureInitializationError, `Invalid A-Feature initialization parameters of type: ${typeof params} with value: ${JSON.stringify(params).slice(0, 100)}...`);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Returns the appropriate initializer method based on the provided parameters
|
|
160
|
-
*
|
|
161
|
-
* @param params
|
|
162
|
-
* @returns
|
|
163
|
-
*/
|
|
164
|
-
getInitializer(params) {
|
|
165
|
-
switch (true) {
|
|
166
|
-
case !('template' in params):
|
|
167
|
-
return this.fromComponent;
|
|
168
|
-
case 'template' in params:
|
|
169
|
-
return this.fromTemplate;
|
|
170
|
-
default:
|
|
171
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureInitializationError, `Invalid A-Feature initialization parameters of type: ${typeof params} with value: ${JSON.stringify(params).slice(0, 100)}...`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Initializes the A-Feature from the provided template
|
|
176
|
-
*
|
|
177
|
-
* @param params
|
|
178
|
-
*/
|
|
179
|
-
fromTemplate(params) {
|
|
180
|
-
if (!params.template || !Array.isArray(params.template)) {
|
|
181
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureInitializationError, `Invalid A-Feature template provided of type: ${typeof params.template} with value: ${JSON.stringify(params.template).slice(0, 100)}...`);
|
|
182
|
-
}
|
|
183
|
-
if (!params.component && (!params.scope || !(params.scope instanceof A_Scope_class_1.A_Scope))) {
|
|
184
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureInitializationError, `Invalid A-Feature scope provided of type: ${typeof params.scope} with value: ${JSON.stringify(params.scope).slice(0, 100)}...`);
|
|
185
|
-
}
|
|
186
|
-
// 1) save feature name
|
|
187
|
-
this._name = params.name;
|
|
188
|
-
// 2) get scope from where feature is called
|
|
189
|
-
const componentScope = params.component
|
|
190
|
-
? A_Context_class_1.A_Context.scope(params.component)
|
|
191
|
-
: params.scope;
|
|
192
|
-
// 3) create caller wrapper for the simple injection of the caller component
|
|
193
|
-
// - Just to prevent issues with undefined caller in features without component
|
|
194
|
-
// - TODO: maybe would be better to allow passing caller in params?
|
|
195
|
-
this._caller = new A_Caller_class_1.A_Caller(params.component || new A_Component_class_1.A_Component());
|
|
196
|
-
// 4) allocate new scope for the feature
|
|
197
|
-
const scope = A_Context_class_1.A_Context.allocate(this);
|
|
198
|
-
// 5) ensure that the scope of the caller component is inherited by the feature scope
|
|
199
|
-
scope.inherit(componentScope);
|
|
200
|
-
// 6) create steps manager to organize steps into stages
|
|
201
|
-
this._SM = new A_StepManager_class_1.A_StepsManager(params.template);
|
|
202
|
-
// 7) create stages from the steps
|
|
203
|
-
this._stages = this._SM.toStages(this);
|
|
204
|
-
// 8) set the first stage as current
|
|
205
|
-
this._current = this._stages[0];
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Initializes the A-Feature from the provided component
|
|
209
|
-
*
|
|
210
|
-
* @param params
|
|
211
|
-
*/
|
|
212
|
-
fromComponent(params) {
|
|
213
|
-
if (!params.component || !A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(params.component)) {
|
|
214
|
-
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureInitializationError, `Invalid A-Feature component provided of type: ${typeof params.component} with value: ${JSON.stringify(params.component).slice(0, 100)}...`);
|
|
215
|
-
}
|
|
216
|
-
// 1) save feature name
|
|
217
|
-
this._name = params.name;
|
|
218
|
-
// 2) get scope from where feature is called
|
|
219
|
-
const componentScope = params.scope ? params.scope : A_Context_class_1.A_Context.scope(params.component);
|
|
220
|
-
// 3) create caller wrapper for the simple injection of the caller component
|
|
221
|
-
this._caller = new A_Caller_class_1.A_Caller(params.component);
|
|
222
|
-
// 4) allocate new scope for the feature
|
|
223
|
-
const scope = A_Context_class_1.A_Context.allocate(this);
|
|
224
|
-
// 5) ensure that the scope of the caller component is inherited by the feature scope
|
|
225
|
-
scope.inherit(componentScope);
|
|
226
|
-
// 6) retrieve the template from the context
|
|
227
|
-
const template = A_Context_class_1.A_Context.featureTemplate(this._name, this._caller.component, scope);
|
|
228
|
-
// 7) create steps manager to organize steps into stages
|
|
229
|
-
this._SM = new A_StepManager_class_1.A_StepsManager(template);
|
|
230
|
-
// 8) create stages from the steps
|
|
231
|
-
this._stages = this._SM.toStages(this);
|
|
232
|
-
// 9) set the first stage as current
|
|
233
|
-
this._current = this._stages[0];
|
|
234
|
-
}
|
|
235
|
-
// ============================================================================
|
|
236
|
-
// ----------------------- Main Processing Methods ----------------------------
|
|
237
|
-
// ============================================================================
|
|
238
|
-
/**
|
|
239
|
-
* This method processes the feature by executing all the stages
|
|
240
|
-
*
|
|
241
|
-
*/
|
|
242
|
-
process(
|
|
243
|
-
/**
|
|
244
|
-
* Optional scope to be used to resolve the steps dependencies
|
|
245
|
-
* If not provided, the scope of the caller component will be used
|
|
246
|
-
*/
|
|
247
|
-
scope) {
|
|
248
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
249
|
-
if (this.isDone)
|
|
250
|
-
return;
|
|
251
|
-
this._state = A_Feature_types_1.A_TYPES__FeatureState.PROCESSING;
|
|
252
|
-
for (const stage of this) {
|
|
253
|
-
yield stage.process(scope);
|
|
254
|
-
}
|
|
255
|
-
return yield this.completed();
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* This method moves the feature to the next stage
|
|
260
|
-
*
|
|
261
|
-
* @param stage
|
|
262
|
-
*/
|
|
263
|
-
next(stage) {
|
|
264
|
-
const stageIndex = this._stages.indexOf(stage);
|
|
265
|
-
this._index = stageIndex + 1;
|
|
266
|
-
if (this._index >= this._stages.length) {
|
|
267
|
-
this.completed();
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* This method marks the feature as completed and returns the result
|
|
272
|
-
* Uses to interrupt or end the feature processing
|
|
273
|
-
*
|
|
274
|
-
* @param result
|
|
275
|
-
* @returns
|
|
276
|
-
*/
|
|
277
|
-
completed() {
|
|
278
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
279
|
-
this._state = A_Feature_types_1.A_TYPES__FeatureState.COMPLETED;
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* This method marks the feature as failed and throws an error
|
|
284
|
-
* Uses to interrupt or end the feature processing
|
|
285
|
-
*
|
|
286
|
-
* @param error
|
|
287
|
-
*/
|
|
288
|
-
interrupt(
|
|
289
|
-
/**
|
|
290
|
-
* The reason of feature interruption
|
|
291
|
-
*/
|
|
292
|
-
reason) {
|
|
293
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
294
|
-
switch (true) {
|
|
295
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isString(reason):
|
|
296
|
-
this._error = new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.Interruption, reason);
|
|
297
|
-
break;
|
|
298
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isErrorInstance(reason):
|
|
299
|
-
this._error = new A_Feature_error_1.A_FeatureError({
|
|
300
|
-
code: A_Feature_error_1.A_FeatureError.Interruption,
|
|
301
|
-
title: reason.title,
|
|
302
|
-
description: reason.description,
|
|
303
|
-
originalError: reason
|
|
304
|
-
});
|
|
305
|
-
break;
|
|
306
|
-
default:
|
|
307
|
-
break;
|
|
308
|
-
}
|
|
309
|
-
this._state = A_Feature_types_1.A_TYPES__FeatureState.INTERRUPTED;
|
|
310
|
-
});
|
|
311
|
-
}
|
|
312
|
-
toString() {
|
|
313
|
-
var _a, _b;
|
|
314
|
-
return `A-Feature(${((_b = (_a = this.caller.component) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.name) || 'Unknown'}::${this.name})`;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
exports.A_Feature = A_Feature;
|
|
318
|
-
//# sourceMappingURL=A-Feature.class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { A_Error } from "../A-Error/A_Error.class";
|
|
2
|
-
export declare class A_FeatureError extends A_Error {
|
|
3
|
-
/**
|
|
4
|
-
* Indicates that the Feature has been interrupted
|
|
5
|
-
*/
|
|
6
|
-
static readonly Interruption = "Feature Interrupted";
|
|
7
|
-
/**
|
|
8
|
-
* Indicates that there was an error initializing the Feature
|
|
9
|
-
*
|
|
10
|
-
* Failed during the A-Feature initialization process
|
|
11
|
-
*/
|
|
12
|
-
static readonly FeatureInitializationError = "Unable to initialize A-Feature";
|
|
13
|
-
/**
|
|
14
|
-
* Indicates that there was an error defining the Feature
|
|
15
|
-
*
|
|
16
|
-
* Failed during the @A_Feature.Define() decorator execution
|
|
17
|
-
*/
|
|
18
|
-
static readonly FeatureDefinitionError = "Unable to define A-Feature";
|
|
19
|
-
/**
|
|
20
|
-
* Indicates that there was an error extending the Feature
|
|
21
|
-
*
|
|
22
|
-
* Failed during the @A_Feature.Extend() decorator execution
|
|
23
|
-
*/
|
|
24
|
-
static readonly FeatureExtensionError = "Unable to extend A-Feature";
|
|
25
|
-
}
|