@adaas/a-concept 0.1.23 → 0.1.25
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 +3952 -0
- package/dist/index.d.ts +3952 -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 +18 -13
- package/src/global/A-Component/A-Component.meta.ts +3 -2
- package/src/global/A-Container/A-Container.meta.ts +5 -8
- 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-Entity/A-Entity.class.ts +2 -1
- package/src/global/A-Feature/A-Feature-Define.decorator.ts +7 -4
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +23 -17
- package/src/global/A-Feature/A-Feature.class.ts +12 -1
- package/src/global/A-Feature/A-Feature.types.ts +33 -8
- 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/global/A-Stage/A-Stage.types.ts +7 -2
- package/src/global/A-StepManager/A-StepManager.class.ts +19 -13
- 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 +58 -10
- package/tests/A-Dependency.test.ts +93 -0
- package/tests/A-Feature.test.ts +11 -11
- package/tests/A-Scope.test.ts +10 -10
- package/tests/A-StepManager.test.ts +60 -11
- 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 -89
- 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 -77
- 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 -83
- 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 -281
- 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 -119
- 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 -310
- 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 -97
- 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 -111
- 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,603 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.A_Context = void 0;
|
|
4
|
-
const A_Component_class_1 = require("../A-Component/A-Component.class");
|
|
5
|
-
const A_Container_class_1 = require("../A-Container/A-Container.class");
|
|
6
|
-
const A_Scope_class_1 = require("../A-Scope/A-Scope.class");
|
|
7
|
-
const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
8
|
-
const A_Component_meta_1 = require("../A-Component/A-Component.meta");
|
|
9
|
-
const A_Container_meta_1 = require("../A-Container/A-Container.meta");
|
|
10
|
-
const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
|
|
11
|
-
const A_Entity_meta_1 = require("../A-Entity/A-Entity.meta");
|
|
12
|
-
const env_constants_1 = require("../../constants/env.constants");
|
|
13
|
-
const A_Entity_constants_1 = require("../A-Entity/A-Entity.constants");
|
|
14
|
-
const A_Container_constants_1 = require("../A-Container/A-Container.constants");
|
|
15
|
-
const A_Component_constants_1 = require("../A-Component/A-Component.constants");
|
|
16
|
-
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
17
|
-
const A_Context_error_1 = require("./A-Context.error");
|
|
18
|
-
const A_Formatter_helper_1 = require("../../helpers/A_Formatter.helper");
|
|
19
|
-
class A_Context {
|
|
20
|
-
// ====================================================================================================
|
|
21
|
-
// ================================ STATIC PROPERTIES =================================================
|
|
22
|
-
// ====================================================================================================
|
|
23
|
-
/**
|
|
24
|
-
* Default name of the application from environment variable A_CONCEPT_NAME
|
|
25
|
-
*
|
|
26
|
-
* [!] If environment variable is not set, it will default to 'a-concept'
|
|
27
|
-
*/
|
|
28
|
-
static get concept() {
|
|
29
|
-
return process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] || 'a-concept';
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Root scope of the application from environment variable A_CONCEPT_ROOT_SCOPE
|
|
33
|
-
*
|
|
34
|
-
* [!] If environment variable is not set, it will default to 'root'
|
|
35
|
-
*/
|
|
36
|
-
static get root() {
|
|
37
|
-
return this.getInstance()._root;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Environment the application is running in.
|
|
41
|
-
* Can be either 'server' or 'browser'.
|
|
42
|
-
* [!] Determined by checking if 'window' object is available.
|
|
43
|
-
*/
|
|
44
|
-
static get environment() {
|
|
45
|
-
let testEnvironment = 'browser';
|
|
46
|
-
try {
|
|
47
|
-
testEnvironment = window.location ? 'browser' : 'server';
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
testEnvironment = 'server';
|
|
51
|
-
}
|
|
52
|
-
return testEnvironment;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Private constructor to enforce singleton pattern.
|
|
56
|
-
*
|
|
57
|
-
* [!] This class should not be instantiated directly. Use A_Context.getInstance() instead.
|
|
58
|
-
*/
|
|
59
|
-
constructor() {
|
|
60
|
-
/**
|
|
61
|
-
* A registry that keeps track of scopes for all components (Containers, Features, Commands)
|
|
62
|
-
* Which can issue a scope allocation.
|
|
63
|
-
*/
|
|
64
|
-
this._registry = new WeakMap();
|
|
65
|
-
/**
|
|
66
|
-
* This is a registry that stores an issuer of each scope allocation.
|
|
67
|
-
* It helps to track which component (Container, Feature, Command) allocated a specific scope.
|
|
68
|
-
*/
|
|
69
|
-
this._scopeIssuers = new WeakMap();
|
|
70
|
-
/**
|
|
71
|
-
* Stores a context associated with a specific component that depends on a scope.
|
|
72
|
-
* uses for quick retrieval of the scope for the component.
|
|
73
|
-
*/
|
|
74
|
-
this._scopeStorage = new WeakMap();
|
|
75
|
-
/**
|
|
76
|
-
* Stores meta information for different component types by their constructors.
|
|
77
|
-
* Meta provides to store extra information about the class behavior and configuration.
|
|
78
|
-
*/
|
|
79
|
-
this._metaStorage = new Map();
|
|
80
|
-
let name = 'root';
|
|
81
|
-
if (A_Context.environment === 'server')
|
|
82
|
-
name = process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
|
|
83
|
-
if (A_Context.environment === 'browser')
|
|
84
|
-
name = window[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
|
|
85
|
-
this._root = new A_Scope_class_1.A_Scope({ name });
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Get the instance of the Namespace Provider.
|
|
89
|
-
*
|
|
90
|
-
* If the instance does not exist, it will be created.
|
|
91
|
-
*
|
|
92
|
-
* @returns
|
|
93
|
-
*/
|
|
94
|
-
static getInstance() {
|
|
95
|
-
if (!A_Context._instance) {
|
|
96
|
-
A_Context._instance = new A_Context();
|
|
97
|
-
}
|
|
98
|
-
return A_Context._instance;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Register method allows to register a component with a specific scope in the context.
|
|
102
|
-
*
|
|
103
|
-
* @param component - Component to register with a specific scope. Can be either A_Container, A_Feature.
|
|
104
|
-
* @param scope - Scope to associate the component with.
|
|
105
|
-
* @returns
|
|
106
|
-
*/
|
|
107
|
-
static register(
|
|
108
|
-
/**
|
|
109
|
-
* Provide the scope that will be associated with the component.
|
|
110
|
-
*/
|
|
111
|
-
scope,
|
|
112
|
-
/**
|
|
113
|
-
* Provide a component that needs to be registered with a specific scope.
|
|
114
|
-
*/
|
|
115
|
-
component) {
|
|
116
|
-
var _a;
|
|
117
|
-
// uses only for error messages
|
|
118
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
119
|
-
const instance = this.getInstance();
|
|
120
|
-
if (!component)
|
|
121
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidRegisterParameterError, `Unable to register component. Component cannot be null or undefined.`);
|
|
122
|
-
if (!scope)
|
|
123
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidRegisterParameterError, `Unable to register component. Scope cannot be null or undefined.`);
|
|
124
|
-
if (!this.isAllowedToBeRegistered(component))
|
|
125
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.NotAllowedForScopeAllocationError, `Component ${componentName} is not allowed for scope allocation.`);
|
|
126
|
-
instance._scopeStorage.set(component, scope);
|
|
127
|
-
return scope;
|
|
128
|
-
}
|
|
129
|
-
static allocate(component, importing) {
|
|
130
|
-
var _a;
|
|
131
|
-
// uses only for error messages
|
|
132
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
133
|
-
// ---------------------------------------------------------------------
|
|
134
|
-
// ----------------------Input Validation-------------------------------
|
|
135
|
-
// ---------------------------------------------------------------------
|
|
136
|
-
// 1) check if component is valid
|
|
137
|
-
if (!this.isAllowedForScopeAllocation(component))
|
|
138
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.NotAllowedForScopeAllocationError, `Component of type ${componentName} is not allowed for scope allocation. Only A_Container, A_Feature are allowed.`);
|
|
139
|
-
const instance = this.getInstance();
|
|
140
|
-
// 2) check if component already has a scope allocated
|
|
141
|
-
if (instance._registry.has(component))
|
|
142
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ComponentAlreadyHasScopeAllocatedError, `Component ${componentName} already has a scope allocated.`);
|
|
143
|
-
// 3) Create a new scope for the component
|
|
144
|
-
const newScope = A_TypeGuards_helper_1.A_TypeGuards.isScopeInstance(importing)
|
|
145
|
-
? importing
|
|
146
|
-
: new A_Scope_class_1.A_Scope(importing || {
|
|
147
|
-
name: componentName + '-scope'
|
|
148
|
-
}, importing);
|
|
149
|
-
// 4) Make sure that the new scope inherits from the root scope
|
|
150
|
-
if (!newScope.isInheritedFrom(A_Context.root))
|
|
151
|
-
newScope.inherit(A_Context.root);
|
|
152
|
-
// 5) Register the component in the appropriate storage
|
|
153
|
-
instance._registry.set(component, newScope);
|
|
154
|
-
// Also register the issuer of the scope for faster tracking
|
|
155
|
-
instance._scopeIssuers.set(newScope, component);
|
|
156
|
-
// 6) Return the newly created scope
|
|
157
|
-
return newScope;
|
|
158
|
-
}
|
|
159
|
-
static meta(param1) {
|
|
160
|
-
var _a;
|
|
161
|
-
// Get the component name for error messages
|
|
162
|
-
const componentName = ((_a = param1 === null || param1 === void 0 ? void 0 : param1.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(param1);
|
|
163
|
-
// Get the instance of the context
|
|
164
|
-
const instance = this.getInstance();
|
|
165
|
-
if (!param1)
|
|
166
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Parameter cannot be null or undefined.`);
|
|
167
|
-
// Check if the parameter is allowed for meta storage
|
|
168
|
-
if (!(this.isAllowedForMeta(param1)
|
|
169
|
-
|| this.isAllowedForMetaConstructor(param1)
|
|
170
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isString(param1)
|
|
171
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isFunction(param1)))
|
|
172
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Component of type ${componentName} is not allowed for meta storage. Only A_Container, A_Component and A_Entity are allowed.`);
|
|
173
|
-
let property;
|
|
174
|
-
let metaType;
|
|
175
|
-
switch (true) {
|
|
176
|
-
// 1) If param1 is instance of A_Container
|
|
177
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param1): {
|
|
178
|
-
property = param1.constructor;
|
|
179
|
-
metaType = A_Container_meta_1.A_ContainerMeta;
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
// 2) If param1 is class of A_Container
|
|
183
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isContainerConstructor(param1): {
|
|
184
|
-
property = param1;
|
|
185
|
-
metaType = A_Container_meta_1.A_ContainerMeta;
|
|
186
|
-
break;
|
|
187
|
-
}
|
|
188
|
-
// 3) If param1 is instance of A_Component
|
|
189
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param1): {
|
|
190
|
-
property = param1.constructor;
|
|
191
|
-
metaType = A_Component_meta_1.A_ComponentMeta;
|
|
192
|
-
break;
|
|
193
|
-
}
|
|
194
|
-
// 4) If param1 is class of A_Component
|
|
195
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(param1): {
|
|
196
|
-
property = param1;
|
|
197
|
-
metaType = A_Component_meta_1.A_ComponentMeta;
|
|
198
|
-
break;
|
|
199
|
-
}
|
|
200
|
-
// 5) If param1 is instance of A_Entity
|
|
201
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param1): {
|
|
202
|
-
property = param1.constructor;
|
|
203
|
-
metaType = A_Component_meta_1.A_ComponentMeta;
|
|
204
|
-
break;
|
|
205
|
-
}
|
|
206
|
-
// 6) If param1 is class of A_Entity
|
|
207
|
-
case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(param1): {
|
|
208
|
-
property = param1;
|
|
209
|
-
metaType = A_Entity_meta_1.A_EntityMeta;
|
|
210
|
-
break;
|
|
211
|
-
}
|
|
212
|
-
// 7) If param1 is string then we need to find the component by its name
|
|
213
|
-
case typeof param1 === 'string': {
|
|
214
|
-
const found = Array.from(instance._metaStorage)
|
|
215
|
-
.find(([c]) => c.name === param1
|
|
216
|
-
|| c.name === A_Formatter_helper_1.A_FormatterHelper.toKebabCase(param1)
|
|
217
|
-
|| c.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(param1));
|
|
218
|
-
if (!(found && found.length))
|
|
219
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidMetaParameterError, `Invalid parameter provided to get meta. Component with name ${param1} not found in the meta storage.`);
|
|
220
|
-
property = found[0];
|
|
221
|
-
metaType = A_Component_meta_1.A_ComponentMeta;
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
// 8) If param1 is any other class or function
|
|
225
|
-
default: {
|
|
226
|
-
property = param1;
|
|
227
|
-
metaType = A_Meta_class_1.A_Meta;
|
|
228
|
-
break;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
// Check if the meta already exists for the property, if not create a new one
|
|
232
|
-
if (!instance._metaStorage.has(property)) {
|
|
233
|
-
const inheritMeta = instance._metaStorage.get(Object.getPrototypeOf(property)) || new metaType();
|
|
234
|
-
instance._metaStorage.set(property, new metaType().from(inheritMeta));
|
|
235
|
-
}
|
|
236
|
-
// Return the meta for the property
|
|
237
|
-
return instance._metaStorage.get(property);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
*
|
|
241
|
-
* This method allows to get the issuer of a specific scope.
|
|
242
|
-
*
|
|
243
|
-
* @param scope - Scope to get the issuer for.
|
|
244
|
-
* @returns - Component that issued the scope.
|
|
245
|
-
*/
|
|
246
|
-
static issuer(
|
|
247
|
-
/**
|
|
248
|
-
* Provide the scope to get its issuer.
|
|
249
|
-
*/
|
|
250
|
-
scope) {
|
|
251
|
-
const instance = this.getInstance();
|
|
252
|
-
if (!scope)
|
|
253
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidComponentParameterError, `Invalid parameter provided to get scope issuer. Parameter cannot be null or undefined.`);
|
|
254
|
-
if (!instance._scopeIssuers.has(scope))
|
|
255
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope issuer. Provided scope does not have an issuer registered.`);
|
|
256
|
-
return instance._scopeIssuers.get(scope);
|
|
257
|
-
}
|
|
258
|
-
static scope(param1) {
|
|
259
|
-
var _a;
|
|
260
|
-
// for error messages
|
|
261
|
-
const name = ((_a = param1 === null || param1 === void 0 ? void 0 : param1.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(param1);
|
|
262
|
-
// Get the instance of the context
|
|
263
|
-
const instance = this.getInstance();
|
|
264
|
-
// Input validation
|
|
265
|
-
if (!param1)
|
|
266
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Parameter cannot be null or undefined.`);
|
|
267
|
-
// Check if the parameter is allowed for scope allocation
|
|
268
|
-
if (!this.isAllowedForScopeAllocation(param1)
|
|
269
|
-
&& !this.isAllowedToBeRegistered(param1))
|
|
270
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Component of type ${name} is not allowed for scope allocation.`);
|
|
271
|
-
switch (true) {
|
|
272
|
-
case this.isAllowedForScopeAllocation(param1):
|
|
273
|
-
// Check if the parameter has a scope allocated
|
|
274
|
-
if (!instance._registry.has(param1))
|
|
275
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope. Component of type ${name} does not have a scope allocated. Make sure to allocate a scope using A_Context.allocate() method before trying to get the scope.`);
|
|
276
|
-
// If the parameter is allowed for scope allocation, return the scope
|
|
277
|
-
return instance._registry.get(param1);
|
|
278
|
-
case this.isAllowedToBeRegistered(param1):
|
|
279
|
-
// Check if the parameter has a scope registered
|
|
280
|
-
if (!instance._scopeStorage.has(param1))
|
|
281
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.ScopeNotFoundError, `Invalid parameter provided to get scope. Component of type ${name} does not have a scope registered. Make sure to register the component using A_Context.register() method before trying to get the scope.`);
|
|
282
|
-
// If the parameter is allowed to be registered, return the scope from the storage
|
|
283
|
-
return instance._scopeStorage.get(param1);
|
|
284
|
-
default:
|
|
285
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidScopeParameterError, `Invalid parameter provided to get scope. Component of type ${name} is not allowed to be registered.`);
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
// ==========================================================================================================
|
|
289
|
-
// ================================== FEATURE MANAGEMENT ====================================================
|
|
290
|
-
// ==========================================================================================================
|
|
291
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
292
|
-
// -----------------------------------Primary Methods -------------------------------------------------------
|
|
293
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
294
|
-
/**
|
|
295
|
-
* Returns a template of the feature that can be then used to create a new A-Feature Instance
|
|
296
|
-
*
|
|
297
|
-
* [!] Note: Steps/Stages included are fully dependent on the scope provided since it dictates which components are active and can provide extensions for the feature.
|
|
298
|
-
*
|
|
299
|
-
* @param name
|
|
300
|
-
*/
|
|
301
|
-
static featureTemplate(
|
|
302
|
-
/**
|
|
303
|
-
* Provide the name of the feature to get the template for. Regular expressions are also supported to match multiple features.
|
|
304
|
-
*/
|
|
305
|
-
name,
|
|
306
|
-
/**
|
|
307
|
-
* Provide the component to get the feature template from.
|
|
308
|
-
*/
|
|
309
|
-
component,
|
|
310
|
-
/**
|
|
311
|
-
* Provide the scope that dictates which components are active and can provide extensions for the feature.
|
|
312
|
-
*/
|
|
313
|
-
scope = this.scope(component)) {
|
|
314
|
-
var _a;
|
|
315
|
-
// name for error messages
|
|
316
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
317
|
-
// Input validation
|
|
318
|
-
if (!component)
|
|
319
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
|
|
320
|
-
if (!name)
|
|
321
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
|
|
322
|
-
// Check if the parameter is allowed for feature definition
|
|
323
|
-
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(component))
|
|
324
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
|
|
325
|
-
const steps = [
|
|
326
|
-
// 1) Get the base feature definition from the component
|
|
327
|
-
...this.featureDefinition(name, component),
|
|
328
|
-
// 2) Get all extensions for the feature from other components in the scope
|
|
329
|
-
...this.featureExtensions(name, component, scope)
|
|
330
|
-
];
|
|
331
|
-
return steps;
|
|
332
|
-
}
|
|
333
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
334
|
-
// -----------------------------------Helper Methods --------------------------------------------------------
|
|
335
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
336
|
-
/**
|
|
337
|
-
* Returns all extensions for the specific feature in the specific component within the provided scope.
|
|
338
|
-
* Scope dictates which components are active and can provide extensions for the feature.
|
|
339
|
-
*
|
|
340
|
-
* [!] This method only returns extensions, not the base feature definition.
|
|
341
|
-
*
|
|
342
|
-
* @param scope
|
|
343
|
-
* @returns
|
|
344
|
-
*/
|
|
345
|
-
static featureExtensions(
|
|
346
|
-
/**
|
|
347
|
-
* Provide the name of the feature to get the template for. Regular expressions are also supported to match multiple features.
|
|
348
|
-
*/
|
|
349
|
-
name,
|
|
350
|
-
/**
|
|
351
|
-
* Provide the component to get the feature template from.
|
|
352
|
-
*/
|
|
353
|
-
component,
|
|
354
|
-
/**
|
|
355
|
-
* Provide the scope that dictates which components are active and can provide extensions for the feature.
|
|
356
|
-
*/
|
|
357
|
-
scope) {
|
|
358
|
-
var _a;
|
|
359
|
-
const instance = this.getInstance();
|
|
360
|
-
// name for error messages
|
|
361
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
362
|
-
// Input validation
|
|
363
|
-
if (!component)
|
|
364
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
|
|
365
|
-
if (!name)
|
|
366
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
|
|
367
|
-
// Check if the parameter is allowed for feature definition
|
|
368
|
-
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(component))
|
|
369
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureExtensionParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
|
|
370
|
-
const callName = `${component.constructor.name}.${name}`;
|
|
371
|
-
const steps = [];
|
|
372
|
-
// We need to get all components that has extensions for the feature in component
|
|
373
|
-
for (const [cmp, meta] of instance._metaStorage) {
|
|
374
|
-
// Just try to make sure that component not only Indexed but also presented in scope
|
|
375
|
-
if (scope.has(cmp) && (A_TypeGuards_helper_1.A_TypeGuards.isComponentMetaInstance(meta)
|
|
376
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isContainerMetaInstance(meta))) {
|
|
377
|
-
// Get all extensions for the feature
|
|
378
|
-
meta
|
|
379
|
-
.extensions(callName)
|
|
380
|
-
.forEach((declaration) => {
|
|
381
|
-
steps.push(Object.assign({ component: cmp }, declaration));
|
|
382
|
-
});
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
return instance.filterToMostDerived(scope, steps);
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* method helps to filter steps in a way that only the most derived classes are kept.
|
|
389
|
-
*
|
|
390
|
-
* @param scope
|
|
391
|
-
* @param items
|
|
392
|
-
* @returns
|
|
393
|
-
*/
|
|
394
|
-
filterToMostDerived(scope, items) {
|
|
395
|
-
return items.filter(item => {
|
|
396
|
-
const currentClass = typeof item.component === 'string'
|
|
397
|
-
? scope.resolveConstructor(item.component)
|
|
398
|
-
: A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(item.component)
|
|
399
|
-
? item.component.constructor : item.component;
|
|
400
|
-
// Check if this class is parent of any other in the list
|
|
401
|
-
const isParentOfAnother = items.some(other => {
|
|
402
|
-
if (other === item)
|
|
403
|
-
return false;
|
|
404
|
-
const otherClass = typeof other.component === 'string'
|
|
405
|
-
? scope.resolveConstructor(other.component)
|
|
406
|
-
: A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(other.component)
|
|
407
|
-
? other.component.constructor
|
|
408
|
-
: other.component;
|
|
409
|
-
return currentClass.prototype.isPrototypeOf(otherClass.prototype);
|
|
410
|
-
});
|
|
411
|
-
// Keep only classes that are not parent of any other
|
|
412
|
-
return !isParentOfAnother;
|
|
413
|
-
});
|
|
414
|
-
}
|
|
415
|
-
/**
|
|
416
|
-
* This method returns the feature template definition without any extensions.
|
|
417
|
-
* It can be used to retrieve the base template for a feature before any modifications are applied.
|
|
418
|
-
*
|
|
419
|
-
* [!] This method does not consider extensions from other components.
|
|
420
|
-
*
|
|
421
|
-
* @param feature
|
|
422
|
-
* @param component
|
|
423
|
-
* @returns
|
|
424
|
-
*/
|
|
425
|
-
static featureDefinition(
|
|
426
|
-
/**
|
|
427
|
-
* Name of the feature to get the template for.
|
|
428
|
-
* Regular expressions are also supported to match multiple features.
|
|
429
|
-
*/
|
|
430
|
-
feature,
|
|
431
|
-
/**
|
|
432
|
-
* Component to get the feature template from.
|
|
433
|
-
*/
|
|
434
|
-
component) {
|
|
435
|
-
var _a, _b;
|
|
436
|
-
let metaKey;
|
|
437
|
-
if (!feature)
|
|
438
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Feature name cannot be null or undefined.`);
|
|
439
|
-
if (!component)
|
|
440
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
|
|
441
|
-
switch (true) {
|
|
442
|
-
case component instanceof A_Entity_class_1.A_Entity:
|
|
443
|
-
metaKey = A_Entity_constants_1.A_TYPES__EntityMetaKey.FEATURES;
|
|
444
|
-
break;
|
|
445
|
-
case component instanceof A_Container_class_1.A_Container:
|
|
446
|
-
metaKey = A_Container_constants_1.A_TYPES__ContainerMetaKey.FEATURES;
|
|
447
|
-
break;
|
|
448
|
-
case component instanceof A_Component_class_1.A_Component:
|
|
449
|
-
metaKey = A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES;
|
|
450
|
-
break;
|
|
451
|
-
default:
|
|
452
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidFeatureTemplateParameterError, `A-Feature cannot be defined on the ${component} level`);
|
|
453
|
-
}
|
|
454
|
-
const featureDefinition = (_b = (_a = this.meta(component)) === null || _a === void 0 ? void 0 : _a.get(metaKey)) === null || _b === void 0 ? void 0 : _b.get(feature);
|
|
455
|
-
return [
|
|
456
|
-
...((featureDefinition === null || featureDefinition === void 0 ? void 0 : featureDefinition.template) || [])
|
|
457
|
-
];
|
|
458
|
-
}
|
|
459
|
-
// ==========================================================================================================
|
|
460
|
-
// ================================== ABSTRACTION MANAGEMENT =================================================
|
|
461
|
-
// ==========================================================================================================
|
|
462
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
463
|
-
// -----------------------------------Primary Methods -------------------------------------------------------
|
|
464
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
465
|
-
/**
|
|
466
|
-
* Returns a definition of the abstraction that can be then used to create a new A-Feature Instance
|
|
467
|
-
*
|
|
468
|
-
* [!] Note: Steps/Stages included are fully dependent on the scope provided since it dictates which components are active and can provide extensions for the abstraction.
|
|
469
|
-
*
|
|
470
|
-
* @param abstraction
|
|
471
|
-
*/
|
|
472
|
-
static abstractionTemplate(
|
|
473
|
-
/**
|
|
474
|
-
* Provide the abstraction stage to get the definition for.
|
|
475
|
-
*/
|
|
476
|
-
abstraction,
|
|
477
|
-
/**
|
|
478
|
-
* Provide the component to get the abstraction definition from.
|
|
479
|
-
*/
|
|
480
|
-
component) {
|
|
481
|
-
var _a;
|
|
482
|
-
// name for error messages
|
|
483
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
484
|
-
// Input validation
|
|
485
|
-
if (!component)
|
|
486
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
|
|
487
|
-
if (!abstraction)
|
|
488
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Abstraction stage cannot be null or undefined.`);
|
|
489
|
-
// Check if the parameter is allowed for feature definition
|
|
490
|
-
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForAbstractionDefinition(component))
|
|
491
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionTemplateParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
|
|
492
|
-
const steps = [
|
|
493
|
-
// 1) Get the base abstraction definition from the component
|
|
494
|
-
// [!] No abstraction Definitions -> They are limited to Concept Abstractions ONLY
|
|
495
|
-
// ...this.abstractionDefinition(abstraction, component),
|
|
496
|
-
// 2) Get all extensions for the abstraction from other components in the scope
|
|
497
|
-
...this.abstractionExtensions(abstraction, component)
|
|
498
|
-
];
|
|
499
|
-
return steps;
|
|
500
|
-
}
|
|
501
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
502
|
-
// -----------------------------------Helper Methods --------------------------------------------------------
|
|
503
|
-
// ----------------------------------------------------------------------------------------------------------
|
|
504
|
-
static abstractionExtensions(
|
|
505
|
-
/**
|
|
506
|
-
* Provide the abstraction name to get the definition for.
|
|
507
|
-
*/
|
|
508
|
-
abstraction,
|
|
509
|
-
/**
|
|
510
|
-
* Provide the component to get the abstraction definition from.
|
|
511
|
-
*/
|
|
512
|
-
component) {
|
|
513
|
-
var _a;
|
|
514
|
-
const instance = this.getInstance();
|
|
515
|
-
// name for error messages
|
|
516
|
-
const componentName = ((_a = component === null || component === void 0 ? void 0 : component.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(component);
|
|
517
|
-
// Input validation
|
|
518
|
-
if (!component)
|
|
519
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Component cannot be null or undefined.`);
|
|
520
|
-
if (!abstraction)
|
|
521
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Abstraction stage cannot be null or undefined.`);
|
|
522
|
-
// Check if the parameter is allowed for feature definition
|
|
523
|
-
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForAbstractionDefinition(component))
|
|
524
|
-
throw new A_Context_error_1.A_ContextError(A_Context_error_1.A_ContextError.InvalidAbstractionExtensionParameterError, `Unable to get feature template. Component of type ${componentName} is not allowed for feature definition.`);
|
|
525
|
-
const steps = [];
|
|
526
|
-
const scope = this.scope(component);
|
|
527
|
-
// We need to get all components that has extensions for the feature in component
|
|
528
|
-
for (const [cmp, meta] of instance._metaStorage) {
|
|
529
|
-
// Just try to make sure that component not only Indexed but also presented in scope
|
|
530
|
-
if (scope.has(cmp) && (A_TypeGuards_helper_1.A_TypeGuards.isComponentMetaInstance(meta)
|
|
531
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isContainerMetaInstance(meta))) {
|
|
532
|
-
// Get all extensions for the feature
|
|
533
|
-
meta
|
|
534
|
-
.abstractions(abstraction)
|
|
535
|
-
.forEach((declaration) => {
|
|
536
|
-
steps.push(Object.assign({ component: cmp }, declaration));
|
|
537
|
-
});
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
return instance.filterToMostDerived(scope, steps);
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Resets the Context to its initial state.
|
|
544
|
-
*/
|
|
545
|
-
static reset() {
|
|
546
|
-
const instance = A_Context.getInstance();
|
|
547
|
-
instance._registry = new WeakMap();
|
|
548
|
-
let name = 'root';
|
|
549
|
-
if (A_Context.environment === 'server')
|
|
550
|
-
name = process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
|
|
551
|
-
if (A_Context.environment === 'browser')
|
|
552
|
-
name = window[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] || 'root';
|
|
553
|
-
instance._root = new A_Scope_class_1.A_Scope({ name });
|
|
554
|
-
}
|
|
555
|
-
// ====================================================================================================================
|
|
556
|
-
// ====================================== HELPERS & GUARDS ============================================================
|
|
557
|
-
// ====================================================================================================================
|
|
558
|
-
/**
|
|
559
|
-
* Type guard to check if the param is allowed for scope allocation.
|
|
560
|
-
*
|
|
561
|
-
* @param param
|
|
562
|
-
* @returns
|
|
563
|
-
*/
|
|
564
|
-
static isAllowedForScopeAllocation(param) {
|
|
565
|
-
return A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param)
|
|
566
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isFeatureInstance(param);
|
|
567
|
-
}
|
|
568
|
-
/**
|
|
569
|
-
* Type guard to check if the param is allowed to be registered in the context.
|
|
570
|
-
*
|
|
571
|
-
* @param param
|
|
572
|
-
* @returns
|
|
573
|
-
*/
|
|
574
|
-
static isAllowedToBeRegistered(param) {
|
|
575
|
-
return A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param)
|
|
576
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param)
|
|
577
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isFragmentInstance(param);
|
|
578
|
-
}
|
|
579
|
-
/**
|
|
580
|
-
* Type guard to check if the param is allowed for meta storage.
|
|
581
|
-
*
|
|
582
|
-
* @param param
|
|
583
|
-
* @returns
|
|
584
|
-
*/
|
|
585
|
-
static isAllowedForMeta(param) {
|
|
586
|
-
return A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(param)
|
|
587
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(param)
|
|
588
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(param);
|
|
589
|
-
}
|
|
590
|
-
/**
|
|
591
|
-
* Type guard to check if the param is allowed for meta storage by constructor.
|
|
592
|
-
*
|
|
593
|
-
* @param param
|
|
594
|
-
* @returns
|
|
595
|
-
*/
|
|
596
|
-
static isAllowedForMetaConstructor(param) {
|
|
597
|
-
return A_TypeGuards_helper_1.A_TypeGuards.isContainerConstructor(param)
|
|
598
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(param)
|
|
599
|
-
|| A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(param);
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
exports.A_Context = A_Context;
|
|
603
|
-
//# sourceMappingURL=A-Context.class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { A_Error } from "../A-Error/A_Error.class";
|
|
2
|
-
export declare class A_ContextError extends A_Error {
|
|
3
|
-
static NotAllowedForScopeAllocationError: string;
|
|
4
|
-
static ComponentAlreadyHasScopeAllocatedError: string;
|
|
5
|
-
static InvalidMetaParameterError: string;
|
|
6
|
-
static InvalidScopeParameterError: string;
|
|
7
|
-
static ScopeNotFoundError: string;
|
|
8
|
-
static InvalidFeatureParameterError: string;
|
|
9
|
-
static InvalidFeatureDefinitionParameterError: string;
|
|
10
|
-
static InvalidFeatureTemplateParameterError: string;
|
|
11
|
-
static InvalidFeatureExtensionParameterError: string;
|
|
12
|
-
static InvalidAbstractionParameterError: string;
|
|
13
|
-
static InvalidAbstractionDefinitionParameterError: string;
|
|
14
|
-
static InvalidAbstractionTemplateParameterError: string;
|
|
15
|
-
static InvalidAbstractionExtensionParameterError: string;
|
|
16
|
-
static InvalidInjectionParameterError: string;
|
|
17
|
-
static InvalidExtensionParameterError: string;
|
|
18
|
-
static InvalidRegisterParameterError: string;
|
|
19
|
-
static InvalidComponentParameterError: string;
|
|
20
|
-
}
|