@adaas/a-concept 0.0.63 → 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 +406 -63
- package/dist/src/global/A-Scope/A-Scope.class.js +533 -287
- 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 +50 -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 +841 -443
- package/src/global/A-Scope/A-Scope.error.ts +13 -0
- package/src/global/A-Scope/A-Scope.types.ts +65 -26
- 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/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/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,57 +1,91 @@
|
|
|
1
|
-
import { A_Abstraction_Extend } from "@adaas/a-concept/
|
|
1
|
+
import { A_Abstraction_Extend } from "@adaas/a-concept/global/A-Abstraction/A-Abstraction-Extend.decorator";
|
|
2
2
|
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
3
|
-
import {
|
|
4
|
-
import { A_Error, A_TYPES__Required } from "@adaas/a-utils";
|
|
3
|
+
import { A_TYPES__Abstraction_Init } from "./A-Abstraction.types";
|
|
5
4
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
6
5
|
|
|
7
6
|
|
|
7
|
+
|
|
8
8
|
export class A_Abstraction {
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* The name of the Abstraction e.g. 'deploy', 'start', 'test', etc.
|
|
12
|
+
*/
|
|
13
|
+
protected _name: string;
|
|
14
|
+
/**
|
|
15
|
+
* List of features that are part of this Abstraction
|
|
16
|
+
*/
|
|
17
|
+
protected _features: A_Feature[] = [];
|
|
18
|
+
/**
|
|
19
|
+
* The Feature currently being processed
|
|
20
|
+
*/
|
|
12
21
|
protected _current?: A_Feature;
|
|
22
|
+
/**
|
|
23
|
+
* Actual Index of the current Feature being processed
|
|
24
|
+
*/
|
|
13
25
|
protected _index: number = 0;
|
|
14
26
|
|
|
15
|
-
state: A_TYPES__AbstractionState = A_TYPES__AbstractionState.INITIALIZED;
|
|
16
|
-
error?: A_Error
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
readonly Scope!: A_Scope;
|
|
20
27
|
|
|
21
28
|
/**
|
|
22
|
-
*
|
|
29
|
+
* Allows to extends A-Abstraction with additional methods
|
|
23
30
|
*/
|
|
24
31
|
static get Extend(): typeof A_Abstraction_Extend {
|
|
25
32
|
return A_Abstraction_Extend;
|
|
26
33
|
}
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
/**
|
|
36
|
+
* A-Abstraction is an object that is common for any application.
|
|
37
|
+
* By providing components and creating abstraction extensions it's possible to create a unique behavior of the whole solution.
|
|
38
|
+
*
|
|
39
|
+
* Every application has basic abstractions like 'start', 'stop', 'deploy', 'test', etc.
|
|
40
|
+
* They can be easily extended with additional logic from both containers and components.
|
|
41
|
+
*
|
|
42
|
+
*
|
|
43
|
+
* @param params
|
|
44
|
+
*/
|
|
29
45
|
constructor(
|
|
30
46
|
/**
|
|
31
47
|
* Parameters to define the A-Abstraction
|
|
32
48
|
*/
|
|
33
|
-
params:
|
|
49
|
+
params: A_TYPES__Abstraction_Init
|
|
34
50
|
) {
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
this.features = params.features.map(def => new A_Feature(def));
|
|
51
|
+
this._name = params.name;
|
|
38
52
|
|
|
39
|
-
this.
|
|
40
|
-
|
|
53
|
+
this._features = params.containers.map(container => {
|
|
54
|
+
return new A_Feature({ name: this._name, component: container, })
|
|
55
|
+
});
|
|
41
56
|
|
|
57
|
+
this._current = this._features[0];
|
|
58
|
+
}
|
|
42
59
|
|
|
60
|
+
/**
|
|
61
|
+
* Returns the name of the Abstraction
|
|
62
|
+
*/
|
|
63
|
+
get name(): string { return this._name; }
|
|
64
|
+
/**
|
|
65
|
+
* Returns the current Feature being processed
|
|
66
|
+
*/
|
|
43
67
|
get feature(): A_Feature | undefined {
|
|
44
68
|
return this._current;
|
|
45
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* This method checks if the A-Feature is done
|
|
72
|
+
*
|
|
73
|
+
* @returns
|
|
74
|
+
*/
|
|
75
|
+
get isDone(): boolean {
|
|
76
|
+
return !this.feature
|
|
77
|
+
|| this._index >= this._features.length
|
|
78
|
+
|
|
79
|
+
}
|
|
46
80
|
|
|
47
81
|
|
|
48
82
|
[Symbol.iterator](): Iterator<A_Feature, any> {
|
|
49
83
|
return {
|
|
50
84
|
// Custom next method
|
|
51
85
|
next: (): IteratorResult<A_Feature, any> => {
|
|
52
|
-
if (!this.isDone
|
|
86
|
+
if (!this.isDone) {
|
|
53
87
|
|
|
54
|
-
this._current = this.
|
|
88
|
+
this._current = this._features[this._index];
|
|
55
89
|
|
|
56
90
|
return {
|
|
57
91
|
value: this._current,
|
|
@@ -71,68 +105,40 @@ export class A_Abstraction {
|
|
|
71
105
|
}
|
|
72
106
|
|
|
73
107
|
/**
|
|
74
|
-
* This method moves the
|
|
108
|
+
* This method moves the Abstraction processing to the next Feature in the list
|
|
75
109
|
*
|
|
76
110
|
* @param stage
|
|
77
111
|
*/
|
|
78
112
|
next(stage) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
this._index = stageIndex + 1;
|
|
82
|
-
|
|
83
|
-
if (this._index >= this.features.length) {
|
|
84
|
-
this.completed();
|
|
113
|
+
if (this._index >= this._features.length) {
|
|
114
|
+
return;
|
|
85
115
|
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
async completed(): Promise<void> {
|
|
89
|
-
this.state = A_TYPES__AbstractionState.COMPLETED;
|
|
90
|
-
}
|
|
91
116
|
|
|
117
|
+
const stageIndex = this._features.indexOf(stage);
|
|
92
118
|
|
|
93
|
-
|
|
94
|
-
* This method marks the feature as failed and throws an error
|
|
95
|
-
* Uses to interrupt or end the feature processing
|
|
96
|
-
*
|
|
97
|
-
* @param error
|
|
98
|
-
*/
|
|
99
|
-
async failed(
|
|
100
|
-
error: Error | A_Error | unknown
|
|
101
|
-
): Promise<void> {
|
|
102
|
-
this.error = error as A_Error;
|
|
103
|
-
this.state = A_TYPES__AbstractionState.FAILED;
|
|
119
|
+
this._index = stageIndex + 1;
|
|
104
120
|
}
|
|
105
121
|
|
|
106
122
|
|
|
123
|
+
|
|
107
124
|
/**
|
|
108
|
-
*
|
|
125
|
+
* Allows to process all stages of the Abstraction
|
|
109
126
|
*
|
|
110
127
|
* @returns
|
|
111
128
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
async process() {
|
|
121
|
-
if (this.isDone())
|
|
129
|
+
async process(
|
|
130
|
+
/**
|
|
131
|
+
* Allows to override the scope in which the Abstraction will be processed
|
|
132
|
+
*
|
|
133
|
+
*/
|
|
134
|
+
scope?: A_Scope
|
|
135
|
+
) {
|
|
136
|
+
if (this.isDone)
|
|
122
137
|
return;
|
|
123
|
-
try {
|
|
124
|
-
this.state = A_TYPES__AbstractionState.PROCESSING;
|
|
125
|
-
|
|
126
|
-
for (const feature of this.features) {
|
|
127
138
|
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
await this.completed();
|
|
139
|
+
for (const feature of this._features) {
|
|
132
140
|
|
|
133
|
-
|
|
134
|
-
await this.failed(error);
|
|
141
|
+
await feature.process(scope);
|
|
135
142
|
}
|
|
136
|
-
|
|
137
143
|
}
|
|
138
144
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { A_Error } from "../A-Error/A_Error.class";
|
|
2
|
+
|
|
3
|
+
export class A_AbstractionError extends A_Error {
|
|
4
|
+
/**
|
|
5
|
+
* This error code indicates that there was an issue extending the abstraction execution
|
|
6
|
+
*/
|
|
7
|
+
static readonly AbstractionExtensionError = 'Unable to extend abstraction execution';
|
|
8
|
+
|
|
9
|
+
}
|
|
@@ -1,9 +1,23 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A_Component } from "../A-Component/A-Component.class";
|
|
2
|
+
import { A_Container } from "../A-Container/A-Container.class";
|
|
3
|
+
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
4
|
+
import { A_TYPES__FeatureExtendDecoratorConfig } from "../A-Feature/A-Feature.types";
|
|
2
5
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
6
|
+
import { A_Abstraction } from "./A-Abstraction.class";
|
|
3
7
|
|
|
4
8
|
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// --------------------------- Primary Types ----------------------------------
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Abstraction constructor type
|
|
14
|
+
* Uses the generic type T to specify the type of the abstraction
|
|
15
|
+
*/
|
|
16
|
+
export type A_TYPES__Abstraction_Constructor<T = A_Abstraction> = new (...args: any[]) => T;
|
|
17
|
+
/**
|
|
18
|
+
* Abstraction initialization type
|
|
19
|
+
*/
|
|
20
|
+
export type A_TYPES__Abstraction_Init = {
|
|
7
21
|
/**
|
|
8
22
|
* Name of the A-Abstraction
|
|
9
23
|
*/
|
|
@@ -11,19 +25,44 @@ export type A_TYPES__A_AbstractionConstructor = {
|
|
|
11
25
|
/**
|
|
12
26
|
* Features that compose the A-Abstraction
|
|
13
27
|
*/
|
|
14
|
-
|
|
28
|
+
containers: Array<A_Container>
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Abstraction serialized type
|
|
32
|
+
*/
|
|
33
|
+
export type A_TYPES__Abstraction_Serialized = {
|
|
15
34
|
/**
|
|
16
|
-
*
|
|
35
|
+
* The ASEID of the abstraction
|
|
17
36
|
*/
|
|
18
|
-
|
|
19
|
-
}
|
|
37
|
+
aseid: string
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Components that can extend Abstractions
|
|
44
|
+
*/
|
|
45
|
+
export type A_TYPES__AbstractionAvailableComponents = A_Component
|
|
46
|
+
| A_Container
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
// ===========================================================================
|
|
50
|
+
// --------------------------- Decorator Types -------------------------------
|
|
51
|
+
// ===========================================================================
|
|
20
52
|
|
|
53
|
+
export type A_TYPES__AbstractionDecoratorDescriptor =
|
|
21
54
|
|
|
55
|
+
TypedPropertyDescriptor<() => any>
|
|
56
|
+
|
|
|
57
|
+
TypedPropertyDescriptor<(
|
|
58
|
+
...args: any[]
|
|
59
|
+
) => any>
|
|
60
|
+
|
|
|
61
|
+
TypedPropertyDescriptor<(
|
|
62
|
+
...args: any[]
|
|
63
|
+
) => Promise<any>>
|
|
64
|
+
|
|
|
65
|
+
TypedPropertyDescriptor<() => Promise<any>>
|
|
22
66
|
|
|
23
|
-
export enum A_TYPES__AbstractionState {
|
|
24
|
-
INITIALIZED = "INITIALIZED",
|
|
25
|
-
PROCESSING = "PROCESSING",
|
|
26
67
|
|
|
27
|
-
|
|
28
|
-
FAILED = "FAILED",
|
|
29
|
-
}
|
|
68
|
+
export type A_TYPES__AbstractionDecoratorConfig = A_TYPES__FeatureExtendDecoratorConfig
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { A_TypeGuards } from "@adaas/a-concept/helpers/A_TypeGuards.helper";
|
|
2
|
+
import { A_TYPES__FeatureAvailableComponents } from "../A-Feature/A-Feature.types";
|
|
3
|
+
import { A_CallerError } from "./A_Caller.error";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This is a common class that uses to return an entity that initiates a feature call
|
|
9
|
+
*
|
|
10
|
+
* It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
|
|
11
|
+
*
|
|
12
|
+
* [!] the class itself may be retrieved, but may require additional processing inside the feature
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
export class A_Caller<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The component that initiated the feature call
|
|
19
|
+
*/
|
|
20
|
+
protected _component: T;
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A_Caller allows to get the component that initiated the feature call
|
|
25
|
+
*
|
|
26
|
+
* It can be used then in @A_Inject(A_Caller) to get the entity that initiated the feature call
|
|
27
|
+
*
|
|
28
|
+
* [!] If Scope is not provided, a new empty scope will be created and inherited from the global scope
|
|
29
|
+
*
|
|
30
|
+
* @param component
|
|
31
|
+
* @param scope
|
|
32
|
+
*/
|
|
33
|
+
constructor(
|
|
34
|
+
component: T
|
|
35
|
+
) {
|
|
36
|
+
this.validateParams(component);
|
|
37
|
+
|
|
38
|
+
this._component = component;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
get component(): T {
|
|
42
|
+
return this._component;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Validates the provided parameters and Ensures that the component is of an allowed type
|
|
48
|
+
*
|
|
49
|
+
* @param component
|
|
50
|
+
*/
|
|
51
|
+
protected validateParams(
|
|
52
|
+
component: T
|
|
53
|
+
) {
|
|
54
|
+
if (!A_TypeGuards.isAllowedForFeatureCall(component)) {
|
|
55
|
+
throw new A_CallerError(
|
|
56
|
+
A_CallerError.CallerInitializationError,
|
|
57
|
+
`Invalid A-Caller component provided of type: ${typeof component} with value: ${JSON.stringify(component).slice(0, 100)}...`
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { A_Error } from "../A-Error/A_Error.class";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export class A_CallerError extends A_Error {
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* This error code indicates that there was an issue initializing the A-Caller
|
|
8
|
+
*/
|
|
9
|
+
static readonly CallerInitializationError = 'Unable to initialize A-Caller';
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { A_Component } from "../A-Component/A-Component.class";
|
|
2
|
+
import { A_Container } from "../A-Container/A-Container.class";
|
|
3
|
+
import { A_Entity } from "../A-Entity/A-Entity.class";
|
|
4
|
+
import { A_Caller } from "./A_Caller.class";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
export type A_TYPES__CallerComponent = A_Container | A_Component | A_Entity;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// --------------------------- Primary Types ----------------------------------
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Caller constructor type
|
|
15
|
+
* Uses the generic type T to specify the type of the caller component
|
|
16
|
+
*/
|
|
17
|
+
export type A_TYPES__Caller_Constructor<T = A_Caller> = new (...args: any[]) => T;
|
|
18
|
+
/**
|
|
19
|
+
* Caller initialization type
|
|
20
|
+
*/
|
|
21
|
+
export type A_TYPES__Caller_Init = {};
|
|
22
|
+
/**
|
|
23
|
+
* Caller serialized type
|
|
24
|
+
*/
|
|
25
|
+
export type A_TYPES__Caller_Serialized = {};
|
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
import { A_Context } from "../A-Context/A-Context.class";
|
|
2
|
-
import {
|
|
3
|
-
import { A_TYPES__FeatureCallParams } from "../A-Feature/A-Feature.types";
|
|
2
|
+
import { A_Feature } from "../A-Feature/A-Feature.class";
|
|
4
3
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
5
4
|
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
|
-
*
|
|
8
|
+
* A-Component is a primary "extendable" object in the system
|
|
9
|
+
* A unique combination of Components creates completely new functionality
|
|
10
10
|
*
|
|
11
|
+
* The most important thing is that A-Component is STATELESS, it means that it doesn't store any state in itself
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
* [!] Every A-Component is a singleton, so if you need to create multiple instances of the same logic - use A-Container
|
|
15
|
+
* [!] So one scope can have only one instance of the same A-Component
|
|
16
|
+
* [!] Every A-Component can be extended by features and extensions
|
|
17
|
+
* [!] ONLY A-Component can have A-Feature extensions
|
|
18
|
+
*
|
|
11
19
|
*/
|
|
12
20
|
export class A_Component {
|
|
13
|
-
constructor() {
|
|
14
|
-
}
|
|
15
|
-
|
|
16
21
|
|
|
17
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Calls the feature with the given name in the given scope
|
|
25
|
+
*
|
|
26
|
+
* [!] Note: This method creates a new instance of the feature every time it is called
|
|
27
|
+
*
|
|
28
|
+
* @param feature - the name of the feature to call
|
|
29
|
+
* @param scope - the scope in which to call the feature
|
|
30
|
+
* @returns - void
|
|
31
|
+
*/
|
|
18
32
|
async call(
|
|
19
33
|
/**
|
|
20
34
|
* Name of the feature to call
|
|
@@ -23,17 +37,14 @@ export class A_Component {
|
|
|
23
37
|
/**
|
|
24
38
|
* Scope in which the feature will be executed
|
|
25
39
|
*/
|
|
26
|
-
scope
|
|
40
|
+
scope?: A_Scope
|
|
27
41
|
) {
|
|
42
|
+
const newFeature = new A_Feature({
|
|
43
|
+
name: feature,
|
|
44
|
+
component: this
|
|
45
|
+
});
|
|
28
46
|
|
|
29
|
-
|
|
30
|
-
scope = scope.inherit(A_Context.scope(this));
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
const newFeature = A_Context.feature(this, feature, scope);
|
|
35
|
-
|
|
36
|
-
return await newFeature.process();
|
|
47
|
+
return await newFeature.process(scope);
|
|
37
48
|
}
|
|
38
49
|
}
|
|
39
50
|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/
|
|
2
|
-
import { A_TYPES__ConceptAbstractionMeta
|
|
1
|
+
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/global/A-Inject/A-Inject.types";
|
|
2
|
+
import { A_TYPES__ConceptAbstractionMeta } from "../A-Concept/A-Concept.types";
|
|
3
3
|
import { A_Meta } from "../A-Meta/A-Meta.class";
|
|
4
|
-
import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension
|
|
5
|
-
import {
|
|
4
|
+
import { A_TYPES__ComponentMeta, A_TYPES__ComponentMetaExtension } from "./A-Component.types";
|
|
5
|
+
import { A_TYPES__ComponentMetaKey } from "./A-Component.constants";
|
|
6
|
+
import { A_TYPES__FeatureDefineDecoratorMeta } from "../A-Feature/A-Feature.types";
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
11
|
/**
|
|
13
12
|
* Allows to get all the injections for a given handler
|
|
14
13
|
*
|
|
@@ -25,8 +24,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
25
24
|
return args;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
|
|
30
27
|
/**
|
|
31
28
|
* Allows to get all the extensions for a given feature
|
|
32
29
|
*
|
|
@@ -39,7 +36,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
39
36
|
const steps: A_TYPES__ComponentMetaExtension[] = [];
|
|
40
37
|
|
|
41
38
|
const extensions = this.get(A_TYPES__ComponentMetaKey.EXTENSIONS);
|
|
42
|
-
const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
43
39
|
|
|
44
40
|
extensions
|
|
45
41
|
// returns all extensions that match the feature
|
|
@@ -62,14 +58,12 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
62
58
|
return steps;
|
|
63
59
|
}
|
|
64
60
|
|
|
65
|
-
|
|
66
|
-
|
|
67
61
|
/**
|
|
68
62
|
* Returns all features defined in the Component
|
|
69
63
|
*
|
|
70
64
|
* @returns
|
|
71
65
|
*/
|
|
72
|
-
features(): Array<
|
|
66
|
+
features(): Array<A_TYPES__FeatureDefineDecoratorMeta> {
|
|
73
67
|
|
|
74
68
|
const features = this.get(A_TYPES__ComponentMetaKey.FEATURES);
|
|
75
69
|
|
|
@@ -78,7 +72,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
78
72
|
.map(([, feature]) => feature) || [];
|
|
79
73
|
}
|
|
80
74
|
|
|
81
|
-
|
|
82
75
|
/**
|
|
83
76
|
* Returns a set of instructions to run proper methods in Component during A-Concept Stage
|
|
84
77
|
*
|
|
@@ -93,9 +86,6 @@ export class A_ComponentMeta extends A_Meta<A_TYPES__ComponentMeta> {
|
|
|
93
86
|
const abstractions = this.get(A_TYPES__ComponentMetaKey.ABSTRACTIONS);
|
|
94
87
|
const injections = this.get(A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
95
88
|
|
|
96
|
-
// const constructor = A_Context.component(this);
|
|
97
|
-
|
|
98
|
-
|
|
99
89
|
abstractions
|
|
100
90
|
// returns all extensions that match the feature
|
|
101
91
|
?.find(abstraction)
|
|
@@ -1,24 +1,50 @@
|
|
|
1
|
-
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/
|
|
2
|
-
import { A_Fragment } from "../A-Fragment/A-Fragment.class"
|
|
1
|
+
import { A_TYPES__A_InjectDecorator_Meta } from "@adaas/a-concept/global/A-Inject/A-Inject.types"
|
|
3
2
|
import { A_Meta } from "../A-Meta/A-Meta.class"
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { A_TYPES__ConceptAbstraction } from "../A-Concept/A-Concept.types"
|
|
4
|
+
import { A_Component } from "./A-Component.class"
|
|
5
|
+
import { A_TYPES__ComponentMetaKey } from "./A-Component.constants"
|
|
6
|
+
import { A_TYPES__FeatureDefineDecoratorMeta, A_TYPES__FeatureExtendDecoratorBehaviorConfig, A_TYPES__FeatureExtendDecoratorMeta } from "../A-Feature/A-Feature.types"
|
|
7
|
+
|
|
8
|
+
|
|
7
9
|
|
|
8
|
-
export type A_TYPES__ComponentConstructor<_Exports extends Array<String> = any> = {
|
|
9
|
-
exports: _Exports,
|
|
10
|
-
}
|
|
11
10
|
|
|
12
|
-
export type A_TYPES__ComponentCallParams<T extends string> = {
|
|
13
|
-
name: T,
|
|
14
|
-
fragments: Array<A_Fragment>,
|
|
15
|
-
components: Array<{ new(...args: any[]): any }>
|
|
16
|
-
}
|
|
17
11
|
|
|
18
12
|
|
|
13
|
+
// ============================================================================
|
|
14
|
+
// --------------------------- Primary Types ----------------------------------
|
|
15
|
+
// ============================================================================
|
|
16
|
+
/**
|
|
17
|
+
* Component constructor type
|
|
18
|
+
* Uses the generic type T to specify the type of the component
|
|
19
|
+
*/
|
|
20
|
+
export type A_TYPES__Component_Constructor<T = A_Component> = new (...args: any[]) => T;
|
|
21
|
+
/**
|
|
22
|
+
* Component initialization type
|
|
23
|
+
*/
|
|
24
|
+
export type A_TYPES__Component_Init = any;
|
|
25
|
+
/**
|
|
26
|
+
* Component serialized type
|
|
27
|
+
*/
|
|
28
|
+
export type A_TYPES__Component_Serialized = {
|
|
29
|
+
/**
|
|
30
|
+
* The ASEID of the component
|
|
31
|
+
*/
|
|
32
|
+
aseid: string
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// --------------------------- Meta Types -------------------------------------
|
|
39
|
+
// ============================================================================
|
|
40
|
+
/**
|
|
41
|
+
* Component meta type
|
|
42
|
+
*/
|
|
19
43
|
export type A_TYPES__ComponentMeta = {
|
|
44
|
+
/**
|
|
45
|
+
* Extensions applied to the component per handler
|
|
46
|
+
*/
|
|
20
47
|
[A_TYPES__ComponentMetaKey.EXTENSIONS]: A_Meta<{
|
|
21
|
-
|
|
22
48
|
/**
|
|
23
49
|
* Where Key the regexp for what to apply the extension
|
|
24
50
|
* A set of container names or a wildcard, or a regexp
|
|
@@ -26,20 +52,22 @@ export type A_TYPES__ComponentMeta = {
|
|
|
26
52
|
*
|
|
27
53
|
* Where value is the extension instructions
|
|
28
54
|
*/
|
|
29
|
-
[Key: string]:
|
|
55
|
+
[Key: string]: A_TYPES__FeatureExtendDecoratorMeta[]
|
|
30
56
|
}>,
|
|
31
|
-
|
|
32
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Features defined on the component per handler
|
|
59
|
+
*/
|
|
33
60
|
[A_TYPES__ComponentMetaKey.FEATURES]: A_Meta<{
|
|
34
61
|
/**
|
|
35
62
|
* Where Key is the name of the feature
|
|
36
63
|
*
|
|
37
64
|
* Where value is the list of features
|
|
38
65
|
*/
|
|
39
|
-
[Key: string]:
|
|
66
|
+
[Key: string]: A_TYPES__FeatureDefineDecoratorMeta
|
|
40
67
|
}>
|
|
41
|
-
|
|
42
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Injections defined on the component per handler
|
|
70
|
+
*/
|
|
43
71
|
[A_TYPES__ComponentMetaKey.INJECTIONS]: A_Meta<{
|
|
44
72
|
/**
|
|
45
73
|
* Where Key is the name of the injection
|
|
@@ -48,7 +76,9 @@ export type A_TYPES__ComponentMeta = {
|
|
|
48
76
|
*/
|
|
49
77
|
[Key: string]: A_TYPES__A_InjectDecorator_Meta
|
|
50
78
|
}>
|
|
51
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Abstractions extended by the component per handler
|
|
81
|
+
*/
|
|
52
82
|
[A_TYPES__ComponentMetaKey.ABSTRACTIONS]: A_Meta<{
|
|
53
83
|
/**
|
|
54
84
|
* Where Key is the name of the stage
|
|
@@ -59,12 +89,7 @@ export type A_TYPES__ComponentMeta = {
|
|
|
59
89
|
}>
|
|
60
90
|
}
|
|
61
91
|
|
|
62
|
-
|
|
63
|
-
EXTENSIONS = 'a-component-extensions',
|
|
64
|
-
FEATURES = 'a-component-features',
|
|
65
|
-
INJECTIONS = 'a-component-injections',
|
|
66
|
-
ABSTRACTIONS = 'a-component-abstractions',
|
|
67
|
-
}
|
|
92
|
+
|
|
68
93
|
|
|
69
94
|
export type A_TYPES__ComponentMetaExtension = {
|
|
70
95
|
/**
|
|
@@ -75,6 +100,6 @@ export type A_TYPES__ComponentMetaExtension = {
|
|
|
75
100
|
* The name of the handler that will be used to apply the extension
|
|
76
101
|
*/
|
|
77
102
|
handler: string,
|
|
78
|
-
} &
|
|
103
|
+
} & A_TYPES__FeatureExtendDecoratorBehaviorConfig
|
|
79
104
|
|
|
80
105
|
|