@adaas/a-concept 0.0.64 → 0.1.1
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 +18 -18
- package/dist/src/global/A-Entity/A-Entity.class.js +36 -43
- 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 +39 -52
- 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
|
@@ -1,69 +1,307 @@
|
|
|
1
|
-
import { A_TYPES__ScopeConfig, A_TYPES__ScopeConstructor } from "../A-Scope/A-Scope.types"
|
|
2
1
|
import { A_TYPES__A_StageStep } from "../A-Stage/A-Stage.types"
|
|
3
2
|
import { A_Fragment } from "../A-Fragment/A-Fragment.class"
|
|
4
3
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class"
|
|
5
|
-
import { A_Scope } from "../A-Scope/A-Scope.class"
|
|
6
4
|
import { A_Container } from "../A-Container/A-Container.class"
|
|
7
5
|
import { A_Component } from "../A-Component/A-Component.class"
|
|
6
|
+
import { A_TYPES__Component_Constructor } from "../A-Component/A-Component.types"
|
|
7
|
+
import { A_TYPES__Container_Constructor } from "../A-Container/A-Container.types"
|
|
8
|
+
import { A_TYPES__Entity_Constructor } from "../A-Entity/A-Entity.types"
|
|
9
|
+
import { A_Feature } from "./A-Feature.class"
|
|
10
|
+
import { A_TYPES__Required } from "@adaas/a-concept/types/A_Common.types"
|
|
11
|
+
import { A_Scope } from "../A-Scope/A-Scope.class"
|
|
8
12
|
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// --------------------------- Primary Types ----------------------------------
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Feature constructor type
|
|
19
|
+
* Uses the generic type T to specify the type of the feature
|
|
20
|
+
*/
|
|
21
|
+
export type A_TYPES__Feature_Constructor<T = A_Feature> = new (...args: any[]) => T;
|
|
22
|
+
/**
|
|
23
|
+
* Feature initialization type
|
|
24
|
+
*/
|
|
25
|
+
export type A_TYPES__Feature_Init<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> = A_TYPES__Feature_InitWithComponent<T> | A_TYPES__Feature_InitWithTemplate
|
|
26
|
+
/**
|
|
27
|
+
* Feature initialization type using component
|
|
28
|
+
*/
|
|
29
|
+
export type A_TYPES__Feature_InitWithComponent<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> = {
|
|
30
|
+
/**
|
|
31
|
+
* Feature Name
|
|
32
|
+
*/
|
|
33
|
+
name: string,
|
|
34
|
+
/**
|
|
35
|
+
* The component from where the feature is calling. It's important for proper scoping.
|
|
36
|
+
* Based on the component would be retrieved connected components, entities and containers.
|
|
37
|
+
*
|
|
38
|
+
* [!] Could be Container, Entity, Component or Command
|
|
39
|
+
*/
|
|
40
|
+
component: T,
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Feature initialization type using template
|
|
44
|
+
*/
|
|
45
|
+
export type A_TYPES__Feature_InitWithTemplate = {
|
|
46
|
+
/**
|
|
47
|
+
* Feature Name
|
|
48
|
+
*/
|
|
49
|
+
name: string,
|
|
50
|
+
/**
|
|
51
|
+
* The scope from where to retrieve dependent components, entities and containers.
|
|
52
|
+
*
|
|
53
|
+
* [!] Important for proper scoping.
|
|
54
|
+
*/
|
|
55
|
+
scope: A_Scope
|
|
56
|
+
/**
|
|
57
|
+
* Optional Feature template to be used instead of building it from decorators
|
|
58
|
+
*/
|
|
59
|
+
template: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Feature serialized type
|
|
64
|
+
*/
|
|
65
|
+
export type A_TYPES__Feature_Serialized = {}
|
|
11
66
|
|
|
12
67
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Feature lifecycle states
|
|
70
|
+
*/
|
|
71
|
+
export enum A_TYPES__FeatureState {
|
|
72
|
+
/**
|
|
73
|
+
* The feature has been initialized
|
|
74
|
+
*/
|
|
75
|
+
INITIALIZED = "INITIALIZED",
|
|
76
|
+
/**
|
|
77
|
+
* The feature is currently being processed
|
|
78
|
+
*/
|
|
79
|
+
PROCESSING = "PROCESSING",
|
|
80
|
+
/**
|
|
81
|
+
* The feature has been completed
|
|
82
|
+
*/
|
|
83
|
+
COMPLETED = "COMPLETED",
|
|
84
|
+
/**
|
|
85
|
+
* The feature has been interrupted
|
|
86
|
+
*/
|
|
87
|
+
INTERRUPTED = "INTERRUPTED",
|
|
17
88
|
}
|
|
18
89
|
|
|
90
|
+
// ===========================================================================-
|
|
91
|
+
// --------------------------- Available Types -------------------------------
|
|
92
|
+
// ===========================================================================
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* A list of component where features can be Defined
|
|
96
|
+
*
|
|
97
|
+
* [!] On this component Feature Definition is Available
|
|
98
|
+
*/
|
|
99
|
+
export type A_TYPES__FeatureAvailableComponents = InstanceType<A_TYPES__FeatureAvailableConstructors>
|
|
100
|
+
/**
|
|
101
|
+
* A list of constructors where features can be Defined
|
|
102
|
+
*
|
|
103
|
+
* [!] On this component Feature Definition is Available
|
|
104
|
+
*/
|
|
105
|
+
export type A_TYPES__FeatureAvailableConstructors = A_TYPES__Component_Constructor
|
|
106
|
+
| A_TYPES__Entity_Constructor
|
|
107
|
+
| A_TYPES__Container_Constructor
|
|
108
|
+
|
|
19
109
|
|
|
20
110
|
|
|
21
|
-
|
|
111
|
+
// ===========================================================================
|
|
112
|
+
// --------------------------- Decorator Types -------------------------------
|
|
113
|
+
// ===========================================================================
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
// --------------------Feature Define Decorator Types-------------------------
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
/**
|
|
118
|
+
* Indicates a type of Feature Define decorator
|
|
119
|
+
*/
|
|
120
|
+
export type A_TYPES__FeatureDefineDecoratorDescriptor =
|
|
121
|
+
TypedPropertyDescriptor<() => any>
|
|
122
|
+
| TypedPropertyDescriptor<(...args: any[]) => any>
|
|
123
|
+
| TypedPropertyDescriptor<(...args: any[]) => Promise<any>>
|
|
124
|
+
| TypedPropertyDescriptor<() => Promise<any>>
|
|
125
|
+
/**
|
|
126
|
+
* Describes additional configuration properties to be used in Feature Define decorator
|
|
127
|
+
*/
|
|
128
|
+
export type A_TYPES__FeatureDefineDecoratorConfig = {
|
|
22
129
|
/**
|
|
23
|
-
*
|
|
130
|
+
* Feature name
|
|
131
|
+
*
|
|
132
|
+
* [!] By default uses the method name
|
|
24
133
|
*/
|
|
25
134
|
name: string,
|
|
26
135
|
/**
|
|
27
|
-
*
|
|
136
|
+
* Indicates a default behavior of the feature. If true the feature will be automatically attached to the execution.
|
|
137
|
+
*
|
|
138
|
+
* [!] Before feature execution the method itself will be called to prepare the feature template
|
|
139
|
+
* [!] Default is false
|
|
28
140
|
*/
|
|
29
|
-
|
|
141
|
+
invoke: boolean,
|
|
30
142
|
/**
|
|
31
|
-
*
|
|
143
|
+
* Allows to add a default behavior or number of steps that will be part of the feature
|
|
32
144
|
*/
|
|
33
|
-
|
|
145
|
+
template: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Describes a single template item used in Feature Define decorator
|
|
149
|
+
*/
|
|
150
|
+
export type A_TYPES__FeatureDefineDecoratorTemplateItem = A_TYPES__Required<Partial<A_TYPES__A_StageStep>, ['name', 'handler', 'component']>
|
|
151
|
+
/**
|
|
152
|
+
* Describes a target where Feature Define decorator can be applied
|
|
153
|
+
*
|
|
154
|
+
* [!] The feature can be defined on Container, Entity, Component or Command
|
|
155
|
+
*/
|
|
156
|
+
export type A_TYPES__FeatureDefineDecoratorTarget = A_Container
|
|
157
|
+
| A_Entity
|
|
158
|
+
| A_Component
|
|
159
|
+
/**
|
|
160
|
+
* A type of Meta information stored by Feature Define decorator
|
|
161
|
+
* This information then uses by A-Context to build a proper feature template
|
|
162
|
+
*/
|
|
163
|
+
export type A_TYPES__FeatureDefineDecoratorMeta = {
|
|
164
|
+
/**
|
|
165
|
+
* Feature name
|
|
166
|
+
* mainly it's a unique combination of the class name and method name
|
|
167
|
+
*/
|
|
168
|
+
name: string,
|
|
169
|
+
/**
|
|
170
|
+
* Actual method name in the class
|
|
171
|
+
*/
|
|
172
|
+
handler: string,
|
|
173
|
+
/**
|
|
174
|
+
* Indicates a default behavior of the feature. If true the feature will be automatically attached to the execution.
|
|
175
|
+
*
|
|
176
|
+
* [!] Before feature execution the method itself will be called to prepare the feature template
|
|
177
|
+
* [!] Default is false
|
|
178
|
+
*/
|
|
179
|
+
invoke: boolean,
|
|
180
|
+
/**
|
|
181
|
+
* Allows to add a default behavior or number of steps that will be part of the feature
|
|
182
|
+
*/
|
|
183
|
+
template: Array<A_TYPES__A_StageStep>
|
|
184
|
+
}
|
|
185
|
+
// ---------------------------------------------------------------------------
|
|
186
|
+
// --------------------Feature Extend Decorator Types-------------------------
|
|
187
|
+
// ---------------------------------------------------------------------------
|
|
188
|
+
/**
|
|
189
|
+
* Descriptor type for A_Extend decorator
|
|
190
|
+
*/
|
|
191
|
+
export type A_TYPES__FeatureExtendDecoratorDescriptor =
|
|
192
|
+
TypedPropertyDescriptor<() => any>
|
|
193
|
+
| TypedPropertyDescriptor<(...args: any[]) => any>
|
|
194
|
+
| TypedPropertyDescriptor<(...args: any[]) => Promise<any>>
|
|
195
|
+
| TypedPropertyDescriptor<() => Promise<any>>
|
|
196
|
+
/**
|
|
197
|
+
* Target type for A_Extend decorator
|
|
198
|
+
*
|
|
199
|
+
* [!] Can be applied only on A-Components
|
|
200
|
+
*/
|
|
201
|
+
export type A_TYPES__FeatureExtendDecoratorTarget = A_Component
|
|
202
|
+
/**
|
|
203
|
+
* Meta type for A_Extend decorator
|
|
204
|
+
*/
|
|
205
|
+
export type A_TYPES__FeatureExtendDecoratorMeta = {
|
|
206
|
+
/**
|
|
207
|
+
* Original Feature Extension name
|
|
208
|
+
*
|
|
209
|
+
* [!] could be string or regex
|
|
210
|
+
*/
|
|
211
|
+
name: string,
|
|
212
|
+
/**
|
|
213
|
+
* Actual method name in the class
|
|
214
|
+
*/
|
|
215
|
+
handler: string
|
|
216
|
+
} & A_TYPES__FeatureExtendDecoratorBehaviorConfig
|
|
217
|
+
/**
|
|
218
|
+
* Configuration type for A_Extend decorator
|
|
219
|
+
*/
|
|
220
|
+
export type A_TYPES__FeatureExtendDecoratorConfig = {
|
|
34
221
|
/**
|
|
222
|
+
* Name of the container Lifecycle method to be extended.
|
|
35
223
|
*
|
|
224
|
+
* [!] If not provided will be used the name of the method.
|
|
225
|
+
* [!!] If name contains "." dot it will be considered as a path to the method.
|
|
36
226
|
*/
|
|
37
|
-
|
|
227
|
+
name: string,
|
|
228
|
+
/**
|
|
229
|
+
* Container class or container name uses to identify the proper container in case when the name is not unique.
|
|
230
|
+
*
|
|
231
|
+
* [!] If not provided will be applied to all containers with the same name.
|
|
232
|
+
* [!!] By default uses OR to join all provided items. If you need more complex Logic, please use Regexp instead
|
|
233
|
+
*
|
|
234
|
+
* [!!!] In case if you need to exclude some containers, entities or components, please use "exclude" property
|
|
235
|
+
*
|
|
236
|
+
* Example:
|
|
237
|
+
*
|
|
238
|
+
* ```ts
|
|
239
|
+
* @A_Feature.Extend({
|
|
240
|
+
* name: 'load',
|
|
241
|
+
* scope: {
|
|
242
|
+
* include: [A_Container1, A_Entity1],
|
|
243
|
+
* exclude: [A_Component1]
|
|
244
|
+
* }
|
|
245
|
+
* })
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
scope: Array<A_TYPES__FeatureExtendDecoratorScopeItem> | Partial<A_TYPES__FeatureExtendDecoratorScopeConfig>,
|
|
249
|
+
} & A_TYPES__FeatureExtendDecoratorBehaviorConfig
|
|
250
|
+
/**
|
|
251
|
+
* Scope item that can be used in A_Extend decorator configuration
|
|
252
|
+
*/
|
|
253
|
+
export type A_TYPES__FeatureExtendDecoratorScopeConfig = {
|
|
254
|
+
/**
|
|
255
|
+
* A list of components, entities or containers to include in the scope of the extension
|
|
256
|
+
*/
|
|
257
|
+
include?: Array<A_TYPES__FeatureExtendDecoratorScopeItem>,
|
|
258
|
+
/**
|
|
259
|
+
* A list of components, entities or containers to exclude from the scope of the extension
|
|
260
|
+
*/
|
|
261
|
+
exclude?: Array<A_TYPES__FeatureExtendDecoratorScopeItem>
|
|
38
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* A single item that can be used in scope configuration
|
|
265
|
+
*/
|
|
266
|
+
export type A_TYPES__FeatureExtendDecoratorScopeItem = { new(...args: any[]): A_Container }
|
|
267
|
+
| { new(...args: any[]): A_Entity }
|
|
268
|
+
| { new(...args: any[]): A_Component }
|
|
269
|
+
/**
|
|
270
|
+
* Behavior configuration for A_Extend decorator
|
|
271
|
+
*/
|
|
272
|
+
export type A_TYPES__FeatureExtendDecoratorBehaviorConfig = {
|
|
273
|
+
/**
|
|
274
|
+
* The behavior of the method.
|
|
275
|
+
* In case its async it will be executed independently from the main thread.
|
|
276
|
+
*
|
|
277
|
+
* [!] However, in case of sync, it will be executed in the main thread.in the order of the declaration.
|
|
278
|
+
*
|
|
279
|
+
*/
|
|
280
|
+
behavior: 'async' | 'sync'
|
|
39
281
|
|
|
40
|
-
export enum A_TYPES__FeatureState {
|
|
41
|
-
INITIALIZED = "INITIALIZED",
|
|
42
|
-
PROCESSING = "PROCESSING",
|
|
43
282
|
|
|
44
|
-
|
|
45
|
-
|
|
283
|
+
/**
|
|
284
|
+
* Allows to define the order of the execution of the method.
|
|
285
|
+
*
|
|
286
|
+
* [!] In case the method has circular dependencies it will Throw an error.
|
|
287
|
+
*
|
|
288
|
+
*/
|
|
289
|
+
before: string[]
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Allows to define the order of the execution of the method.
|
|
293
|
+
*
|
|
294
|
+
* [!] In case the method has circular dependencies it will Throw an error.
|
|
295
|
+
*
|
|
296
|
+
*/
|
|
297
|
+
after: string[]
|
|
46
298
|
}
|
|
47
299
|
|
|
48
300
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
// */
|
|
57
|
-
// handler: string,
|
|
58
|
-
// /**
|
|
59
|
-
// * Original Feature Extension name
|
|
60
|
-
// *
|
|
61
|
-
// * [!] could be string or regex
|
|
62
|
-
// *
|
|
63
|
-
// */
|
|
64
|
-
// name: string,
|
|
65
|
-
// /**
|
|
66
|
-
// * Arguments to be passed to the method
|
|
67
|
-
// */
|
|
68
|
-
// args: A_TYPES__A_InjectDecorator_Meta
|
|
69
|
-
// }
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
@@ -1,132 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
2
|
+
import { A_TYPES__Fragment_Init } from "./A-Fragment.types";
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* A-Fragment = Context Fragments is a set of arguments that can be used to define a Context for the pipeline.
|
|
7
|
-
* In other words it is a dynamic context that will be created on pipeline start and destroyed on pipeline end.
|
|
8
|
-
* During the execution of the pipeline, the Context Fragments can be used to pass the data between the pipeline steps.
|
|
9
|
-
*
|
|
10
|
-
* Or to store the data that is required for the pipeline execution
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
|
-
export class A_Fragment {
|
|
14
|
-
|
|
15
|
-
name: string;
|
|
16
|
-
|
|
17
5
|
|
|
6
|
+
export class A_Fragment<
|
|
7
|
+
_MemoryItems extends Record<string, any> = any
|
|
8
|
+
> {
|
|
18
9
|
/**
|
|
19
|
-
*
|
|
10
|
+
* Fragment Name
|
|
20
11
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
constructor(params: Partial<A_TYPES__FragmentConstructor> = {}) {
|
|
25
|
-
|
|
26
|
-
this.name = params.name || this.constructor.name;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Register the Namespace in the global Namespace provider
|
|
30
|
-
*/
|
|
31
|
-
this.name = params.name || this.constructor.name;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Run Async Initialization
|
|
35
|
-
*/
|
|
36
|
-
this.init();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
private hasInherited(cl: { new(...args: any[]) }): boolean {
|
|
43
|
-
return this.constructor === cl
|
|
44
|
-
? false
|
|
45
|
-
: true
|
|
46
|
-
}
|
|
47
|
-
|
|
12
|
+
name: string;
|
|
48
13
|
/**
|
|
49
|
-
*
|
|
14
|
+
* Memory storage for the Fragment instance
|
|
50
15
|
*/
|
|
51
|
-
|
|
52
|
-
if (!this.ready)
|
|
53
|
-
this.ready = new Promise(async (resolve, reject) => {
|
|
54
|
-
try {
|
|
55
|
-
await this.onBeforeInit();
|
|
16
|
+
protected _meta: A_Meta<_MemoryItems> = new A_Meta<_MemoryItems>();
|
|
56
17
|
|
|
57
|
-
await this.onInit();
|
|
58
|
-
|
|
59
|
-
await this.onAfterInit();
|
|
60
|
-
|
|
61
|
-
return resolve();
|
|
62
|
-
} catch (error) {
|
|
63
|
-
return reject(error);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
else
|
|
67
|
-
await this.ready;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
// ==============================================================
|
|
77
|
-
// ======================= HOOKS ================================
|
|
78
|
-
// ==============================================================
|
|
79
18
|
|
|
80
19
|
/**
|
|
81
|
-
*
|
|
20
|
+
* A-Fragment is a singleton, a piece of execution Context that can be shared between the Components/Entities/Commands
|
|
21
|
+
* For every A_Scope can be defined only One A_Fragment of the same type.
|
|
22
|
+
* This class is useful for the design purpose and maintainance of the application
|
|
82
23
|
*
|
|
83
|
-
*
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Main initialization method for the SDK
|
|
24
|
+
*
|
|
25
|
+
* [!] Every A_Fragment is a Memory Class that can store data in memory between the steps of the pipeline.
|
|
26
|
+
* [!] So if it necessary to store some information in the Execution Context - use memory of the Fragment
|
|
91
27
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// // log only in case of A_AUTH_Error
|
|
98
|
-
// if (error instanceof A_Error)
|
|
99
|
-
// this.Logger.error(error);
|
|
100
|
-
// });
|
|
101
|
-
// // eslint-disable-next-line no-use-before-define
|
|
102
|
-
// process.on('unhandledRejection', (error) => {
|
|
103
|
-
// if (error instanceof A_Error)
|
|
104
|
-
// this.Logger.error(error);
|
|
105
|
-
// });
|
|
106
|
-
}
|
|
28
|
+
constructor(params: Partial<A_TYPES__Fragment_Init> = {}) {
|
|
29
|
+
/**
|
|
30
|
+
* Register the Namespace in the global Namespace provider
|
|
31
|
+
*/
|
|
32
|
+
this.name = params.name || this.constructor.name;
|
|
107
33
|
}
|
|
108
34
|
|
|
109
35
|
/**
|
|
110
|
-
*
|
|
36
|
+
* Returns the Meta object that allows to store data in the Fragment memory
|
|
111
37
|
*
|
|
112
|
-
* @returns
|
|
38
|
+
* @returns
|
|
113
39
|
*/
|
|
114
|
-
|
|
115
|
-
return;
|
|
40
|
+
get memory(): A_Meta<_MemoryItems> {
|
|
41
|
+
return this._meta;
|
|
116
42
|
}
|
|
117
43
|
|
|
118
44
|
|
|
119
45
|
|
|
120
46
|
|
|
121
|
-
|
|
122
47
|
/**
|
|
123
48
|
* Returns the JSON representation of the Fragment
|
|
124
49
|
*
|
|
125
50
|
* @returns
|
|
126
51
|
*/
|
|
127
|
-
toJSON():
|
|
52
|
+
toJSON(): _MemoryItems & { name: string } {
|
|
128
53
|
return {
|
|
129
54
|
name: this.name,
|
|
55
|
+
...this.memory.toArray().reduce((acc, [key, value]) => {
|
|
56
|
+
acc[key] = value;
|
|
57
|
+
return acc;
|
|
58
|
+
}, {} as _MemoryItems)
|
|
130
59
|
};
|
|
131
60
|
}
|
|
132
61
|
|
|
@@ -1,6 +1,28 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// --------------------------- Primary Types ----------------------------------
|
|
3
|
+
// ============================================================================
|
|
1
4
|
|
|
5
|
+
import { A_Fragment } from "./A-Fragment.class";
|
|
2
6
|
|
|
3
|
-
|
|
4
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Fragment constructor type
|
|
9
|
+
* Uses the generic type T to specify the type of the fragment
|
|
10
|
+
*/
|
|
11
|
+
export type A_TYPES__Fragment_Constructor<T = A_Fragment> = new (...args: any[]) => T;
|
|
12
|
+
/**
|
|
13
|
+
* Fragment initialization type
|
|
14
|
+
*/
|
|
15
|
+
export type A_TYPES__Fragment_Init = {
|
|
5
16
|
name: string
|
|
6
|
-
}
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Fragment serialized type
|
|
20
|
+
*/
|
|
21
|
+
export type A_TYPES__Fragment_Serialized = {
|
|
22
|
+
/**
|
|
23
|
+
* The ASEID of the fragment
|
|
24
|
+
*/
|
|
25
|
+
aseid: string
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|