@adaas/a-concept 0.0.23 → 0.0.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/examples/simple/containers/Main.container.d.ts +2 -1
- package/dist/examples/simple/containers/Main.container.js +5 -7
- package/dist/examples/simple/containers/Main.container.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.class.d.ts +4 -3
- package/dist/src/global/A-Component/A-Component.class.js +2 -2
- package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.class.js +2 -2
- package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +6 -6
- package/dist/src/global/A-Context/A-Context.class.js +41 -6
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.class.js +1 -1
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.class.js +8 -0
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/examples/simple/containers/Main.container.ts +6 -8
- package/package.json +1 -1
- package/src/global/A-Component/A-Component.class.ts +6 -1
- package/src/global/A-Container/A-Container.class.ts +2 -2
- package/src/global/A-Context/A-Context.class.ts +49 -5
- package/src/global/A-Entity/A-Entity.class.ts +5 -5
- package/src/global/A-Scope/A-Scope.class.ts +13 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { A_Container } from "../../../src/global/A-Container/A-Container.class";
|
|
2
|
+
import { A_Scope } from "../../../src/global/A-Scope/A-Scope.class";
|
|
2
3
|
export declare class MainContainer extends A_Container<[
|
|
3
4
|
'method_A',
|
|
4
5
|
'method_B'
|
|
5
6
|
]> {
|
|
6
7
|
load(): Promise<void>;
|
|
7
|
-
start(
|
|
8
|
+
start(scope: A_Scope): Promise<void>;
|
|
8
9
|
method_A(): Promise<void>;
|
|
9
10
|
method_B(): Promise<void>;
|
|
10
11
|
}
|
|
@@ -27,18 +27,16 @@ const A_Concept_class_1 = require("../../../src/global/A-Concept/A_Concept.class
|
|
|
27
27
|
const A_Inject_decorator_1 = require("../../../src/decorators/A-Inject/A-Inject.decorator");
|
|
28
28
|
const A_Context_class_1 = require("../../../src/global/A-Context/A-Context.class");
|
|
29
29
|
const A_Logger_component_1 = require("../../../src/base/A-Logger/A-Logger.component");
|
|
30
|
+
const A_Scope_class_1 = require("../../../src/global/A-Scope/A-Scope.class");
|
|
30
31
|
class MainContainer extends A_Container_class_1.A_Container {
|
|
31
32
|
load() {
|
|
32
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
34
|
console.log('Main container loaded');
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
|
-
start(
|
|
37
|
+
start(scope) {
|
|
37
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
|
|
39
|
-
console.log('Start');
|
|
40
|
-
}
|
|
41
|
-
A_Context_class_1.A_Context.feature(this, 'method_A');
|
|
39
|
+
A_Context_class_1.A_Context.feature(scope, this, 'method_A');
|
|
42
40
|
});
|
|
43
41
|
}
|
|
44
42
|
method_A() {
|
|
@@ -57,7 +55,7 @@ class MainContainer extends A_Container_class_1.A_Container {
|
|
|
57
55
|
console.log('Method B', A_Context_class_1.A_Context.root);
|
|
58
56
|
const logger = this.Scope.resolve(A_Logger_component_1.A_Logger);
|
|
59
57
|
// or you can manually call the feature
|
|
60
|
-
const feature = A_Context_class_1.A_Context.feature(this, 'method_B', {
|
|
58
|
+
const feature = A_Context_class_1.A_Context.feature(this.Scope, this, 'method_B', {
|
|
61
59
|
fragments: [new Fragment_A_context_1.ContextFragmentA(), new Fragment_B_context_1.ContextFragmentB()]
|
|
62
60
|
});
|
|
63
61
|
for (const step of feature) {
|
|
@@ -73,7 +71,7 @@ __decorate([
|
|
|
73
71
|
], MainContainer.prototype, "load", null);
|
|
74
72
|
__decorate([
|
|
75
73
|
A_Concept_class_1.A_Concept.Start(),
|
|
76
|
-
__param(0, (0, A_Inject_decorator_1.A_Inject)(
|
|
74
|
+
__param(0, (0, A_Inject_decorator_1.A_Inject)(A_Scope_class_1.A_Scope))
|
|
77
75
|
], MainContainer.prototype, "start", null);
|
|
78
76
|
__decorate([
|
|
79
77
|
A_Feature_class_1.A_Feature.Define()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.container.js","sourceRoot":"","sources":["../../../../examples/simple/containers/Main.container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6FAAoF;AACpF,uFAA8E;AAC9E,sEAAiE;AACjE,sEAAiE;AACjE,uFAA8E;AAC9E,gGAAmF;AACnF,uFAA8E;AAC9E,0FAA6E;
|
|
1
|
+
{"version":3,"file":"Main.container.js","sourceRoot":"","sources":["../../../../examples/simple/containers/Main.container.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,6FAAoF;AACpF,uFAA8E;AAC9E,sEAAiE;AACjE,sEAAiE;AACjE,uFAA8E;AAC9E,gGAAmF;AACnF,uFAA8E;AAC9E,0FAA6E;AAC7E,iFAAwE;AAIxE,MAAa,aAAc,SAAQ,+BAElC;IAGS,IAAI;;YACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACzC,CAAC;KAAA;IAGK,KAAK,CACY,KAAc;;YAGjC,2BAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;KAAA;IAMK,QAAQ;;YACV,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxB,SAAS,EAAE;oBACP,IAAI,qCAAgB,EAAE;oBACtB,IAAI,qCAAgB,EAAE;iBACzB;aACJ,CAAC,CAAC;QACP,CAAC;KAAA;IAMK,QAAQ;;YAEV,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,2BAAS,CAAC,IAAI,CAAC,CAAC;YAExC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,6BAAQ,CAAC,CAAC;YAE5C,wCAAwC;YAExC,MAAM,OAAO,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5D,SAAS,EAAE,CAAC,IAAI,qCAAgB,EAAE,EAAE,IAAI,qCAAgB,EAAE,CAAC;aAC9D,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;gBACzB,MAAM,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAE1D,MAAM,IAAI,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;KAAA;CACJ;AArDD,sCAqDC;AAhDS;IADL,2BAAS,CAAC,IAAI,EAAE;yCAGhB;AAGK;IADL,2BAAS,CAAC,KAAK,EAAE;IAEb,WAAA,IAAA,6BAAQ,EAAC,uBAAO,CAAC,CAAA;0CAIrB;AAMK;IADL,2BAAS,CAAC,MAAM,EAAE;6CASlB;AAMK;IADL,2BAAS,CAAC,MAAM,EAAE;6CAkBlB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { A_TYPES__Required } from "@adaas/a-utils";
|
|
2
2
|
import { A_TYPES__ComponentCallParams } from "./A-Component.types";
|
|
3
|
+
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
3
4
|
/**
|
|
4
5
|
* This element only contains the specific code
|
|
5
6
|
*
|
|
@@ -11,17 +12,17 @@ export declare class A_Component<_FeatureNames extends Array<string> = any> {
|
|
|
11
12
|
* @param lifecycleMethod
|
|
12
13
|
* @param args
|
|
13
14
|
*/
|
|
14
|
-
call(
|
|
15
|
+
call(scope: A_Scope,
|
|
15
16
|
/**
|
|
16
17
|
* A-Feature method name to be called
|
|
17
18
|
*/
|
|
18
19
|
feature: _FeatureNames[number]): Promise<any>;
|
|
19
|
-
call(
|
|
20
|
+
call(scope: A_Scope,
|
|
20
21
|
/**
|
|
21
22
|
* A-Feature name to be called
|
|
22
23
|
*/
|
|
23
24
|
params: A_TYPES__Required<Partial<A_TYPES__ComponentCallParams<_FeatureNames[number]>>, ['name']>): Promise<any>;
|
|
24
|
-
call(
|
|
25
|
+
call(scope: A_Scope,
|
|
25
26
|
/**
|
|
26
27
|
* A-Feature method name to be called
|
|
27
28
|
*/
|
|
@@ -16,7 +16,7 @@ const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
|
16
16
|
*
|
|
17
17
|
*/
|
|
18
18
|
class A_Component {
|
|
19
|
-
call(param1, param2) {
|
|
19
|
+
call(scope, param1, param2) {
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const feature = typeof param1 === 'string'
|
|
22
22
|
? param1
|
|
@@ -24,7 +24,7 @@ class A_Component {
|
|
|
24
24
|
const params = typeof param1 === 'string'
|
|
25
25
|
? param2 || {}
|
|
26
26
|
: param1;
|
|
27
|
-
const newFeature = A_Context_class_1.A_Context.feature(this, feature, params);
|
|
27
|
+
const newFeature = A_Context_class_1.A_Context.feature(scope, this, feature, params);
|
|
28
28
|
return yield newFeature.process();
|
|
29
29
|
});
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAyD;
|
|
1
|
+
{"version":3,"file":"A-Component.class.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kEAAyD;AAIzD;;;GAGG;AACH,MAAa,WAAW;IAsCd,IAAI,CACN,KAAc,EACd,MAAyH,EACzH,MAAqE;;YAGrE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM,MAAM,GAAiE,OAAO,MAAM,KAAK,QAAQ;gBACnG,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC;YAEb,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEnE,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;CACJ;AAvDD,kCAuDC"}
|
|
@@ -80,7 +80,7 @@ class A_Container {
|
|
|
80
80
|
const params = typeof param1 === 'string'
|
|
81
81
|
? param2 || {}
|
|
82
82
|
: param1;
|
|
83
|
-
const newFeature = A_Context_class_1.A_Context.feature(this, feature, params);
|
|
83
|
+
const newFeature = A_Context_class_1.A_Context.feature(this.Scope, this, feature, params);
|
|
84
84
|
return yield newFeature.process();
|
|
85
85
|
});
|
|
86
86
|
}
|
|
@@ -91,7 +91,7 @@ class A_Container {
|
|
|
91
91
|
const params = typeof param1 === 'string'
|
|
92
92
|
? param2 || {}
|
|
93
93
|
: param1;
|
|
94
|
-
return A_Context_class_1.A_Context.featureDefinition(this, feature, params);
|
|
94
|
+
return A_Context_class_1.A_Context.featureDefinition(this.Scope, this, feature, params);
|
|
95
95
|
}
|
|
96
96
|
// ==============================================================
|
|
97
97
|
// ======================= HOOKS ================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,kEAAyD;AAMzD;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAYpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAS,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,IAAI,KAAK;QACL,OAAO,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAGD;IACI;;OAEG;IACH,MAA6D;QAE7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzC,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjC;;WAEG;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAGS,YAAY,CAAC,EAA2B;QAC9C,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;YAC1B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACd,CAAC;IAGD;;OAEG;IACW,IAAI;;YACd,IAAI,CAAC,IAAI,CAAC,KAAK;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;wBAE1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAGzB,OAAO,OAAO,EAAE,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;KAAA;IAoCK,IAAI,CACN,MAAyH,EACzH,MAAqE;;YAGrE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM,MAAM,GAAiE,OAAO,MAAM,KAAK,QAAQ;gBACnG,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC;YAEb,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,18 +90,18 @@ export declare class A_Context {
|
|
|
90
90
|
* @param scope
|
|
91
91
|
* @returns
|
|
92
92
|
*/
|
|
93
|
-
static featureDefinition<T extends Array<string>>(entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
94
|
-
static featureDefinition<T extends Array<string>>(container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
95
|
-
static featureDefinition(component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
93
|
+
static featureDefinition<T extends Array<string>>(scope: A_Scope, entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
94
|
+
static featureDefinition<T extends Array<string>>(scope: A_Scope, container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
95
|
+
static featureDefinition(scope: A_Scope, component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
|
|
96
96
|
/**
|
|
97
97
|
* This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.
|
|
98
98
|
*
|
|
99
99
|
* @param scope
|
|
100
100
|
* @returns
|
|
101
101
|
*/
|
|
102
|
-
static feature<T extends Array<string>>(entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
103
|
-
static feature<T extends Array<string>>(container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
104
|
-
static feature(component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
102
|
+
static feature<T extends Array<string>>(scope: A_Scope, entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
103
|
+
static feature<T extends Array<string>>(scope: A_Scope, container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
104
|
+
static feature(scope: A_Scope, component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_Feature;
|
|
105
105
|
/**
|
|
106
106
|
* Register a Namespace in the provider.
|
|
107
107
|
* @param Namespace
|
|
@@ -180,13 +180,48 @@ class A_Context {
|
|
|
180
180
|
}
|
|
181
181
|
return component;
|
|
182
182
|
}
|
|
183
|
-
static featureDefinition(param1, param2, param3) {
|
|
183
|
+
static featureDefinition(scope, param1, param2, param3) {
|
|
184
184
|
const instance = this.getInstance();
|
|
185
185
|
const component = param1;
|
|
186
|
-
const feature = `${component.constructor.name}.${param2}`;
|
|
187
186
|
const config = param3 || {};
|
|
188
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Important NOTE::: Component Scope and Parent Scope are different things.
|
|
189
|
+
*
|
|
190
|
+
* Component Scope is a scope where Component Registered.
|
|
191
|
+
* Parent Scope is a scope From Where Feature Requested.
|
|
192
|
+
*
|
|
193
|
+
*
|
|
194
|
+
* Example: ComponentA registered in ScopeA of ContainerA.
|
|
195
|
+
* When FeatureA Requested from ContainerA, then Parent Scope is ScopeA For the FeatureA [!]
|
|
196
|
+
* BUT In FeatureA may be used ComponentB with FeatureB.
|
|
197
|
+
*
|
|
198
|
+
*
|
|
199
|
+
* ------------------------------Execution-----------------------------------------------------------
|
|
200
|
+
* ContainerA -> FeatureA -> ComponentA -> FeatureB -> ComponentB
|
|
201
|
+
* - Scope:ScopeA -> - Scope: FeatA -> - Scope: ScopeA -> - Scope: FeatB -> - Scope: ScopeA
|
|
202
|
+
* - Parent: ScopeA -> - Parent: ROOT -> - Parent: FeatA -> - Parent: ROOT
|
|
203
|
+
* --------------------------------------------------------------------------------------------------
|
|
204
|
+
*
|
|
205
|
+
* So ComponentA and ComponentB are registered in the SAME scope of ContainerA.
|
|
206
|
+
* But Each Feature has its own Scope and Parent Scope.
|
|
207
|
+
*
|
|
208
|
+
*
|
|
209
|
+
* Component AND Entity DO [!] NOT HAVE THEIR OWN SCOPE.
|
|
210
|
+
*
|
|
211
|
+
* Feature AND Container HAVE OWN SCOPE.
|
|
212
|
+
*
|
|
213
|
+
*
|
|
214
|
+
* So Parent can come from the Container or from the Feature.
|
|
215
|
+
* While Scope we use just to store the scope where the component registered.
|
|
216
|
+
*
|
|
217
|
+
*/
|
|
189
218
|
const steps = [];
|
|
219
|
+
const feature = new a_utils_1.ASEID({
|
|
220
|
+
id: `${param2}-${Math.random()}`,
|
|
221
|
+
entity: 'a-feature',
|
|
222
|
+
namespace: component.constructor.name,
|
|
223
|
+
scope: scope.name
|
|
224
|
+
}).toString();
|
|
190
225
|
// Now we need to resolve the method from all registered components
|
|
191
226
|
// We need to get all components that has extensions for the feature in component
|
|
192
227
|
instance.componentsMeta
|
|
@@ -210,11 +245,11 @@ class A_Context {
|
|
|
210
245
|
fragments: config.fragments || [],
|
|
211
246
|
components: config.components || [],
|
|
212
247
|
steps,
|
|
213
|
-
parent: this.scope(component)
|
|
248
|
+
parent: component instanceof A_Container_class_1.A_Container ? this.scope(component) : undefined
|
|
214
249
|
};
|
|
215
250
|
}
|
|
216
|
-
static feature(param1, param2, param3) {
|
|
217
|
-
const featureConstructor = this.featureDefinition(param1, param2, param3);
|
|
251
|
+
static feature(scope, param1, param2, param3) {
|
|
252
|
+
const featureConstructor = this.featureDefinition(scope, param1, param2, param3);
|
|
218
253
|
const newFeature = new A_Feature_class_1.A_Feature(featureConstructor);
|
|
219
254
|
return newFeature;
|
|
220
255
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,7 +105,7 @@ class A_Entity extends A_Fragment_class_1.A_Fragment {
|
|
|
105
105
|
const params = typeof param1 === 'string'
|
|
106
106
|
? param2 || {}
|
|
107
107
|
: param1;
|
|
108
|
-
const newFeature = A_Context_class_1.A_Context.feature(this, feature, params);
|
|
108
|
+
const newFeature = A_Context_class_1.A_Context.feature(A_Context_class_1.A_Context.scope(this), this, feature, params);
|
|
109
109
|
return yield newFeature.process();
|
|
110
110
|
});
|
|
111
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAIwB;AACxB,qDAM0B;AAC1B,yFAAiG;AACjG,kEAAyD;AACzD,qEAA4D;AAI5D;;;;;;GAMG;AACH,MAAa,QAKT,SAAQ,6BAAU;IAMlB;;OAEG;IACH,MAAM,KAAK,MAAM;QACb,OAAO,wBAAc;aAChB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACvC,iBAAiB,EAAE;aACnB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAcD,YAAY,KAA0D;QAClE,KAAK,EAAE,CAAC;QAER,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpD,IAAI,CAAC,KAAK,GAAG,IAAI,eAAK,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM;YACV,KAAK,CAAC,KAAK,YAAY,eAAK,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,MAAM;YACV,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM;YAEV,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,KAAyB,CAAC,CAAC;gBACxC,MAAK;YAET;gBACI,MAAM,IAAI,iBAAO,CAAC,8CAA2B,CAAC,8BAA8B,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IAEvE;;;OAGG;IACH,IAAI,EAAE;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;OAGG;IAEH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC5B,CAAC;IAgCK,IAAI,CACN,MAAsH,EACtH,MAAkE;;YAGlE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM,MAAM,GAA8D,OAAO,MAAM,KAAK,QAAQ;gBAChG,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC;YAEb,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -201,12 +201,20 @@ class A_Scope {
|
|
|
201
201
|
break;
|
|
202
202
|
}
|
|
203
203
|
case param1 instanceof A_Fragment_class_1.A_Fragment && !this._fragments.has(param1.constructor): {
|
|
204
|
+
const allowedFragment = this.fragments.find(fr => fr instanceof param1.constructor);
|
|
205
|
+
if (!allowedFragment) {
|
|
206
|
+
this.fragments.push(param1);
|
|
207
|
+
}
|
|
204
208
|
this._fragments.set(param1.constructor, param1);
|
|
205
209
|
A_Context_class_1.A_Context.register(this, param1);
|
|
206
210
|
break;
|
|
207
211
|
}
|
|
208
212
|
case param1 instanceof A_Component_class_1.A_Component: {
|
|
209
213
|
this._components.set(param1.constructor, param1);
|
|
214
|
+
const allowedComponent = this.components.find(c => c === param1.constructor);
|
|
215
|
+
if (!allowedComponent) {
|
|
216
|
+
this.components.push(param1.constructor);
|
|
217
|
+
}
|
|
210
218
|
A_Context_class_1.A_Context.register(this, param1);
|
|
211
219
|
break;
|
|
212
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
|
6
6
|
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
7
7
|
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
8
8
|
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
9
|
+
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
|
|
@@ -20,14 +21,10 @@ export class MainContainer extends A_Container<
|
|
|
20
21
|
|
|
21
22
|
@A_Concept.Start()
|
|
22
23
|
async start(
|
|
23
|
-
@A_Inject(
|
|
24
|
+
@A_Inject(A_Scope) scope: A_Scope
|
|
24
25
|
) {
|
|
25
|
-
if (params) {
|
|
26
|
-
console.log('Start');
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
A_Context.feature(this, 'method_A');
|
|
27
|
+
A_Context.feature(scope, this, 'method_A');
|
|
31
28
|
}
|
|
32
29
|
|
|
33
30
|
|
|
@@ -48,14 +45,15 @@ export class MainContainer extends A_Container<
|
|
|
48
45
|
|
|
49
46
|
|
|
50
47
|
@A_Feature.Define()
|
|
51
|
-
async method_B(
|
|
48
|
+
async method_B(
|
|
49
|
+
) {
|
|
52
50
|
console.log('Method B', A_Context.root);
|
|
53
51
|
|
|
54
52
|
const logger = this.Scope.resolve(A_Logger);
|
|
55
53
|
|
|
56
54
|
// or you can manually call the feature
|
|
57
55
|
|
|
58
|
-
const feature = A_Context.feature(this, 'method_B', {
|
|
56
|
+
const feature = A_Context.feature(this.Scope, this, 'method_B', {
|
|
59
57
|
fragments: [new ContextFragmentA(), new ContextFragmentB()]
|
|
60
58
|
});
|
|
61
59
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-concept",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.25",
|
|
4
4
|
"description": "A-Concept is a framework to build new Applications within or outside the ADAAS ecosystem. This framework is designed to be modular structure regardless environment and program goal.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { A_TYPES__Required } from "@adaas/a-utils";
|
|
2
2
|
import { A_Context } from "../A-Context/A-Context.class";
|
|
3
3
|
import { A_TYPES__ComponentCallParams } from "./A-Component.types";
|
|
4
|
+
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* This element only contains the specific code
|
|
@@ -18,12 +19,14 @@ export class A_Component<
|
|
|
18
19
|
* @param args
|
|
19
20
|
*/
|
|
20
21
|
async call(
|
|
22
|
+
scope: A_Scope,
|
|
21
23
|
/**
|
|
22
24
|
* A-Feature method name to be called
|
|
23
25
|
*/
|
|
24
26
|
feature: _FeatureNames[number],
|
|
25
27
|
): Promise<any>
|
|
26
28
|
async call(
|
|
29
|
+
scope: A_Scope,
|
|
27
30
|
/**
|
|
28
31
|
* A-Feature name to be called
|
|
29
32
|
*/
|
|
@@ -31,6 +34,7 @@ export class A_Component<
|
|
|
31
34
|
): Promise<any>
|
|
32
35
|
|
|
33
36
|
async call(
|
|
37
|
+
scope: A_Scope,
|
|
34
38
|
/**
|
|
35
39
|
* A-Feature method name to be called
|
|
36
40
|
*/
|
|
@@ -42,6 +46,7 @@ export class A_Component<
|
|
|
42
46
|
): Promise<any>
|
|
43
47
|
|
|
44
48
|
async call(
|
|
49
|
+
scope: A_Scope,
|
|
45
50
|
param1: _FeatureNames[number] | A_TYPES__Required<Partial<A_TYPES__ComponentCallParams<_FeatureNames[number]>>, ['name']>,
|
|
46
51
|
param2?: Partial<A_TYPES__ComponentCallParams<_FeatureNames[number]>>
|
|
47
52
|
): Promise<any> {
|
|
@@ -53,7 +58,7 @@ export class A_Component<
|
|
|
53
58
|
? param2 || {}
|
|
54
59
|
: param1;
|
|
55
60
|
|
|
56
|
-
const newFeature = A_Context.feature(this, feature, params);
|
|
61
|
+
const newFeature = A_Context.feature(scope, this, feature, params);
|
|
57
62
|
|
|
58
63
|
return await newFeature.process();
|
|
59
64
|
}
|
|
@@ -138,7 +138,7 @@ export class A_Container<
|
|
|
138
138
|
? param2 || {}
|
|
139
139
|
: param1;
|
|
140
140
|
|
|
141
|
-
const newFeature = A_Context.feature(this, feature, params);
|
|
141
|
+
const newFeature = A_Context.feature(this.Scope, this, feature, params);
|
|
142
142
|
|
|
143
143
|
return await newFeature.process();
|
|
144
144
|
}
|
|
@@ -187,7 +187,7 @@ export class A_Container<
|
|
|
187
187
|
? param2 || {}
|
|
188
188
|
: param1;
|
|
189
189
|
|
|
190
|
-
return A_Context.featureDefinition(this, feature, params);
|
|
190
|
+
return A_Context.featureDefinition(this.Scope, this, feature, params);
|
|
191
191
|
}
|
|
192
192
|
|
|
193
193
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A_CommonHelper, A_Polyfills, A_TYPES__Required } from "@adaas/a-utils";
|
|
1
|
+
import { A_CommonHelper, A_Polyfills, A_TYPES__Required, ASEID } from "@adaas/a-utils";
|
|
2
2
|
import { A_Component } from "../A-Component/A-Component.class";
|
|
3
3
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
4
4
|
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
@@ -346,21 +346,25 @@ export class A_Context {
|
|
|
346
346
|
* @returns
|
|
347
347
|
*/
|
|
348
348
|
static featureDefinition<T extends Array<string>>(
|
|
349
|
+
scope: A_Scope,
|
|
349
350
|
entity: A_Entity<any, any, T>,
|
|
350
351
|
feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp,
|
|
351
352
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
352
353
|
): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
|
|
353
354
|
static featureDefinition<T extends Array<string>>(
|
|
355
|
+
scope: A_Scope,
|
|
354
356
|
container: A_Container<T>,
|
|
355
357
|
feature: T[number],
|
|
356
358
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
357
359
|
): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
|
|
358
360
|
static featureDefinition(
|
|
361
|
+
scope: A_Scope,
|
|
359
362
|
component: A_Component,
|
|
360
363
|
feature: string,
|
|
361
364
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
362
365
|
): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
|
|
363
366
|
static featureDefinition<T extends Array<string>>(
|
|
367
|
+
scope: A_Scope,
|
|
364
368
|
param1: A_Component<T> | A_Container<T> | A_Entity<any, any, T>,
|
|
365
369
|
param2: string | T[number],
|
|
366
370
|
param3?: Partial<A_TYPES__ScopeConstructor>
|
|
@@ -370,10 +374,46 @@ export class A_Context {
|
|
|
370
374
|
const instance = this.getInstance();
|
|
371
375
|
|
|
372
376
|
const component = param1;
|
|
373
|
-
const feature: string = `${component.constructor.name}.${param2}`;
|
|
374
377
|
const config = param3 || {};
|
|
375
|
-
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Important NOTE::: Component Scope and Parent Scope are different things.
|
|
381
|
+
*
|
|
382
|
+
* Component Scope is a scope where Component Registered.
|
|
383
|
+
* Parent Scope is a scope From Where Feature Requested.
|
|
384
|
+
*
|
|
385
|
+
*
|
|
386
|
+
* Example: ComponentA registered in ScopeA of ContainerA.
|
|
387
|
+
* When FeatureA Requested from ContainerA, then Parent Scope is ScopeA For the FeatureA [!]
|
|
388
|
+
* BUT In FeatureA may be used ComponentB with FeatureB.
|
|
389
|
+
*
|
|
390
|
+
*
|
|
391
|
+
* ------------------------------Execution-----------------------------------------------------------
|
|
392
|
+
* ContainerA -> FeatureA -> ComponentA -> FeatureB -> ComponentB
|
|
393
|
+
* - Scope:ScopeA -> - Scope: FeatA -> - Scope: ScopeA -> - Scope: FeatB -> - Scope: ScopeA
|
|
394
|
+
* - Parent: ScopeA -> - Parent: ROOT -> - Parent: FeatA -> - Parent: ROOT
|
|
395
|
+
* --------------------------------------------------------------------------------------------------
|
|
396
|
+
*
|
|
397
|
+
* So ComponentA and ComponentB are registered in the SAME scope of ContainerA.
|
|
398
|
+
* But Each Feature has its own Scope and Parent Scope.
|
|
399
|
+
*
|
|
400
|
+
*
|
|
401
|
+
* Component AND Entity DO [!] NOT HAVE THEIR OWN SCOPE.
|
|
402
|
+
*
|
|
403
|
+
* Feature AND Container HAVE OWN SCOPE.
|
|
404
|
+
*
|
|
405
|
+
*
|
|
406
|
+
* So Parent can come from the Container or from the Feature.
|
|
407
|
+
* While Scope we use just to store the scope where the component registered.
|
|
408
|
+
*
|
|
409
|
+
*/
|
|
376
410
|
const steps: A_TYPES__FeatureStep[] = [];
|
|
411
|
+
const feature: string = new ASEID({
|
|
412
|
+
id: `${param2}-${Math.random()}`,
|
|
413
|
+
entity: 'a-feature',
|
|
414
|
+
namespace: component.constructor.name,
|
|
415
|
+
scope: scope.name
|
|
416
|
+
}).toString();
|
|
377
417
|
|
|
378
418
|
// Now we need to resolve the method from all registered components
|
|
379
419
|
|
|
@@ -401,7 +441,7 @@ export class A_Context {
|
|
|
401
441
|
fragments: config.fragments || [],
|
|
402
442
|
components: config.components || [],
|
|
403
443
|
steps,
|
|
404
|
-
parent: this.scope(component)
|
|
444
|
+
parent: component instanceof A_Container ? this.scope(component) : undefined
|
|
405
445
|
};
|
|
406
446
|
}
|
|
407
447
|
|
|
@@ -414,27 +454,31 @@ export class A_Context {
|
|
|
414
454
|
* @returns
|
|
415
455
|
*/
|
|
416
456
|
static feature<T extends Array<string>>(
|
|
457
|
+
scope: A_Scope,
|
|
417
458
|
entity: A_Entity<any, any, T>,
|
|
418
459
|
feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp,
|
|
419
460
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
420
461
|
): A_Feature
|
|
421
462
|
static feature<T extends Array<string>>(
|
|
463
|
+
scope: A_Scope,
|
|
422
464
|
container: A_Container<T>,
|
|
423
465
|
feature: T[number],
|
|
424
466
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
425
467
|
): A_Feature
|
|
426
468
|
static feature(
|
|
469
|
+
scope: A_Scope,
|
|
427
470
|
component: A_Component,
|
|
428
471
|
feature: string,
|
|
429
472
|
params?: Partial<A_TYPES__ScopeConstructor>
|
|
430
473
|
): A_Feature
|
|
431
474
|
static feature<T extends Array<string>>(
|
|
475
|
+
scope: A_Scope,
|
|
432
476
|
param1: A_Component<T> | A_Container<T> | A_Entity<any, any, T>,
|
|
433
477
|
param2: string | T[number],
|
|
434
478
|
param3?: Partial<A_TYPES__ScopeConstructor>
|
|
435
479
|
): A_Feature {
|
|
436
480
|
|
|
437
|
-
const featureConstructor = this.featureDefinition(param1, param2, param3);
|
|
481
|
+
const featureConstructor = this.featureDefinition(scope, param1, param2, param3);
|
|
438
482
|
|
|
439
483
|
const newFeature = new A_Feature(featureConstructor);
|
|
440
484
|
|
|
@@ -175,7 +175,7 @@ export class A_Entity<
|
|
|
175
175
|
? param2 || {}
|
|
176
176
|
: param1;
|
|
177
177
|
|
|
178
|
-
const newFeature = A_Context.feature(this, feature, params);
|
|
178
|
+
const newFeature = A_Context.feature(A_Context.scope(this), this, feature, params);
|
|
179
179
|
|
|
180
180
|
return await newFeature.process();
|
|
181
181
|
}
|
|
@@ -185,7 +185,7 @@ export class A_Entity<
|
|
|
185
185
|
// ================== Entity Base Methods =============================
|
|
186
186
|
// ====================================================================
|
|
187
187
|
|
|
188
|
-
|
|
188
|
+
|
|
189
189
|
async load() {
|
|
190
190
|
await this.call(A_TYPES__EntityBaseMethod.DESTROY, {
|
|
191
191
|
fragments: [
|
|
@@ -195,7 +195,7 @@ export class A_Entity<
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
|
|
198
|
-
|
|
198
|
+
|
|
199
199
|
async destroy() {
|
|
200
200
|
await this.call(A_TYPES__EntityBaseMethod.DESTROY, {
|
|
201
201
|
fragments: [
|
|
@@ -205,7 +205,7 @@ export class A_Entity<
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
|
|
208
|
-
|
|
208
|
+
|
|
209
209
|
async save() {
|
|
210
210
|
await this.call(A_TYPES__EntityBaseMethod.SAVE, {
|
|
211
211
|
fragments: [
|
|
@@ -245,6 +245,6 @@ export class A_Entity<
|
|
|
245
245
|
|
|
246
246
|
|
|
247
247
|
toString(): string {
|
|
248
|
-
return this.aseid? this.aseid.toString() : this.constructor.name;
|
|
248
|
+
return this.aseid ? this.aseid.toString() : this.constructor.name;
|
|
249
249
|
}
|
|
250
250
|
}
|
|
@@ -367,6 +367,12 @@ export class A_Scope {
|
|
|
367
367
|
}
|
|
368
368
|
|
|
369
369
|
case param1 instanceof A_Fragment && !this._fragments.has(param1.constructor): {
|
|
370
|
+
const allowedFragment = this.fragments.find(fr => fr instanceof param1.constructor);
|
|
371
|
+
|
|
372
|
+
if (!allowedFragment) {
|
|
373
|
+
this.fragments.push(param1);
|
|
374
|
+
}
|
|
375
|
+
|
|
370
376
|
this._fragments.set(param1.constructor, param1);
|
|
371
377
|
A_Context.register(this, param1);
|
|
372
378
|
break;
|
|
@@ -374,6 +380,13 @@ export class A_Scope {
|
|
|
374
380
|
|
|
375
381
|
case param1 instanceof A_Component: {
|
|
376
382
|
this._components.set(param1.constructor, param1);
|
|
383
|
+
|
|
384
|
+
const allowedComponent = this.components.find(c => c === param1.constructor);
|
|
385
|
+
|
|
386
|
+
if (!allowedComponent) {
|
|
387
|
+
this.components.push(param1.constructor as any);
|
|
388
|
+
}
|
|
389
|
+
|
|
377
390
|
A_Context.register(this, param1);
|
|
378
391
|
break;
|
|
379
392
|
}
|