@adaas/a-concept 0.0.56 → 0.0.58

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.
Files changed (104) hide show
  1. package/.nvmrc +1 -1
  2. package/dist/src/base/A-Command/A_Command.constants.d.ts +12 -0
  3. package/dist/src/base/A-Command/A_Command.constants.js +17 -0
  4. package/dist/src/base/A-Command/A_Command.constants.js.map +1 -0
  5. package/dist/src/base/A-Command/A_Command.entity.d.ts +123 -0
  6. package/dist/src/base/A-Command/A_Command.entity.js +259 -0
  7. package/dist/src/base/A-Command/A_Command.entity.js.map +1 -0
  8. package/dist/src/base/A-Command/A_Command.types.d.ts +15 -0
  9. package/dist/src/base/A-Command/A_Command.types.js +3 -0
  10. package/dist/src/base/A-Command/A_Command.types.js.map +1 -0
  11. package/dist/src/base/A-Command/context/A_Command.context.d.ts +64 -0
  12. package/dist/src/base/A-Command/context/A_Command.context.js +85 -0
  13. package/dist/src/base/A-Command/context/A_Command.context.js.map +1 -0
  14. package/dist/src/base/A-Command/context/A_CommandFactory.context.js +2 -0
  15. package/dist/src/base/A-Command/context/A_CommandFactory.context.js.map +1 -0
  16. package/dist/src/base/A-Config/A-Config.container.d.ts +1 -2
  17. package/dist/src/base/A-Config/A-Config.container.js +2 -4
  18. package/dist/src/base/A-Config/A-Config.container.js.map +1 -1
  19. package/dist/src/base/A-Config/A-Config.context.d.ts +10 -11
  20. package/dist/src/base/A-Config/A-Config.context.js +5 -24
  21. package/dist/src/base/A-Config/A-Config.context.js.map +1 -1
  22. package/dist/src/base/A-Config/A-Config.types.d.ts +4 -4
  23. package/dist/src/base/A-Config/A-Config.types.js.map +1 -1
  24. package/dist/src/base/A-Config/components/ConfigReader.component.js +6 -12
  25. package/dist/src/base/A-Config/components/ConfigReader.component.js.map +1 -1
  26. package/dist/src/base/A-Config/components/ENVConfigReader.component.js +5 -1
  27. package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +1 -1
  28. package/dist/src/constants/env.constants.d.ts +26 -0
  29. package/dist/src/constants/env.constants.js +40 -0
  30. package/dist/src/constants/env.constants.js.map +1 -0
  31. package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +3 -3
  32. package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +9 -10
  33. package/dist/src/global/A-Channel/A-Channel.class.d.ts +2 -0
  34. package/dist/src/global/A-Channel/A-Channel.class.js +2 -0
  35. package/dist/src/global/A-Channel/A-Channel.class.js.map +1 -1
  36. package/dist/src/global/A-Concept/A_Concept.class.d.ts +5 -3
  37. package/dist/src/global/A-Concept/A_Concept.class.js +32 -27
  38. package/dist/src/global/A-Concept/A_Concept.class.js.map +1 -1
  39. package/dist/src/global/A-Concept/A_Concept.meta.d.ts +1 -8
  40. package/dist/src/global/A-Concept/A_Concept.meta.js +1 -25
  41. package/dist/src/global/A-Concept/A_Concept.meta.js.map +1 -1
  42. package/dist/src/global/A-Concept/A_Concept.types.d.ts +10 -1
  43. package/dist/src/global/A-Container/A-Container.class.d.ts +5 -0
  44. package/dist/src/global/A-Container/A-Container.class.js +5 -0
  45. package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
  46. package/dist/src/global/A-Context/A-Context.class.d.ts +23 -1
  47. package/dist/src/global/A-Context/A-Context.class.js +38 -1
  48. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  49. package/dist/src/global/A-Entity/A-Entity.class.d.ts +124 -23
  50. package/dist/src/global/A-Entity/A-Entity.class.js +159 -49
  51. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  52. package/dist/src/global/A-Scope/A-Scope.class.d.ts +7 -6
  53. package/dist/src/global/A-Scope/A-Scope.class.js +57 -20
  54. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  55. package/dist/src/global/A-Stage/A-Stage.class.d.ts +3 -2
  56. package/dist/src/global/A-Stage/A-Stage.class.js +9 -6
  57. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  58. package/dist/src/global/A-Stage/A-Stage.types.d.ts +1 -1
  59. package/dist/src/helpers/StepsManager.class.js +1 -1
  60. package/dist/src/helpers/StepsManager.class.js.map +1 -1
  61. package/examples/simple/components/A.component.ts +9 -2
  62. package/examples/simple/concept.ts +6 -0
  63. package/examples/simple/entities/EntityA.entity.ts +18 -0
  64. package/jest.config.ts +1 -1
  65. package/package.json +3 -3
  66. package/src/base/A-Command/A_Command.constants.ts +20 -0
  67. package/src/base/A-Command/A_Command.entity.ts +287 -0
  68. package/src/base/A-Command/A_Command.types.ts +34 -0
  69. package/src/base/A-Command/context/A_Command.context.ts +114 -0
  70. package/src/base/A-Command/context/A_CommandFactory.context.ts +0 -0
  71. package/src/base/A-Config/A-Config.container.ts +0 -1
  72. package/src/base/A-Config/A-Config.context.ts +22 -28
  73. package/src/base/A-Config/A-Config.types.ts +5 -24
  74. package/src/base/A-Config/components/ConfigReader.component.ts +6 -15
  75. package/src/base/A-Config/components/ENVConfigReader.component.ts +6 -1
  76. package/src/constants/env.constants.ts +44 -0
  77. package/src/decorators/A-Inject/A-Inject.decorator.ts +3 -3
  78. package/src/decorators/A-Inject/A-Inject.decorator.types.ts +10 -9
  79. package/src/global/A-Channel/A-Channel.class.ts +2 -0
  80. package/src/global/A-Concept/A_Concept.class.ts +49 -32
  81. package/src/global/A-Concept/A_Concept.meta.ts +3 -41
  82. package/src/global/A-Concept/A_Concept.types.ts +6 -4
  83. package/src/global/A-Container/A-Container.class.ts +5 -2
  84. package/src/global/A-Context/A-Context.class.ts +67 -8
  85. package/src/global/A-Entity/A-Entity.class.ts +203 -73
  86. package/src/global/A-Scope/A-Scope.class.ts +88 -39
  87. package/src/global/A-Stage/A-Stage.class.ts +11 -7
  88. package/src/global/A-Stage/A-Stage.types.ts +1 -1
  89. package/src/helpers/StepsManager.class.ts +2 -2
  90. package/tests/A-Command.test.ts +130 -0
  91. package/tests/A-Component.test.ts +25 -0
  92. package/tests/A-Config.test.ts +106 -0
  93. package/tests/A-Entity.test.ts +191 -0
  94. package/tests/A-Feature.test.ts +131 -0
  95. package/tests/A-Scope.test.ts +163 -0
  96. package/dist/src/constants/A_ConceptLifecycle.constants.js +0 -11
  97. package/dist/src/constants/A_ConceptLifecycle.constants.js.map +0 -1
  98. package/src/constants/A_ConceptLifecycle.constants.ts +0 -12
  99. package/tests/channel.ts +0 -213
  100. package/tests/context.test.ts +0 -124
  101. package/tests/default.test.ts +0 -159
  102. package/tests/log.ts +0 -102
  103. package/tests/polyfill.test.ts +0 -37
  104. /package/dist/src/{constants/A_ConceptLifecycle.constants.d.ts → base/A-Command/context/A_CommandFactory.context.d.ts} +0 -0
@@ -13,6 +13,7 @@ exports.A_Entity = void 0;
13
13
  const a_utils_1 = require("@adaas/a-utils");
14
14
  const errors_constants_1 = require("@adaas/a-utils/dist/src/constants/errors.constants");
15
15
  const A_Context_class_1 = require("../A-Context/A-Context.class");
16
+ const env_constants_1 = require("../../constants/env.constants");
16
17
  /**
17
18
  * A_Entity is another abstraction that describes all major participants in the system business logic.
18
19
  * Each Entity should have a clear definition and a clear set of responsibilities.
@@ -21,6 +22,9 @@ const A_Context_class_1 = require("../A-Context/A-Context.class");
21
22
  * Each entity should be connected to the ContextFragment (Scope) and should be able to communicate with other entities.
22
23
  */
23
24
  class A_Entity {
25
+ // ====================================================================
26
+ // ================== Static A-Entity Information ============================
27
+ // ====================================================================
24
28
  /**
25
29
  * Entity Identifier that corresponds to the class name
26
30
  */
@@ -30,12 +34,77 @@ class A_Entity {
30
34
  .toLocaleLowerCase()
31
35
  .replace(/_/g, '-');
32
36
  }
37
+ /**
38
+ * DEFAULT Namespace of the entity from environment variable A_CONCEPT_NAMESPACE
39
+ * [!] If environment variable is not set, it will default to 'a-concept'
40
+ */
41
+ static get namespace() {
42
+ return A_Context_class_1.A_Context.root.name;
43
+ }
44
+ /**
45
+ * DEFAULT Scope of the entity from environment variable A_CONCEPT_DEFAULT_SCOPE
46
+ * [!] If environment variable is not set, it will default to 'core'
47
+ * [!] Scope is an application specific identifier that can be used to group entities together
48
+ * [!] e.g. 'default', 'core', 'public', 'internal', etc
49
+ */
50
+ static get scope() {
51
+ return process && process.env ? process.env[env_constants_1.A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_DEFAULT_SCOPE] || 'core' : 'core';
52
+ }
33
53
  constructor(props) {
34
54
  const initializer = this.getInitializer(props);
35
55
  // the returned initializer is already bound to `this` (we used .bind(this)),
36
56
  // so calling it will run the appropriate logic on this instance:
37
57
  initializer.call(this, props);
38
58
  }
59
+ // ====================================================================
60
+ // ================== DUPLICATED ASEID Getters ========================
61
+ // ====================================================================
62
+ /**
63
+ * Extracts the ID from the ASEID
64
+ * ID is the unique identifier of the entity
65
+ */
66
+ get id() {
67
+ return this.aseid.id;
68
+ }
69
+ /**
70
+ * Extracts the namespace from the ASEID
71
+ * namespace is an application specific identifier from where the entity is coming from
72
+ */
73
+ get namespace() {
74
+ return this.aseid.namespace;
75
+ }
76
+ /**
77
+ * Extracts the scope from the ASEID
78
+ * scope is the scope of the entity from Application Namespace
79
+ */
80
+ get scope() {
81
+ return this.aseid.scope;
82
+ }
83
+ /**
84
+ * Extracts the entity from the ASEID
85
+ * entity is the name of the entity from Application Namespace
86
+ *
87
+ */
88
+ get entity() {
89
+ return this.aseid.entity;
90
+ }
91
+ /**
92
+ * Extracts the version from the ASEID
93
+ * version is the version of the entity
94
+ */
95
+ get version() {
96
+ return this.aseid.version;
97
+ }
98
+ /**
99
+ * Extracts the shard from the ASEID
100
+ * shard is the shard of the entity
101
+ */
102
+ get shard() {
103
+ return this.aseid.shard;
104
+ }
105
+ // ====================================================================
106
+ // ================== Constructor Helpers =============================
107
+ // ====================================================================
39
108
  // --- Type guards used to classify `props` properly ---
40
109
  isStringASEID(x) {
41
110
  return typeof x === "string" && a_utils_1.ASEID.isASEID(x);
@@ -63,8 +132,38 @@ class A_Entity {
63
132
  isConstructorProps(x) {
64
133
  return !!x && typeof x === "object" && !("aseid" in x);
65
134
  }
66
- // --- Overloads: provide precise return-type depending on input ---
135
+ /**
136
+ * Determines the appropriate initializer method based on the type of `props`.
137
+ * The method checks if `props` is:
138
+ * 1) a string that matches ASEID format -> fromASEID
139
+ * 2) an ASEID instance -> fromASEID
140
+ * 3) a serialized object (has 'aseid') -> fromJSON
141
+ * 4) a plain object with no 'aseid' -> treat as constructor props -> fromNew
142
+ *
143
+ * [!] If `props` is undefined, it will call fromUndefined method
144
+ *
145
+ * If none of the above, it throws an error indicating incorrect constructor usage.
146
+ *
147
+ *
148
+ * To get a custom initializer, override this method in the child class.
149
+ * Example:
150
+ * ```typescript
151
+ * protected getInitializer(
152
+ * props?: string | ASEID | _SerializedType | _ConstructorType
153
+ * ): (props: any) => void | (() => void) {
154
+ * if('customField' in props) {
155
+ * return this.fromCustomField.bind(this);
156
+ * }
157
+ * return super.getInitializer(props);
158
+ * }
159
+ * ```
160
+ * @param props
161
+ * @returns The appropriate initializer method
162
+ */
67
163
  getInitializer(props) {
164
+ if (!props) {
165
+ return this.fromUndefined;
166
+ }
68
167
  // 1) string that matches ASEID format -> fromASEID
69
168
  if (this.isStringASEID(props)) {
70
169
  return this.fromASEID;
@@ -84,54 +183,10 @@ class A_Entity {
84
183
  // none of the above -> throw consistent error
85
184
  throw new a_utils_1.A_Error(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
86
185
  }
87
- // ====================================================================
88
- // ================== DUPLICATED ASEID Getters ========================
89
- // ====================================================================
90
- /**
91
- * Extracts the ID from the ASEID
92
- * ID is the unique identifier of the entity
93
- */
94
- get id() {
95
- return this.aseid.id;
96
- }
97
- /**
98
- * Extracts the namespace from the ASEID
99
- * namespace is an application specific identifier from where the entity is coming from
100
- */
101
- get namespace() {
102
- return this.aseid.namespace;
103
- }
104
- /**
105
- * Extracts the scope from the ASEID
106
- * scope is the scope of the entity from Application Namespace
107
- */
108
- get scope() {
109
- return this.aseid.scope;
110
- }
111
186
  /**
112
- * Extracts the entity from the ASEID
113
- * entity is the name of the entity from Application Namespace
187
+ * Call a feature of the component with the provided scope
114
188
  *
115
- */
116
- get entity() {
117
- return this.aseid.entity;
118
- }
119
- /**
120
- * Extracts the version from the ASEID
121
- * version is the version of the entity
122
- */
123
- get version() {
124
- return this.aseid.version;
125
- }
126
- /**
127
- * Extracts the shard from the ASEID
128
- * shard is the shard of the entity
129
- */
130
- get shard() {
131
- return this.aseid.shard;
132
- }
133
- /**
134
- * Call a feature of the component
189
+ * [!] If the provided scope is not inherited from the entity scope, it will be inherited
135
190
  *
136
191
  * @param lifecycleMethod
137
192
  * @param args
@@ -179,6 +234,13 @@ class A_Entity {
179
234
  // ====================================================================
180
235
  // ================== Entity Serialization ============================
181
236
  // ====================================================================
237
+ /**
238
+ * Create a new entity from ASEID string or instance
239
+ * [!] Executed when the constructor is called with a string or ASEID instance that represents the ASEID
240
+ * [!] Executes By Default with new A_Entity('aseid-string') or new A_Entity(new ASEID(...)) if getInitializer has not been overridden
241
+ *
242
+ * @param aseid
243
+ */
182
244
  fromASEID(aseid) {
183
245
  if (typeof aseid === 'string' && a_utils_1.ASEID.isASEID(aseid)) {
184
246
  this.aseid = new a_utils_1.ASEID(aseid);
@@ -190,16 +252,58 @@ class A_Entity {
190
252
  throw new a_utils_1.A_Error(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS.INCORRECT_A_ENTITY_CONSTRUCTOR);
191
253
  }
192
254
  }
255
+ /**
256
+ * Handles the case when no props are provided to the constructor.
257
+ * This method can be overridden in child classes to set default values or perform specific initialization logic.
258
+ * By default, it does nothing.
259
+ *
260
+ *
261
+ * @returns
262
+ */
263
+ fromUndefined() {
264
+ this.aseid = new a_utils_1.ASEID({
265
+ namespace: this.constructor.namespace,
266
+ scope: this.constructor.scope,
267
+ entity: this.constructor.entity,
268
+ id: `${new Date().getTime().toString()}-${Math.floor(Math.random() * 10000000).toString()}`,
269
+ });
270
+ return;
271
+ }
272
+ /**
273
+ * Create a new entity from constructor object
274
+ * [!] Executed when the constructor is called with an object that does not contain "aseid" property
275
+ * [!] Executes By Default with new A_Entity({}) if getInitializer has not been overridden
276
+ *
277
+ * @param newEntity
278
+ * @returns
279
+ */
193
280
  fromNew(newEntity) {
194
- // this.aseid = new ASEID
281
+ this.aseid = new a_utils_1.ASEID({
282
+ namespace: this.constructor.namespace,
283
+ scope: this.constructor.scope,
284
+ entity: this.constructor.entity,
285
+ id: `${new Date().getTime().toString()}-${Math.floor(Math.random() * 10000000).toString()}`,
286
+ });
195
287
  return;
196
288
  }
289
+ /**
290
+ * Creates a new entity from serialized object
291
+ *
292
+ * [!] Executed when the constructor is called with an object that contains "aseid" property
293
+ * [!] Executes By Default with new A_Entity({ aseid: '...' }) if getInitializer has not been overridden
294
+ *
295
+ *
296
+ * @param serialized
297
+ * @returns
298
+ */
197
299
  fromJSON(serialized) {
198
- this.aseid = new a_utils_1.ASEID((serialized).aseid);
300
+ this.aseid = new a_utils_1.ASEID(serialized.aseid);
199
301
  return;
200
302
  }
201
303
  /**
202
304
  * Converts the entity to a JSON object
305
+ * [!] This method should be extended in the child classes to include all properties of the entity
306
+ * [!] Includes aseid by default
203
307
  *
204
308
  *
205
309
  * @returns
@@ -209,6 +313,12 @@ class A_Entity {
209
313
  aseid: this.aseid.toString()
210
314
  };
211
315
  }
316
+ /**
317
+ * Returns the string representation of the entity
318
+ * what is basically the ASEID string
319
+ *
320
+ * @returns
321
+ */
212
322
  toString() {
213
323
  return this.aseid ? this.aseid.toString() : this.constructor.name;
214
324
  }
@@ -1 +1 @@
1
- {"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A-Entity.class.js","sourceRoot":"","sources":["../../../../src/global/A-Entity/A-Entity.class.ts"],"names":[],"mappings":"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"}
@@ -48,9 +48,9 @@ export declare class A_Scope {
48
48
  * @param component
49
49
  * @returns
50
50
  */
51
- has(component: typeof A_Component): boolean;
52
- has(entity: typeof A_Entity): boolean;
53
- has(fragment: typeof A_Fragment): boolean;
51
+ has<T extends A_Component>(component: new (...args: any[]) => T): boolean;
52
+ has<T extends A_Entity>(entity: new (...args: any[]) => T): boolean;
53
+ has<T extends A_Fragment>(fragment: new (...args: any[]) => T): boolean;
54
54
  has(constructor: string): boolean;
55
55
  /**
56
56
  * Merges two scopes into a new one
@@ -71,9 +71,9 @@ export declare class A_Scope {
71
71
  */
72
72
  resolve<T extends A_TYPES__A_InjectDecorator_Injectable>(string: string): InstanceType<T>;
73
73
  resolve<T extends A_TYPES__A_InjectDecorator_Injectable>(component: T): InstanceType<T>;
74
- resolve<T extends {
75
- new (...args: any[]): A_Entity;
76
- }>(entity: T, instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>): InstanceType<T>;
74
+ resolve<T extends A_Entity>(entity: {
75
+ new (...args: any[]): T;
76
+ }, instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>): T | Array<T>;
77
77
  resolve<T extends A_TYPES__A_InjectDecorator_Injectable>(component: Array<T>): Array<InstanceType<T>>;
78
78
  private resolveByName;
79
79
  private resolveOnce;
@@ -86,6 +86,7 @@ export declare class A_Scope {
86
86
  *
87
87
  * @param fragment
88
88
  */
89
+ register<T extends A_Component>(component: new (...args: any[]) => T): void;
89
90
  register(entity: A_Entity): void;
90
91
  register(component: A_Component): void;
91
92
  register(fragment: A_Fragment): void;
@@ -130,23 +130,30 @@ class A_Scope {
130
130
  return this._parent.has(entity);
131
131
  return false;
132
132
  }
133
- case a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Component_class_1.A_Component): {
134
- const found = this.params.components.includes(entity);
135
- if (!found && !!this._parent)
136
- return this._parent.has(entity);
137
- return found;
138
- }
139
- case a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Entity_class_1.A_Entity): {
140
- const entities = Array.from(this._entities.values());
141
- const found = entities.find(e => e instanceof entity);
142
- return !!found;
143
- }
144
- case a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Fragment_class_1.A_Fragment): {
145
- const found = this._fragments.has(entity);
146
- if (!found && !!this._parent)
147
- return this._parent.has(entity);
148
- return found;
149
- }
133
+ case typeof entity === 'function'
134
+ && a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Component_class_1.A_Component):
135
+ {
136
+ const found = this.params.components.includes(entity);
137
+ if (!found && !!this._parent) {
138
+ return this._parent.has(entity);
139
+ }
140
+ return found;
141
+ }
142
+ case typeof entity === 'function'
143
+ && a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Entity_class_1.A_Entity):
144
+ {
145
+ const entities = Array.from(this._entities.values());
146
+ const found = entities.find(e => e instanceof entity);
147
+ return !!found;
148
+ }
149
+ case typeof entity === 'function'
150
+ && a_utils_1.A_CommonHelper.isInheritedFrom(entity, A_Fragment_class_1.A_Fragment):
151
+ {
152
+ const found = this._fragments.has(entity);
153
+ if (!found && !!this._parent)
154
+ return this._parent.has(entity);
155
+ return found;
156
+ }
150
157
  default: {
151
158
  return false;
152
159
  }
@@ -250,7 +257,7 @@ class A_Scope {
250
257
  case !found && !!this._parent:
251
258
  return this._parent.resolveEntity(entity, instructions);
252
259
  default:
253
- throw new Error(`Fragment ${entity.name} not found in the scope ${this.name}`);
260
+ throw new Error(`Entity ${entity.name} not found in the scope ${this.name}`);
254
261
  }
255
262
  }
256
263
  case !!query.aseid
@@ -260,6 +267,7 @@ class A_Scope {
260
267
  return this._entities.get(query.aseid);
261
268
  }
262
269
  case !!query.aseid
270
+ && typeof query.aseid === 'object'
263
271
  && query.aseid instanceof a_utils_1.ASEID
264
272
  && this._entities.has(query.aseid.toString()):
265
273
  {
@@ -273,8 +281,22 @@ class A_Scope {
273
281
  });
274
282
  return found;
275
283
  }
276
- default:
277
- throw new Error(`Entity ${entity.constructor.name} not found in the scope ${this.name}`);
284
+ default: {
285
+ const entities = Array.from(this._entities.values());
286
+ const found = entities.filter(e => e instanceof entity).filter(e => {
287
+ return Object.entries(query).every(([key, value]) => {
288
+ if (key in e) {
289
+ return e[key] === value;
290
+ }
291
+ return false;
292
+ });
293
+ });
294
+ if (found.length === 0 && !!this._parent)
295
+ return this._parent.resolveEntity(entity, instructions);
296
+ if (count === 1)
297
+ return found[0];
298
+ return found;
299
+ }
278
300
  }
279
301
  }
280
302
  resolveFragment(fragment) {
@@ -333,6 +355,15 @@ class A_Scope {
333
355
  }
334
356
  register(param1) {
335
357
  switch (true) {
358
+ case param1 instanceof A_Component_class_1.A_Component && !this._components.has(param1.constructor): {
359
+ this._components.set(param1.constructor, param1);
360
+ const allowedComponent = this.components.find(c => c === param1.constructor);
361
+ if (!allowedComponent) {
362
+ this.components.push(param1.constructor);
363
+ }
364
+ A_Context_class_1.A_Context.register(this, param1);
365
+ break;
366
+ }
336
367
  case param1 instanceof A_Entity_class_1.A_Entity && !this._entities.has(param1.aseid.toString()): {
337
368
  this._entities.set(param1.aseid.toString(), param1);
338
369
  A_Context_class_1.A_Context.register(this, param1);
@@ -356,6 +387,12 @@ class A_Scope {
356
387
  A_Context_class_1.A_Context.register(this, param1);
357
388
  break;
358
389
  }
390
+ case typeof param1 === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(param1, A_Component_class_1.A_Component): {
391
+ const allowedComponent = this.components.find(c => c === param1);
392
+ if (!allowedComponent)
393
+ this.components.push(param1);
394
+ break;
395
+ }
359
396
  default:
360
397
  if (param1 instanceof A_Entity_class_1.A_Entity)
361
398
  throw new Error(`Entity with ASEID ${param1.aseid.toString()} is already registered in the scope ${this.name}`);
@@ -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":";;;AAAA,4CAAuD;AAEvD,qEAA4D;AAC5D,kEAAyD;AACzD,wEAE0C;AAC1C,wEAA+D;AAC/D,+DAAsD;AAQtD;;;;;;;;;;;;GAYG;AACH,MAAa,OAAO;IAahB,YACI,MAA0C,EAC1C,SAAwC,EAAE;QAbrC,SAAI,GAAW,EAAE,CAAC;QAEnB,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,QAAQ,EAAE,EAAE;SACf,CAAC;QAGF,IAAI,CAAC,MAAM,mCACJ,aAAa,GACb,MAAM,CACZ,CAAA;QAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,CAAC;IACL,CAAC;IAGO,cAAc,CAAC,WAAgD;QACnE,qCAAqC;QACrC,wDAAwD;QACxD,KAAK;IACT,CAAC;IAEO,YAAY,CAAC,SAA0B;QAC3C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,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;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,CAAC;IAKD,MAAM,CACF,QAAkB;QAElB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,KAAc;QAC1B,IAAI,OAAO,GAAwB,IAAI,CAAC;QAExC,OAAO,OAAO,EAAE,CAAC;YACb,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,OAAO,CAAC,MAAe;QACnB,+BAA+B;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,GAAG,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAID;;;;;;OAMG;IACH,wBAAwB,CAAC,KAAc;QACnC,MAAM,gBAAgB,GAAkB,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAwB,IAAI,CAAC,OAAO,CAAC;QAEhD,OAAO,OAAO,EAAE,CAAC;YACb,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACpB,OAAO,gBAAgB,CAAC;YAC5B,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD,qBAAqB;QACjB,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,IAAI,OAAO,GAAwB,IAAI,CAAC;QAExC,OAAO,OAAO,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC;IAqBD,GAAG,CACC,MAAgD;QAIhD,QAAQ,IAAI,EAAE,CAAC;YAEX,KAAK,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAE9E,IAAI,iBAAiB,EAAE,CAAC;oBACpB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAE5E,IAAI,gBAAgB,EAAE,CAAC;oBACnB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;oBAChE,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;oBACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAEpC,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,UAAU;mBAC1B,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,+BAAW,CAAC;gBAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAA8C,CAAC,CAAC;oBAE9F,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAa,CAAC,CAAC;oBAC3C,CAAC;oBAED,OAAO,KAAK,CAAC;gBACjB,CAAC;YAEL,KAAK,OAAO,MAAM,KAAK,UAAU;mBAC1B,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,yBAAQ,CAAC;gBAAE,CAAC;oBAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;oBAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC;oBAEtD,OAAO,CAAC,CAAC,KAAK,CAAC;gBACnB,CAAC;YAEL,KAAK,OAAO,MAAM,KAAK,UAAU;mBAC1B,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,6BAAU,CAAC;gBAAE,CAAC;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAE1C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;wBACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAa,CAAC,CAAC;oBAE3C,OAAO,KAAK,CAAC;gBACjB,CAAC;YAEL,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAGD;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAqB;QACvB,MAAM,MAAM,GAAG,IAAI,OAAO,CACtB;YACI,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,EAAE;YACzC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAC3B,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;gBACzB,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU;aACpC,CAAC,CAAC;YACH,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;gBACxB,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS;aACnC,CAAC,CAAC;YACH,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;gBACzB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;gBACvB,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ;aAClC,CAAC,CAAC;SACN,EACD;YACI,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO;SAC/C,CACJ,CAAC;QAEF,OAAO,MAAM,CAAC;IAClB,CAAC;IAsBD,kBAAkB;IAClB,OAAO,CACH,MAA6B,EAC7B,MAAiF;QAIjF,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,MAAa,EAAE,MAAa,CAAC,CAAC,CAAC;YAC3E,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAa,EAAE,MAAa,CAAC,CAAC;YAC1D,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAa,CAAoB,CAAC;YAChE,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;QACL,CAAC;IACL,CAAC;IAGO,aAAa,CAAC,IAAY;QAC9B,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpE,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEvD,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9E,IAAI,QAAQ;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAkB,CAAC,CAAC;QAEvE,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC3E,IAAI,MAAM;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAkB,CAAC,CAAC;QAEjE,oDAAoD;QACpD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5G,CAAC;IAYO,WAAW,CACf,SAAY,EACZ,YAA8E;QAI9E,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,wBAAc,CAAC,eAAe,CAAC,SAAS,EAAE,yBAAQ,CAAC,CAAC,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAgB,EAAE,YAAY,CAAoB,CAAC;YACjF,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,YAA+F;;QAG/F,MAAM,KAAK,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,KAAI,EAA+E,CAAC;QACrH,MAAM,KAAK,GAAG,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,0CAAE,KAAK,KAAI,CAAC,CAAC;QAEnD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEjB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAGrD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC;gBAEtD,QAAQ,IAAI,EAAE,CAAC;oBACX,KAAK,CAAC,CAAC,KAAK;wBACR,OAAO,KAAwB,CAAC;oBAEpC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;wBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;oBAE5D;wBACI,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;YAED,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;mBACX,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;mBAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAoB,CAAC;gBAC9D,CAAC;YAEL,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK;mBACX,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;mBAC/B,KAAK,CAAC,KAAK,YAAY,eAAK;mBAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAAE,CAAC;oBAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAoB,CAAC;gBACzE,CAAC;YAEL,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEd,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAC3B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACP,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAC;gBAEH,OAAO,KAAwB,CAAC;YACpC,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CACzB,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,MAAM,CAC3B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACT,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;wBAChD,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;4BACX,OAAQ,CAAS,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;wBACrC,CAAC;wBACD,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;oBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBAE5D,IAAI,KAAK,KAAK,CAAC;oBACX,OAAO,KAAK,CAAC,CAAC,CAAoB,CAAC;gBAEvC,OAAO,KAA0B,CAAC;YACtC,CAAC;QAEL,CAAC;IACL,CAAC;IAIO,eAAe,CAA8B,QAAW;QAE5D,MAAM,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,QAAQ,CAAC,CAAC;QAGpF,QAAQ,IAAI,EAAE,CAAC;YAEX,KAAK,yBAAyB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEzC,KAAK,yBAAyB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,QAAQ,CAAoB,CAAC;YAEhF,KAAK,CAAC,yBAAyB,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO;gBAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAElD;gBACI,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAGO,YAAY,CAAC,KAAqB;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IAGO,gBAAgB,CAAwB,SAE/C;QAEG,uGAAuG;QACvG,2EAA2E;QAC3E,2GAA2G;QAC3G,QAAQ,IAAI,EAAE,CAAC;YACX,kEAAkE;YAClE,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAED,kEAAkE;YAClE,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC3E,MAAM,aAAa,GAAG,2BAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAE/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;gBAEzE,MAAM,YAAY,GAAG,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAC,aAAa,CAAC,KAAI,EAAE,CAAC;qBACpD,GAAG,CAAC,GAAG,CAAC,EAAE;oBACP,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;wBACxB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAA;wBACpC,OAAO,IAAI,CAAC,OAAO,CACf,MAAM,EACN,YAAY,CACf,CAAC;oBACN,CAAC;oBACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnC,CAAC,CAAC,CAAC;gBAEP,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,GAAG,YAAY,CAAC,CAAA;gBAEnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAE5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC;YAED,iFAAiF;YACjF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAc,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAErH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,wBAAc,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAExF,OAAO,IAAI,CAAC,gBAAgB,CAAI,KAAY,CAAC,CAAC;YAClD,CAAC;YAED,wFAAwF;YACxF,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;YAED;gBACI,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,IAAI,2BAA2B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAaD,QAAQ,CACJ,MAAmF;QAEnF,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,+BAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC9E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAEjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE7E,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAkB,CAAC,CAAC;gBACpD,CAAC;gBAED,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjC,MAAM;YACV,CAAC;YAED,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,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjC,MAAM;YACV,CAAC;YAED,KAAK,MAAM,YAAY,6BAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,MAAM,CAAC,WAAW,CAAC,CAAC;gBAEpF,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,CAAC;gBAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAChD,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjC,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;gBAEjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;gBAE7E,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAkB,CAAC,CAAC;gBACpD,CAAC;gBAED,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjC,MAAM;YACV,CAAC;YAED,KAAK,OAAO,MAAM,KAAK,UAAU,IAAI,wBAAc,CAAC,eAAe,CAAC,MAAM,EAAE,+BAAW,CAAC,CAAC,CAAC,CAAC;gBACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;gBAEjE,IAAI,CAAC,gBAAgB;oBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACV,CAAC;YACD;gBACI,IAAI,MAAM,YAAY,yBAAQ;oBAC1B,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,uCAAuC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;qBAC/G,IAAI,MAAM,YAAY,6BAAU;oBACjC,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,WAAW,CAAC,IAAI,uCAAuC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;;oBAEvG,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,CAAC;IAIL,CAAC;IAKD,MAAM;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAE3C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAA;YAEpC,uCACO,GAAG,KACN,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,IAChC;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC;CACJ;AAtnBD,0BAsnBC"}
@@ -3,6 +3,7 @@ import { A_Feature } from "../A-Feature/A-Feature.class";
3
3
  import { A_TYPES__A_Stage_JSON, A_TYPES__A_Stage_Status, A_TYPES__A_StageStep, A_TYPES__A_StageStepProcessingExtraParams } from "./A-Stage.types";
4
4
  import { A_Container } from "../A-Container/A-Container.class";
5
5
  import { A_Scope } from "../A-Scope/A-Scope.class";
6
+ import { A_Entity } from "../A-Entity/A-Entity.class";
6
7
  /**
7
8
  * A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
8
9
  * Each stage may contain one or more functions.
@@ -31,7 +32,7 @@ export declare class A_Stage {
31
32
  * @param step
32
33
  * @returns
33
34
  */
34
- protected getStepArgs(step: A_TYPES__A_StageStep, scope: A_Scope): Promise<(import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-Component/A-Component.class").A_Component | A_Container | import("../A-Entity/A-Entity.class").A_Entity<any, import("../A-Entity/A-Entity.types").A_TYPES__Entity_JSON> | A_Scope | A_Feature)[]>;
35
+ protected getStepArgs(step: A_TYPES__A_StageStep, scope: A_Scope): Promise<(import("../A-Component/A-Component.class").A_Component | A_Container | A_Entity<any, import("../A-Entity/A-Entity.types").A_TYPES__Entity_JSON> | A_Entity<any, import("../A-Entity/A-Entity.types").A_TYPES__Entity_JSON>[] | A_Feature)[]>;
35
36
  /**
36
37
  * Adds a step to the stage
37
38
  *
@@ -45,7 +46,7 @@ export declare class A_Stage {
45
46
  * @param step
46
47
  * @returns
47
48
  */
48
- protected getStepInstance(step: A_TYPES__A_StageStep): import("../A-Component/A-Component.class").A_Component | A_Container;
49
+ protected getStepInstance(step: A_TYPES__A_StageStep): any;
49
50
  /**
50
51
  * Calls the handler of the step
51
52
  *
@@ -33,10 +33,10 @@ class A_Stage {
33
33
  this._steps = _steps;
34
34
  this.name = `${this.feature.name}::a-stage:[sync:${this
35
35
  .syncSteps
36
- .map(s => s.component.name + '.' + s.handler)
36
+ .map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
37
37
  .join(' -> ')}][async:${this
38
38
  .asyncSteps
39
- .map(s => s.component.name + '.' + s.handler)
39
+ .map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
40
40
  .join(' -> ')}]`;
41
41
  }
42
42
  get before() {
@@ -70,16 +70,18 @@ class A_Stage {
70
70
  return __awaiter(this, void 0, void 0, function* () {
71
71
  return Promise
72
72
  .all(A_Context_class_1.A_Context
73
- .meta(step.component instanceof A_Container_class_1.A_Container
73
+ .meta(
74
+ // TODO: fix types
75
+ (step.component instanceof A_Container_class_1.A_Container
74
76
  ? step.component.constructor
75
- : step.component)
77
+ : step.component))
76
78
  .injections(step.handler)
77
79
  .map((arg) => __awaiter(this, void 0, void 0, function* () {
78
80
  if (a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_FeatureCaller_class_1.A_FeatureCaller))
79
81
  return this.feature.Caller.resolve();
80
82
  if (a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_Feature_class_1.A_Feature))
81
83
  return this.feature;
82
- return scope.resolve(arg.target);
84
+ return scope.resolve(arg.target, arg.instructions);
83
85
  })));
84
86
  });
85
87
  }
@@ -104,9 +106,10 @@ class A_Stage {
104
106
  // TODO: probably would be better to do it another way. let's think about it
105
107
  const instance = component instanceof A_Container_class_1.A_Container
106
108
  ? component
109
+ // TODO: fix types
107
110
  : this.feature.Scope.resolve(component);
108
111
  if (!instance)
109
- throw new Error(`Unable to resolve component ${component.name}`);
112
+ throw new Error(`Unable to resolve component ${typeof component === 'string' ? component : component.name} from scope ${this.feature.Scope.name}`);
110
113
  if (!instance[handler])
111
114
  throw new Error(`Handler ${handler} not found in ${instance.constructor.name}`);
112
115
  return instance;
@@ -1 +1 @@
1
- {"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@ export type A_TYPES__A_StageStep = {
52
52
  /**
53
53
  * The component to be called
54
54
  */
55
- component: typeof A_Component | A_Container;
55
+ component: typeof A_Component | A_Container | string;
56
56
  /**
57
57
  * The method to be called on the component
58
58
  */
@@ -11,7 +11,7 @@ class StepsManager {
11
11
  this.sortedEntities = [];
12
12
  }
13
13
  ID(step) {
14
- return `${step.component.name}.${step.handler}`;
14
+ return `${typeof step.component === 'string' ? step.component : step.component.name}.${step.handler}`;
15
15
  }
16
16
  buildGraph() {
17
17
  // Initialize graph nodes