@adaas/a-concept 0.0.64 → 0.1.2
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/index.d.ts +24 -32
- package/dist/index.js +35 -52
- package/dist/index.js.map +1 -1
- package/dist/src/constants/env.constants.d.ts +15 -8
- package/dist/src/constants/env.constants.js +17 -10
- package/dist/src/constants/env.constants.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
- package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
- package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
- package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
- package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
- package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
- package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
- package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
- package/dist/src/global/A-Component/A-Component.class.js +35 -19
- package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
- package/dist/src/global/A-Component/A-Component.constants.js +11 -0
- package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
- package/dist/src/global/A-Component/A-Component.meta.js +6 -8
- package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
- package/dist/src/global/A-Component/A-Component.types.js +1 -8
- package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
- package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
- package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
- package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
- package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
- package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
- package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
- package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
- package/dist/src/global/A-Container/A-Container.class.js +34 -55
- package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
- package/dist/src/global/A-Container/A-Container.constants.js +10 -0
- package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
- package/dist/src/global/A-Container/A-Container.meta.js +5 -6
- package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
- package/dist/src/global/A-Container/A-Container.types.js +1 -7
- package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
- package/dist/src/global/A-Context/A-Context.class.js +436 -244
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
- package/dist/src/global/A-Context/A-Context.error.js +25 -0
- package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
- package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
- package/dist/src/global/A-Context/A-Context.types.js +1 -0
- package/dist/src/global/A-Entity/A-Entity.class.d.ts +13 -39
- package/dist/src/global/A-Entity/A-Entity.class.js +30 -73
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
- package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
- package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
- package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
- package/dist/src/global/A-Error/A_Error.class.js +267 -0
- package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
- package/dist/src/global/A-Error/A_Error.constants.js +9 -0
- package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
- package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
- package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
- package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
- package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
- package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
- package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
- package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
- package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
- package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
- package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
- package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
- package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
- package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
- package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
- package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
- package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
- package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
- package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
- package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
- package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
- package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
- package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
- package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
- package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
- package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
- package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
- package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
- package/dist/src/global/ASEID/ASEID.class.js +167 -0
- package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.constants.js +2 -0
- package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
- package/dist/src/global/ASEID/ASEID.error.js +10 -0
- package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
- package/dist/src/global/ASEID/ASEID.types.js +5 -0
- package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
- package/dist/src/helpers/A_Common.helper.d.ts +28 -0
- package/dist/src/helpers/A_Common.helper.js +170 -0
- package/dist/src/helpers/A_Common.helper.js.map +1 -0
- package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
- package/dist/src/helpers/A_Formatter.helper.js +62 -0
- package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
- package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
- package/dist/src/helpers/A_Identity.helper.js +43 -0
- package/dist/src/helpers/A_Identity.helper.js.map +1 -0
- package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
- package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
- package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
- package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
- package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
- package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
- package/dist/src/types/A_Common.types.d.ts +36 -0
- package/dist/src/types/A_Common.types.js +3 -0
- package/dist/src/types/A_Common.types.js.map +1 -0
- package/index.ts +27 -51
- package/jest.config.ts +1 -0
- package/package.json +1 -2
- package/src/constants/env.constants.ts +18 -11
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
- package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
- package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
- package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
- package/src/global/A-Caller/A_Caller.class.ts +61 -0
- package/src/global/A-Caller/A_Caller.error.ts +10 -0
- package/src/global/A-Caller/A_Caller.types.ts +25 -0
- package/src/global/A-Component/A-Component.class.ts +26 -15
- package/src/global/A-Component/A-Component.constants.ts +9 -0
- package/src/global/A-Component/A-Component.meta.ts +6 -16
- package/src/global/A-Component/A-Component.types.ts +53 -28
- package/src/global/A-Concept/A-Concept.class.ts +316 -0
- package/src/global/A-Concept/A-Concept.constants.ts +36 -0
- package/src/global/A-Concept/A-Concept.meta.ts +17 -0
- package/src/global/A-Concept/A-Concept.types.ts +100 -0
- package/src/global/A-Container/A-Container.class.ts +42 -83
- package/src/global/A-Container/A-Container.constants.ts +5 -0
- package/src/global/A-Container/A-Container.meta.ts +7 -11
- package/src/global/A-Container/A-Container.types.ts +38 -34
- package/src/global/A-Context/A-Context.class.ts +648 -412
- package/src/global/A-Context/A-Context.error.ts +44 -0
- package/src/global/A-Context/A-Context.types.ts +14 -0
- package/src/global/A-Entity/A-Entity.class.ts +33 -88
- package/src/global/A-Entity/A-Entity.constants.ts +12 -0
- package/src/global/A-Entity/A-Entity.error.ts +12 -0
- package/src/global/A-Entity/A-Entity.meta.ts +4 -4
- package/src/global/A-Entity/A-Entity.types.ts +31 -36
- package/src/global/A-Error/A_Error.class.ts +408 -0
- package/src/global/A-Error/A_Error.constants.ts +11 -0
- package/src/global/A-Error/A_Error.types.ts +96 -0
- package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
- package/src/global/A-Feature/A-Feature.class.ts +279 -122
- package/src/global/A-Feature/A-Feature.error.ts +33 -0
- package/src/global/A-Feature/A-Feature.types.ts +278 -40
- package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
- package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
- package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
- package/src/global/A-Inject/A-Inject.error.ts +8 -0
- package/src/global/A-Inject/A-Inject.types.ts +75 -0
- package/src/global/A-Meta/A-Meta.class.ts +1 -1
- package/src/global/A-Meta/A-Meta.types.ts +21 -0
- package/src/global/A-Scope/A-Scope.class.ts +288 -299
- package/src/global/A-Scope/A-Scope.error.ts +13 -0
- package/src/global/A-Scope/A-Scope.types.ts +61 -27
- package/src/global/A-Stage/A-Stage.class.ts +142 -80
- package/src/global/A-Stage/A-Stage.error.ts +4 -2
- package/src/global/A-Stage/A-Stage.types.ts +4 -25
- package/src/global/ASEID/ASEID.class.ts +275 -0
- package/src/global/ASEID/ASEID.error.ts +12 -0
- package/src/global/ASEID/ASEID.types.ts +79 -0
- package/src/helpers/A_Common.helper.ts +204 -0
- package/src/helpers/A_Formatter.helper.ts +58 -0
- package/src/helpers/A_Identity.helper.ts +53 -0
- package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
- package/src/helpers/A_TypeGuards.helper.ts +318 -0
- package/src/types/A_Common.types.ts +79 -0
- package/tests/A-Common.test.ts +117 -0
- package/tests/A-Component.test.ts +11 -6
- package/tests/A-Concept.test.ts +19 -22
- package/tests/A-Entity.test.ts +24 -24
- package/tests/A-Error.test.ts +129 -0
- package/tests/A-Feature.test.ts +34 -25
- package/tests/A-Scope.test.ts +50 -22
- package/tests/ASEID.test.ts +74 -0
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +3 -2
- package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
- package/dist/src/base/A-Config/A-Config.container.js +0 -69
- package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
- package/dist/src/base/A-Config/A-Config.context.js +0 -60
- package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
- package/dist/src/base/A-Config/A-Config.types.js +0 -7
- package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
- package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
- package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
- package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
- package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
- package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
- package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
- package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
- package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
- package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
- package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
- package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
- package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
- package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
- package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
- package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
- package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
- package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
- package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
- package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
- package/dist/src/global/A-Command/A-Command.class.js +0 -349
- package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
- package/dist/src/global/A-Command/A-Command.constants.js +0 -22
- package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
- package/dist/src/global/A-Command/A-Command.meta.js +0 -18
- package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
- package/dist/src/global/A-Command/A-Command.types.js +0 -10
- package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
- package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
- package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
- package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
- package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
- package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
- package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
- package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
- package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
- package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
- package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
- package/dist/src/helpers/StepsManager.class.js.map +0 -1
- package/dist/src/types/A_Module.types.d.ts +0 -17
- package/dist/src/types/A_Module.types.js +0 -22
- package/dist/src/types/A_Module.types.js.map +0 -1
- package/examples/entity/concept.ts +0 -68
- package/examples/entity/entities/Task.entity.ts +0 -110
- package/examples/entity/entities/User.entity.ts +0 -62
- package/examples/fe-be/channels/Test.channel.ts +0 -27
- package/examples/fe-be/components/BE-Controller.component.ts +0 -20
- package/examples/fe-be/components/FE.component.ts +0 -13
- package/examples/fe-be/containers/ServerApp.container.ts +0 -8
- package/examples/fe-be/containers/WebApp.container.ts +0 -13
- package/examples/multi-container/channels/Direct.channel.ts +0 -39
- package/examples/multi-container/concept.ts +0 -0
- package/examples/multi-container/containers/Command.container.ts +0 -41
- package/examples/multi-container/containers/Schedule.container.ts +0 -52
- package/examples/simple/components/A.component.ts +0 -71
- package/examples/simple/components/B.component.ts +0 -68
- package/examples/simple/concept.ts +0 -87
- package/examples/simple/containers/Main.container.ts +0 -88
- package/examples/simple/containers/Secondary.container.ts +0 -26
- package/examples/simple/context/Fragment_A.context.ts +0 -25
- package/examples/simple/context/Fragment_B.context.ts +0 -19
- package/examples/simple/entities/EntityA.entity.ts +0 -32
- package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
- package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
- package/examples/simple-http-server/concept.ts +0 -35
- package/examples/simple-http-server/containers/http-server.container.ts +0 -57
- package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
- package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
- package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
- package/examples/simple-http-server/controllers/users.controller.ts +0 -104
- package/examples/simple-http-server/test.ts +0 -290
- package/src/base/A-Config/A-Config.container.ts +0 -68
- package/src/base/A-Config/A-Config.context.ts +0 -114
- package/src/base/A-Config/A-Config.types.ts +0 -28
- package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
- package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
- package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
- package/src/base/A-Errors/A-Error.entity.ts +0 -10
- package/src/base/A-Errors/A-Errors.component.ts +0 -103
- package/src/base/A-Errors/A-Errors.context.ts +0 -90
- package/src/base/A-Errors/A-Errors.types.ts +0 -6
- package/src/base/A-Logger/A-Logger.component.ts +0 -192
- package/src/base/A-Logger/A-Logger.types.ts +0 -0
- package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
- package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
- package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
- package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
- package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
- package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
- package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
- package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
- package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
- package/src/global/A-Channel/A-Channel.class.ts +0 -111
- package/src/global/A-Channel/A-Channel.types.ts +0 -114
- package/src/global/A-Command/A-Command.class.ts +0 -419
- package/src/global/A-Command/A-Command.constants.ts +0 -27
- package/src/global/A-Command/A-Command.meta.ts +0 -22
- package/src/global/A-Command/A-Command.types.ts +0 -73
- package/src/global/A-Command/context/A_Command.context.ts +0 -114
- package/src/global/A-Concept/A_Concept.class.ts +0 -298
- package/src/global/A-Concept/A_Concept.meta.ts +0 -32
- package/src/global/A-Concept/A_Concept.types.ts +0 -143
- package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
- package/src/global/A-Scope/A-Scope.constants.ts +0 -9
- package/src/types/A_Module.types.ts +0 -23
- package/tests/A-Command.test.ts +0 -133
- package/tests/A-Config.test.ts +0 -172
- /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
- /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
- /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { A_Error } from "../A-Error/A_Error.class";
|
|
2
|
+
|
|
3
|
+
export class A_ScopeError extends A_Error {
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
static readonly InitializationError = 'A-Scope Initialization Error';
|
|
7
|
+
|
|
8
|
+
static readonly ConstructorError = 'Unable to construct A-Scope instance';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
static readonly CircularInheritanceError = 'A-Scope Circular Inheritance Error';
|
|
12
|
+
|
|
13
|
+
}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import { A_Command } from "../A-Command/A-Command.class"
|
|
2
1
|
import { A_Component } from "../A-Component/A-Component.class"
|
|
2
|
+
import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types"
|
|
3
|
+
import { A_Container } from "../A-Container/A-Container.class"
|
|
3
4
|
import { A_Entity } from "../A-Entity/A-Entity.class"
|
|
5
|
+
import { A_TYPES__Entity_Constructor } from "../A-Entity/A-Entity.types"
|
|
6
|
+
import { A_Feature } from "../A-Feature/A-Feature.class"
|
|
4
7
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class"
|
|
8
|
+
import { A_Caller } from "../A-Caller/A_Caller.class"
|
|
9
|
+
import { A_Error } from "../A-Error/A_Error.class"
|
|
10
|
+
import { A_TYPES__Error_Constructor } from "../A-Error/A_Error.types"
|
|
5
11
|
import { A_Scope } from "./A-Scope.class"
|
|
6
12
|
|
|
7
13
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_CommandType extends A_TYPES__AllowedCommandsConstructor[] = A_TYPES__AllowedCommandsConstructor[],
|
|
24
|
-
_EntityType extends A_Entity[] = A_Entity[],
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// --------------------------- Primary Types ----------------------------------
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Scope constructor type
|
|
19
|
+
* Uses the generic type T to specify the type of the Scope
|
|
20
|
+
*/
|
|
21
|
+
export type A_TYPES__Scope_Constructor<T = A_Scope> = new (...args: any[]) => T;
|
|
22
|
+
/**
|
|
23
|
+
* Scope initialization type
|
|
24
|
+
*/
|
|
25
|
+
export type A_TYPES__Scope_Init<
|
|
26
|
+
_ComponentType extends A_TYPES__Component_Constructor[] = A_TYPES__Component_Constructor[],
|
|
27
|
+
_ErrorType extends A_TYPES__Error_Constructor[] = A_TYPES__Error_Constructor[],
|
|
28
|
+
_EntityType extends A_TYPES__Entity_Constructor[] = A_TYPES__Entity_Constructor[],
|
|
25
29
|
_FragmentType extends A_Fragment[] = A_Fragment[],
|
|
26
30
|
> = {
|
|
27
31
|
/**
|
|
@@ -37,20 +41,50 @@ export type A_TYPES__ScopeConstructor<
|
|
|
37
41
|
*/
|
|
38
42
|
components: [..._ComponentType],
|
|
39
43
|
/**
|
|
40
|
-
* A set of
|
|
41
|
-
*
|
|
44
|
+
* A set of Errors available in the Scope
|
|
42
45
|
*/
|
|
43
|
-
|
|
46
|
+
errors: [..._ErrorType],
|
|
44
47
|
/**
|
|
45
|
-
* A set of
|
|
48
|
+
* A set of Entities available in the Scope
|
|
49
|
+
*
|
|
46
50
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
entities: [
|
|
52
|
+
..._EntityType,
|
|
53
|
+
...InstanceType<_EntityType[number]>[]
|
|
54
|
+
];
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Scope configuration type
|
|
58
|
+
*/
|
|
51
59
|
export type A_TYPES__ScopeConfig = {
|
|
52
60
|
/**
|
|
53
61
|
* Allows to define a parent to take dependencies from in case of the current scope does not have the required component
|
|
54
62
|
*/
|
|
55
63
|
parent: A_Scope
|
|
56
|
-
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Scope serialized type
|
|
67
|
+
*/
|
|
68
|
+
export type A_TYPES__Scope_Serialized = {}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* A list of components that can have a scope associated with them
|
|
75
|
+
*/
|
|
76
|
+
export type A_TYPES__ScopeLinkedComponents = A_Container | A_Feature;
|
|
77
|
+
/**
|
|
78
|
+
* A list of components that can be resolved by a scope
|
|
79
|
+
*/
|
|
80
|
+
export type A_TYPES__ScopeResolvableComponents = A_Component | A_Fragment | A_Entity | A_Fragment
|
|
81
|
+
/**
|
|
82
|
+
* A list of components that are dependent on a scope and do not have their own scope
|
|
83
|
+
*/
|
|
84
|
+
export type A_TYPES_ScopeDependentComponents = A_Component | A_Entity | A_Fragment
|
|
85
|
+
/**
|
|
86
|
+
* A list of components that are independent of a scope. They don't need a scope to be resolved
|
|
87
|
+
* Those components haven't scope dependent features.
|
|
88
|
+
*/
|
|
89
|
+
export type A_TYPES_ScopeIndependentComponents = A_Error | A_Scope | A_Caller
|
|
90
|
+
|
|
@@ -1,51 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
A_TYPES__A_Stage_JSON, A_TYPES__A_Stage_Status,
|
|
3
|
+
A_TYPES__A_StageStep, A_TYPES__A_StageStepProcessingExtraParams
|
|
4
|
+
} from "./A-Stage.types";
|
|
2
5
|
import { A_Context } from "../A-Context/A-Context.class";
|
|
3
6
|
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
4
|
-
import { A_TYPES__A_Stage_JSON, A_TYPES__A_Stage_Status, A_TYPES__A_StageStep, A_TYPES__A_StageStepProcessingExtraParams } from "./A-Stage.types";
|
|
5
|
-
import { A_Container } from "../A-Container/A-Container.class";
|
|
6
7
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
7
8
|
import { A_StageError } from "./A-Stage.error";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
9
|
+
import { A_Error } from "../A-Error/A_Error.class";
|
|
10
|
+
import { A_TypeGuards } from "@adaas/a-concept/helpers/A_TypeGuards.helper";
|
|
11
|
+
import { A_TYPES__ScopeResolvableComponents } from "../A-Scope/A-Scope.types";
|
|
12
|
+
import { A_TYPES__Container_Constructor } from "../A-Container/A-Container.types";
|
|
13
|
+
import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types";
|
|
14
|
+
import { A_TYPES__InjectableConstructors } from "@adaas/a-concept/global/A-Inject/A-Inject.types";
|
|
10
15
|
|
|
11
16
|
|
|
12
|
-
/**
|
|
13
|
-
* A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
|
|
14
|
-
* Each stage may contain one or more functions.
|
|
15
|
-
* [!] That always run in parallel (in NodeJS asynchronously), independently of each other.
|
|
16
|
-
*
|
|
17
|
-
* A-Stage is a common object that uses to simplify logic and re-use of A-Feature internals for better composition.
|
|
18
|
-
*/
|
|
19
|
-
export class A_Stage {
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
export class A_Stage {
|
|
22
19
|
|
|
23
|
-
private readonly
|
|
20
|
+
private readonly _feature!: A_Feature;
|
|
24
21
|
private readonly _steps!: A_TYPES__A_StageStep[];
|
|
22
|
+
private _error?: Error | A_Error | any;
|
|
23
|
+
|
|
25
24
|
|
|
25
|
+
/**
|
|
26
|
+
* A_Stage is a set of A_Functions within A_Feature that should be run in a specific order.
|
|
27
|
+
* Each stage may contain one or more functions.
|
|
28
|
+
* [!] That always run in parallel (in NodeJS asynchronously), independently of each other.
|
|
29
|
+
*
|
|
30
|
+
* A-Stage is a common object that uses to simplify logic and re-use of A-Feature internals for better composition.
|
|
31
|
+
*/
|
|
26
32
|
constructor(
|
|
27
33
|
feature: A_Feature,
|
|
28
|
-
|
|
34
|
+
steps: A_TYPES__A_StageStep[] = []
|
|
29
35
|
) {
|
|
30
|
-
this.
|
|
31
|
-
this._steps =
|
|
32
|
-
this.name = `${this.feature.name}::a-stage:[sync:${this
|
|
33
|
-
.syncSteps
|
|
34
|
-
.map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
|
|
35
|
-
.join(' -> ')}][async:${this
|
|
36
|
-
.asyncSteps
|
|
37
|
-
.map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
|
|
38
|
-
.join(' -> ')}]`;
|
|
39
|
-
|
|
36
|
+
this._feature = feature;
|
|
37
|
+
this._steps = steps;
|
|
40
38
|
}
|
|
41
39
|
|
|
42
40
|
status: A_TYPES__A_Stage_Status = A_TYPES__A_Stage_Status.INITIALIZED;
|
|
41
|
+
|
|
43
42
|
/**
|
|
44
43
|
* Promise that will be resolved when the stage is Processed
|
|
45
44
|
*/
|
|
46
45
|
processed: Promise<void> | undefined;
|
|
47
46
|
|
|
48
47
|
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
get name(): string {
|
|
51
|
+
return this.toString();
|
|
52
|
+
}
|
|
53
|
+
|
|
49
54
|
get before(): string[] {
|
|
50
55
|
return this._steps.reduce((acc, step) => ([
|
|
51
56
|
...acc,
|
|
@@ -64,7 +69,6 @@ export class A_Stage {
|
|
|
64
69
|
return this._steps;
|
|
65
70
|
}
|
|
66
71
|
|
|
67
|
-
|
|
68
72
|
get asyncSteps(): A_TYPES__A_StageStep[] {
|
|
69
73
|
return this._steps.filter(step => step.behavior === 'async');
|
|
70
74
|
}
|
|
@@ -81,29 +85,47 @@ export class A_Stage {
|
|
|
81
85
|
* @returns
|
|
82
86
|
*/
|
|
83
87
|
protected async getStepArgs(
|
|
84
|
-
|
|
85
|
-
|
|
88
|
+
scope: A_Scope,
|
|
89
|
+
step: A_TYPES__A_StageStep
|
|
86
90
|
) {
|
|
91
|
+
let resolverConstructor: A_TYPES__Container_Constructor | A_TYPES__Component_Constructor;
|
|
92
|
+
|
|
93
|
+
switch (true) {
|
|
94
|
+
case A_TypeGuards.isContainerInstance(step.component):
|
|
95
|
+
resolverConstructor = step.component.constructor as A_TYPES__Container_Constructor;
|
|
96
|
+
break;
|
|
97
|
+
|
|
98
|
+
case A_TypeGuards.isString(step.component):
|
|
99
|
+
resolverConstructor = scope.resolveConstructor(step.component);
|
|
100
|
+
break;
|
|
101
|
+
|
|
102
|
+
default:
|
|
103
|
+
resolverConstructor = step.component;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
|
|
87
107
|
|
|
88
108
|
return Promise
|
|
89
109
|
.all(A_Context
|
|
90
|
-
.meta(
|
|
91
|
-
// TODO: fix types
|
|
92
|
-
(step.component instanceof A_Container
|
|
93
|
-
? step.component.constructor
|
|
94
|
-
: step.component) as any
|
|
95
|
-
|
|
96
|
-
)
|
|
110
|
+
.meta(resolverConstructor)
|
|
97
111
|
.injections(step.handler)
|
|
98
112
|
.map(async arg => {
|
|
99
|
-
|
|
100
|
-
|
|
113
|
+
switch (true) {
|
|
114
|
+
case A_TypeGuards.isCallerConstructor(arg.target):
|
|
115
|
+
return this._feature.caller.component;
|
|
101
116
|
|
|
117
|
+
case A_TypeGuards.isScopeConstructor(arg.target):
|
|
118
|
+
return scope;
|
|
102
119
|
|
|
103
|
-
|
|
104
|
-
|
|
120
|
+
case A_TypeGuards.isFeatureConstructor(arg.target):
|
|
121
|
+
return this._feature;
|
|
105
122
|
|
|
106
|
-
|
|
123
|
+
case A_TypeGuards.isEntityConstructor(arg.target) && 'instructions' in arg:
|
|
124
|
+
return scope.resolve(arg.target, arg.instructions)
|
|
125
|
+
|
|
126
|
+
default:
|
|
127
|
+
return scope.resolve(arg.target)
|
|
128
|
+
}
|
|
107
129
|
})
|
|
108
130
|
)
|
|
109
131
|
}
|
|
@@ -130,21 +152,33 @@ export class A_Stage {
|
|
|
130
152
|
* @param step
|
|
131
153
|
* @returns
|
|
132
154
|
*/
|
|
133
|
-
protected getStepInstance(
|
|
155
|
+
protected getStepInstance(
|
|
156
|
+
scope: A_Scope,
|
|
157
|
+
step: A_TYPES__A_StageStep
|
|
158
|
+
) {
|
|
134
159
|
const { component, handler } = step;
|
|
135
160
|
|
|
161
|
+
let instance: A_TYPES__ScopeResolvableComponents | undefined
|
|
136
162
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
163
|
+
switch (true) {
|
|
164
|
+
case A_TypeGuards.isContainerInstance(component):
|
|
165
|
+
instance = component;
|
|
166
|
+
break;
|
|
167
|
+
|
|
168
|
+
case A_TypeGuards.isString(component):
|
|
169
|
+
instance = scope.resolve(component);
|
|
170
|
+
break;
|
|
171
|
+
|
|
172
|
+
default:
|
|
173
|
+
instance = scope.resolve(component);
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
142
176
|
|
|
143
177
|
if (!instance)
|
|
144
|
-
throw new
|
|
178
|
+
throw new A_StageError(A_StageError.CompileError, `Unable to resolve component ${typeof component === 'string' ? component : component.name} from scope ${scope.name}`);
|
|
145
179
|
|
|
146
180
|
if (!instance[handler])
|
|
147
|
-
throw new
|
|
181
|
+
throw new A_StageError(A_StageError.CompileError, `Handler ${handler} not found in ${instance.constructor.name}`);
|
|
148
182
|
|
|
149
183
|
return instance;
|
|
150
184
|
}
|
|
@@ -161,30 +195,54 @@ export class A_Stage {
|
|
|
161
195
|
step: A_TYPES__A_StageStep,
|
|
162
196
|
scope: A_Scope
|
|
163
197
|
) {
|
|
164
|
-
const instance = await this.getStepInstance(step);
|
|
165
|
-
const callArgs = await this.getStepArgs(
|
|
198
|
+
const instance = await this.getStepInstance(scope, step);
|
|
199
|
+
const callArgs = await this.getStepArgs(scope, step);
|
|
166
200
|
|
|
167
201
|
return await instance[step.handler](...callArgs);
|
|
168
202
|
}
|
|
169
203
|
|
|
170
204
|
|
|
205
|
+
skip() {
|
|
206
|
+
this.status = A_TYPES__A_Stage_Status.SKIPPED;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
|
|
171
210
|
/**
|
|
172
|
-
*
|
|
211
|
+
* This method processes the stage by executing all the steps
|
|
173
212
|
*
|
|
174
|
-
* @
|
|
213
|
+
* @param scope - Scope to be used to resolve the steps dependencies
|
|
175
214
|
*/
|
|
176
215
|
async process(
|
|
177
216
|
/**
|
|
178
217
|
* Scope to be used to resolve the steps dependencies
|
|
179
218
|
*/
|
|
180
|
-
scope
|
|
219
|
+
scope?: A_Scope,
|
|
220
|
+
): Promise<void>
|
|
221
|
+
async process(
|
|
222
|
+
/**
|
|
223
|
+
* Extra parameters to control the steps processing
|
|
224
|
+
*/
|
|
181
225
|
params?: Partial<A_TYPES__A_StageStepProcessingExtraParams>
|
|
226
|
+
): Promise<void>
|
|
227
|
+
async process(
|
|
228
|
+
/**
|
|
229
|
+
* Scope to be used to resolve the steps dependencies
|
|
230
|
+
*/
|
|
231
|
+
param1?: A_Scope | Partial<A_TYPES__A_StageStepProcessingExtraParams>,
|
|
232
|
+
/**
|
|
233
|
+
* Extra parameters to control the steps processing
|
|
234
|
+
*/
|
|
235
|
+
param2?: Partial<A_TYPES__A_StageStepProcessingExtraParams>
|
|
182
236
|
): Promise<void> {
|
|
183
237
|
|
|
184
|
-
scope =
|
|
238
|
+
const scope = A_TypeGuards.isScopeInstance(param1)
|
|
239
|
+
? param1
|
|
240
|
+
: A_Context.scope(this._feature);
|
|
185
241
|
|
|
242
|
+
const params = A_TypeGuards.isScopeInstance(param1)
|
|
243
|
+
? param2
|
|
244
|
+
: param1;
|
|
186
245
|
|
|
187
|
-
// console.log(' -> Init stage processing:', this.name);
|
|
188
246
|
|
|
189
247
|
if (!this.processed)
|
|
190
248
|
this.processed = new Promise<void>(
|
|
@@ -229,9 +287,7 @@ export class A_Stage {
|
|
|
229
287
|
|
|
230
288
|
this.completed();
|
|
231
289
|
|
|
232
|
-
// console.log(' -> Finished stage processing:', this.name);
|
|
233
290
|
return resolve();
|
|
234
|
-
|
|
235
291
|
} catch (error) {
|
|
236
292
|
this.failed(error);
|
|
237
293
|
|
|
@@ -244,35 +300,20 @@ export class A_Stage {
|
|
|
244
300
|
}
|
|
245
301
|
|
|
246
302
|
|
|
247
|
-
/**
|
|
248
|
-
* Skips the stage
|
|
249
|
-
*
|
|
250
|
-
*/
|
|
251
|
-
skip() {
|
|
252
|
-
this.status = A_TYPES__A_Stage_Status.SKIPPED;
|
|
253
|
-
|
|
254
|
-
this.feature.next(this);
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
303
|
// ==========================================
|
|
261
304
|
// ============ Status methods =============
|
|
262
305
|
// ==========================================
|
|
263
306
|
|
|
264
307
|
protected completed() {
|
|
265
308
|
this.status = A_TYPES__A_Stage_Status.COMPLETED;
|
|
266
|
-
|
|
267
|
-
this.feature.next(this);
|
|
268
309
|
}
|
|
269
310
|
|
|
270
311
|
protected failed(
|
|
271
|
-
error: Error | A_Error |
|
|
312
|
+
error: Error | A_Error | any
|
|
272
313
|
) {
|
|
273
|
-
this.
|
|
314
|
+
this._error = error;
|
|
274
315
|
|
|
275
|
-
this.
|
|
316
|
+
this.status = A_TYPES__A_Stage_Status.FAILED;
|
|
276
317
|
}
|
|
277
318
|
|
|
278
319
|
|
|
@@ -280,17 +321,38 @@ export class A_Stage {
|
|
|
280
321
|
// ==========================================
|
|
281
322
|
// ============ Serialization ===============
|
|
282
323
|
// ==========================================
|
|
283
|
-
|
|
284
|
-
|
|
285
324
|
/**
|
|
286
325
|
* Serializes the stage to JSON
|
|
287
326
|
*
|
|
288
327
|
*/
|
|
289
328
|
toJSON(): A_TYPES__A_Stage_JSON {
|
|
290
|
-
|
|
291
329
|
return {
|
|
292
|
-
name:
|
|
330
|
+
name: this.name,
|
|
293
331
|
status: this.status,
|
|
294
332
|
}
|
|
295
333
|
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Returns a string representation of the stage
|
|
337
|
+
*
|
|
338
|
+
* @returns
|
|
339
|
+
*/
|
|
340
|
+
toString() {
|
|
341
|
+
return [
|
|
342
|
+
this._feature.name,
|
|
343
|
+
'::a-stage:',
|
|
344
|
+
'[sync:',
|
|
345
|
+
this
|
|
346
|
+
.syncSteps
|
|
347
|
+
.map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
|
|
348
|
+
.join(' -> '),
|
|
349
|
+
']',
|
|
350
|
+
'[async:',
|
|
351
|
+
this
|
|
352
|
+
.asyncSteps
|
|
353
|
+
.map(s => typeof s.component === 'string' ? s.component : s.component.name + '.' + s.handler)
|
|
354
|
+
.join(' -> '),
|
|
355
|
+
']'
|
|
356
|
+
].join('');
|
|
357
|
+
}
|
|
296
358
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { A_Component } from "../A-Component/A-Component.class"
|
|
2
1
|
import { A_Container } from "../A-Container/A-Container.class"
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { A_Scope } from "../A-Scope/A-Scope.class"
|
|
2
|
+
import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types"
|
|
3
|
+
import { A_TYPES__FeatureExtendDecoratorBehaviorConfig } from "../A-Feature/A-Feature.types"
|
|
6
4
|
|
|
7
5
|
|
|
8
6
|
|
|
@@ -39,22 +37,6 @@ export enum A_TYPES__A_Stage_Status {
|
|
|
39
37
|
* The stage has been initialized
|
|
40
38
|
*/
|
|
41
39
|
INITIALIZED = 'INITIALIZED',
|
|
42
|
-
/**
|
|
43
|
-
* The stage has been reset
|
|
44
|
-
*/
|
|
45
|
-
// RESET = 'RESET',
|
|
46
|
-
/**
|
|
47
|
-
* The stage has been resumed
|
|
48
|
-
*/
|
|
49
|
-
// RESUMED = 'RESUMED',
|
|
50
|
-
/**
|
|
51
|
-
* The stage has been suspended
|
|
52
|
-
*/
|
|
53
|
-
// SUSPENDED = 'SUSPENDED',
|
|
54
|
-
/**
|
|
55
|
-
* The stage has been terminated
|
|
56
|
-
*/
|
|
57
|
-
// TERMINATED = 'TERMINATED',
|
|
58
40
|
/**
|
|
59
41
|
* The stage has been aborted
|
|
60
42
|
*/
|
|
@@ -63,17 +45,14 @@ export enum A_TYPES__A_Stage_Status {
|
|
|
63
45
|
|
|
64
46
|
|
|
65
47
|
export type A_TYPES__A_StageStep = {
|
|
66
|
-
|
|
67
48
|
/**
|
|
68
49
|
* The component to be called
|
|
69
50
|
*/
|
|
70
|
-
component:
|
|
71
|
-
|
|
51
|
+
component: A_TYPES__Component_Constructor | A_Container | string
|
|
72
52
|
/**
|
|
73
53
|
* The method to be called on the component
|
|
74
54
|
*/
|
|
75
55
|
handler: string,
|
|
76
|
-
|
|
77
56
|
/**
|
|
78
57
|
* Original Feature Extension name
|
|
79
58
|
*
|
|
@@ -82,7 +61,7 @@ export type A_TYPES__A_StageStep = {
|
|
|
82
61
|
*/
|
|
83
62
|
name: string,
|
|
84
63
|
|
|
85
|
-
} &
|
|
64
|
+
} & A_TYPES__FeatureExtendDecoratorBehaviorConfig
|
|
86
65
|
|
|
87
66
|
|
|
88
67
|
|