@adaas/a-concept 0.0.10 → 0.0.11
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/src/global/A-Entity/A-Entity.class.d.ts +5 -6
- package/dist/src/global/A-Entity/A-Entity.class.js +38 -14
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +0 -2
- package/dist/src/global/A-Entity/A-Entity.types.js +0 -1
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.class.js +5 -1
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +1 -0
- package/dist/src/global/A-Scope/A-Scope.class.js +28 -4
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/package.json +1 -1
- package/src/global/A-Entity/A-Entity.class.ts +33 -14
- package/src/global/A-Entity/A-Entity.types.ts +0 -2
- package/src/global/A-Feature/A-Feature.class.ts +8 -3
- package/src/global/A-Scope/A-Scope.class.ts +44 -5
|
@@ -69,12 +69,11 @@ export declare class A_Entity<_ConstructorType = any, _SerializedType extends A_
|
|
|
69
69
|
* Parameters to provide additional data to the feature
|
|
70
70
|
*/
|
|
71
71
|
params: Partial<A_TYPES__EntityCallParams<_FeatureNames[number]>>): Promise<any>;
|
|
72
|
-
load(): void
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
protected fromSerialized(serialized: _SerializedType): void;
|
|
72
|
+
load(): Promise<void>;
|
|
73
|
+
destroy(): Promise<void>;
|
|
74
|
+
save(): Promise<void>;
|
|
75
|
+
fromNew(newEntity: _ConstructorType): void;
|
|
76
|
+
fromJSON(serialized: _SerializedType): void;
|
|
78
77
|
/**
|
|
79
78
|
* Converts the entity to a JSON object
|
|
80
79
|
*
|
|
@@ -39,11 +39,11 @@ class A_Entity extends A_Fragment_class_1.A_Fragment {
|
|
|
39
39
|
case (props instanceof a_utils_1.ASEID):
|
|
40
40
|
this.aseid = props;
|
|
41
41
|
break;
|
|
42
|
-
case (typeof props === 'object' && props
|
|
43
|
-
this.
|
|
42
|
+
case (!!props && typeof props === 'object' && 'aseid' in props):
|
|
43
|
+
this.fromJSON(props);
|
|
44
44
|
break;
|
|
45
45
|
case (typeof props === 'object'):
|
|
46
|
-
this.
|
|
46
|
+
this.fromNew(props);
|
|
47
47
|
break;
|
|
48
48
|
default:
|
|
49
49
|
throw new a_utils_1.A_Error(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
|
|
@@ -106,14 +106,43 @@ class A_Entity extends A_Fragment_class_1.A_Fragment {
|
|
|
106
106
|
return yield newFeature.process();
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
109
|
+
// ====================================================================
|
|
110
|
+
// ================== Entity Base Methods =============================
|
|
111
|
+
// ====================================================================
|
|
112
|
+
load() {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
yield this.call(A_Entity_types_1.A_TYPES__EntityBaseMethod.DESTROY, {
|
|
115
|
+
fragments: [
|
|
116
|
+
this
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
destroy() {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
yield this.call(A_Entity_types_1.A_TYPES__EntityBaseMethod.DESTROY, {
|
|
124
|
+
fragments: [
|
|
125
|
+
this
|
|
126
|
+
]
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
save() {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
yield this.call(A_Entity_types_1.A_TYPES__EntityBaseMethod.SAVE, {
|
|
133
|
+
fragments: [
|
|
134
|
+
this
|
|
135
|
+
]
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
// ====================================================================
|
|
140
|
+
// ================== Entity Serialization ============================
|
|
141
|
+
// ====================================================================
|
|
142
|
+
fromNew(newEntity) {
|
|
114
143
|
return;
|
|
115
144
|
}
|
|
116
|
-
|
|
145
|
+
fromJSON(serialized) {
|
|
117
146
|
this.aseid = new a_utils_1.ASEID((serialized).aseid);
|
|
118
147
|
return;
|
|
119
148
|
}
|
|
@@ -138,11 +167,6 @@ __decorate([
|
|
|
138
167
|
name: A_Entity_types_1.A_TYPES__EntityBaseMethod.LOAD
|
|
139
168
|
})
|
|
140
169
|
], A_Entity.prototype, "load", null);
|
|
141
|
-
__decorate([
|
|
142
|
-
A_Feature_class_1.A_Feature.Define({
|
|
143
|
-
name: A_Entity_types_1.A_TYPES__EntityBaseMethod.UPDATE
|
|
144
|
-
})
|
|
145
|
-
], A_Entity.prototype, "update", null);
|
|
146
170
|
__decorate([
|
|
147
171
|
A_Feature_class_1.A_Feature.Define({
|
|
148
172
|
name: A_Entity_types_1.A_TYPES__EntityBaseMethod.DESTROY
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,4CAGwB;AACxB,qDAM0B;AAC1B,yFAAiG;AACjG,kEAAyD;AACzD,kEAAyD;AACzD,qEAA4D;AAI5D;;;;;;GAMG;AACH,MAAa,QAKT,SAAQ,6BAAU;IAkBlB,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,OAAO,KAAK,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,13 +10,11 @@ export type A_TYPES__EntityCallParams<T extends string> = {
|
|
|
10
10
|
};
|
|
11
11
|
export type A_TYPES__EntityBaseMethods = [
|
|
12
12
|
A_TYPES__EntityBaseMethod.SAVE,
|
|
13
|
-
A_TYPES__EntityBaseMethod.UPDATE,
|
|
14
13
|
A_TYPES__EntityBaseMethod.DESTROY,
|
|
15
14
|
A_TYPES__EntityBaseMethod.LOAD
|
|
16
15
|
];
|
|
17
16
|
export declare enum A_TYPES__EntityBaseMethod {
|
|
18
17
|
SAVE = "save",
|
|
19
|
-
UPDATE = "update",
|
|
20
18
|
DESTROY = "destroy",
|
|
21
19
|
LOAD = "load"
|
|
22
20
|
}
|
|
@@ -4,7 +4,6 @@ exports.A_TYPES__EntityMetaKey = exports.A_TYPES__EntityBaseMethod = void 0;
|
|
|
4
4
|
var A_TYPES__EntityBaseMethod;
|
|
5
5
|
(function (A_TYPES__EntityBaseMethod) {
|
|
6
6
|
A_TYPES__EntityBaseMethod["SAVE"] = "save";
|
|
7
|
-
A_TYPES__EntityBaseMethod["UPDATE"] = "update";
|
|
8
7
|
A_TYPES__EntityBaseMethod["DESTROY"] = "destroy";
|
|
9
8
|
A_TYPES__EntityBaseMethod["LOAD"] = "load";
|
|
10
9
|
})(A_TYPES__EntityBaseMethod || (exports.A_TYPES__EntityBaseMethod = A_TYPES__EntityBaseMethod = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Entity.types.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"A-Entity.types.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.types.ts"],"names":[],"mappings":";;;AAkBA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,0CAAa,CAAA;AACjB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAOA,CAAC;AAgCF,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;AACrC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
|
|
@@ -66,7 +66,11 @@ class A_Feature {
|
|
|
66
66
|
return {
|
|
67
67
|
value: () => __awaiter(this, void 0, void 0, function* () {
|
|
68
68
|
if (instance[handler]) {
|
|
69
|
-
const callArgs =
|
|
69
|
+
const callArgs = args.map(arg =>
|
|
70
|
+
// In case if the target is a feature step then pass the current feature
|
|
71
|
+
a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_Feature)
|
|
72
|
+
? this
|
|
73
|
+
: A_Context_class_1.A_Context.scope(this).resolve(arg.target));
|
|
70
74
|
yield instance[handler](...callArgs);
|
|
71
75
|
}
|
|
72
76
|
this._index++;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iHAAoG;AACpG,iHAAoG;AACpG,uDAA6I;AAC7I,
|
|
1
|
+
{"version":3,"file":"A-Feature.class.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,7 @@ export declare class A_Scope {
|
|
|
49
49
|
}>(entity: T, instructions: Partial<A_TYPES__ComponentMeta_EntityInjectionInstructions>): InstanceType<T>;
|
|
50
50
|
resolve<T extends A_TYPES__ComponentMeta_InjectionParam>(component: Array<T>): Array<InstanceType<T>>;
|
|
51
51
|
private resolveOnce;
|
|
52
|
+
private resolveEntity;
|
|
52
53
|
private resolveFragment;
|
|
53
54
|
private resolveScope;
|
|
54
55
|
private resolveComponent;
|
|
@@ -98,6 +98,9 @@ class A_Scope {
|
|
|
98
98
|
}
|
|
99
99
|
resolveOnce(component, instructions) {
|
|
100
100
|
switch (true) {
|
|
101
|
+
case a_utils_1.A_CommonHelper.isInheritedFrom(component, A_Entity_class_1.A_Entity): {
|
|
102
|
+
return this.resolveEntity(component, instructions);
|
|
103
|
+
}
|
|
101
104
|
case a_utils_1.A_CommonHelper.isInheritedFrom(component, A_Fragment_class_1.A_Fragment): {
|
|
102
105
|
return this.resolveFragment(component);
|
|
103
106
|
}
|
|
@@ -111,6 +114,27 @@ class A_Scope {
|
|
|
111
114
|
throw new Error(`Injected Component ${component} not found in the scope`);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
117
|
+
resolveEntity(entity, instructions) {
|
|
118
|
+
switch (true) {
|
|
119
|
+
case !instructions: {
|
|
120
|
+
// in this case we have to find the entity by the class or common parent class
|
|
121
|
+
const entities = Array.from(this._entities.values());
|
|
122
|
+
const found = entities.find(e => e instanceof entity);
|
|
123
|
+
return found;
|
|
124
|
+
}
|
|
125
|
+
case !!instructions && !!instructions.aseid && this._entities.has(instructions.aseid): {
|
|
126
|
+
return this._entities.get(instructions.aseid);
|
|
127
|
+
}
|
|
128
|
+
case !!instructions && !!instructions.id && this._entities.has(instructions.id): {
|
|
129
|
+
// in this case we have to find the entity by the id
|
|
130
|
+
const entities = Array.from(this._entities.values());
|
|
131
|
+
const found = entities.find(e => e.id === instructions.id);
|
|
132
|
+
return found;
|
|
133
|
+
}
|
|
134
|
+
default:
|
|
135
|
+
throw new Error(`Entity ${entity.constructor.name} not found in the scope ${this.name}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
114
138
|
resolveFragment(fragment) {
|
|
115
139
|
if (this._fragments.has(fragment)) {
|
|
116
140
|
return this._fragments.get(fragment);
|
|
@@ -150,14 +174,14 @@ class A_Scope {
|
|
|
150
174
|
}
|
|
151
175
|
register(param1) {
|
|
152
176
|
switch (true) {
|
|
153
|
-
case param1 instanceof
|
|
154
|
-
this.
|
|
177
|
+
case param1 instanceof A_Entity_class_1.A_Entity && !this._entities.has(param1.aseid.toString()): {
|
|
178
|
+
this._entities.set(param1.aseid.toString(), param1);
|
|
155
179
|
// The same situation. Have not idea how to fix it
|
|
156
180
|
A_Context_class_1.A_Context.register(this, param1);
|
|
157
181
|
break;
|
|
158
182
|
}
|
|
159
|
-
case param1 instanceof
|
|
160
|
-
this.
|
|
183
|
+
case param1 instanceof A_Fragment_class_1.A_Fragment && !this._fragments.has(param1.constructor): {
|
|
184
|
+
this._fragments.set(param1.constructor, param1);
|
|
161
185
|
// The same situation. Have not idea how to fix it
|
|
162
186
|
A_Context_class_1.A_Context.register(this, param1);
|
|
163
187
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAEhD,qEAA4D;AAC5D,kEAAyD;AACzD,wEAAwK;AACxK,wEAA+D;AAC/D,+DAAsD;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAa,OAAO;IAahB,YACI,MAA0C,EAC1C,SAAwC,EAAE;QAb9C,SAAI,GAAW,EAAE,CAAC;QAEV,gBAAW,GAAiD,IAAI,OAAO,EAAE,CAAC;QAC1E,eAAU,GAAgD,IAAI,OAAO,EAAE,CAAC;QACxE,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAWjD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEjD,yBAAyB;QACzB,MAAM,aAAa,GAA8B;YAC7C,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACb,CAAC;QAGF,IAAI,CAAC,MAAM,GAAG,wBAAc,CAAC,iBAAiB,CAA4B,MAAM,EAAE,aAAa,CAAC,CAAC;QAEjG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAE3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;IACL,CAAC;IAGO,cAAc,CAAC,WAAgD;QACnE,qCAAqC;QACrC,wDAAwD;QACxD,KAAK;IACT,CAAC;IAGO,aAAa,CAAC,UAA6B;QAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,CAAC;IAgBD,GAAG,CACC,MAAiD;QAGjD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,6BAAU;mBAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBAChB,CAAC;YAEL,KAAK,MAAM,YAAY,6BAAU;mBAC1B,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;mBACxC,CAAC,CAAC,IAAI,CAAC,MAAM;gBAAE,CAAC;oBACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YAEL,KAAK,CAAC,CAAC,MAAM,YAAY,6BAAU,CAAC;mBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBAChB,CAAC;YAEL,KAAK,CAAC,CAAC,MAAM,YAAY,6BAAU,CAAC;mBAC7B,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;mBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;gBAAE,CAAC;oBACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YAEL,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAmBD,kBAAkB;IAClB,OAAO,CACH,MAAoB,EACpB,MAA6E;QAG7E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;IACL,CAAC;IAWO,WAAW,CACf,SAAY,EACZ,YAA0E;QAE1E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,6BAAU,CAAC,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,eAAe,CAAC,SAA8B,CAAoB,CAAC;YACnF,CAAC;YAED,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,YAAY,CAAC,SAA2B,CAAoB,CAAC;YAC7E,CAAC;YAED,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,+BAAW,CAAC,CAAC,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAA+B,CAAoB,CAAC;YACrF,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,yBAAyB,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAIO,eAAe,CAA8B,QAAW;QAE5D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Scope.class.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.class.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAEhD,qEAA4D;AAC5D,kEAAyD;AACzD,wEAAwK;AACxK,wEAA+D;AAC/D,+DAAsD;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAa,OAAO;IAahB,YACI,MAA0C,EAC1C,SAAwC,EAAE;QAb9C,SAAI,GAAW,EAAE,CAAC;QAEV,gBAAW,GAAiD,IAAI,OAAO,EAAE,CAAC;QAC1E,eAAU,GAAgD,IAAI,OAAO,EAAE,CAAC;QACxE,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAWjD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEjD,yBAAyB;QACzB,MAAM,aAAa,GAA8B;YAC7C,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;SACb,CAAC;QAGF,IAAI,CAAC,MAAM,GAAG,wBAAc,CAAC,iBAAiB,CAA4B,MAAM,EAAE,aAAa,CAAC,CAAC;QAEjG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAE3C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC;IACL,CAAC;IAGO,cAAc,CAAC,WAAgD;QACnE,qCAAqC;QACrC,wDAAwD;QACxD,KAAK;IACT,CAAC;IAGO,aAAa,CAAC,UAA6B;QAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAGD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,CAAC;IAgBD,GAAG,CACC,MAAiD;QAGjD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,6BAAU;mBAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;gBAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBAChB,CAAC;YAEL,KAAK,MAAM,YAAY,6BAAU;mBAC1B,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;mBACxC,CAAC,CAAC,IAAI,CAAC,MAAM;gBAAE,CAAC;oBACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YAEL,KAAK,CAAC,CAAC,MAAM,YAAY,6BAAU,CAAC;mBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC;gBAChB,CAAC;YAEL,KAAK,CAAC,CAAC,MAAM,YAAY,6BAAU,CAAC;mBAC7B,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;mBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM;gBAAE,CAAC;oBACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;YAEL,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAmBD,kBAAkB;IAClB,OAAO,CACH,MAAoB,EACpB,MAA6E;QAG7E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;IACL,CAAC;IAWO,WAAW,CACf,SAAY,EACZ,YAA0E;QAE1E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,yBAAQ,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,aAAa,CAAC,SAA4B,EAAE,YAAY,CAAoB,CAAC;YAC7F,CAAC;YAED,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,6BAAU,CAAC,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,eAAe,CAAC,SAA8B,CAAoB,CAAC;YACnF,CAAC;YAED,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,YAAY,CAAC,SAA2B,CAAoB,CAAC;YAC7E,CAAC;YAED,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,+BAAW,CAAC,CAAC,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAA+B,CAAoB,CAAC;YACrF,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,yBAAyB,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAGO,aAAa,CACjB,MAAS,EACT,YAA0E;QAG1E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjB,+EAA+E;gBAC/E,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC;gBAEtD,OAAO,KAAwB,CAAC;YACpC,CAAC;YAED,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAoB,CAAC;YACrE,CAAC;YAED,KAAK,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;gBAE3D,OAAO,KAAwB,CAAC;YACpC,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,WAAW,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,CAAC;IACL,CAAC;IAIO,eAAe,CAA8B,QAAW;QAE5D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAGO,YAAY,CAAC,KAAqB;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,gBAAgB,CAAwB,SAE/C;QAEG,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;YACtE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAEtC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/E,MAAM,aAAa,GAAG,2BAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAE/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,YAAY,GAAG,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,aAAa,CAAC,KAAI,EAAE,CAAC;iBACpD,GAAG,CAAC,GAAG,CAAC,EAAE;gBACP,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;oBACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;oBACpC,OAAO,IAAI,CAAC,OAAO,CACf,MAAM,EACN,YAAY,CACf,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACnC,CAAC,CAAC,CAAC;YAEP,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,GAAG,YAAY,CAAC,CAAA;YAEnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAE5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;aAEI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;aAEI,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAYD,QAAQ,CACJ,MAA2C;QAI3C,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,yBAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;gBACpD,kDAAkD;gBAClD,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAa,CAAC,CAAC;gBACxC,MAAM;YACV,CAAC;YAED,KAAK,MAAM,YAAY,6BAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,kDAAkD;gBAClD,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAa,CAAC,CAAC;gBACxC,MAAM;YACV,CAAC;YAED,KAAK,MAAM,YAAY,+BAAW,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjD,kDAAkD;gBAClD,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAa,CAAC,CAAC;gBACxC,MAAM;YACV,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtD,CAAC;IAIL,CAAC;CACJ;AA3TD,0BA2TC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-concept",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.11",
|
|
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",
|
|
@@ -56,12 +56,12 @@ export class A_Entity<
|
|
|
56
56
|
case (props instanceof ASEID):
|
|
57
57
|
this.aseid = props;
|
|
58
58
|
break;
|
|
59
|
-
case (typeof props === 'object' &&
|
|
60
|
-
this.
|
|
59
|
+
case (!!props && typeof props === 'object' && 'aseid' in props):
|
|
60
|
+
this.fromJSON(props);
|
|
61
61
|
break;
|
|
62
62
|
|
|
63
63
|
case (typeof props === 'object'):
|
|
64
|
-
this.
|
|
64
|
+
this.fromNew(props as _ConstructorType);
|
|
65
65
|
break
|
|
66
66
|
|
|
67
67
|
default:
|
|
@@ -170,36 +170,56 @@ export class A_Entity<
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
|
|
173
|
+
// ====================================================================
|
|
174
|
+
// ================== Entity Base Methods =============================
|
|
175
|
+
// ====================================================================
|
|
176
|
+
|
|
173
177
|
@A_Feature.Define({
|
|
174
178
|
name: A_TYPES__EntityBaseMethod.LOAD
|
|
175
179
|
})
|
|
176
|
-
load() {
|
|
177
|
-
|
|
180
|
+
async load() {
|
|
181
|
+
await this.call(A_TYPES__EntityBaseMethod.DESTROY, {
|
|
182
|
+
fragments: [
|
|
183
|
+
this
|
|
184
|
+
]
|
|
185
|
+
});
|
|
186
|
+
}
|
|
178
187
|
|
|
179
|
-
@A_Feature.Define({
|
|
180
|
-
name: A_TYPES__EntityBaseMethod.UPDATE
|
|
181
|
-
})
|
|
182
|
-
update() { }
|
|
183
188
|
|
|
184
189
|
@A_Feature.Define({
|
|
185
190
|
name: A_TYPES__EntityBaseMethod.DESTROY
|
|
186
191
|
})
|
|
187
|
-
destroy() {
|
|
192
|
+
async destroy() {
|
|
193
|
+
await this.call(A_TYPES__EntityBaseMethod.DESTROY, {
|
|
194
|
+
fragments: [
|
|
195
|
+
this
|
|
196
|
+
]
|
|
197
|
+
});
|
|
198
|
+
}
|
|
188
199
|
|
|
189
200
|
|
|
190
201
|
@A_Feature.Define({
|
|
191
202
|
name: A_TYPES__EntityBaseMethod.SAVE
|
|
192
203
|
})
|
|
193
|
-
save() {
|
|
204
|
+
async save() {
|
|
205
|
+
await this.call(A_TYPES__EntityBaseMethod.SAVE, {
|
|
206
|
+
fragments: [
|
|
207
|
+
this
|
|
208
|
+
]
|
|
209
|
+
});
|
|
210
|
+
}
|
|
194
211
|
|
|
195
212
|
|
|
196
213
|
|
|
214
|
+
// ====================================================================
|
|
215
|
+
// ================== Entity Serialization ============================
|
|
216
|
+
// ====================================================================
|
|
197
217
|
|
|
198
|
-
|
|
218
|
+
fromNew(newEntity: _ConstructorType): void {
|
|
199
219
|
return;
|
|
200
220
|
}
|
|
201
221
|
|
|
202
|
-
|
|
222
|
+
fromJSON(serialized: _SerializedType): void {
|
|
203
223
|
this.aseid = new ASEID((serialized).aseid);
|
|
204
224
|
return;
|
|
205
225
|
}
|
|
@@ -219,7 +239,6 @@ export class A_Entity<
|
|
|
219
239
|
}
|
|
220
240
|
|
|
221
241
|
|
|
222
|
-
|
|
223
242
|
toString(): string {
|
|
224
243
|
return this.aseid.toString();
|
|
225
244
|
}
|
|
@@ -12,14 +12,12 @@ export type A_TYPES__EntityCallParams<T extends string> = {
|
|
|
12
12
|
|
|
13
13
|
export type A_TYPES__EntityBaseMethods = [
|
|
14
14
|
A_TYPES__EntityBaseMethod.SAVE,
|
|
15
|
-
A_TYPES__EntityBaseMethod.UPDATE,
|
|
16
15
|
A_TYPES__EntityBaseMethod.DESTROY,
|
|
17
16
|
A_TYPES__EntityBaseMethod.LOAD
|
|
18
17
|
]
|
|
19
18
|
|
|
20
19
|
export enum A_TYPES__EntityBaseMethod {
|
|
21
20
|
SAVE = 'save',
|
|
22
|
-
UPDATE = 'update',
|
|
23
21
|
DESTROY = 'destroy',
|
|
24
22
|
LOAD = 'load'
|
|
25
23
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { A_Feature_Define } from "@adaas/a-concept/decorators/A-Feature/A-Feature-Define.decorator";
|
|
2
2
|
import { A_Feature_Extend } from "@adaas/a-concept/decorators/A-Feature/A-Feature-Extend.decorator";
|
|
3
3
|
import { A_TYPES__FeatureConstructor, A_TYPES__FeatureIteratorReturn, A_TYPES__FeatureState, A_TYPES__FeatureStep } from "./A-Feature.types";
|
|
4
|
-
import { A_Error, A_TYPES__Required } from "@adaas/a-utils";
|
|
4
|
+
import { A_CommonHelper, A_Error, A_TYPES__Required } from "@adaas/a-utils";
|
|
5
5
|
import { A_Context } from "../A-Context/A-Context.class";
|
|
6
6
|
import { A_TYPES__A_Feature_Extend } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
7
7
|
|
|
@@ -83,9 +83,14 @@ export class A_Feature {
|
|
|
83
83
|
|
|
84
84
|
return {
|
|
85
85
|
value: async () => {
|
|
86
|
-
|
|
87
86
|
if (instance[handler]) {
|
|
88
|
-
const callArgs =
|
|
87
|
+
const callArgs = args.map(arg =>
|
|
88
|
+
// In case if the target is a feature step then pass the current feature
|
|
89
|
+
A_CommonHelper.isInheritedFrom(arg.target, A_Feature)
|
|
90
|
+
? this
|
|
91
|
+
: A_Context.scope(this).resolve(arg.target)
|
|
92
|
+
);
|
|
93
|
+
|
|
89
94
|
await instance[handler](...callArgs);
|
|
90
95
|
}
|
|
91
96
|
|
|
@@ -165,7 +165,7 @@ export class A_Scope {
|
|
|
165
165
|
private resolveOnce<T extends { new(...args: any[]): A_Entity }>(
|
|
166
166
|
entity: T,
|
|
167
167
|
instructions: Partial<A_TYPES__ComponentMeta_EntityInjectionInstructions>
|
|
168
|
-
): InstanceType<T>
|
|
168
|
+
): InstanceType<T> | undefined
|
|
169
169
|
private resolveOnce<T extends A_TYPES__ComponentMeta_InjectionParam>(
|
|
170
170
|
component: T
|
|
171
171
|
): InstanceType<T>
|
|
@@ -174,6 +174,10 @@ export class A_Scope {
|
|
|
174
174
|
instructions?: Partial<A_TYPES__ComponentMeta_EntityInjectionInstructions>
|
|
175
175
|
): InstanceType<T> {
|
|
176
176
|
switch (true) {
|
|
177
|
+
case A_CommonHelper.isInheritedFrom(component, A_Entity): {
|
|
178
|
+
return this.resolveEntity(component as typeof A_Entity, instructions) as InstanceType<T>;
|
|
179
|
+
}
|
|
180
|
+
|
|
177
181
|
case A_CommonHelper.isInheritedFrom(component, A_Fragment): {
|
|
178
182
|
return this.resolveFragment(component as typeof A_Fragment) as InstanceType<T>;
|
|
179
183
|
}
|
|
@@ -192,6 +196,40 @@ export class A_Scope {
|
|
|
192
196
|
}
|
|
193
197
|
|
|
194
198
|
|
|
199
|
+
private resolveEntity<T extends { new(...args: any[]): A_Entity }>(
|
|
200
|
+
entity: T,
|
|
201
|
+
instructions?: Partial<A_TYPES__ComponentMeta_EntityInjectionInstructions>
|
|
202
|
+
): InstanceType<T> | undefined {
|
|
203
|
+
|
|
204
|
+
switch (true) {
|
|
205
|
+
case !instructions: {
|
|
206
|
+
// in this case we have to find the entity by the class or common parent class
|
|
207
|
+
const entities = Array.from(this._entities.values());
|
|
208
|
+
|
|
209
|
+
const found = entities.find(e => e instanceof entity);
|
|
210
|
+
|
|
211
|
+
return found as InstanceType<T>;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
case !!instructions && !!instructions.aseid && this._entities.has(instructions.aseid): {
|
|
215
|
+
return this._entities.get(instructions.aseid) as InstanceType<T>;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
case !!instructions && !!instructions.id && this._entities.has(instructions.id): {
|
|
219
|
+
// in this case we have to find the entity by the id
|
|
220
|
+
const entities = Array.from(this._entities.values());
|
|
221
|
+
|
|
222
|
+
const found = entities.find(e => e.id === instructions.id);
|
|
223
|
+
|
|
224
|
+
return found as InstanceType<T>;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
default:
|
|
228
|
+
throw new Error(`Entity ${entity.constructor.name} not found in the scope ${this.name}`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
|
|
195
233
|
|
|
196
234
|
private resolveFragment<T extends typeof A_Fragment>(fragment: T): InstanceType<T> {
|
|
197
235
|
|
|
@@ -206,6 +244,7 @@ export class A_Scope {
|
|
|
206
244
|
throw new Error(`Fragment ${fragment.name} not found in the scope ${this.name}`);
|
|
207
245
|
}
|
|
208
246
|
|
|
247
|
+
|
|
209
248
|
private resolveScope(scope: typeof A_Scope): A_Scope {
|
|
210
249
|
return this;
|
|
211
250
|
}
|
|
@@ -267,15 +306,15 @@ export class A_Scope {
|
|
|
267
306
|
|
|
268
307
|
|
|
269
308
|
switch (true) {
|
|
270
|
-
case param1 instanceof
|
|
271
|
-
this.
|
|
309
|
+
case param1 instanceof A_Entity && !this._entities.has(param1.aseid.toString()): {
|
|
310
|
+
this._entities.set(param1.aseid.toString(), param1);
|
|
272
311
|
// The same situation. Have not idea how to fix it
|
|
273
312
|
A_Context.register(this, param1 as any);
|
|
274
313
|
break;
|
|
275
314
|
}
|
|
276
315
|
|
|
277
|
-
case param1 instanceof
|
|
278
|
-
this.
|
|
316
|
+
case param1 instanceof A_Fragment && !this._fragments.has(param1.constructor): {
|
|
317
|
+
this._fragments.set(param1.constructor, param1);
|
|
279
318
|
// The same situation. Have not idea how to fix it
|
|
280
319
|
A_Context.register(this, param1 as any);
|
|
281
320
|
break;
|