@adaas/a-concept 0.1.3 → 0.1.5

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 (54) hide show
  1. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +5 -4
  2. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -1
  3. package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +2 -1
  4. package/dist/src/global/A-Abstraction/A-Abstraction.class.js +7 -1
  5. package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
  6. package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +2 -1
  7. package/dist/src/global/A-Component/A-Component.meta.js +1 -1
  8. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  9. package/dist/src/global/A-Container/A-Container.constants.d.ts +2 -1
  10. package/dist/src/global/A-Container/A-Container.constants.js +1 -0
  11. package/dist/src/global/A-Container/A-Container.constants.js.map +1 -1
  12. package/dist/src/global/A-Container/A-Container.meta.d.ts +11 -3
  13. package/dist/src/global/A-Container/A-Container.meta.js +25 -0
  14. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  15. package/dist/src/global/A-Container/A-Container.types.d.ts +24 -1
  16. package/dist/src/global/A-Context/A-Context.class.d.ts +6 -14
  17. package/dist/src/global/A-Context/A-Context.class.js +16 -20
  18. package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
  19. package/dist/src/global/A-Feature/A-Feature.class.d.ts +1 -1
  20. package/dist/src/global/A-Feature/A-Feature.class.js +6 -4
  21. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  22. package/dist/src/global/A-Feature/A-Feature.types.d.ts +9 -2
  23. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  24. package/dist/src/global/A-Scope/A-Scope.class.d.ts +8 -2
  25. package/dist/src/global/A-Scope/A-Scope.class.js +23 -3
  26. package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
  27. package/dist/src/global/A-Scope/A-Scope.error.d.ts +1 -0
  28. package/dist/src/global/A-Scope/A-Scope.error.js +1 -0
  29. package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -1
  30. package/dist/src/global/A-Scope/A-Scope.types.d.ts +7 -1
  31. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  32. package/dist/src/helpers/A_TypeGuards.helper.d.ts +3 -1
  33. package/dist/src/helpers/A_TypeGuards.helper.js +10 -2
  34. package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +5 -4
  37. package/src/global/A-Abstraction/A-Abstraction.class.ts +12 -2
  38. package/src/global/A-Abstraction/A-Abstraction.types.ts +2 -1
  39. package/src/global/A-Component/A-Component.meta.ts +1 -1
  40. package/src/global/A-Container/A-Container.constants.ts +1 -0
  41. package/src/global/A-Container/A-Container.meta.ts +38 -3
  42. package/src/global/A-Container/A-Container.types.ts +27 -2
  43. package/src/global/A-Context/A-Context.class.ts +22 -21
  44. package/src/global/A-Feature/A-Feature.class.ts +7 -5
  45. package/src/global/A-Feature/A-Feature.types.ts +9 -2
  46. package/src/global/A-Scope/A-Scope.class.ts +68 -16
  47. package/src/global/A-Scope/A-Scope.error.ts +1 -0
  48. package/src/global/A-Scope/A-Scope.types.ts +7 -3
  49. package/src/global/A-Stage/A-Stage.class.ts +0 -1
  50. package/src/helpers/A_TypeGuards.helper.ts +12 -3
  51. package/tests/A-Abstraction.test.ts +72 -0
  52. package/tests/A-Common.test.ts +2 -1
  53. package/tests/A-Scope.test.ts +1 -1
  54. package/tsconfig.json +2 -2
@@ -1,4 +1,4 @@
1
- import { A_TYPES__ScopeConfig, A_TYPES__Scope_Init, A_TYPES__ScopeLinkedComponents, A_TYPES__ScopeResolvableComponents } from './A-Scope.types';
1
+ import { A_TYPES__ScopeConfig, A_TYPES__Scope_Init, A_TYPES__ScopeLinkedComponents, A_TYPES__ScopeResolvableComponents, A_TYPES__ScopeLinkedConstructors } from './A-Scope.types';
2
2
  import { A_TYPES__A_InjectDecorator_EntityInjectionInstructions, A_TYPES__InjectableConstructors } from "../A-Inject/A-Inject.types";
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
4
  import { A_Component } from "../A-Component/A-Component.class";
@@ -302,12 +302,17 @@ export declare class A_Scope<_ComponentType extends A_TYPES__Component_Construct
302
302
  * Provide optional instructions to find a specific entity or a set of entities
303
303
  */
304
304
  instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>): Array<T>;
305
- resolve(constructorName: string): A_TYPES__ScopeResolvableComponents;
305
+ resolve<T extends A_TYPES__ScopeResolvableComponents>(constructorName: string): T;
306
306
  resolve<T extends A_TYPES__ScopeResolvableComponents>(
307
307
  /**
308
308
  * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
309
309
  */
310
310
  param1: A_TYPES__InjectableConstructors): T | Array<T>;
311
+ resolve<T extends A_TYPES__ScopeLinkedConstructors>(
312
+ /**
313
+ * Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
314
+ */
315
+ param1: T): T | Array<T>;
311
316
  /**
312
317
  * This method is used internally to resolve a component, fragment or entity by its constructor name
313
318
  *
@@ -325,6 +330,7 @@ export declare class A_Scope<_ComponentType extends A_TYPES__Component_Construct
325
330
  * @returns
326
331
  */
327
332
  private resolveOnce;
333
+ private resolveIssuer;
328
334
  /**
329
335
  * This method is used internally to resolve a single entity from the scope based on the provided instructions
330
336
  *
@@ -247,6 +247,11 @@ class A_Scope {
247
247
  found = this.isAllowedFragment(ctor);
248
248
  break;
249
249
  }
250
+ // check scope issuer
251
+ case this.issuer().constructor === ctor: {
252
+ found = true;
253
+ break;
254
+ }
250
255
  }
251
256
  if (!found && !!this._parent)
252
257
  return this._parent.has(ctor);
@@ -298,7 +303,7 @@ class A_Scope {
298
303
  if (!!this._parent) {
299
304
  return this._parent.resolveConstructor(name);
300
305
  }
301
- throw new Error(`Component or Entity with name ${name} not found in the scope ${this.name}`);
306
+ throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ResolutionError, `Component or Entity with name ${name} not found in the scope ${this.name}`);
302
307
  }
303
308
  resolve(
304
309
  /**
@@ -374,11 +379,16 @@ class A_Scope {
374
379
  * @returns
375
380
  */
376
381
  resolveOnce(component, instructions) {
382
+ if (!component || !this.has(component))
383
+ throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ResolutionError, `Injected Component ${component} not found in the scope`);
377
384
  if (A_TypeGuards_helper_1.A_TypeGuards.isScopeConstructor(component))
378
385
  component;
379
386
  if (typeof component == 'function' && component.name === 'A_Scope')
380
387
  component;
381
388
  switch (true) {
389
+ case A_TypeGuards_helper_1.A_TypeGuards.isConstructorAllowedForScopeAllocation(component): {
390
+ return this.resolveIssuer(component);
391
+ }
382
392
  case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(component): {
383
393
  return this.resolveEntity(component, instructions);
384
394
  }
@@ -392,8 +402,18 @@ class A_Scope {
392
402
  return this.resolveComponent(component);
393
403
  }
394
404
  default:
395
- throw new Error(`Injected Component ${component} not found in the scope`);
405
+ throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ResolutionError, `Injected Component ${component} not found in the scope`);
406
+ }
407
+ }
408
+ resolveIssuer(ctor) {
409
+ const isCurrent = ctor === this.issuer().constructor;
410
+ if (isCurrent) {
411
+ return this.issuer();
412
+ }
413
+ if (!!this._parent) {
414
+ return this._parent.resolveIssuer(ctor);
396
415
  }
416
+ throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ResolutionError, `Issuer ${ctor.name} not found in the scope ${this.name}`);
397
417
  }
398
418
  /**
399
419
  * This method is used internally to resolve a single entity from the scope based on the provided instructions
@@ -423,7 +443,7 @@ class A_Scope {
423
443
  case !found && !!this._parent:
424
444
  return this._parent.resolveEntity(entity, instructions);
425
445
  default:
426
- throw new Error(`Entity ${entity.name} not found in the scope ${this.name}`);
446
+ throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ResolutionError, `Entity ${entity.name} not found in the scope ${this.name}`);
427
447
  }
428
448
  }
429
449
  /**
@@ -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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"}
@@ -2,5 +2,6 @@ import { A_Error } from "../A-Error/A_Error.class";
2
2
  export declare class A_ScopeError extends A_Error {
3
3
  static readonly InitializationError = "A-Scope Initialization Error";
4
4
  static readonly ConstructorError = "Unable to construct A-Scope instance";
5
+ static readonly ResolutionError = "A-Scope Resolution Error";
5
6
  static readonly CircularInheritanceError = "A-Scope Circular Inheritance Error";
6
7
  }
@@ -7,5 +7,6 @@ class A_ScopeError extends A_Error_class_1.A_Error {
7
7
  exports.A_ScopeError = A_ScopeError;
8
8
  A_ScopeError.InitializationError = 'A-Scope Initialization Error';
9
9
  A_ScopeError.ConstructorError = 'Unable to construct A-Scope instance';
10
+ A_ScopeError.ResolutionError = 'A-Scope Resolution Error';
10
11
  A_ScopeError.CircularInheritanceError = 'A-Scope Circular Inheritance Error';
11
12
  //# sourceMappingURL=A-Scope.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"A-Scope.error.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.error.ts"],"names":[],"mappings":";;;AAAA,4DAAmD;AAEnD,MAAa,YAAa,SAAQ,uBAAO;;AAAzC,oCAUC;AAPmB,gCAAmB,GAAG,8BAA8B,CAAC;AAErD,6BAAgB,GAAG,sCAAsC,CAAC;AAG1D,qCAAwB,GAAG,oCAAoC,CAAC"}
1
+ {"version":3,"file":"A-Scope.error.js","sourceRoot":"","sources":["../../../../src/global/A-Scope/A-Scope.error.ts"],"names":[],"mappings":";;;AAAA,4DAAmD;AAEnD,MAAa,YAAa,SAAQ,uBAAO;;AAAzC,oCAWC;AARmB,gCAAmB,GAAG,8BAA8B,CAAC;AAErD,6BAAgB,GAAG,sCAAsC,CAAC;AAE1D,4BAAe,GAAG,0BAA0B,CAAC;AAE7C,qCAAwB,GAAG,oCAAoC,CAAC"}
@@ -9,6 +9,8 @@ import { A_Caller } from "../A-Caller/A_Caller.class";
9
9
  import { A_Error } from "../A-Error/A_Error.class";
10
10
  import { A_TYPES__Error_Constructor } from "../A-Error/A_Error.types";
11
11
  import { A_Scope } from "./A-Scope.class";
12
+ import { A_TYPES__Container_Constructor } from "../A-Container/A-Container.types";
13
+ import { A_TYPES__Feature_Constructor } from "../A-Feature/A-Feature.types";
12
14
  /**
13
15
  * Scope constructor type
14
16
  * Uses the generic type T to specify the type of the Scope
@@ -56,6 +58,10 @@ export type A_TYPES__ScopeConfig = {
56
58
  * Scope serialized type
57
59
  */
58
60
  export type A_TYPES__Scope_Serialized = {};
61
+ /**
62
+ *
63
+ */
64
+ export type A_TYPES__ScopeLinkedConstructors = A_TYPES__Container_Constructor | A_TYPES__Feature_Constructor;
59
65
  /**
60
66
  * A list of components that can have a scope associated with them
61
67
  */
@@ -63,7 +69,7 @@ export type A_TYPES__ScopeLinkedComponents = A_Container | A_Feature;
63
69
  /**
64
70
  * A list of components that can be resolved by a scope
65
71
  */
66
- export type A_TYPES__ScopeResolvableComponents = A_Component | A_Fragment | A_Entity | A_Fragment;
72
+ export type A_TYPES__ScopeResolvableComponents = A_Component | A_Fragment | A_Entity;
67
73
  /**
68
74
  * A list of components that are dependent on a scope and do not have their own scope
69
75
  */
@@ -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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"}
@@ -16,7 +16,7 @@ import { A_Scope } from "../global/A-Scope/A-Scope.class";
16
16
  import { A_TYPES__Caller_Constructor } from "../global/A-Caller/A_Caller.types";
17
17
  import { A_Error } from "../global/A-Error/A_Error.class";
18
18
  import { A_TYPES__AbstractionAvailableComponents } from "../global/A-Abstraction/A-Abstraction.types";
19
- import { A_TYPES__Scope_Constructor } from "../global/A-Scope/A-Scope.types";
19
+ import { A_TYPES__Scope_Constructor, A_TYPES__ScopeLinkedComponents, A_TYPES__ScopeLinkedConstructors } from "../global/A-Scope/A-Scope.types";
20
20
  import { A_TYPES__InjectableTargets } from "../global/A-Inject/A-Inject.types";
21
21
  export declare class A_TypeGuards {
22
22
  /**
@@ -189,6 +189,8 @@ export declare class A_TypeGuards {
189
189
  * @returns
190
190
  */
191
191
  static isEntityMetaInstance(instance: any): instance is A_EntityMeta;
192
+ static isConstructorAllowedForScopeAllocation(target: any): target is A_TYPES__ScopeLinkedConstructors;
193
+ static isInstanceAllowedForScopeAllocation(target: any): target is A_TYPES__ScopeLinkedComponents;
192
194
  static isConstructorAvailableForAbstraction(target: any): target is A_TYPES__AbstractionAvailableComponents;
193
195
  static isTargetAvailableForInjection(target: any): target is A_TYPES__InjectableTargets;
194
196
  static isAllowedForFeatureCall(param: any): param is A_TYPES__FeatureAvailableComponents;
@@ -248,9 +248,17 @@ class A_TypeGuards {
248
248
  // ==========================================================================
249
249
  // ========================= SPECIAL Type Guards =============================
250
250
  // ===========================================================================
251
- static isConstructorAvailableForAbstraction(target) {
251
+ static isConstructorAllowedForScopeAllocation(target) {
252
252
  return A_TypeGuards.isContainerConstructor(target)
253
- || A_TypeGuards.isComponentConstructor(target);
253
+ || A_TypeGuards.isFeatureConstructor(target);
254
+ }
255
+ static isInstanceAllowedForScopeAllocation(target) {
256
+ return A_TypeGuards.isContainerInstance(target)
257
+ || A_TypeGuards.isFeatureInstance(target);
258
+ }
259
+ static isConstructorAvailableForAbstraction(target) {
260
+ return A_TypeGuards.isContainerInstance(target)
261
+ || A_TypeGuards.isComponentInstance(target);
254
262
  }
255
263
  static isTargetAvailableForInjection(target) {
256
264
  return A_TypeGuards.isComponentConstructor(target)
@@ -1 +1 @@
1
- {"version":3,"file":"A_TypeGuards.helper.js","sourceRoot":"","sources":["../../../src/helpers/A_TypeGuards.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"A_TypeGuards.helper.js","sourceRoot":"","sources":["../../../src/helpers/A_TypeGuards.helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaas/a-concept",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
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",
@@ -62,10 +62,10 @@ export function A_Abstraction_Extend(
62
62
  const meta: A_ContainerMeta | A_ComponentMeta = A_Context.meta(target);
63
63
 
64
64
  switch (true) {
65
- case A_TypeGuards.isContainerConstructor(target):
65
+ case A_TypeGuards.isContainerConstructor(target) || A_TypeGuards.isContainerInstance(target):
66
66
  metaKey = A_TYPES__ContainerMetaKey.ABSTRACTIONS
67
67
  break;
68
- case A_TypeGuards.isComponentConstructor(target):
68
+ case A_TypeGuards.isComponentConstructor(target) || A_TypeGuards.isComponentInstance(target):
69
69
  metaKey = A_TYPES__ComponentMetaKey.ABSTRACTIONS
70
70
  break;
71
71
  }
@@ -78,10 +78,11 @@ export function A_Abstraction_Extend(
78
78
  // Set the metadata of the method to define a custom Stage with name
79
79
  const existedMetaValue = existedMeta.get(name) || [];
80
80
 
81
+ const setName = `CONCEPT_ABSTRACTION::${name}`;
81
82
 
82
83
  // Add the new method to the metadata
83
84
  existedMetaValue.push({
84
- name,
85
+ name: setName,
85
86
  handler: propertyKey,
86
87
  before: config.before || [],
87
88
  after: config.after || [],
@@ -89,7 +90,7 @@ export function A_Abstraction_Extend(
89
90
  });
90
91
 
91
92
  // Set the metadata of the method to define a custom Feature with name
92
- existedMeta.set(name, existedMetaValue);
93
+ existedMeta.set(setName, existedMetaValue);
93
94
 
94
95
 
95
96
  // Update the metadata of the container with the new Stage definition
@@ -2,6 +2,8 @@ import { A_Abstraction_Extend } from "@adaas/a-concept/global/A-Abstraction/A-Ab
2
2
  import { A_Feature } from "../A-Feature/A-Feature.class";
3
3
  import { A_TYPES__Abstraction_Init } from "./A-Abstraction.types";
4
4
  import { A_Scope } from "../A-Scope/A-Scope.class";
5
+ import { A_Context } from "../A-Context/A-Context.class";
6
+ import { A_TYPES__ConceptAbstractions } from "../A-Concept/A-Concept.constants";
5
7
 
6
8
 
7
9
 
@@ -10,7 +12,7 @@ export class A_Abstraction {
10
12
  /**
11
13
  * The name of the Abstraction e.g. 'deploy', 'start', 'test', etc.
12
14
  */
13
- protected _name: string;
15
+ protected _name: A_TYPES__ConceptAbstractions;
14
16
  /**
15
17
  * List of features that are part of this Abstraction
16
18
  */
@@ -51,7 +53,15 @@ export class A_Abstraction {
51
53
  this._name = params.name;
52
54
 
53
55
  this._features = params.containers.map(container => {
54
- return new A_Feature({ name: this._name, component: container, })
56
+ const template = A_Context.abstractionTemplate(
57
+ this._name,
58
+ container
59
+ );
60
+ return new A_Feature({
61
+ name: this._name,
62
+ component: container,
63
+ template
64
+ })
55
65
  });
56
66
 
57
67
  this._current = this._features[0];
@@ -1,4 +1,5 @@
1
1
  import { A_Component } from "../A-Component/A-Component.class";
2
+ import { A_TYPES__ConceptAbstractions } from "../A-Concept/A-Concept.constants";
2
3
  import { A_Container } from "../A-Container/A-Container.class";
3
4
  import { A_Feature } from "../A-Feature/A-Feature.class";
4
5
  import { A_TYPES__FeatureExtendDecoratorConfig } from "../A-Feature/A-Feature.types";
@@ -21,7 +22,7 @@ export type A_TYPES__Abstraction_Init = {
21
22
  /**
22
23
  * Name of the A-Abstraction
23
24
  */
24
- name: string,
25
+ name: A_TYPES__ConceptAbstractions,
25
26
  /**
26
27
  * Features that compose the A-Abstraction
27
28
  */
@@ -88,7 +88,7 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
88
88
 
89
89
  abstractions
90
90
  // returns all extensions that match the feature
91
- ?.find(abstraction)
91
+ ?.find(`CONCEPT_ABSTRACTION::${abstraction}`)
92
92
  .forEach(([handler, extensions]) => {
93
93
  extensions.forEach(extension => {
94
94
  const args = injections?.get(extension.handler) || [];
@@ -2,4 +2,5 @@ export enum A_TYPES__ContainerMetaKey {
2
2
  FEATURES = 'a-container-features',
3
3
  INJECTIONS = 'a-container-injections',
4
4
  ABSTRACTIONS = 'a-container-abstractions',
5
+ EXTENSIONS = 'a-container-extensions',
5
6
  }
@@ -1,9 +1,10 @@
1
- import { A_TYPES__ContainerMeta, } from "./A-Container.types";
1
+ import { A_TYPES__ContainerMeta, A_TYPES__ContainerMetaExtension, } from "./A-Container.types";
2
2
  import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/global/A-Inject/A-Inject.types";
3
3
  import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A-Concept.types";
4
4
  import { A_Meta } from "../A-Meta/A-Meta.class";
5
5
  import { A_TYPES__ContainerMetaKey } from "./A-Container.constants";
6
6
  import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
7
+ import { A_TYPES__ConceptAbstractions } from "../A-Concept/A-Concept.constants";
7
8
 
8
9
 
9
10
 
@@ -48,14 +49,13 @@ export class A_ContainerMeta extends A_Meta<A_TYPES__ContainerMeta> {
48
49
  * @returns
49
50
  */
50
51
  abstractions(
51
- abstraction: A_TYPES__ConceptAbstraction
52
+ abstraction: A_TYPES__ConceptAbstractions
52
53
  ): A_TYPES__ConceptAbstractionMeta[] {
53
54
  const steps: A_TYPES__ConceptAbstractionMeta[] = [];
54
55
 
55
56
  const abstractions = this.get(A_TYPES__ContainerMetaKey.ABSTRACTIONS);
56
57
  const injections = this.get(A_TYPES__ContainerMetaKey.INJECTIONS);
57
58
 
58
-
59
59
  abstractions
60
60
  // returns all extensions that match the feature
61
61
  ?.find(`CONCEPT_ABSTRACTION::${abstraction}`)
@@ -79,4 +79,39 @@ export class A_ContainerMeta extends A_Meta<A_TYPES__ContainerMeta> {
79
79
  return steps;
80
80
  }
81
81
 
82
+
83
+ /**
84
+ * Allows to get all the extensions for a given feature
85
+ *
86
+ * @param feature
87
+ * @returns
88
+ */
89
+ extensions(
90
+ feature: string
91
+ ): A_TYPES__ContainerMetaExtension[] {
92
+ const steps: A_TYPES__ContainerMetaExtension[] = [];
93
+
94
+ const extensions = this.get(A_TYPES__ContainerMetaKey.EXTENSIONS);
95
+
96
+ extensions
97
+ // returns all extensions that match the feature
98
+ ?.find(feature)
99
+ .forEach(([handler, extensions]) => {
100
+ extensions.forEach(extension => {
101
+ steps.push({
102
+ // component: constructor,
103
+ name: extension.name,
104
+ handler: extension.handler,
105
+ behavior: extension.behavior,
106
+ before: extension.before || [],
107
+ after: extension.after || []
108
+ });
109
+
110
+ });
111
+ });
112
+
113
+
114
+ return steps;
115
+ }
116
+
82
117
  }
@@ -4,7 +4,7 @@ import { A_Meta } from "../A-Meta/A-Meta.class";
4
4
  import { A_TYPES__Scope_Init } from "../A-Scope/A-Scope.types";
5
5
  import { A_TYPES__ContainerMetaKey } from "./A-Container.constants";
6
6
  import { A_Container } from "./A-Container.class";
7
- import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
7
+ import { A_TYPES__FeatureDefineDecoratorMeta, A_TYPES__FeatureExtendDecoratorBehaviorConfig, A_TYPES__FeatureExtendDecoratorMeta } from "../A-Feature/A-Feature.types";
8
8
 
9
9
 
10
10
  // ============================================================================
@@ -43,6 +43,19 @@ export type A_TYPES__Container_Serialized = {
43
43
  * Meta information stored in each Container
44
44
  */
45
45
  export type A_TYPES__ContainerMeta = {
46
+ /**
47
+ * Extensions applied to the component per handler
48
+ */
49
+ [A_TYPES__ContainerMetaKey.EXTENSIONS]: A_Meta<{
50
+ /**
51
+ * Where Key the regexp for what to apply the extension
52
+ * A set of container names or a wildcard, or a regexp
53
+ *
54
+ *
55
+ * Where value is the extension instructions
56
+ */
57
+ [Key: string]: A_TYPES__FeatureExtendDecoratorMeta[]
58
+ }>,
46
59
  [A_TYPES__ContainerMetaKey.FEATURES]: A_Meta<{
47
60
  /**
48
61
  * Where Key is the name of the feature
@@ -69,4 +82,16 @@ export type A_TYPES__ContainerMeta = {
69
82
  */
70
83
  [Key: string]: A_TYPES__A_InjectDecorator_Meta
71
84
  }>
72
- }
85
+ }
86
+
87
+
88
+ export type A_TYPES__ContainerMetaExtension = {
89
+ /**
90
+ * The name of original Extension Definition
91
+ */
92
+ name: string,
93
+ /**
94
+ * The name of the handler that will be used to apply the extension
95
+ */
96
+ handler: string,
97
+ } & A_TYPES__FeatureExtendDecoratorBehaviorConfig