@adaas/a-concept 0.0.30 → 0.0.31
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/base/A-Errors/A-Error.entity.d.ts +3 -0
- package/dist/src/base/A-Errors/A-Error.entity.js +8 -0
- package/dist/src/base/A-Errors/A-Error.entity.js.map +1 -0
- package/dist/src/base/A-Errors/A-Errors.context.js +1 -1
- package/dist/src/base/A-Errors/A-Errors.context.js.map +1 -1
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js +7 -5
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +1 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +8 -0
- package/dist/src/global/A-Component/A-Component.meta.d.ts +8 -0
- package/dist/src/global/A-Component/A-Component.meta.js +11 -3
- package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +10 -7
- package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +9 -1
- package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.js +23 -1
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +9 -2
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +1 -1
- package/dist/src/global/A-Stage/A-Stage.class.js +6 -1
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +0 -5
- package/package.json +1 -1
- package/src/base/A-Errors/A-Error.entity.ts +10 -0
- package/src/base/A-Errors/A-Errors.context.ts +2 -2
- package/src/decorators/A-Feature/A-Feature-Define.decorator.ts +16 -9
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -2
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +10 -0
- package/src/global/A-Component/A-Component.meta.ts +18 -6
- package/src/global/A-Component/A-Component.types.ts +11 -8
- package/src/global/A-Container/A-Container.types.ts +9 -2
- package/src/global/A-Context/A-Context.class.ts +29 -2
- package/src/global/A-Entity/A-Entity.types.ts +10 -2
- package/src/global/A-Stage/A-Stage.class.ts +15 -6
- package/src/global/A-Stage/A-Stage.types.ts +0 -5
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.A_Error = void 0;
|
|
4
|
+
const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
|
|
5
|
+
class A_Error extends A_Entity_class_1.A_Entity {
|
|
6
|
+
}
|
|
7
|
+
exports.A_Error = A_Error;
|
|
8
|
+
//# sourceMappingURL=A-Error.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A-Error.entity.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Error.entity.ts"],"names":[],"mappings":";;;AAAA,oFAA2E;AAI3E,MAAa,OAAQ,SAAQ,yBAAQ;CAKpC;AALD,0BAKC"}
|
|
@@ -8,10 +8,10 @@ class A_Errors extends A_Fragment_class_1.A_Fragment {
|
|
|
8
8
|
constructor(params) {
|
|
9
9
|
super(Object.assign(Object.assign({}, params), { name: params.name || 'a-errors' }));
|
|
10
10
|
this.registeredErrors = new Map();
|
|
11
|
+
this.addRegistry(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS);
|
|
11
12
|
if (params.errors) {
|
|
12
13
|
this.addRegistry(params.errors);
|
|
13
14
|
}
|
|
14
|
-
this.addRegistry(errors_constants_1.A_CONSTANTS__DEFAULT_ERRORS);
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
* This method adds a dictionary of errors to the registry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Errors.context.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Errors.context.ts"],"names":[],"mappings":";;;AAAA,4CAA6I;AAE7I,yFAAiG;AACjG,0FAAiF;AAGjF,MAAa,QAAS,SAAQ,6BAAU;IAIpC,YACI,MAA6C;QAG7C,KAAK,iCACE,MAAM,KACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,IACjC,CAAC;QATG,qBAAgB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAWvF,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;
|
|
1
|
+
{"version":3,"file":"A-Errors.context.js","sourceRoot":"","sources":["../../../../src/base/A-Errors/A-Errors.context.ts"],"names":[],"mappings":";;;AAAA,4CAA6I;AAE7I,yFAAiG;AACjG,0FAAiF;AAGjF,MAAa,QAAS,SAAQ,6BAAU;IAIpC,YACI,MAA6C;QAG7C,KAAK,iCACE,MAAM,KACT,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,UAAU,IACjC,CAAC;QATG,qBAAgB,GAAuD,IAAI,GAAG,EAAE,CAAC;QAWvF,IAAI,CAAC,WAAW,CAAC,8CAA2B,CAAC,CAAC;QAE9C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAGD;;;;OAIG;IACH,WAAW,CACP,QAAgE;QAEhE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,aAAa,CAAC,KAAqB;QAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD;;;;;OAKG;IACH,GAAG,CAAC,IAAuC;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ;YACT,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kCAAwB,CAAC,gBAAgB,CAAE,CAAC;QAErF,OAAO,QAAQ,CAAC;IACpB,CAAC;CAmBJ;AAlFD,4BAkFC"}
|
|
@@ -8,6 +8,7 @@ const A_Context_class_1 = require("../../global/A-Context/A-Context.class");
|
|
|
8
8
|
const A_Entity_types_1 = require("../../global/A-Entity/A-Entity.types");
|
|
9
9
|
const A_Component_types_1 = require("../../global/A-Component/A-Component.types");
|
|
10
10
|
const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
|
|
11
|
+
const A_Meta_class_1 = require("../../global/A-Meta/A-Meta.class");
|
|
11
12
|
/**
|
|
12
13
|
* A-Feature decorator
|
|
13
14
|
*
|
|
@@ -23,7 +24,7 @@ const A_Entity_class_1 = require("../../global/A-Entity/A-Entity.class");
|
|
|
23
24
|
*/
|
|
24
25
|
function A_Feature_Define(config = {}) {
|
|
25
26
|
return function (target, propertyKey, descriptor) {
|
|
26
|
-
const meta = A_Context_class_1.A_Context.meta(target);
|
|
27
|
+
const meta = A_Context_class_1.A_Context.meta(target.constructor);
|
|
27
28
|
let metaKey;
|
|
28
29
|
switch (true) {
|
|
29
30
|
case target instanceof A_Entity_class_1.A_Entity:
|
|
@@ -39,16 +40,17 @@ function A_Feature_Define(config = {}) {
|
|
|
39
40
|
throw new Error(`A-Feature cannot be defined on the ${target} level`);
|
|
40
41
|
}
|
|
41
42
|
// Get the existed metadata or create a new one
|
|
42
|
-
const existedMeta = meta.get(metaKey)
|
|
43
|
-
|| new Map();
|
|
43
|
+
const existedMeta = meta.get(metaKey) || new A_Meta_class_1.A_Meta();
|
|
44
44
|
// Set the metadata of the method to define a custom Feature with name
|
|
45
45
|
existedMeta.set(propertyKey, {
|
|
46
46
|
handler: propertyKey,
|
|
47
|
-
|
|
47
|
+
name: `${target.constructor.name}.${propertyKey || config.name}`,
|
|
48
|
+
template: config.template || [],
|
|
49
|
+
channel: config.channel || []
|
|
48
50
|
});
|
|
49
51
|
// Update the metadata of the container with the new Feature definition
|
|
50
52
|
A_Context_class_1.A_Context
|
|
51
|
-
.meta(target)
|
|
53
|
+
.meta(target.constructor)
|
|
52
54
|
.set(metaKey, existedMeta);
|
|
53
55
|
};
|
|
54
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":";;AA+BA,4CAwDC;AAvFD,6FAAoF;AAMpF,6FAAoF;AACpF,6FAAsI;AACtI,uFAA8E;AAI9E,oFAAyF;AACzF,6FAAkG;AAClG,oFAA2E;AAC3E,8EAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAC5B,SAAqD,EAAE;IAEvD,OAAO,UACH,MAAiD,EACjD,WAAmB,EACnB,UAAiD;QAGjD,MAAM,IAAI,GAAqD,2BAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElG,IAAI,OAAO,CAAC;QAGZ,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM,YAAY,yBAAQ;gBAC3B,OAAO,GAAG,uCAAsB,CAAC,QAAQ,CAAC;gBAC1C,MAAM;YACV,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,QAAQ,CAAA;gBAC5C,MAAM;YACV,KAAK,MAAM,YAAY,+BAAW;gBAC9B,OAAO,GAAG,6CAAyB,CAAC,QAAQ,CAAA;gBAC5C,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAGD,+CAA+C;QAC/C,MAAM,WAAW,GAOZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,qBAAM,EAAE,CAAC;QAGvC,uEAAuE;QACvE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE;YAChE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;YAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;SAChC,CAAC,CAAC;QAEH,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;aACxB,GAAG,CACA,OAAO,EACP,WAAW,CACd,CAAC;IACV,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":";;AA+CA,4CA6DC;AAvGD,6FAAkG;AAClG,uFAA8E;AAC9E,8EAAqE;AAwCrE,SAAgB,gBAAgB,CAC5B,MAA2D;IAE3D,OAAO,UACH,MAAmB,EACnB,WAAmB,EACnB,UAAgD;QAGhD,IAAI,YAAoB,CAAC;QACzB,IAAI,QAAQ,GAAqB,MAAM,CAAC;QACxC,IAAI,MAAM,GAAa,EAAE,CAAC;QAC1B,IAAI,KAAK,GAAa,EAAE,CAAC;QAGzB,kCAAkC;QAClC,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;YAC3B,YAAY,GAAG,MAAM,CAAC;QAC1B,CAAC;aACI,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAChB,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK;gBACtC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK;qBACb,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,GAAG,CAAC,GAAG;gBACjB,CAAC,CAAC,IACF,MAAM,MAAM,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC,CAAC;YAEzC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC;YACjC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;QAClC,CAAC;aACI,CAAC;YACF,YAAY,GAAG,IAAI,MAAM,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC;QACvD,CAAC;QAED,+CAA+C;QAC/C,MAAM,WAAW,GAAG,2BAAS;aACxB,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC;eACvC,IAAI,qBAAM,EAAE,CAAC;QAGpB,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAEpE,qCAAqC;QACrC,gBAAgB,CAAC,IAAI,CAAC;YAClB,IAAI,EAAE,YAAY,CAAC,MAAM;YACzB,OAAO,EAAE,WAAW;YACpB,QAAQ;YACR,MAAM;YACN,KAAK;SACR,CAAC,CAAC;QAEH,sEAAsE;QACtE,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEvD,wEAAwE;QACxE,2BAAS;aACJ,IAAI,CAAC,MAAM,CAAC;aACZ,GAAG,CAAC,6CAAyB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { A_Channel } from "../../global/A-Channel/A-Channel.class";
|
|
1
2
|
import { A_Component } from "../../global/A-Component/A-Component.class";
|
|
2
3
|
import { A_Container } from "../../global/A-Container/A-Container.class";
|
|
3
4
|
import { A_Entity } from "../../global/A-Entity/A-Entity.class";
|
|
5
|
+
import { A_TYPES__A_StageStep } from "../../global/A-Stage/A-Stage.types";
|
|
4
6
|
export type A_TYPES__A_Feature_Extend = {
|
|
5
7
|
(regexp: RegExp): MethodDecorator;
|
|
6
8
|
(config: Partial<A_TYPES__A_ExtendDecoratorConfig>): MethodDecorator;
|
|
@@ -9,7 +11,13 @@ export type A_TYPES__A_Feature_Extend = {
|
|
|
9
11
|
export type A_TYPES__A_FeatureDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
|
|
10
12
|
export type A_TYPES__A_FeatureDecoratorConfig = {
|
|
11
13
|
name: string;
|
|
14
|
+
channel: Array<typeof A_Channel>;
|
|
15
|
+
template: Array<A_TYPES__A_StageStep>;
|
|
12
16
|
};
|
|
17
|
+
export type A_TYPES__A_FeatureTemplateItem = A_TYPES__A_StageStep;
|
|
18
|
+
export type A_TYPES__A_DefineDecorator_Meta = {
|
|
19
|
+
handler: string;
|
|
20
|
+
} & A_TYPES__A_FeatureDecoratorConfig;
|
|
13
21
|
export type A_TYPES__A_ExtendDecoratorDescriptor = TypedPropertyDescriptor<() => any> | TypedPropertyDescriptor<(...args: any[]) => any> | TypedPropertyDescriptor<(...args: any[]) => Promise<any>> | TypedPropertyDescriptor<() => Promise<any>>;
|
|
14
22
|
export type A_TYPES__A_ExtendDecoratorConfig = {
|
|
15
23
|
/**
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
|
|
1
2
|
import { A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
|
|
2
3
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
3
4
|
import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension } from "./A-Component.types";
|
|
4
5
|
export declare class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
6
|
+
/**
|
|
7
|
+
* Allows to get all the injections for a given handler
|
|
8
|
+
*
|
|
9
|
+
* @param handler
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
injections(handler: string): A_TYPES__A_InjectDecorator_Meta;
|
|
5
13
|
/**
|
|
6
14
|
* Allows to get all the extensions for a given feature
|
|
7
15
|
*
|
|
@@ -4,6 +4,17 @@ exports.A_ComponentMeta = void 0;
|
|
|
4
4
|
const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
5
5
|
const A_Component_types_1 = require("./A-Component.types");
|
|
6
6
|
class A_ComponentMeta extends A_Meta_class_1.A_Meta {
|
|
7
|
+
/**
|
|
8
|
+
* Allows to get all the injections for a given handler
|
|
9
|
+
*
|
|
10
|
+
* @param handler
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
injections(handler) {
|
|
14
|
+
const injections = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
15
|
+
const args = (injections === null || injections === void 0 ? void 0 : injections.get(handler)) || [];
|
|
16
|
+
return args;
|
|
17
|
+
}
|
|
7
18
|
/**
|
|
8
19
|
* Allows to get all the extensions for a given feature
|
|
9
20
|
*
|
|
@@ -14,17 +25,14 @@ class A_ComponentMeta extends A_Meta_class_1.A_Meta {
|
|
|
14
25
|
const steps = [];
|
|
15
26
|
const extensions = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.EXTENSIONS);
|
|
16
27
|
const injections = this.get(A_Component_types_1.A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
17
|
-
// const constructor = A_Context.component(this);
|
|
18
28
|
extensions === null || extensions === void 0 ? void 0 : extensions
|
|
19
29
|
// returns all extensions that match the feature
|
|
20
30
|
.find(feature).forEach(([handler, extensions]) => {
|
|
21
31
|
extensions.forEach(extension => {
|
|
22
|
-
const args = (injections === null || injections === void 0 ? void 0 : injections.get(extension.handler)) || [];
|
|
23
32
|
steps.push({
|
|
24
33
|
// component: constructor,
|
|
25
34
|
name: extension.name,
|
|
26
35
|
handler: extension.handler,
|
|
27
|
-
args,
|
|
28
36
|
behavior: extension.behavior,
|
|
29
37
|
before: extension.before || [],
|
|
30
38
|
after: extension.after || []
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"A-Component.meta.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.meta.ts"],"names":[],"mappings":";;;AAEA,yDAAgD;AAChD,2DAAyH;AAGzH,MAAa,eAAgB,SAAQ,qBAA8B;IAI/D;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;QAE5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAID;;;;;OAKG;IACH,UAAU,CACN,OAAe;QAEf,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,UAAU,aAAV,UAAU,uBAAV,UAAU;QACN,gDAAgD;SAC9C,IAAI,CAAC,OAAO,EACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC;oBACP,0BAA0B;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE;oBAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;iBAC/B,CAAC,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;IAGD;;;;;OAKG;IACH,YAAY,CACR,WAAkC;QAElC,MAAM,KAAK,GAAsC,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,YAAY,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,6CAAyB,CAAC,UAAU,CAAC,CAAC;QAElE,iDAAiD;QAGjD,YAAY,aAAZ,YAAY,uBAAZ,YAAY;QACR,gDAAgD;SAC9C,IAAI,CAAC,wBAAwB,WAAW,EAAE,EAC3C,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,MAAM,IAAI,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAI,EAAE,CAAC;gBAEtD,KAAK,CAAC,IAAI,iCACH,SAAS;oBACZ,0BAA0B;oBAC1B,IAAI,IACN,CAAC;YAEP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAGP,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9FD,0CA8FC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
|
|
2
2
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
3
3
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
4
|
-
import { A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
4
|
+
import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
5
5
|
import { A_TYPES__ConceptAbstraction } from "../A-Concept/A_Concept.types";
|
|
6
|
-
export type A_TYPES__ComponentConstructor<_Exports extends Array<String
|
|
6
|
+
export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
|
|
7
7
|
exports: _Exports;
|
|
8
8
|
};
|
|
9
9
|
export type A_TYPES__ComponentCallParams<T extends string> = {
|
|
@@ -24,7 +24,14 @@ export type A_TYPES__ComponentMeta = {
|
|
|
24
24
|
*/
|
|
25
25
|
[Key: string]: A_TYPES__A_ExtendDecorator_Meta[];
|
|
26
26
|
}>;
|
|
27
|
-
[A_TYPES__ComponentMetaKey.FEATURES]:
|
|
27
|
+
[A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
|
|
28
|
+
/**
|
|
29
|
+
* Where Key is the name of the feature
|
|
30
|
+
*
|
|
31
|
+
* Where value is the list of features
|
|
32
|
+
*/
|
|
33
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta;
|
|
34
|
+
}>;
|
|
28
35
|
[A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
|
|
29
36
|
/**
|
|
30
37
|
* Where Key is the name of the injection
|
|
@@ -57,8 +64,4 @@ export type A_TYPES__ComponentMetaExtension = {
|
|
|
57
64
|
* The name of the handler that will be used to apply the extension
|
|
58
65
|
*/
|
|
59
66
|
handler: string;
|
|
60
|
-
/**
|
|
61
|
-
* The arguments that will be passed to the handler
|
|
62
|
-
*/
|
|
63
|
-
args: A_TYPES__A_InjectDecorator_Meta;
|
|
64
67
|
} & A_TYPES__A_ExtendDecorator_BehaviorConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Component.types.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"A-Component.types.js","sourceRoot":"","sources":["../../../../src/global/A-Component/A-Component.types.ts"],"names":[],"mappings":";;;AA6DA,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC"}
|
|
@@ -3,6 +3,7 @@ import { A_TYPES__ConceptAbstraction } from "../A-Concept/A_Concept.types";
|
|
|
3
3
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
4
4
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
5
5
|
import { A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
|
|
6
|
+
import { A_TYPES__A_DefineDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
6
7
|
export type A_TYPES__ContainerConstructor<_Exports extends Array<String>> = {
|
|
7
8
|
name?: string;
|
|
8
9
|
exports: _Exports;
|
|
@@ -15,7 +16,14 @@ export type A_TYPES__ContainerCallParams<T extends string> = {
|
|
|
15
16
|
}>;
|
|
16
17
|
};
|
|
17
18
|
export type A_TYPES__ContainerMeta = {
|
|
18
|
-
[A_TYPES__ContainerMetaKey.FEATURES]:
|
|
19
|
+
[A_TYPES__ContainerMetaKey.FEATURES]: A_Meta<{
|
|
20
|
+
/**
|
|
21
|
+
* Where Key is the name of the feature
|
|
22
|
+
*
|
|
23
|
+
* Where value is the list of features
|
|
24
|
+
*/
|
|
25
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta;
|
|
26
|
+
}>;
|
|
19
27
|
[A_TYPES__ContainerMetaKey.ABSTRACTIONS]: A_Meta<{
|
|
20
28
|
/**
|
|
21
29
|
* Where Key the regexp for what to apply the extension
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Container.types.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"A-Container.types.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.types.ts"],"names":[],"mappings":";;;AAqDA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,8DAAiC,CAAA;IACjC,kEAAqC,CAAA;IACrC,sEAAyC,CAAA;AAC7C,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC"}
|
|
@@ -11,8 +11,11 @@ const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
|
11
11
|
const A_Component_meta_1 = require("../A-Component/A-Component.meta");
|
|
12
12
|
const A_Container_meta_1 = require("../A-Container/A-Container.meta");
|
|
13
13
|
const A_Concept_class_1 = require("../A-Concept/A_Concept.class");
|
|
14
|
+
const A_Entity_types_1 = require("../A-Entity/A-Entity.types");
|
|
14
15
|
const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
|
|
15
16
|
const A_Entity_meta_1 = require("../A-Entity/A-Entity.meta");
|
|
17
|
+
const A_Container_types_1 = require("../A-Container/A-Container.types");
|
|
18
|
+
const A_Component_types_1 = require("../A-Component/A-Component.types");
|
|
16
19
|
/**
|
|
17
20
|
* Namespace Provider is responsible for providing the Namespace to the Containers and other Namespaces.
|
|
18
21
|
* This class stores all Namespaces across the Program.
|
|
@@ -214,7 +217,26 @@ class A_Context {
|
|
|
214
217
|
* While Scope we use just to store the scope where the component registered.
|
|
215
218
|
*
|
|
216
219
|
*/
|
|
217
|
-
|
|
220
|
+
let metaKey;
|
|
221
|
+
switch (true) {
|
|
222
|
+
case component instanceof A_Entity_class_1.A_Entity:
|
|
223
|
+
metaKey = A_Entity_types_1.A_TYPES__EntityMetaKey.FEATURES;
|
|
224
|
+
break;
|
|
225
|
+
case component instanceof A_Container_class_1.A_Container:
|
|
226
|
+
metaKey = A_Container_types_1.A_TYPES__ContainerMetaKey.FEATURES;
|
|
227
|
+
break;
|
|
228
|
+
case component instanceof A_Component_class_1.A_Component:
|
|
229
|
+
metaKey = A_Component_types_1.A_TYPES__ComponentMetaKey.FEATURES;
|
|
230
|
+
break;
|
|
231
|
+
default:
|
|
232
|
+
throw new Error(`A-Feature cannot be defined on the ${component} level`);
|
|
233
|
+
}
|
|
234
|
+
const featureDefinition = this.meta(component).get(metaKey);
|
|
235
|
+
if (!featureDefinition)
|
|
236
|
+
throw new Error(`[!] A-Concept Context: Feature not found.`);
|
|
237
|
+
const steps = [
|
|
238
|
+
...featureDefinition.template
|
|
239
|
+
];
|
|
218
240
|
// const feature: string = new ASEID({
|
|
219
241
|
// id: `${param2}-${Math.random()}`,
|
|
220
242
|
// entity: 'a-feature',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":";;;AAAA,4CAAuF;AACvF,wEAA+D;AAC/D,qEAA4D;AAC5D,kEAAyD;AACzD,wEAA+D;AAC/D,4DAAmD;AAEnD,yDAAgD;AAChD,sEAAkE;AAClE,sEAAkE;AAClE,kEAAyD;
|
|
1
|
+
{"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ASEID } from "@adaas/a-utils";
|
|
2
2
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
3
3
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
4
|
-
import { A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
4
|
+
import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
5
5
|
import { A_Entity } from "./A-Entity.class";
|
|
6
6
|
export type A_TYPES__EntityCallParams<T extends string> = {
|
|
7
7
|
name: T;
|
|
@@ -45,7 +45,14 @@ export type A_TYPES__EntityMeta = {
|
|
|
45
45
|
[Key: string]: A_TYPES__A_ExtendDecorator_Meta[];
|
|
46
46
|
}>;
|
|
47
47
|
case: any;
|
|
48
|
-
[A_TYPES__EntityMetaKey.FEATURES]:
|
|
48
|
+
[A_TYPES__EntityMetaKey.FEATURES]: A_Meta<{
|
|
49
|
+
/**
|
|
50
|
+
* Where Key is the name of the feature
|
|
51
|
+
*
|
|
52
|
+
* Where value is the list of features
|
|
53
|
+
*/
|
|
54
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta;
|
|
55
|
+
}>;
|
|
49
56
|
};
|
|
50
57
|
export declare enum A_TYPES__EntityMetaKey {
|
|
51
58
|
EXTENSIONS = "a-component-extensions",
|
|
@@ -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":";;;AAsBA,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,0CAAa,CAAA;IACb,gDAAmB,CAAA;IACnB,0CAAa,CAAA;AACjB,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC;AAOA,CAAC;AAuCF,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAC9B,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;AACrC,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
|
|
@@ -26,7 +26,7 @@ export declare class A_Stage {
|
|
|
26
26
|
* @param step
|
|
27
27
|
* @returns
|
|
28
28
|
*/
|
|
29
|
-
protected getStepArgs(step: A_TYPES__A_StageStep): Promise<Promise<import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-
|
|
29
|
+
protected getStepArgs(step: A_TYPES__A_StageStep): Promise<Promise<import("../A-Fragment/A-Fragment.class").A_Fragment | import("../A-Component/A-Component.class").A_Component<any> | import("../A-Scope/A-Scope.class").A_Scope | A_Container<any> | import("../A-Entity/A-Entity.class").A_Entity<any, any, any> | A_Feature | this>[]>;
|
|
30
30
|
/**
|
|
31
31
|
* Adds a step to the stage
|
|
32
32
|
*
|
|
@@ -48,7 +48,12 @@ class A_Stage {
|
|
|
48
48
|
*/
|
|
49
49
|
getStepArgs(step) {
|
|
50
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
|
|
51
|
+
const target = step.component instanceof A_Container_class_1.A_Container ?
|
|
52
|
+
step.component.constructor : step.component;
|
|
53
|
+
return A_Context_class_1.A_Context
|
|
54
|
+
.meta(target)
|
|
55
|
+
.injections(step.handler)
|
|
56
|
+
.map((arg) => __awaiter(this, void 0, void 0, function* () {
|
|
52
57
|
// In case if the target is a feature step then pass the current feature
|
|
53
58
|
return a_utils_1.A_CommonHelper.isInheritedFrom(arg.target, A_Feature_class_1.A_Feature)
|
|
54
59
|
? this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"A-Stage.class.js","sourceRoot":"","sources":["../../../../src/global/A-Stage/A-Stage.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyD;AACzD,kEAAyD;AACzD,kEAAyD;AACzD,mDAAuG;AACvG,wEAA+D;AAI/D;;;;;;GAMG;AACH,MAAa,OAAO;IAIhB,YACY,OAAkB,EAClB,QAAgC,EAAE;QADlC,YAAO,GAAP,OAAO,CAAW;QAClB,UAAK,GAAL,KAAK,CAA6B;QAK9C,WAAM,GAA4B,uCAAuB,CAAC,WAAW,CAAC;IAFtE,CAAC;IASD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,GAAG,IAAI,CAAC,MAAM;SACjB,CAAC,EAAE,EAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG;YACN,GAAG,IAAI,CAAC,KAAK;SAChB,CAAC,EAAE,EAAc,CAAC,CAAC;IACxB,CAAC;IAGD;;;;;OAKG;IACa,WAAW,CAAC,IAA0B;;
|
|
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,4 +1,3 @@
|
|
|
1
|
-
import { A_TYPES__A_InjectDecorator_Meta } from "../../decorators/A-Inject/A-Inject.decorator.types";
|
|
2
1
|
import { A_Component } from "../A-Component/A-Component.class";
|
|
3
2
|
import { A_Container } from "../A-Container/A-Container.class";
|
|
4
3
|
import { A_TYPES__A_ExtendDecorator_BehaviorConfig } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
@@ -65,10 +64,6 @@ export type A_TYPES__A_StageStep = {
|
|
|
65
64
|
*
|
|
66
65
|
*/
|
|
67
66
|
name: string;
|
|
68
|
-
/**
|
|
69
|
-
* Arguments to be passed to the method
|
|
70
|
-
*/
|
|
71
|
-
args: A_TYPES__A_InjectDecorator_Meta;
|
|
72
67
|
} & A_TYPES__A_ExtendDecorator_BehaviorConfig;
|
|
73
68
|
export type A_TYPES__A_Stage_JSON = {
|
|
74
69
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaas/a-concept",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.31",
|
|
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",
|
|
@@ -17,11 +17,11 @@ export class A_Errors extends A_Fragment {
|
|
|
17
17
|
name: params.name || 'a-errors'
|
|
18
18
|
});
|
|
19
19
|
|
|
20
|
+
this.addRegistry(A_CONSTANTS__DEFAULT_ERRORS);
|
|
21
|
+
|
|
20
22
|
if (params.errors) {
|
|
21
23
|
this.addRegistry(params.errors);
|
|
22
24
|
}
|
|
23
|
-
|
|
24
|
-
this.addRegistry(A_CONSTANTS__DEFAULT_ERRORS);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
2
2
|
import {
|
|
3
|
+
A_TYPES__A_DefineDecorator_Meta,
|
|
3
4
|
A_TYPES__A_FeatureDecoratorConfig,
|
|
4
5
|
A_TYPES__A_FeatureDecoratorDescriptor,
|
|
5
6
|
} from "./A-Feature.decorator.types";
|
|
6
7
|
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
7
|
-
import { A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.types";
|
|
8
|
+
import { A_TYPES__ContainerMeta_FeatureItem, A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.types";
|
|
8
9
|
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
9
10
|
import { A_EntityMeta } from "@adaas/a-concept/global/A-Entity/A-Entity.meta";
|
|
10
11
|
import { A_ContainerMeta } from "@adaas/a-concept/global/A-Container/A-Container.meta";
|
|
@@ -12,6 +13,7 @@ import { A_ComponentMeta } from "@adaas/a-concept/global/A-Component/A-Component
|
|
|
12
13
|
import { A_TYPES__EntityMetaKey } from "@adaas/a-concept/global/A-Entity/A-Entity.types";
|
|
13
14
|
import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
|
|
14
15
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
16
|
+
import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
/**
|
|
@@ -36,7 +38,7 @@ export function A_Feature_Define(
|
|
|
36
38
|
descriptor: A_TYPES__A_FeatureDecoratorDescriptor
|
|
37
39
|
) {
|
|
38
40
|
|
|
39
|
-
const meta: A_EntityMeta | A_ContainerMeta | A_ComponentMeta = A_Context.meta(target
|
|
41
|
+
const meta: A_EntityMeta | A_ContainerMeta | A_ComponentMeta = A_Context.meta(target.constructor);
|
|
40
42
|
|
|
41
43
|
let metaKey;
|
|
42
44
|
|
|
@@ -57,22 +59,27 @@ export function A_Feature_Define(
|
|
|
57
59
|
|
|
58
60
|
|
|
59
61
|
// Get the existed metadata or create a new one
|
|
60
|
-
const existedMeta
|
|
61
|
-
|
|
62
|
+
const existedMeta: A_Meta<{
|
|
63
|
+
/**
|
|
64
|
+
* Where Key is the name of the feature
|
|
65
|
+
*
|
|
66
|
+
* Where value is the list of features
|
|
67
|
+
*/
|
|
68
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta
|
|
69
|
+
}> = meta.get(metaKey) || new A_Meta();
|
|
62
70
|
|
|
63
71
|
|
|
64
72
|
// Set the metadata of the method to define a custom Feature with name
|
|
65
73
|
existedMeta.set(propertyKey, {
|
|
66
74
|
handler: propertyKey,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
75
|
+
name: `${target.constructor.name}.${propertyKey || config.name}`,
|
|
76
|
+
template: config.template || [],
|
|
77
|
+
channel: config.channel || []
|
|
71
78
|
});
|
|
72
79
|
|
|
73
80
|
// Update the metadata of the container with the new Feature definition
|
|
74
81
|
A_Context
|
|
75
|
-
.meta(target
|
|
82
|
+
.meta(target.constructor)
|
|
76
83
|
.set(
|
|
77
84
|
metaKey,
|
|
78
85
|
existedMeta
|
|
@@ -5,8 +5,6 @@ import {
|
|
|
5
5
|
} from "./A-Feature.decorator.types";
|
|
6
6
|
import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
|
|
7
7
|
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
8
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
9
|
-
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
10
8
|
import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
|
|
11
9
|
|
|
12
10
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { A_Channel } from "@adaas/a-concept/global/A-Channel/A-Channel.class";
|
|
1
2
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class"
|
|
2
3
|
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class"
|
|
3
4
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class"
|
|
5
|
+
import { A_TYPES__A_StageStep } from "@adaas/a-concept/global/A-Stage/A-Stage.types";
|
|
4
6
|
|
|
5
7
|
|
|
6
8
|
export type A_TYPES__A_Feature_Extend = {
|
|
@@ -26,8 +28,16 @@ export type A_TYPES__A_FeatureDecoratorDescriptor =
|
|
|
26
28
|
|
|
27
29
|
export type A_TYPES__A_FeatureDecoratorConfig = {
|
|
28
30
|
name: string,
|
|
31
|
+
channel: Array<typeof A_Channel>
|
|
32
|
+
template: Array<A_TYPES__A_StageStep>
|
|
29
33
|
}
|
|
30
34
|
|
|
35
|
+
export type A_TYPES__A_FeatureTemplateItem = A_TYPES__A_StageStep
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
export type A_TYPES__A_DefineDecorator_Meta = {
|
|
39
|
+
handler: string
|
|
40
|
+
} & A_TYPES__A_FeatureDecoratorConfig
|
|
31
41
|
|
|
32
42
|
|
|
33
43
|
export type A_TYPES__A_ExtendDecoratorDescriptor =
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types";
|
|
1
2
|
import { A_TYPES__ConceptAbstractionMeta, A_TYPES__ConceptStage } from "../A-Concept/A_Concept.types";
|
|
2
3
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
3
4
|
import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension, A_TYPES__ComponentMetaKey } from "./A-Component.types";
|
|
@@ -7,6 +8,23 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Allows to get all the injections for a given handler
|
|
13
|
+
*
|
|
14
|
+
* @param handler
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
injections(
|
|
18
|
+
handler: string
|
|
19
|
+
): A_TYPES__A_InjectDecorator_Meta {
|
|
20
|
+
const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
21
|
+
|
|
22
|
+
const args = injections?.get(handler) || [];
|
|
23
|
+
|
|
24
|
+
return args;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
10
28
|
|
|
11
29
|
/**
|
|
12
30
|
* Allows to get all the extensions for a given feature
|
|
@@ -22,21 +40,15 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
22
40
|
const extensions = this.get(A_TYPES__ComponentMetaKey.EXTENSIONS);
|
|
23
41
|
const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
24
42
|
|
|
25
|
-
// const constructor = A_Context.component(this);
|
|
26
|
-
|
|
27
|
-
|
|
28
43
|
extensions
|
|
29
44
|
// returns all extensions that match the feature
|
|
30
45
|
?.find(feature)
|
|
31
46
|
.forEach(([handler, extensions]) => {
|
|
32
47
|
extensions.forEach(extension => {
|
|
33
|
-
const args = injections?.get(extension.handler) || [];
|
|
34
|
-
|
|
35
48
|
steps.push({
|
|
36
49
|
// component: constructor,
|
|
37
50
|
name: extension.name,
|
|
38
51
|
handler: extension.handler,
|
|
39
|
-
args,
|
|
40
52
|
behavior: extension.behavior,
|
|
41
53
|
before: extension.before || [],
|
|
42
54
|
after: extension.after || []
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator.types"
|
|
2
2
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class"
|
|
3
3
|
import { A_Meta } from "../A-Meta/A-Meta.class"
|
|
4
|
-
import { A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types"
|
|
4
|
+
import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types"
|
|
5
5
|
import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A_Concept.types"
|
|
6
|
+
import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types"
|
|
6
7
|
|
|
7
|
-
export type A_TYPES__ComponentConstructor<_Exports extends Array<String
|
|
8
|
+
export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
|
|
8
9
|
exports: _Exports,
|
|
9
10
|
}
|
|
10
11
|
|
|
@@ -29,7 +30,14 @@ export type A_TYPES__ComponentMeta = {
|
|
|
29
30
|
}>,
|
|
30
31
|
|
|
31
32
|
|
|
32
|
-
[A_TYPES__ComponentMetaKey.FEATURES]:
|
|
33
|
+
[A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
|
|
34
|
+
/**
|
|
35
|
+
* Where Key is the name of the feature
|
|
36
|
+
*
|
|
37
|
+
* Where value is the list of features
|
|
38
|
+
*/
|
|
39
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta
|
|
40
|
+
}>
|
|
33
41
|
|
|
34
42
|
|
|
35
43
|
[A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
|
|
@@ -67,11 +75,6 @@ export type A_TYPES__ComponentMetaExtension = {
|
|
|
67
75
|
* The name of the handler that will be used to apply the extension
|
|
68
76
|
*/
|
|
69
77
|
handler: string,
|
|
70
|
-
/**
|
|
71
|
-
* The arguments that will be passed to the handler
|
|
72
|
-
*/
|
|
73
|
-
args: A_TYPES__A_InjectDecorator_Meta
|
|
74
|
-
|
|
75
78
|
} & A_TYPES__A_ExtendDecorator_BehaviorConfig
|
|
76
79
|
|
|
77
80
|
|
|
@@ -3,7 +3,7 @@ import { A_TYPES__ConceptAbstraction, A_TYPES__ConceptAbstractionMeta, A_TYPES__
|
|
|
3
3
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
4
4
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
5
5
|
import { A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types";
|
|
6
|
-
import { A_TYPES__A_ExtendDecorator_BehaviorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
6
|
+
import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_BehaviorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
@@ -20,7 +20,14 @@ export type A_TYPES__ContainerCallParams<T extends string> = {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export type A_TYPES__ContainerMeta = {
|
|
23
|
-
[A_TYPES__ContainerMetaKey.FEATURES]:
|
|
23
|
+
[A_TYPES__ContainerMetaKey.FEATURES]: A_Meta<{
|
|
24
|
+
/**
|
|
25
|
+
* Where Key is the name of the feature
|
|
26
|
+
*
|
|
27
|
+
* Where value is the list of features
|
|
28
|
+
*/
|
|
29
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta
|
|
30
|
+
}>
|
|
24
31
|
[A_TYPES__ContainerMetaKey.ABSTRACTIONS]: A_Meta<{
|
|
25
32
|
|
|
26
33
|
/**
|
|
@@ -9,11 +9,14 @@ import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
|
9
9
|
import { A_ComponentMeta } from "../A-Component/A-Component.meta";
|
|
10
10
|
import { A_ContainerMeta } from "../A-Container/A-Container.meta";
|
|
11
11
|
import { A_Concept } from "../A-Concept/A_Concept.class";
|
|
12
|
-
import { A_TYPES__EntityBaseMethod } from "../A-Entity/A-Entity.types";
|
|
12
|
+
import { A_TYPES__EntityBaseMethod, A_TYPES__EntityMetaKey } from "../A-Entity/A-Entity.types";
|
|
13
13
|
import { A_Entity } from "../A-Entity/A-Entity.class";
|
|
14
14
|
import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
|
|
15
15
|
import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
|
|
16
16
|
import { A_TYPES__A_StageStep } from "../A-Stage/A-Stage.types";
|
|
17
|
+
import { A_TYPES__A_FeatureDecoratorConfig } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
18
|
+
import { A_TYPES__ContainerMetaKey } from "../A-Container/A-Container.types";
|
|
19
|
+
import { A_TYPES__ComponentMetaKey } from "../A-Component/A-Component.types";
|
|
17
20
|
|
|
18
21
|
|
|
19
22
|
/**
|
|
@@ -404,7 +407,31 @@ export class A_Context {
|
|
|
404
407
|
* While Scope we use just to store the scope where the component registered.
|
|
405
408
|
*
|
|
406
409
|
*/
|
|
407
|
-
|
|
410
|
+
let metaKey;
|
|
411
|
+
|
|
412
|
+
switch (true) {
|
|
413
|
+
case component instanceof A_Entity:
|
|
414
|
+
metaKey = A_TYPES__EntityMetaKey.FEATURES;
|
|
415
|
+
break;
|
|
416
|
+
case component instanceof A_Container:
|
|
417
|
+
metaKey = A_TYPES__ContainerMetaKey.FEATURES
|
|
418
|
+
break;
|
|
419
|
+
case component instanceof A_Component:
|
|
420
|
+
metaKey = A_TYPES__ComponentMetaKey.FEATURES
|
|
421
|
+
break;
|
|
422
|
+
default:
|
|
423
|
+
throw new Error(`A-Feature cannot be defined on the ${component} level`);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
const featureDefinition: A_TYPES__A_FeatureDecoratorConfig = this.meta(component).get(metaKey);
|
|
427
|
+
|
|
428
|
+
if (!featureDefinition)
|
|
429
|
+
throw new Error(`[!] A-Concept Context: Feature not found.`);
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
const steps: A_TYPES__A_StageStep[] = [
|
|
433
|
+
...featureDefinition.template
|
|
434
|
+
];
|
|
408
435
|
// const feature: string = new ASEID({
|
|
409
436
|
// id: `${param2}-${Math.random()}`,
|
|
410
437
|
// entity: 'a-feature',
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ASEID } from "@adaas/a-utils";
|
|
2
2
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
3
3
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class";
|
|
4
|
-
import { A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
4
|
+
import { A_TYPES__A_DefineDecorator_Meta, A_TYPES__A_ExtendDecorator_Meta } from "@adaas/a-concept/decorators/A-Feature/A-Feature.decorator.types";
|
|
5
5
|
import { A_Entity } from "./A-Entity.class";
|
|
6
|
+
import { A_TYPES__ContainerMeta_FeatureItem } from "../A-Container/A-Container.types";
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
export type A_TYPES__EntityCallParams<T extends string> = {
|
|
@@ -59,7 +60,14 @@ export type A_TYPES__EntityMeta = {
|
|
|
59
60
|
}>, case
|
|
60
61
|
|
|
61
62
|
|
|
62
|
-
[A_TYPES__EntityMetaKey.FEATURES]:
|
|
63
|
+
[A_TYPES__EntityMetaKey.FEATURES]: A_Meta<{
|
|
64
|
+
/**
|
|
65
|
+
* Where Key is the name of the feature
|
|
66
|
+
*
|
|
67
|
+
* Where value is the list of features
|
|
68
|
+
*/
|
|
69
|
+
[Key: string]: A_TYPES__A_DefineDecorator_Meta
|
|
70
|
+
}>
|
|
63
71
|
}
|
|
64
72
|
|
|
65
73
|
export enum A_TYPES__EntityMetaKey {
|
|
@@ -53,12 +53,21 @@ export class A_Stage {
|
|
|
53
53
|
* @returns
|
|
54
54
|
*/
|
|
55
55
|
protected async getStepArgs(step: A_TYPES__A_StageStep) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
|
|
57
|
+
const target = step.component instanceof A_Container ?
|
|
58
|
+
step.component.constructor : step.component;
|
|
59
|
+
|
|
60
|
+
return A_Context
|
|
61
|
+
.meta(target)
|
|
62
|
+
.injections(
|
|
63
|
+
step.handler
|
|
64
|
+
)
|
|
65
|
+
.map(async arg =>
|
|
66
|
+
// In case if the target is a feature step then pass the current feature
|
|
67
|
+
A_CommonHelper.isInheritedFrom(arg.target, A_Feature)
|
|
68
|
+
? this
|
|
69
|
+
: A_Context.scope(this.feature).resolve(arg.target)
|
|
70
|
+
);
|
|
62
71
|
}
|
|
63
72
|
|
|
64
73
|
|