@adaas/a-concept 0.0.11 → 0.0.12

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.
@@ -1,6 +1,7 @@
1
1
  import { A_TYPES__ContainerCallParams, A_TYPES__ContainerConstructor } from "./A-Container.types";
2
2
  import { A_TYPES__Required } from "@adaas/a-utils";
3
3
  import { A_Scope } from "../A-Scope/A-Scope.class";
4
+ import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
4
5
  /**
5
6
  * This class should combine Components to achieve the goal withing Concept
6
7
  *
@@ -58,6 +59,30 @@ export declare class A_Container<_FeatureNames extends Array<string>> {
58
59
  * Parameters to provide additional data to the feature
59
60
  */
60
61
  params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>): Promise<any>;
62
+ /**
63
+ * This method allows to get a feature Definition for the future reuse with custom Feature classes
64
+ *
65
+ * @param feature
66
+ */
67
+ feature(
68
+ /**
69
+ * A-Feature method name to be called
70
+ */
71
+ feature: _FeatureNames[number]): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
72
+ feature(
73
+ /**
74
+ * A-Feature name to be called
75
+ */
76
+ params: A_TYPES__Required<Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>, ['name']>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
77
+ feature(
78
+ /**
79
+ * A-Feature method name to be called
80
+ */
81
+ feature: _FeatureNames[number],
82
+ /**
83
+ * Parameters to provide additional data to the feature
84
+ */
85
+ params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
61
86
  /**
62
87
  * Before init hook to be used in inherited classes
63
88
  *
@@ -84,6 +84,15 @@ class A_Container {
84
84
  return yield newFeature.process();
85
85
  });
86
86
  }
87
+ feature(param1, param2) {
88
+ const feature = typeof param1 === 'string'
89
+ ? param1
90
+ : param1.name;
91
+ const params = typeof param1 === 'string'
92
+ ? param2 || {}
93
+ : param1;
94
+ return A_Context_class_1.A_Context.featureDefinition(this, feature, params);
95
+ }
87
96
  // ==============================================================
88
97
  // ======================= HOOKS ================================
89
98
  // ==============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,kEAAyD;AAKzD;;;;;;;;;;GAUG;AACH,MAAa,WAAW;IAYpB,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAS,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,IAAI,KAAK;QACL,OAAO,2BAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAGD;IACI;;OAEG;IACH,MAA6D;QAE7D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;QAEzC,2BAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEjC;;WAEG;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;IAChB,CAAC;IAGS,YAAY,CAAC,EAA2B;QAC9C,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE;YAC1B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAA;IACd,CAAC;IAGD;;OAEG;IACW,IAAI;;YACd,IAAI,CAAC,IAAI,CAAC,KAAK;gBACX,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC/C,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;wBAE1B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;wBAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;wBAGzB,OAAO,OAAO,EAAE,CAAC;oBACrB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;gBACL,CAAC,CAAA,CAAC,CAAC;;gBAEH,MAAM,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;KAAA;IAoCK,IAAI,CACN,MAAyH,EACzH,MAAqE;;YAGrE,MAAM,OAAO,GAAW,OAAO,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAClB,MAAM,MAAM,GAAiE,OAAO,MAAM,KAAK,QAAQ;gBACnG,CAAC,CAAC,MAAM,IAAI,EAAE;gBACd,CAAC,CAAC,MAAM,CAAC;YAEb,MAAM,UAAU,GAAG,2BAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAE5D,OAAO,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;QACtC,CAAC;KAAA;IAID,iEAAiE;IACjE,iEAAiE;IACjE,iEAAiE;IAEjE;;;;OAIG;IACa,YAAY;;YACxB,OAAO;QACX,CAAC;KAAA;IAED;;OAEG;IACa,MAAM;;YAClB,OAAO;QACX,CAAC;KAAA;IAED;;;;OAIG;IACa,WAAW;;YACvB,OAAO;QACX,CAAC;KAAA;CAEJ;AA7JD,kCA6JC"}
1
+ {"version":3,"file":"A-Container.class.js","sourceRoot":"","sources":["../../../../src/global/A-Container/A-Container.class.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { A_TYPES__Required } from "@adaas/a-utils";
1
2
  import { A_Component } from "../A-Component/A-Component.class";
2
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
3
4
  import { A_Feature } from "../A-Feature/A-Feature.class";
@@ -11,6 +12,7 @@ import { A_Concept } from "../A-Concept/A_Concept.class";
11
12
  import { A_TYPES__EntityBaseMethod } from "../A-Entity/A-Entity.types";
12
13
  import { A_Entity } from "../A-Entity/A-Entity.class";
13
14
  import { A_EntityMeta } from "../A-Entity/A-Entity.meta";
15
+ import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
14
16
  /**
15
17
  * Namespace Provider is responsible for providing the Namespace to the Containers and other Namespaces.
16
18
  * This class stores all Namespaces across the Program.
@@ -82,6 +84,15 @@ export declare class A_Context {
82
84
  * @returns
83
85
  */
84
86
  static component(meta: A_ComponentMeta): typeof A_Component;
87
+ /**
88
+ * This method returns a constructor params to create a new feature
89
+ *
90
+ * @param scope
91
+ * @returns
92
+ */
93
+ static featureDefinition<T extends Array<string>>(entity: A_Entity<any, any, T>, feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
94
+ static featureDefinition<T extends Array<string>>(container: A_Container<T>, feature: T[number], params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
95
+ static featureDefinition(component: A_Component, feature: string, params?: Partial<A_TYPES__ScopeConstructor>): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>;
85
96
  /**
86
97
  * This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.
87
98
  *
@@ -180,6 +180,44 @@ class A_Context {
180
180
  }
181
181
  return component;
182
182
  }
183
+ static featureDefinition(param1, param2, param3) {
184
+ const instance = this.getInstance();
185
+ const component = param1;
186
+ const feature = `${component.constructor.name}.${param2}`;
187
+ const config = param3 || {};
188
+ // TODO: have no idea why it's not working because of that "any"
189
+ const scope = this.scope(component);
190
+ const steps = [];
191
+ // Now we need to resolve the method from all registered components
192
+ // We need to get all components that has extensions for the feature in component
193
+ instance.componentsMeta
194
+ .forEach((meta, constructor) => {
195
+ try {
196
+ // Just try to make sure that component not only Indexed but also presented in scope
197
+ scope.resolve(constructor);
198
+ // Get all extensions for the feature
199
+ meta
200
+ .extensions(feature)
201
+ .forEach(({ handler, args }) => {
202
+ steps.push({
203
+ component: constructor,
204
+ handler,
205
+ args
206
+ });
207
+ });
208
+ }
209
+ catch (error) {
210
+ // do nothing
211
+ }
212
+ });
213
+ return {
214
+ name: `${component.constructor.name}.${feature}`,
215
+ fragments: config.fragments || [],
216
+ components: config.components || [],
217
+ steps,
218
+ parent: component instanceof A_Container_class_1.A_Container ? this.scope(component) : undefined
219
+ };
220
+ }
183
221
  static feature(param1, param2, param3) {
184
222
  const instance = this.getInstance();
185
223
  const component = param1;
@@ -1 +1 @@
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
+ {"version":3,"file":"A-Context.class.js","sourceRoot":"","sources":["../../../../src/global/A-Context/A-Context.class.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.0.11",
3
+ "version": "0.0.12",
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",
@@ -3,6 +3,7 @@ import { A_TYPES__Required } from "@adaas/a-utils";
3
3
  import { A_Feature } from "../A-Feature/A-Feature.class";
4
4
  import { A_Context } from "../A-Context/A-Context.class";
5
5
  import { A_Scope } from "../A-Scope/A-Scope.class";
6
+ import { A_TYPES__FeatureConstructor } from "../A-Feature/A-Feature.types";
6
7
 
7
8
 
8
9
 
@@ -145,6 +146,53 @@ export class A_Container<
145
146
 
146
147
 
147
148
 
149
+
150
+ /**
151
+ * This method allows to get a feature Definition for the future reuse with custom Feature classes
152
+ *
153
+ * @param feature
154
+ */
155
+ feature(
156
+ /**
157
+ * A-Feature method name to be called
158
+ */
159
+ feature: _FeatureNames[number],
160
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
161
+ feature(
162
+ /**
163
+ * A-Feature name to be called
164
+ */
165
+ params: A_TYPES__Required<Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>, ['name']>,
166
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
167
+
168
+ feature(
169
+ /**
170
+ * A-Feature method name to be called
171
+ */
172
+ feature: _FeatureNames[number],
173
+ /**
174
+ * Parameters to provide additional data to the feature
175
+ */
176
+ params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>,
177
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
178
+
179
+ feature(
180
+ param1: _FeatureNames[number] | A_TYPES__Required<Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>, ['name']>,
181
+ param2?: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>>
182
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']> {
183
+
184
+ const feature: string = typeof param1 === 'string'
185
+ ? param1
186
+ : param1.name;
187
+ const params: Partial<A_TYPES__ContainerCallParams<_FeatureNames[number]>> = typeof param1 === 'string'
188
+ ? param2 || {}
189
+ : param1;
190
+
191
+ return A_Context.featureDefinition(this, feature, params);
192
+ }
193
+
194
+
195
+
148
196
  // ==============================================================
149
197
  // ======================= HOOKS ================================
150
198
  // ==============================================================
@@ -1,4 +1,4 @@
1
- import { A_CommonHelper, A_Polyfills } from "@adaas/a-utils";
1
+ import { A_CommonHelper, A_Polyfills, A_TYPES__Required } from "@adaas/a-utils";
2
2
  import { A_Component } from "../A-Component/A-Component.class";
3
3
  import { A_Fragment } from "../A-Fragment/A-Fragment.class";
4
4
  import { A_Feature } from "../A-Feature/A-Feature.class";
@@ -12,7 +12,7 @@ import { A_Concept } from "../A-Concept/A_Concept.class";
12
12
  import { A_TYPES__EntityBaseMethod } 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
- import { A_TYPES__FeatureStep } from "../A-Feature/A-Feature.types";
15
+ import { A_TYPES__FeatureConstructor, A_TYPES__FeatureStep } from "../A-Feature/A-Feature.types";
16
16
 
17
17
 
18
18
  /**
@@ -339,6 +339,79 @@ export class A_Context {
339
339
  }
340
340
 
341
341
 
342
+ /**
343
+ * This method returns a constructor params to create a new feature
344
+ *
345
+ * @param scope
346
+ * @returns
347
+ */
348
+ static featureDefinition<T extends Array<string>>(
349
+ entity: A_Entity<any, any, T>,
350
+ feature: A_TYPES__EntityBaseMethod | string | T[number] | RegExp,
351
+ params?: Partial<A_TYPES__ScopeConstructor>
352
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
353
+ static featureDefinition<T extends Array<string>>(
354
+ container: A_Container<T>,
355
+ feature: T[number],
356
+ params?: Partial<A_TYPES__ScopeConstructor>
357
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
358
+ static featureDefinition(
359
+ component: A_Component,
360
+ feature: string,
361
+ params?: Partial<A_TYPES__ScopeConstructor>
362
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']>
363
+ static featureDefinition<T extends Array<string>>(
364
+ param1: A_Component<T> | A_Container<T> | A_Entity<any, any, T>,
365
+ param2: string | T[number],
366
+ param3?: Partial<A_TYPES__ScopeConstructor>
367
+ ): A_TYPES__Required<Partial<A_TYPES__FeatureConstructor>, ['steps', 'fragments', 'name', 'components']> {
368
+
369
+
370
+ const instance = this.getInstance();
371
+
372
+ const component = param1;
373
+ const feature: string = `${component.constructor.name}.${param2}`;
374
+ const config = param3 || {};
375
+ // TODO: have no idea why it's not working because of that "any"
376
+ const scope = this.scope(component as any);
377
+ const steps: A_TYPES__FeatureStep[] = [];
378
+
379
+ // Now we need to resolve the method from all registered components
380
+
381
+ // We need to get all components that has extensions for the feature in component
382
+ instance.componentsMeta
383
+ .forEach((meta, constructor) => {
384
+ try {
385
+ // Just try to make sure that component not only Indexed but also presented in scope
386
+ scope.resolve(constructor);
387
+
388
+ // Get all extensions for the feature
389
+ meta
390
+ .extensions(feature)
391
+ .forEach(({ handler, args }) => {
392
+ steps.push({
393
+ component: constructor,
394
+ handler,
395
+ args
396
+ });
397
+ });
398
+
399
+ } catch (error) {
400
+ // do nothing
401
+ }
402
+ });
403
+
404
+
405
+ return {
406
+ name: `${component.constructor.name}.${feature}`,
407
+ fragments: config.fragments || [],
408
+ components: config.components || [],
409
+ steps,
410
+ parent: component instanceof A_Container ? this.scope(component) : undefined
411
+ };
412
+ }
413
+
414
+
342
415
 
343
416
  /**
344
417
  * This method returns a step-by-step instructions of feature implementation depending on the feature name and the class.