@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,151 +0,0 @@
|
|
|
1
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
2
|
-
import {
|
|
3
|
-
A_TYPES__A_ExtendDecorator_ScopeItem,
|
|
4
|
-
A_TYPES__A_ExtendDecoratorConfig,
|
|
5
|
-
A_TYPES__A_ExtendDecoratorDescriptor,
|
|
6
|
-
} from "./A-Feature.decorator.types";
|
|
7
|
-
import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
|
|
8
|
-
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
9
|
-
import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* A-Extend decorator
|
|
16
|
-
*
|
|
17
|
-
* This decorator allows to define a custom Extend stage for the Container.
|
|
18
|
-
* These stages are executed in a container-specific order and can be extended by components that are injected into the container.
|
|
19
|
-
* This approach allows to create a flexible and extendable architecture for the application.
|
|
20
|
-
*
|
|
21
|
-
* The main difference between the A-Extend and A-Extend decorators is that A-Extend methods can be inherited and overridden by child classes.
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @param params
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* Use regexp in case if you need more flexibility and control over the name of the method
|
|
29
|
-
*
|
|
30
|
-
* @param regexp
|
|
31
|
-
*/
|
|
32
|
-
export function A_Feature_Extend(
|
|
33
|
-
regexp: RegExp
|
|
34
|
-
)
|
|
35
|
-
/**
|
|
36
|
-
* In this case the name configurations will be used as an input to get scope and name of target function
|
|
37
|
-
* [!] Not that for all SCOPE will be used OR operator
|
|
38
|
-
*
|
|
39
|
-
* @param config
|
|
40
|
-
*/
|
|
41
|
-
export function A_Feature_Extend(
|
|
42
|
-
config: Partial<A_TYPES__A_ExtendDecoratorConfig>
|
|
43
|
-
)
|
|
44
|
-
/**
|
|
45
|
-
* In this case the name of function will be used as a name of the Feature.
|
|
46
|
-
* [!] AND it will be applicable for ANY element where the name is the same as the name of the function
|
|
47
|
-
*/
|
|
48
|
-
export function A_Feature_Extend()
|
|
49
|
-
export function A_Feature_Extend(
|
|
50
|
-
param1?: Partial<A_TYPES__A_ExtendDecoratorConfig> | RegExp
|
|
51
|
-
) {
|
|
52
|
-
return function (
|
|
53
|
-
target: A_Component,
|
|
54
|
-
propertyKey: string,
|
|
55
|
-
descriptor: A_TYPES__A_ExtendDecoratorDescriptor
|
|
56
|
-
) {
|
|
57
|
-
|
|
58
|
-
let targetRegexp: RegExp;
|
|
59
|
-
let behavior: 'sync' | 'async' = 'sync';
|
|
60
|
-
let before: string[] = [];
|
|
61
|
-
let after: string[] = [];
|
|
62
|
-
let include: Array<A_TYPES__A_ExtendDecorator_ScopeItem> = [];
|
|
63
|
-
let exclude: Array<A_TYPES__A_ExtendDecorator_ScopeItem> = [];
|
|
64
|
-
|
|
65
|
-
// Check if the config is a RegExp
|
|
66
|
-
if (param1 instanceof RegExp) {
|
|
67
|
-
targetRegexp = param1;
|
|
68
|
-
}
|
|
69
|
-
else if (!!param1 && typeof param1 === 'object') {
|
|
70
|
-
|
|
71
|
-
if (Array.isArray(param1.scope))
|
|
72
|
-
include = param1.scope;
|
|
73
|
-
else if (!!param1.scope && typeof param1.scope === 'object') {
|
|
74
|
-
if (Array.isArray(param1.scope.include))
|
|
75
|
-
include = param1.scope.include;
|
|
76
|
-
if (Array.isArray(param1.scope.exclude))
|
|
77
|
-
exclude = param1.scope.exclude;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
targetRegexp = buildTargetRegexp(param1, include, exclude, propertyKey);
|
|
82
|
-
|
|
83
|
-
behavior = param1.behavior || behavior;
|
|
84
|
-
before = param1.before || before;
|
|
85
|
-
after = param1.after || after;
|
|
86
|
-
} else {
|
|
87
|
-
targetRegexp = new RegExp(`^.*\\.${propertyKey}$`);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const existedDefinitions = A_Context
|
|
91
|
-
.meta(target)
|
|
92
|
-
.get(A_TYPES__ComponentMetaKey.FEATURES);
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// Get the existed metadata or create a new one
|
|
97
|
-
const existedMeta = A_Context
|
|
98
|
-
.meta(target)
|
|
99
|
-
.get(A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
100
|
-
|| new A_Meta();
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (existedDefinitions
|
|
104
|
-
&& existedDefinitions.size()
|
|
105
|
-
&& existedDefinitions.has(propertyKey)
|
|
106
|
-
&& existedDefinitions.get(propertyKey)!.invoke
|
|
107
|
-
) {
|
|
108
|
-
|
|
109
|
-
throw new Error(`A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true.
|
|
110
|
-
Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
115
|
-
|
|
116
|
-
// Add the new method to the metadata
|
|
117
|
-
existedMetaValue.push({
|
|
118
|
-
name: targetRegexp.source,
|
|
119
|
-
handler: propertyKey,
|
|
120
|
-
behavior,
|
|
121
|
-
before,
|
|
122
|
-
after
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
// Set the metadata of the method to define a custom Feature with name
|
|
126
|
-
existedMeta.set(targetRegexp.source, existedMetaValue);
|
|
127
|
-
|
|
128
|
-
// Update the metadata of the container with the new Feature definition
|
|
129
|
-
A_Context
|
|
130
|
-
.meta(target)
|
|
131
|
-
.set(A_TYPES__ComponentMetaKey.EXTENSIONS, existedMeta);
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
export function buildTargetRegexp(param1: any, include: any[], exclude: any[], propertyKey: string) {
|
|
138
|
-
const includePart = include.length
|
|
139
|
-
? `(${include.map(el => el.name).join('|')})`
|
|
140
|
-
: `.*`;
|
|
141
|
-
|
|
142
|
-
const excludePart = exclude.length
|
|
143
|
-
? `(?!${exclude.map(el => el.name).join('|')})`
|
|
144
|
-
: ``;
|
|
145
|
-
|
|
146
|
-
const pattern = param1.scope
|
|
147
|
-
? `^${excludePart}${includePart}\\.${param1.name || propertyKey}$`
|
|
148
|
-
: `.*\\.${param1.name || propertyKey}$`;
|
|
149
|
-
|
|
150
|
-
return new RegExp(pattern);
|
|
151
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { A_Channel } from "@adaas/a-concept/global/A-Channel/A-Channel.class";
|
|
2
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class"
|
|
3
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class"
|
|
4
|
-
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class"
|
|
5
|
-
import { A_TYPES__A_StageStep } from "@adaas/a-concept/global/A-Stage/A-Stage.types";
|
|
6
|
-
import { A_TYPES__Required } from "@adaas/a-utils";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export type A_TYPES__A_Feature_Extend = {
|
|
10
|
-
(regexp: RegExp): MethodDecorator;
|
|
11
|
-
(config: Partial<A_TYPES__A_ExtendDecoratorConfig>): MethodDecorator;
|
|
12
|
-
(): MethodDecorator;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export type A_TYPES__A_FeatureDecoratorDescriptor =
|
|
16
|
-
TypedPropertyDescriptor<
|
|
17
|
-
((...args: any[]) => any)
|
|
18
|
-
|
|
|
19
|
-
((...args: any[]) => Promise<any>)
|
|
20
|
-
|
|
|
21
|
-
(() => any)
|
|
22
|
-
|
|
|
23
|
-
(() => Promise<any>)
|
|
24
|
-
>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export type A_TYPES__A_FeatureDecoratorConfig = {
|
|
30
|
-
name: string,
|
|
31
|
-
invoke: boolean,
|
|
32
|
-
channel: Array<typeof A_Channel>
|
|
33
|
-
template: Array<A_TYPES__A_FeatureTemplateItem>
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export type A_TYPES__A_FeatureTemplateItem = A_TYPES__Required<Partial<A_TYPES__A_StageStep>, ['name', 'handler', 'component']>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export type A_TYPES__A_DefineDecorator_Meta = {
|
|
40
|
-
name: string,
|
|
41
|
-
handler: string,
|
|
42
|
-
invoke: boolean,
|
|
43
|
-
channel: Array<typeof A_Channel>
|
|
44
|
-
template: Array<A_TYPES__A_StageStep>
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
export type A_TYPES__A_ExtendDecoratorDescriptor =
|
|
49
|
-
|
|
50
|
-
TypedPropertyDescriptor<() => any>
|
|
51
|
-
|
|
|
52
|
-
TypedPropertyDescriptor<(
|
|
53
|
-
...args: any[]
|
|
54
|
-
) => any>
|
|
55
|
-
|
|
|
56
|
-
TypedPropertyDescriptor<(
|
|
57
|
-
...args: any[]
|
|
58
|
-
) => Promise<any>>
|
|
59
|
-
|
|
|
60
|
-
TypedPropertyDescriptor<() => Promise<any>>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
export type A_TYPES__A_ExtendDecoratorConfig = {
|
|
64
|
-
/**
|
|
65
|
-
* Name of the container Lifecycle method to be extended.
|
|
66
|
-
*
|
|
67
|
-
* [!] If not provided will be used the name of the method.
|
|
68
|
-
* [!!] If name contains "." dot it will be considered as a path to the method.
|
|
69
|
-
*/
|
|
70
|
-
name: string,
|
|
71
|
-
/**
|
|
72
|
-
* Container class or container name uses to identify the proper container in case when the name is not unique.
|
|
73
|
-
*
|
|
74
|
-
* [!] If not provided will be applied to all containers with the same name.
|
|
75
|
-
* [!!] By default uses OR to join all provided items. If you need more complex Logic, please use Regexp instead
|
|
76
|
-
*
|
|
77
|
-
* [!!!] In case if you need to exclude some containers, entities or components, please use "exclude" property
|
|
78
|
-
*
|
|
79
|
-
* Example:
|
|
80
|
-
*
|
|
81
|
-
* ```ts
|
|
82
|
-
* @A_Feature.Extend({
|
|
83
|
-
* name: 'load',
|
|
84
|
-
* scope: {
|
|
85
|
-
* include: [A_Container1, A_Entity1],
|
|
86
|
-
* exclude: [A_Component1]
|
|
87
|
-
* }
|
|
88
|
-
* })
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
scope: Array<A_TYPES__A_ExtendDecorator_ScopeItem> | Partial<A_TYPES__A_ExtendDecorator_ScopeConfig>,
|
|
92
|
-
} & A_TYPES__A_ExtendDecorator_BehaviorConfig
|
|
93
|
-
|
|
94
|
-
export type A_TYPES__A_ExtendDecorator_ScopeItem = { new(...args: any[]): A_Container }
|
|
95
|
-
| { new(...args: any[]): A_Entity }
|
|
96
|
-
| { new(...args: any[]): A_Component }
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
export type A_TYPES__A_ExtendDecorator_ScopeConfig = {
|
|
100
|
-
include?: Array<A_TYPES__A_ExtendDecorator_ScopeItem>,
|
|
101
|
-
exclude?: Array<A_TYPES__A_ExtendDecorator_ScopeItem>
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export type A_TYPES__A_ExtendDecorator_BehaviorConfig = {
|
|
105
|
-
/**
|
|
106
|
-
* The behavior of the method.
|
|
107
|
-
* In case its async it will be executed independently from the main thread.
|
|
108
|
-
*
|
|
109
|
-
* [!] However, in case of sync, it will be executed in the main thread.in the order of the declaration.
|
|
110
|
-
*
|
|
111
|
-
*/
|
|
112
|
-
behavior: 'async' | 'sync'
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Allows to define the order of the execution of the method.
|
|
117
|
-
*
|
|
118
|
-
* [!] In case the method has circular dependencies it will Throw an error.
|
|
119
|
-
*
|
|
120
|
-
*/
|
|
121
|
-
before: string[]
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Allows to define the order of the execution of the method.
|
|
125
|
-
*
|
|
126
|
-
* [!] In case the method has circular dependencies it will Throw an error.
|
|
127
|
-
*
|
|
128
|
-
*/
|
|
129
|
-
after: string[]
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
export type A_TYPES__A_ExtendDecorator_Meta = {
|
|
135
|
-
name: string,
|
|
136
|
-
handler: string
|
|
137
|
-
} & A_TYPES__A_ExtendDecorator_BehaviorConfig
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
A_TYPES__A_InjectDecorator_EntityInjectionInstructions,
|
|
3
|
-
A_TYPES__A_InjectDecoratorReturn
|
|
4
|
-
} from "./A-Inject.decorator.types";
|
|
5
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
6
|
-
import { A_Fragment } from "@adaas/a-concept/global/A-Fragment/A-Fragment.class";
|
|
7
|
-
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
8
|
-
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
9
|
-
import { A_TYPES__ComponentMetaKey } from "@adaas/a-concept/global/A-Component/A-Component.types";
|
|
10
|
-
import { A_Meta } from "@adaas/a-concept/global/A-Meta/A-Meta.class";
|
|
11
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
12
|
-
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
13
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
14
|
-
import { A_TYPES__ContainerMetaKey } from "@adaas/a-concept/global/A-Container/A-Container.types";
|
|
15
|
-
import { A_CommonHelper } from "@adaas/a-utils";
|
|
16
|
-
import { A_FeatureCaller } from "@adaas/a-concept/global/A-Feature/A-FeatureCaller.class";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* A-Inject decorator
|
|
22
|
-
*
|
|
23
|
-
* This Decorator allows to inject dependencies into the module like
|
|
24
|
-
* - Namespaces
|
|
25
|
-
* - Other Concepts
|
|
26
|
-
* - or maybe Components
|
|
27
|
-
*
|
|
28
|
-
* @param params
|
|
29
|
-
* @returns
|
|
30
|
-
*/
|
|
31
|
-
export function A_Inject(
|
|
32
|
-
scope: typeof A_Scope
|
|
33
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
34
|
-
export function A_Inject(
|
|
35
|
-
feature: typeof A_Feature
|
|
36
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
37
|
-
export function A_Inject(
|
|
38
|
-
component: { new(...args: any[]): A_Component }
|
|
39
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
40
|
-
// Allows to inject just one A_FeatureCaller
|
|
41
|
-
export function A_Inject(
|
|
42
|
-
container: typeof A_FeatureCaller
|
|
43
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
44
|
-
// Allows to inject just one Context Fragment
|
|
45
|
-
export function A_Inject(
|
|
46
|
-
fragment: { new(...args: any[]): A_Fragment }
|
|
47
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
48
|
-
|
|
49
|
-
export function A_Inject<T extends A_Entity>(
|
|
50
|
-
entity: { new(...args: any[]): T },
|
|
51
|
-
config: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T>>
|
|
52
|
-
): A_TYPES__A_InjectDecoratorReturn
|
|
53
|
-
|
|
54
|
-
// ====================== BASE FUNCTION ======================
|
|
55
|
-
export function A_Inject(
|
|
56
|
-
param1: typeof A_Scope
|
|
57
|
-
| typeof A_Feature
|
|
58
|
-
| typeof A_FeatureCaller
|
|
59
|
-
| { new(...args: any[]): A_Component }
|
|
60
|
-
| { new(...args: any[]): A_Fragment }
|
|
61
|
-
| { new(...args: any[]): A_Entity },
|
|
62
|
-
param2?: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>
|
|
63
|
-
): A_TYPES__A_InjectDecoratorReturn {
|
|
64
|
-
return function (
|
|
65
|
-
target: A_Component,
|
|
66
|
-
methodName: string | symbol | undefined,
|
|
67
|
-
parameterIndex: number
|
|
68
|
-
) {
|
|
69
|
-
|
|
70
|
-
const method = methodName ? String(methodName) : 'constructor';
|
|
71
|
-
|
|
72
|
-
let metaKey;
|
|
73
|
-
|
|
74
|
-
switch (true) {
|
|
75
|
-
|
|
76
|
-
case target instanceof A_Component:
|
|
77
|
-
metaKey = A_TYPES__ComponentMetaKey.INJECTIONS;
|
|
78
|
-
break;
|
|
79
|
-
|
|
80
|
-
case A_CommonHelper.isInheritedFrom(target, A_Component):
|
|
81
|
-
metaKey = A_TYPES__ComponentMetaKey.INJECTIONS;
|
|
82
|
-
break;
|
|
83
|
-
|
|
84
|
-
case A_CommonHelper.isInheritedFrom(target, A_Container):
|
|
85
|
-
metaKey = A_TYPES__ContainerMetaKey.INJECTIONS;
|
|
86
|
-
break;
|
|
87
|
-
|
|
88
|
-
case target instanceof A_Container:
|
|
89
|
-
metaKey = A_TYPES__ContainerMetaKey.INJECTIONS;
|
|
90
|
-
break;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
default:
|
|
94
|
-
throw new Error(`A-Inject cannot be defined on the ${target} level`);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const existedMeta = A_Context
|
|
98
|
-
.meta(target)
|
|
99
|
-
.get(metaKey)
|
|
100
|
-
|| new A_Meta();
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const paramsArray = existedMeta.get(method) || [];
|
|
104
|
-
|
|
105
|
-
paramsArray[parameterIndex] = {
|
|
106
|
-
target: param1,
|
|
107
|
-
instructions: param2
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
existedMeta.set(method, paramsArray);
|
|
111
|
-
|
|
112
|
-
A_Context
|
|
113
|
-
.meta(target)
|
|
114
|
-
.set(
|
|
115
|
-
metaKey,
|
|
116
|
-
existedMeta
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
2
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
3
|
-
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
4
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
5
|
-
import { A_FeatureCaller } from "@adaas/a-concept/global/A-Feature/A-FeatureCaller.class";
|
|
6
|
-
import { A_Fragment } from "@adaas/a-concept/global/A-Fragment/A-Fragment.class";
|
|
7
|
-
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
8
|
-
import { ASEID } from "@adaas/a-utils";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export type A_TYPES__A_InjectDecoratorDescriptor = TypedPropertyDescriptor<(
|
|
12
|
-
...args: any[]
|
|
13
|
-
) => Promise<void>>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export type A_TYPES__A_InjectDecoratorReturn<T = any> = (
|
|
17
|
-
target: T,
|
|
18
|
-
propertyKey: string | symbol | undefined,
|
|
19
|
-
parameterIndex: number
|
|
20
|
-
) => void
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// export type A_TYPES__A_InjectDecoratorStorageInstruction = {
|
|
24
|
-
// index: number,
|
|
25
|
-
// type: typeof A_Namespace
|
|
26
|
-
// | typeof A_Component
|
|
27
|
-
// | typeof A_Container
|
|
28
|
-
// | typeof A_ContextFragment
|
|
29
|
-
// | Array<typeof A_Namespace>
|
|
30
|
-
// | Array<typeof A_Component>
|
|
31
|
-
// | Array<typeof A_Container>
|
|
32
|
-
// | Array<typeof A_ContextFragment>
|
|
33
|
-
// | { new(...args: any[]): any }
|
|
34
|
-
// }
|
|
35
|
-
|
|
36
|
-
export type A_TYPES__A_InjectDecoratorStorageInstruction = Array<
|
|
37
|
-
// typeof A_Namespace
|
|
38
|
-
// | typeof A_Component
|
|
39
|
-
// | typeof A_Container
|
|
40
|
-
// | typeof A_ContextFragment
|
|
41
|
-
// | Array<typeof A_Namespace>
|
|
42
|
-
// | Array<typeof A_Component>
|
|
43
|
-
// | Array<typeof A_Container>
|
|
44
|
-
// | Array<typeof A_ContextFragment>
|
|
45
|
-
| { new(...args: any[]): any }
|
|
46
|
-
>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
export type A_TYPES__A_InjectDecorator_Meta = Array<{
|
|
51
|
-
target: A_TYPES__A_InjectDecorator_Injectable
|
|
52
|
-
} | {
|
|
53
|
-
target: { new(...args: any[]): A_Entity },
|
|
54
|
-
instructions: Partial<A_TYPES__A_InjectDecorator_EntityInjectionInstructions>
|
|
55
|
-
}>;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
export type A_TYPES__A_InjectDecorator_Injectable =
|
|
59
|
-
{ new(...args: any[]): A_Fragment }
|
|
60
|
-
| { new(...args: any[]): A_Component }
|
|
61
|
-
| { new(...args: any[]): A_Container }
|
|
62
|
-
| { new(...args: any[]): A_Scope }
|
|
63
|
-
| { new(...args: any[]): A_Feature }
|
|
64
|
-
| { new(...args: any[]): A_Entity }
|
|
65
|
-
| { new(...args: any[]): A_FeatureCaller };
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
export type A_TYPES__A_InjectDecorator_EntityInjectionInstructions<T extends A_Entity = A_Entity> = {
|
|
69
|
-
query: Partial<A_TYPES__A_InjectDecorator_EntityInjectionQuery<T>>,
|
|
70
|
-
pagination: Partial<A_TYPES__A_InjectDecorator_EntityInjectionPagination>
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
export type A_TYPES__A_InjectDecorator_EntityInjectionQuery<T extends A_Entity = A_Entity> = {
|
|
75
|
-
aseid: string,
|
|
76
|
-
} & {
|
|
77
|
-
[key in keyof T]?: any
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
export type A_TYPES__A_InjectDecorator_EntityInjectionPagination = {
|
|
82
|
-
count: number,
|
|
83
|
-
from: 'start' | 'end'
|
|
84
|
-
}
|
|
85
|
-
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { A_Component } from "../A-Component/A-Component.class";
|
|
2
|
-
import { A_Container } from "../A-Container/A-Container.class";
|
|
3
|
-
import { A_TYPES__A_ChannelAggregated, A_TYPES__A_ChannelAggregateMethods, A_TYPES__A_ChannelCallParams, A_TYPES__A_ChannelConstructor } from "./A-Channel.types";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* [!] DEPRECATED - use simply A_Component instead
|
|
8
|
-
*
|
|
9
|
-
* A_Channel is an abstraction over any Communication Type from event emitters to message queues, HTTP requests, etc.
|
|
10
|
-
*
|
|
11
|
-
* A_Channel uses to connect Containers between each other. When
|
|
12
|
-
* When One container needs to communicate with another container, it uses A_Channel.
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export class A_Channel<
|
|
16
|
-
T extends Array<A_Component | A_Container> = any[],
|
|
17
|
-
_Constructor extends A_TYPES__A_ChannelConstructor = A_TYPES__A_ChannelConstructor
|
|
18
|
-
> {
|
|
19
|
-
|
|
20
|
-
id: string;
|
|
21
|
-
|
|
22
|
-
// protected channel: A_TYPES__A_ChannelAggregated<T>;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
constructor(params: A_TYPES__A_ChannelConstructor) {
|
|
26
|
-
this.id = params.id;
|
|
27
|
-
|
|
28
|
-
// this.channel = new Proxy(
|
|
29
|
-
// {} as A_TYPES__A_ChannelAggregated<T>,
|
|
30
|
-
// {
|
|
31
|
-
// get: (target, prop) => {
|
|
32
|
-
// return async (...args: any[]) => {
|
|
33
|
-
// this.call(prop as A_TYPES__A_ChannelAggregateMethods<T>);
|
|
34
|
-
// };
|
|
35
|
-
// }
|
|
36
|
-
// });
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// // fire and forget
|
|
40
|
-
// async send(message: T, options?: unknown): void | Promise<void> { }
|
|
41
|
-
|
|
42
|
-
// // request/response
|
|
43
|
-
// async request(message: T, options?: unknown): Promise<R> { }
|
|
44
|
-
|
|
45
|
-
// // continuous consumption
|
|
46
|
-
// async consume(handler: (msg: T) => void | Promise<void>, options?: unknown): void { }
|
|
47
|
-
|
|
48
|
-
// // pull-based
|
|
49
|
-
// async pull(options?: unknown): Promise<T | null> { }
|
|
50
|
-
|
|
51
|
-
// // streaming
|
|
52
|
-
// async stream(): AsyncIterable<T>{
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// const toUsersChannel = new A_Channel('users');
|
|
61
|
-
|
|
62
|
-
// const toOrdersChannel = new A_Channel('orders');
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// class someComponent extends A_Component {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
// async someMethod(
|
|
71
|
-
// @A_Channel('users') usersChannel: A_Channel,
|
|
72
|
-
// ) {
|
|
73
|
-
// // await toUsersChannel.call('methodName', { fragments: [], components: [A_Component] });
|
|
74
|
-
// }
|
|
75
|
-
|
|
76
|
-
// }
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// class UsersChannel extends A_Channel {
|
|
83
|
-
// constructor(
|
|
84
|
-
// @A_inject(A_Config) config : A_Config
|
|
85
|
-
// ){
|
|
86
|
-
// super('users');
|
|
87
|
-
// }
|
|
88
|
-
// }
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
// class OrdersChannel extends A_Channel { }
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// class anotherComponent extends A_Component {
|
|
95
|
-
// async someMethod(
|
|
96
|
-
// @A_inject(UsersChannel) usersChannel: UsersChannel,
|
|
97
|
-
// @A_inject(OrdersChannel) ordersChannel: OrdersChannel,
|
|
98
|
-
// ) {
|
|
99
|
-
// const command = new A_Command();
|
|
100
|
-
|
|
101
|
-
// usersChannel
|
|
102
|
-
// .use(someSession)
|
|
103
|
-
// .send(command);
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
// await ordersChannel.request(command);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// // await toUsersChannel.call('methodName', { fragments: [], components: [A_Component] });
|
|
110
|
-
// }
|
|
111
|
-
// }
|