@adaas/a-concept 0.0.64 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +24 -32
- package/dist/index.js +35 -52
- package/dist/index.js.map +1 -1
- package/dist/src/constants/env.constants.d.ts +15 -8
- package/dist/src/constants/env.constants.js +17 -10
- package/dist/src/constants/env.constants.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
- package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
- package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
- package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
- package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
- package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
- package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
- package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
- package/dist/src/global/A-Component/A-Component.class.js +35 -19
- package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
- package/dist/src/global/A-Component/A-Component.constants.js +11 -0
- package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
- package/dist/src/global/A-Component/A-Component.meta.js +6 -8
- package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
- package/dist/src/global/A-Component/A-Component.types.js +1 -8
- package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
- package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
- package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
- package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
- package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
- package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
- package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
- package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
- package/dist/src/global/A-Container/A-Container.class.js +34 -55
- package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
- package/dist/src/global/A-Container/A-Container.constants.js +10 -0
- package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
- package/dist/src/global/A-Container/A-Container.meta.js +5 -6
- package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
- package/dist/src/global/A-Container/A-Container.types.js +1 -7
- package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
- package/dist/src/global/A-Context/A-Context.class.js +436 -244
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
- package/dist/src/global/A-Context/A-Context.error.js +25 -0
- package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
- package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
- package/dist/src/global/A-Context/A-Context.types.js +1 -0
- package/dist/src/global/A-Entity/A-Entity.class.d.ts +13 -39
- package/dist/src/global/A-Entity/A-Entity.class.js +30 -73
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
- package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
- package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
- package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
- package/dist/src/global/A-Error/A_Error.class.js +267 -0
- package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
- package/dist/src/global/A-Error/A_Error.constants.js +9 -0
- package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
- package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
- package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
- package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
- package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
- package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
- package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
- package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
- package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
- package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
- package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
- package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
- package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
- package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
- package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
- package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
- package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
- package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
- package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
- package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
- package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
- package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
- package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
- package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
- package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
- package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
- package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
- package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
- package/dist/src/global/ASEID/ASEID.class.js +167 -0
- package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.constants.js +2 -0
- package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
- package/dist/src/global/ASEID/ASEID.error.js +10 -0
- package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
- package/dist/src/global/ASEID/ASEID.types.js +5 -0
- package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
- package/dist/src/helpers/A_Common.helper.d.ts +28 -0
- package/dist/src/helpers/A_Common.helper.js +170 -0
- package/dist/src/helpers/A_Common.helper.js.map +1 -0
- package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
- package/dist/src/helpers/A_Formatter.helper.js +62 -0
- package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
- package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
- package/dist/src/helpers/A_Identity.helper.js +43 -0
- package/dist/src/helpers/A_Identity.helper.js.map +1 -0
- package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
- package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
- package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
- package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
- package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
- package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
- package/dist/src/types/A_Common.types.d.ts +36 -0
- package/dist/src/types/A_Common.types.js +3 -0
- package/dist/src/types/A_Common.types.js.map +1 -0
- package/index.ts +27 -51
- package/jest.config.ts +1 -0
- package/package.json +1 -2
- package/src/constants/env.constants.ts +18 -11
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
- package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
- package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
- package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
- package/src/global/A-Caller/A_Caller.class.ts +61 -0
- package/src/global/A-Caller/A_Caller.error.ts +10 -0
- package/src/global/A-Caller/A_Caller.types.ts +25 -0
- package/src/global/A-Component/A-Component.class.ts +26 -15
- package/src/global/A-Component/A-Component.constants.ts +9 -0
- package/src/global/A-Component/A-Component.meta.ts +6 -16
- package/src/global/A-Component/A-Component.types.ts +53 -28
- package/src/global/A-Concept/A-Concept.class.ts +316 -0
- package/src/global/A-Concept/A-Concept.constants.ts +36 -0
- package/src/global/A-Concept/A-Concept.meta.ts +17 -0
- package/src/global/A-Concept/A-Concept.types.ts +100 -0
- package/src/global/A-Container/A-Container.class.ts +42 -83
- package/src/global/A-Container/A-Container.constants.ts +5 -0
- package/src/global/A-Container/A-Container.meta.ts +7 -11
- package/src/global/A-Container/A-Container.types.ts +38 -34
- package/src/global/A-Context/A-Context.class.ts +648 -412
- package/src/global/A-Context/A-Context.error.ts +44 -0
- package/src/global/A-Context/A-Context.types.ts +14 -0
- package/src/global/A-Entity/A-Entity.class.ts +33 -88
- package/src/global/A-Entity/A-Entity.constants.ts +12 -0
- package/src/global/A-Entity/A-Entity.error.ts +12 -0
- package/src/global/A-Entity/A-Entity.meta.ts +4 -4
- package/src/global/A-Entity/A-Entity.types.ts +31 -36
- package/src/global/A-Error/A_Error.class.ts +408 -0
- package/src/global/A-Error/A_Error.constants.ts +11 -0
- package/src/global/A-Error/A_Error.types.ts +96 -0
- package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
- package/src/global/A-Feature/A-Feature.class.ts +279 -122
- package/src/global/A-Feature/A-Feature.error.ts +33 -0
- package/src/global/A-Feature/A-Feature.types.ts +278 -40
- package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
- package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
- package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
- package/src/global/A-Inject/A-Inject.error.ts +8 -0
- package/src/global/A-Inject/A-Inject.types.ts +75 -0
- package/src/global/A-Meta/A-Meta.class.ts +1 -1
- package/src/global/A-Meta/A-Meta.types.ts +21 -0
- package/src/global/A-Scope/A-Scope.class.ts +288 -299
- package/src/global/A-Scope/A-Scope.error.ts +13 -0
- package/src/global/A-Scope/A-Scope.types.ts +61 -27
- package/src/global/A-Stage/A-Stage.class.ts +142 -80
- package/src/global/A-Stage/A-Stage.error.ts +4 -2
- package/src/global/A-Stage/A-Stage.types.ts +4 -25
- package/src/global/ASEID/ASEID.class.ts +275 -0
- package/src/global/ASEID/ASEID.error.ts +12 -0
- package/src/global/ASEID/ASEID.types.ts +79 -0
- package/src/helpers/A_Common.helper.ts +204 -0
- package/src/helpers/A_Formatter.helper.ts +58 -0
- package/src/helpers/A_Identity.helper.ts +53 -0
- package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
- package/src/helpers/A_TypeGuards.helper.ts +318 -0
- package/src/types/A_Common.types.ts +79 -0
- package/tests/A-Common.test.ts +117 -0
- package/tests/A-Component.test.ts +11 -6
- package/tests/A-Concept.test.ts +19 -22
- package/tests/A-Entity.test.ts +24 -24
- package/tests/A-Error.test.ts +129 -0
- package/tests/A-Feature.test.ts +34 -25
- package/tests/A-Scope.test.ts +50 -22
- package/tests/ASEID.test.ts +74 -0
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +3 -2
- package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
- package/dist/src/base/A-Config/A-Config.container.js +0 -69
- package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
- package/dist/src/base/A-Config/A-Config.context.js +0 -60
- package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
- package/dist/src/base/A-Config/A-Config.types.js +0 -7
- package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
- package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
- package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
- package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
- package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
- package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
- package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
- package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
- package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
- package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
- package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
- package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
- package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
- package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
- package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
- package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
- package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
- package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
- package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
- package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
- package/dist/src/global/A-Command/A-Command.class.js +0 -349
- package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
- package/dist/src/global/A-Command/A-Command.constants.js +0 -22
- package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
- package/dist/src/global/A-Command/A-Command.meta.js +0 -18
- package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
- package/dist/src/global/A-Command/A-Command.types.js +0 -10
- package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
- package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
- package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
- package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
- package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
- package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
- package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
- package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
- package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
- package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
- package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
- package/dist/src/helpers/StepsManager.class.js.map +0 -1
- package/dist/src/types/A_Module.types.d.ts +0 -17
- package/dist/src/types/A_Module.types.js +0 -22
- package/dist/src/types/A_Module.types.js.map +0 -1
- package/examples/entity/concept.ts +0 -68
- package/examples/entity/entities/Task.entity.ts +0 -110
- package/examples/entity/entities/User.entity.ts +0 -62
- package/examples/fe-be/channels/Test.channel.ts +0 -27
- package/examples/fe-be/components/BE-Controller.component.ts +0 -20
- package/examples/fe-be/components/FE.component.ts +0 -13
- package/examples/fe-be/containers/ServerApp.container.ts +0 -8
- package/examples/fe-be/containers/WebApp.container.ts +0 -13
- package/examples/multi-container/channels/Direct.channel.ts +0 -39
- package/examples/multi-container/concept.ts +0 -0
- package/examples/multi-container/containers/Command.container.ts +0 -41
- package/examples/multi-container/containers/Schedule.container.ts +0 -52
- package/examples/simple/components/A.component.ts +0 -71
- package/examples/simple/components/B.component.ts +0 -68
- package/examples/simple/concept.ts +0 -87
- package/examples/simple/containers/Main.container.ts +0 -88
- package/examples/simple/containers/Secondary.container.ts +0 -26
- package/examples/simple/context/Fragment_A.context.ts +0 -25
- package/examples/simple/context/Fragment_B.context.ts +0 -19
- package/examples/simple/entities/EntityA.entity.ts +0 -32
- package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
- package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
- package/examples/simple-http-server/concept.ts +0 -35
- package/examples/simple-http-server/containers/http-server.container.ts +0 -57
- package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
- package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
- package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
- package/examples/simple-http-server/controllers/users.controller.ts +0 -104
- package/examples/simple-http-server/test.ts +0 -290
- package/src/base/A-Config/A-Config.container.ts +0 -68
- package/src/base/A-Config/A-Config.context.ts +0 -114
- package/src/base/A-Config/A-Config.types.ts +0 -28
- package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
- package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
- package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
- package/src/base/A-Errors/A-Error.entity.ts +0 -10
- package/src/base/A-Errors/A-Errors.component.ts +0 -103
- package/src/base/A-Errors/A-Errors.context.ts +0 -90
- package/src/base/A-Errors/A-Errors.types.ts +0 -6
- package/src/base/A-Logger/A-Logger.component.ts +0 -192
- package/src/base/A-Logger/A-Logger.types.ts +0 -0
- package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
- package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
- package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
- package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
- package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
- package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
- package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
- package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
- package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
- package/src/global/A-Channel/A-Channel.class.ts +0 -111
- package/src/global/A-Channel/A-Channel.types.ts +0 -114
- package/src/global/A-Command/A-Command.class.ts +0 -419
- package/src/global/A-Command/A-Command.constants.ts +0 -27
- package/src/global/A-Command/A-Command.meta.ts +0 -22
- package/src/global/A-Command/A-Command.types.ts +0 -73
- package/src/global/A-Command/context/A_Command.context.ts +0 -114
- package/src/global/A-Concept/A_Concept.class.ts +0 -298
- package/src/global/A-Concept/A_Concept.meta.ts +0 -32
- package/src/global/A-Concept/A_Concept.types.ts +0 -143
- package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
- package/src/global/A-Scope/A-Scope.constants.ts +0 -9
- package/src/types/A_Module.types.ts +0 -23
- package/tests/A-Command.test.ts +0 -133
- package/tests/A-Config.test.ts +0 -172
- /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
- /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
- /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.A_Feature_Define = A_Feature_Define;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const A_Meta_class_1 = require("../../global/A-Meta/A-Meta.class");
|
|
12
|
-
const A_Command_class_1 = require("../../global/A-Command/A-Command.class");
|
|
13
|
-
const A_Command_types_1 = require("../../global/A-Command/A-Command.types");
|
|
4
|
+
const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
5
|
+
const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
6
|
+
const A_Entity_constants_1 = require("../A-Entity/A-Entity.constants");
|
|
7
|
+
const A_Container_constants_1 = require("../A-Container/A-Container.constants");
|
|
8
|
+
const A_Component_constants_1 = require("../A-Component/A-Component.constants");
|
|
9
|
+
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
10
|
+
const A_Feature_error_1 = require("./A-Feature.error");
|
|
14
11
|
/**
|
|
15
12
|
* A-Feature decorator
|
|
16
13
|
*
|
|
@@ -26,38 +23,35 @@ const A_Command_types_1 = require("../../global/A-Command/A-Command.types");
|
|
|
26
23
|
*/
|
|
27
24
|
function A_Feature_Define(config = {}) {
|
|
28
25
|
return function (target, propertyKey, descriptor) {
|
|
26
|
+
var _a;
|
|
27
|
+
// for error messages
|
|
28
|
+
const componentName = ((_a = target === null || target === void 0 ? void 0 : target.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(target) || 'Unknown';
|
|
29
|
+
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureDefinition(target))
|
|
30
|
+
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureDefinitionError, `A-Feature cannot be defined on the ${componentName} level`);
|
|
29
31
|
const meta = A_Context_class_1.A_Context.meta(target.constructor);
|
|
30
32
|
let metaKey;
|
|
31
33
|
switch (true) {
|
|
32
|
-
case target
|
|
33
|
-
metaKey =
|
|
34
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isEntityInstance(target):
|
|
35
|
+
metaKey = A_Entity_constants_1.A_TYPES__EntityMetaKey.FEATURES;
|
|
34
36
|
break;
|
|
35
|
-
case target
|
|
36
|
-
metaKey =
|
|
37
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isContainerInstance(target):
|
|
38
|
+
metaKey = A_Container_constants_1.A_TYPES__ContainerMetaKey.FEATURES;
|
|
37
39
|
break;
|
|
38
|
-
case target
|
|
39
|
-
metaKey =
|
|
40
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isComponentInstance(target):
|
|
41
|
+
metaKey = A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES;
|
|
40
42
|
break;
|
|
41
|
-
case target instanceof A_Command_class_1.A_Command:
|
|
42
|
-
metaKey = A_Command_types_1.A_TYPES__CommandMetaKey.FEATURES;
|
|
43
|
-
break;
|
|
44
|
-
default: {
|
|
45
|
-
console.log(target);
|
|
46
|
-
throw new Error(`A-Feature cannot be defined on the ${target.constructor.name} level`);
|
|
47
|
-
}
|
|
48
43
|
}
|
|
49
44
|
// Get the existed metadata or create a new one
|
|
50
45
|
const existedMeta = meta.get(metaKey) || new A_Meta_class_1.A_Meta();
|
|
51
|
-
const
|
|
46
|
+
const name = config.name || propertyKey;
|
|
52
47
|
// default to false
|
|
53
48
|
const invoke = config.invoke || false;
|
|
54
49
|
// Set the metadata of the method to define a custom Feature with name
|
|
55
50
|
existedMeta.set(propertyKey, {
|
|
56
|
-
name: `${target.constructor.name}.${
|
|
51
|
+
name: `${target.constructor.name}.${name}`,
|
|
57
52
|
handler: propertyKey,
|
|
58
53
|
invoke: invoke,
|
|
59
54
|
template: config.template && config.template.length ? config.template.map(item => (Object.assign(Object.assign({}, item), { before: item.before || [], after: item.after || [], behavior: item.behavior || 'sync' }))) : [],
|
|
60
|
-
channel: config.channel || []
|
|
61
55
|
});
|
|
62
56
|
// Update the metadata of the container with the new Feature definition
|
|
63
57
|
A_Context_class_1.A_Context
|
|
@@ -74,7 +68,7 @@ function A_Feature_Define(config = {}) {
|
|
|
74
68
|
originalMethod.apply(this, args);
|
|
75
69
|
// Call your `call` with the function name
|
|
76
70
|
if (typeof this.call === "function" && invoke)
|
|
77
|
-
return this.call(
|
|
71
|
+
return this.call(name);
|
|
78
72
|
};
|
|
79
73
|
return descriptor;
|
|
80
74
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A-Feature-Define.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Define.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { A_TYPES__FeatureExtendDecoratorConfig } from "./A-Feature.types";
|
|
2
2
|
/**
|
|
3
3
|
* A-Extend decorator
|
|
4
4
|
*
|
|
@@ -17,17 +17,40 @@ import { A_TYPES__A_ExtendDecoratorConfig } from "./A-Feature.decorator.types";
|
|
|
17
17
|
*
|
|
18
18
|
* @param regexp
|
|
19
19
|
*/
|
|
20
|
-
export declare function A_Feature_Extend(
|
|
20
|
+
export declare function A_Feature_Extend(
|
|
21
|
+
/**
|
|
22
|
+
* The regular expression to match the name of the Feature method to be extended
|
|
23
|
+
*
|
|
24
|
+
* Example:
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* @A_Feature.Extend(/.*\.load/)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
regexp: RegExp): any;
|
|
21
31
|
/**
|
|
22
32
|
* In this case the name configurations will be used as an input to get scope and name of target function
|
|
23
33
|
* [!] Not that for all SCOPE will be used OR operator
|
|
24
34
|
*
|
|
25
35
|
* @param config
|
|
26
36
|
*/
|
|
27
|
-
export declare function A_Feature_Extend(
|
|
37
|
+
export declare function A_Feature_Extend(
|
|
38
|
+
/**
|
|
39
|
+
* Configuration for the A-Feature-Extend decorator
|
|
40
|
+
*/
|
|
41
|
+
config: Partial<A_TYPES__FeatureExtendDecoratorConfig>): any;
|
|
28
42
|
/**
|
|
29
43
|
* In this case the name of function will be used as a name of the Feature.
|
|
30
44
|
* [!] AND it will be applicable for ANY element where the name is the same as the name of the function
|
|
31
45
|
*/
|
|
32
46
|
export declare function A_Feature_Extend(): any;
|
|
47
|
+
/**
|
|
48
|
+
* Builds a target regular expression based on the provided parameters.
|
|
49
|
+
*
|
|
50
|
+
* @param param1 - The first parameter, which can be a string or an object.
|
|
51
|
+
* @param include - An array of items to include in the regular expression.
|
|
52
|
+
* @param exclude - An array of items to exclude from the regular expression.
|
|
53
|
+
* @param propertyKey - The property key to use in the regular expression.
|
|
54
|
+
* @returns A regular expression object.
|
|
55
|
+
*/
|
|
33
56
|
export declare function buildTargetRegexp(param1: any, include: any[], exclude: any[], propertyKey: string): RegExp;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.A_Feature_Extend = A_Feature_Extend;
|
|
4
|
+
exports.buildTargetRegexp = buildTargetRegexp;
|
|
5
|
+
const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
6
|
+
const A_Meta_class_1 = require("../A-Meta/A-Meta.class");
|
|
7
|
+
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
8
|
+
const A_Component_constants_1 = require("../A-Component/A-Component.constants");
|
|
9
|
+
const A_Feature_error_1 = require("./A-Feature.error");
|
|
10
|
+
function A_Feature_Extend(param1) {
|
|
11
|
+
return function (target, propertyKey, descriptor) {
|
|
12
|
+
var _a;
|
|
13
|
+
// for error messages
|
|
14
|
+
const componentName = ((_a = target === null || target === void 0 ? void 0 : target.constructor) === null || _a === void 0 ? void 0 : _a.name) || String(target) || 'Unknown';
|
|
15
|
+
if (!A_TypeGuards_helper_1.A_TypeGuards.isAllowedForFeatureExtension(target))
|
|
16
|
+
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureExtensionError, `A-Feature-Extend cannot be applied on the ${componentName} level`);
|
|
17
|
+
let targetRegexp;
|
|
18
|
+
let behavior = 'sync';
|
|
19
|
+
let before = [];
|
|
20
|
+
let after = [];
|
|
21
|
+
let include = [];
|
|
22
|
+
let exclude = [];
|
|
23
|
+
switch (true) {
|
|
24
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isRegExp(param1):
|
|
25
|
+
targetRegexp = param1;
|
|
26
|
+
break;
|
|
27
|
+
case !!param1 && typeof param1 === 'object':
|
|
28
|
+
if (Array.isArray(param1.scope))
|
|
29
|
+
include = param1.scope;
|
|
30
|
+
else if (!!param1.scope && typeof param1.scope === 'object') {
|
|
31
|
+
if (Array.isArray(param1.scope.include))
|
|
32
|
+
include = param1.scope.include;
|
|
33
|
+
if (Array.isArray(param1.scope.exclude))
|
|
34
|
+
exclude = param1.scope.exclude;
|
|
35
|
+
}
|
|
36
|
+
targetRegexp = buildTargetRegexp(param1, include, exclude, propertyKey);
|
|
37
|
+
behavior = param1.behavior || behavior;
|
|
38
|
+
before = param1.before || before;
|
|
39
|
+
after = param1.after || after;
|
|
40
|
+
break;
|
|
41
|
+
default:
|
|
42
|
+
targetRegexp = new RegExp(`^.*\\.${propertyKey}$`);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
const existedDefinitions = A_Context_class_1.A_Context
|
|
46
|
+
.meta(target)
|
|
47
|
+
.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.FEATURES);
|
|
48
|
+
// Get the existed metadata or create a new one
|
|
49
|
+
const existedMeta = A_Context_class_1.A_Context
|
|
50
|
+
.meta(target)
|
|
51
|
+
.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS)
|
|
52
|
+
|| new A_Meta_class_1.A_Meta();
|
|
53
|
+
if (existedDefinitions
|
|
54
|
+
&& existedDefinitions.size()
|
|
55
|
+
&& existedDefinitions.has(propertyKey)
|
|
56
|
+
&& existedDefinitions.get(propertyKey).invoke) {
|
|
57
|
+
throw new A_Feature_error_1.A_FeatureError(A_Feature_error_1.A_FeatureError.FeatureExtensionError, `A-Feature-Extend cannot be used on the method "${propertyKey}" because it is already defined as a Feature with "invoke" set to true. Please remove the A-Feature-Extend decorator or set "invoke" to false in the A-Feature decorator.`);
|
|
58
|
+
}
|
|
59
|
+
const existedMetaValue = existedMeta.get(targetRegexp.source) || [];
|
|
60
|
+
// Add the new method to the metadata
|
|
61
|
+
existedMetaValue.push({
|
|
62
|
+
name: targetRegexp.source,
|
|
63
|
+
handler: propertyKey,
|
|
64
|
+
behavior,
|
|
65
|
+
before,
|
|
66
|
+
after
|
|
67
|
+
});
|
|
68
|
+
// Set the metadata of the method to define a custom Feature with name
|
|
69
|
+
existedMeta.set(targetRegexp.source, existedMetaValue);
|
|
70
|
+
// Update the metadata of the container with the new Feature definition
|
|
71
|
+
A_Context_class_1.A_Context
|
|
72
|
+
.meta(target)
|
|
73
|
+
.set(A_Component_constants_1.A_TYPES__ComponentMetaKey.EXTENSIONS, existedMeta);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Builds a target regular expression based on the provided parameters.
|
|
78
|
+
*
|
|
79
|
+
* @param param1 - The first parameter, which can be a string or an object.
|
|
80
|
+
* @param include - An array of items to include in the regular expression.
|
|
81
|
+
* @param exclude - An array of items to exclude from the regular expression.
|
|
82
|
+
* @param propertyKey - The property key to use in the regular expression.
|
|
83
|
+
* @returns A regular expression object.
|
|
84
|
+
*/
|
|
85
|
+
function buildTargetRegexp(param1, include, exclude, propertyKey) {
|
|
86
|
+
const includePart = include.length
|
|
87
|
+
? `(${include.map(el => el.name).join('|')})`
|
|
88
|
+
: `.*`;
|
|
89
|
+
const excludePart = exclude.length
|
|
90
|
+
? `(?!${exclude.map(el => el.name).join('|')})`
|
|
91
|
+
: ``;
|
|
92
|
+
const pattern = param1.scope
|
|
93
|
+
? `^${excludePart}${includePart}\\.${param1.name || propertyKey}$`
|
|
94
|
+
: `.*\\.${param1.name || propertyKey}$`;
|
|
95
|
+
return new RegExp(pattern);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=A-Feature-Extend.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"A-Feature-Extend.decorator.js","sourceRoot":"","sources":["../../../../src/global/A-Feature/A-Feature-Extend.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { A_TYPES__A_Feature_Extend } from "../../decorators/A-Feature/A-Feature.decorator.types";
|
|
1
|
+
import { A_TYPES__Feature_Init, A_TYPES__Feature_InitWithComponent, A_TYPES__Feature_InitWithTemplate, A_TYPES__FeatureAvailableComponents, A_TYPES__FeatureState } from "./A-Feature.types";
|
|
2
|
+
import { A_Feature_Define } from "./A-Feature-Define.decorator";
|
|
3
|
+
import { A_Feature_Extend } from "./A-Feature-Extend.decorator";
|
|
5
4
|
import { A_Stage } from "../A-Stage/A-Stage.class";
|
|
6
|
-
import {
|
|
5
|
+
import { A_StepsManager } from "../../helpers/A_StepsManager.class";
|
|
6
|
+
import { A_StageError } from "../A-Stage/A-Stage.error";
|
|
7
|
+
import { A_FeatureError } from "./A-Feature.error";
|
|
8
|
+
import { A_Caller } from "../A-Caller/A_Caller.class";
|
|
7
9
|
import { A_Scope } from "../A-Scope/A-Scope.class";
|
|
8
|
-
import { A_FeatureCaller } from "./A-FeatureCaller.class";
|
|
9
10
|
/**
|
|
10
11
|
* A_Feature is representing a feature that can be executed across multiple components
|
|
11
12
|
* This class stores the steps of the feature and executes them in order of appearance
|
|
@@ -14,7 +15,7 @@ import { A_FeatureCaller } from "./A-FeatureCaller.class";
|
|
|
14
15
|
* across the different, distributed components
|
|
15
16
|
*
|
|
16
17
|
*/
|
|
17
|
-
export declare class A_Feature {
|
|
18
|
+
export declare class A_Feature<T extends A_TYPES__FeatureAvailableComponents = A_TYPES__FeatureAvailableComponents> {
|
|
18
19
|
/**
|
|
19
20
|
* Define a new A-Feature
|
|
20
21
|
*/
|
|
@@ -22,36 +23,129 @@ export declare class A_Feature {
|
|
|
22
23
|
/**
|
|
23
24
|
* Extend an existing A-Feature
|
|
24
25
|
*/
|
|
25
|
-
static get Extend():
|
|
26
|
-
|
|
26
|
+
static get Extend(): typeof A_Feature_Extend;
|
|
27
|
+
/**
|
|
28
|
+
* The name of the Feature
|
|
29
|
+
*/
|
|
30
|
+
protected _name: string;
|
|
31
|
+
/**
|
|
32
|
+
* List of stages that are part of this Feature
|
|
33
|
+
*/
|
|
34
|
+
protected _stages: Array<A_Stage>;
|
|
35
|
+
/**
|
|
36
|
+
* The Stage currently being processed
|
|
37
|
+
*/
|
|
27
38
|
protected _current?: A_Stage;
|
|
28
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Actual Index of the current Stage being processed
|
|
41
|
+
*/
|
|
29
42
|
protected _index: number;
|
|
30
|
-
protected SM: StepsManager;
|
|
31
|
-
state: A_TYPES__FeatureState;
|
|
32
|
-
result?: any;
|
|
33
|
-
error?: A_Error;
|
|
34
|
-
readonly name: string;
|
|
35
|
-
readonly Scope: A_Scope;
|
|
36
|
-
constructor(params: A_TYPES__FeatureConstructor);
|
|
37
43
|
/**
|
|
38
|
-
*
|
|
44
|
+
* Steps Manager to organize the steps into stages
|
|
45
|
+
*/
|
|
46
|
+
protected _SM: A_StepsManager;
|
|
47
|
+
/**
|
|
48
|
+
* The Caller that initiated the Feature call
|
|
49
|
+
*/
|
|
50
|
+
protected _caller: A_Caller<T>;
|
|
51
|
+
/**
|
|
52
|
+
* The current state of the Feature
|
|
53
|
+
*/
|
|
54
|
+
protected _state: A_TYPES__FeatureState;
|
|
55
|
+
/**
|
|
56
|
+
* The error that caused the Feature to be interrupted
|
|
57
|
+
*/
|
|
58
|
+
protected _error?: A_FeatureError;
|
|
59
|
+
/**
|
|
60
|
+
* A-Feature is a pipeline distributed by multiple components that can be easily attached or detached from the scope.
|
|
61
|
+
* Feature itself does not have scope, but attached to the caller who dictates how feature should be processed.
|
|
62
|
+
*
|
|
63
|
+
* Comparing to A-Command Feature does not store any state except statuses for better analysis.
|
|
64
|
+
*
|
|
65
|
+
* [!] Note: If A-Feature should have result use A-Fragment
|
|
39
66
|
*
|
|
67
|
+
* @param params
|
|
68
|
+
*/
|
|
69
|
+
constructor(
|
|
70
|
+
/**
|
|
71
|
+
* Feature Initialization parameters
|
|
72
|
+
*/
|
|
73
|
+
params: A_TYPES__Feature_Init<T>);
|
|
74
|
+
/**
|
|
75
|
+
* The name of the Feature
|
|
76
|
+
*/
|
|
77
|
+
get name(): string;
|
|
78
|
+
/**
|
|
79
|
+
* The error that caused the Feature to be interrupted
|
|
80
|
+
*/
|
|
81
|
+
get error(): A_FeatureError | undefined;
|
|
82
|
+
/**
|
|
83
|
+
* The current state of the Feature
|
|
84
|
+
*/
|
|
85
|
+
get state(): A_TYPES__FeatureState;
|
|
86
|
+
/**
|
|
87
|
+
* Sets the current state of the Feature
|
|
88
|
+
*/
|
|
89
|
+
get index(): number;
|
|
90
|
+
/**
|
|
91
|
+
* Returns the current A-Feature Stage
|
|
40
92
|
*/
|
|
41
93
|
get stage(): A_Stage | undefined;
|
|
42
|
-
get Caller(): A_FeatureCaller;
|
|
43
94
|
/**
|
|
44
|
-
*
|
|
95
|
+
* The Caller that initiated the Feature call
|
|
96
|
+
*/
|
|
97
|
+
get caller(): A_Caller<T>;
|
|
98
|
+
/**
|
|
99
|
+
* The Scope allocated for the Feature Execution
|
|
100
|
+
*/
|
|
101
|
+
get scope(): A_Scope;
|
|
102
|
+
/**
|
|
103
|
+
* This method checks if the A-Feature is done
|
|
104
|
+
*
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
get isDone(): boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Iterator to iterate over the steps of the feature
|
|
45
110
|
*
|
|
46
111
|
* @returns
|
|
47
112
|
*/
|
|
48
113
|
[Symbol.iterator](): Iterator<A_Stage, any>;
|
|
49
114
|
/**
|
|
50
|
-
*
|
|
115
|
+
* Validates the provided parameters for A-Feature initialization
|
|
116
|
+
*
|
|
117
|
+
* @param params
|
|
118
|
+
*/
|
|
119
|
+
protected validateParams(params: A_TYPES__Feature_Init<T>): void;
|
|
120
|
+
/**
|
|
121
|
+
* Returns the appropriate initializer method based on the provided parameters
|
|
51
122
|
*
|
|
123
|
+
* @param params
|
|
52
124
|
* @returns
|
|
53
125
|
*/
|
|
54
|
-
|
|
126
|
+
protected getInitializer(params: A_TYPES__Feature_Init<T>): (param1: any) => void | (() => void);
|
|
127
|
+
/**
|
|
128
|
+
* Initializes the A-Feature from the provided template
|
|
129
|
+
*
|
|
130
|
+
* @param params
|
|
131
|
+
*/
|
|
132
|
+
protected fromTemplate(params: A_TYPES__Feature_InitWithTemplate): void;
|
|
133
|
+
/**
|
|
134
|
+
* Initializes the A-Feature from the provided component
|
|
135
|
+
*
|
|
136
|
+
* @param params
|
|
137
|
+
*/
|
|
138
|
+
protected fromComponent(params: A_TYPES__Feature_InitWithComponent<T>): void;
|
|
139
|
+
/**
|
|
140
|
+
* This method processes the feature by executing all the stages
|
|
141
|
+
*
|
|
142
|
+
*/
|
|
143
|
+
process(
|
|
144
|
+
/**
|
|
145
|
+
* Optional scope to be used to resolve the steps dependencies
|
|
146
|
+
* If not provided, the scope of the caller component will be used
|
|
147
|
+
*/
|
|
148
|
+
scope?: A_Scope): Promise<void>;
|
|
55
149
|
/**
|
|
56
150
|
* This method moves the feature to the next stage
|
|
57
151
|
*
|
|
@@ -62,23 +156,19 @@ export declare class A_Feature {
|
|
|
62
156
|
* This method marks the feature as completed and returns the result
|
|
63
157
|
* Uses to interrupt or end the feature processing
|
|
64
158
|
*
|
|
65
|
-
* The result of the feature is a Scope Fragments
|
|
66
|
-
*
|
|
67
159
|
* @param result
|
|
68
160
|
* @returns
|
|
69
161
|
*/
|
|
70
|
-
completed
|
|
162
|
+
completed(): Promise<void>;
|
|
71
163
|
/**
|
|
72
164
|
* This method marks the feature as failed and throws an error
|
|
73
165
|
* Uses to interrupt or end the feature processing
|
|
74
166
|
*
|
|
75
167
|
* @param error
|
|
76
168
|
*/
|
|
77
|
-
|
|
169
|
+
interrupt(
|
|
78
170
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
171
|
+
* The reason of feature interruption
|
|
81
172
|
*/
|
|
82
|
-
|
|
83
|
-
protected errorHandler(error: Error | A_Error | unknown): Promise<void>;
|
|
173
|
+
reason?: string | A_StageError | Error): Promise<void>;
|
|
84
174
|
}
|