@adaas/a-concept 0.1.22 → 0.1.24

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 (37) hide show
  1. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +16 -9
  2. package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -1
  3. package/dist/src/global/A-Component/A-Component.meta.js +3 -2
  4. package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
  5. package/dist/src/global/A-Container/A-Container.meta.js +4 -11
  6. package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
  7. package/dist/src/global/A-Entity/A-Entity.class.js +2 -1
  8. package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
  9. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js +1 -1
  10. package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -1
  11. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +21 -12
  12. package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -1
  13. package/dist/src/global/A-Feature/A-Feature.class.js +1 -1
  14. package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
  15. package/dist/src/global/A-Feature/A-Feature.types.d.ts +30 -6
  16. package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
  17. package/dist/src/global/A-Stage/A-Stage.class.d.ts +16 -0
  18. package/dist/src/global/A-Stage/A-Stage.class.js +28 -2
  19. package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
  20. package/dist/src/global/A-Stage/A-Stage.types.d.ts +6 -2
  21. package/dist/src/global/A-StepManager/A-StepManager.class.js +11 -10
  22. package/dist/src/global/A-StepManager/A-StepManager.class.js.map +1 -1
  23. package/package.json +2 -4
  24. package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +16 -12
  25. package/src/global/A-Component/A-Component.meta.ts +3 -2
  26. package/src/global/A-Container/A-Container.meta.ts +5 -8
  27. package/src/global/A-Entity/A-Entity.class.ts +2 -1
  28. package/src/global/A-Feature/A-Feature-Define.decorator.ts +5 -3
  29. package/src/global/A-Feature/A-Feature-Extend.decorator.ts +21 -16
  30. package/src/global/A-Feature/A-Feature.class.ts +1 -1
  31. package/src/global/A-Feature/A-Feature.types.ts +33 -8
  32. package/src/global/A-Stage/A-Stage.class.ts +29 -4
  33. package/src/global/A-Stage/A-Stage.types.ts +7 -2
  34. package/src/global/A-StepManager/A-StepManager.class.ts +19 -13
  35. package/tests/A-Concept.test.ts +53 -4
  36. package/tests/A-Feature.test.ts +4 -4
  37. package/tests/A-StepManager.test.ts +60 -11
@@ -98,14 +98,14 @@ describe('A-StepManager tests', () => {
98
98
  name: 'step5',
99
99
  component: ComponentA,
100
100
  handler: 'step5',
101
- before: ['step2'],
102
- after: ['step6']
101
+ before: /^.*\.*step2$/.source,
102
+ after: /^.*\.*step6$/.source
103
103
  },
104
104
  {
105
105
  name: 'step6',
106
106
  component: ComponentA,
107
107
  handler: 'step6',
108
- before: ['ComponentA.step2']
108
+ before: /^ComponentA\.step2$/.source
109
109
  },
110
110
  ]);
111
111
 
@@ -162,7 +162,7 @@ describe('A-StepManager tests', () => {
162
162
  name: 'step6',
163
163
  component: ComponentA,
164
164
  handler: 'step6',
165
- before: [new RegExp('.*').source],
165
+ before: /.*/.source,
166
166
  },
167
167
  ]);
168
168
 
@@ -213,13 +213,13 @@ describe('A-StepManager tests', () => {
213
213
  name: 'step5',
214
214
  component: ComponentA,
215
215
  handler: 'step5',
216
- before: [new RegExp('.*').source],
216
+ before: new RegExp('.*').source,
217
217
  },
218
218
  {
219
219
  name: 'step6',
220
220
  component: ComponentA,
221
221
  handler: 'step6',
222
- before: [new RegExp('.*').source],
222
+ before: new RegExp('.*').source,
223
223
  },
224
224
  ]);
225
225
 
@@ -276,8 +276,8 @@ describe('A-StepManager tests', () => {
276
276
  name: 'test',
277
277
  component: ComponentA,
278
278
  handler: 'test',
279
- before: [new RegExp('step(4|5)').source],
280
- after: [new RegExp('step(1|2)').source],
279
+ before: /^.*\.step(4|5)$/.source,
280
+ after: /^.*\.step(1|2)$/.source,
281
281
  },
282
282
  ]);
283
283
 
@@ -326,8 +326,8 @@ describe('A-StepManager tests', () => {
326
326
  name: 'inject',
327
327
  component: ComponentA,
328
328
  handler: 'inject',
329
- before: [/ComponentB\.read.+/.source],
330
- after: ['ComponentA.initialize']
329
+ before: /ComponentB\.read.+/ig.source,
330
+ after: 'ComponentA.initialize'
331
331
  },
332
332
  ]);
333
333
 
@@ -342,5 +342,54 @@ describe('A-StepManager tests', () => {
342
342
  ]);
343
343
  });
344
344
 
345
-
345
+
346
+ it('Should allow to override steps by regexp', async () => {
347
+ class ComponentA extends A_Component {
348
+ async step1() { }
349
+ async step2() { }
350
+ async step3() { }
351
+ async step4() { }
352
+ async step5() { }
353
+ async test() { }
354
+ }
355
+
356
+ const sm = new A_StepsManager([
357
+ {
358
+ name: 'step1',
359
+ component: ComponentA,
360
+ handler: 'step1',
361
+ },
362
+ {
363
+ name: 'step2',
364
+ component: ComponentA,
365
+ handler: 'step2',
366
+ },
367
+ {
368
+ name: 'step3',
369
+ component: ComponentA,
370
+ handler: 'step3',
371
+ override: /^.*\.step(4|5)$/.source
372
+ },
373
+ {
374
+ name: 'step4',
375
+ component: ComponentA,
376
+ handler: 'step4',
377
+ },
378
+ {
379
+ name: 'step5',
380
+ component: ComponentA,
381
+ handler: 'step5',
382
+ }
383
+ ]);
384
+
385
+
386
+ const result = sm.toSortedArray();
387
+
388
+ expect(result).toEqual([
389
+ "ComponentA.step1",
390
+ "ComponentA.step2",
391
+ "ComponentA.step3",
392
+ ]);
393
+ });
394
+
346
395
  });