@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
package/tests/A-Concept.test.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import './test.setup';
|
|
2
|
-
|
|
3
|
-
import { A_Command } from "@adaas/a-concept/global/A-Command/A-Command.class";
|
|
4
2
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
5
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/
|
|
3
|
+
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A-Concept.class";
|
|
6
4
|
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
7
5
|
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
8
6
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
@@ -17,8 +15,8 @@ describe('A-Concept tests', () => {
|
|
|
17
15
|
it('Should Allow to create a concept', async () => {
|
|
18
16
|
const concept = new A_Concept({ name: 'TestConcept' });
|
|
19
17
|
expect(concept).toBeInstanceOf(A_Concept);
|
|
20
|
-
expect(concept.
|
|
21
|
-
expect(concept.
|
|
18
|
+
expect(concept.scope).toBeDefined();
|
|
19
|
+
expect(concept.scope).toBeInstanceOf(A_Scope);
|
|
22
20
|
});
|
|
23
21
|
it('Should allow to load a concept', async () => {
|
|
24
22
|
const concept = new A_Concept({ name: 'TestConcept' });
|
|
@@ -36,7 +34,7 @@ describe('A-Concept tests', () => {
|
|
|
36
34
|
it('Should allow to provide all base entities to the concept', async () => {
|
|
37
35
|
A_Context.reset();
|
|
38
36
|
|
|
39
|
-
class
|
|
37
|
+
class MyEntityA extends A_Entity { }
|
|
40
38
|
class MyEntity extends A_Entity { }
|
|
41
39
|
class MyComponent extends A_Component { }
|
|
42
40
|
class MyContainer extends A_Container { }
|
|
@@ -44,24 +42,23 @@ describe('A-Concept tests', () => {
|
|
|
44
42
|
|
|
45
43
|
const concept = new A_Concept({
|
|
46
44
|
name: 'TestConcept',
|
|
47
|
-
|
|
48
|
-
entities: [new MyEntity()],
|
|
45
|
+
entities: [new MyEntity(), MyEntityA],
|
|
49
46
|
components: [MyComponent],
|
|
50
47
|
containers: [new MyContainer({ name: 'test' })],
|
|
51
48
|
fragments: [new MyContext({ name: 'test' })]
|
|
52
49
|
});
|
|
53
50
|
|
|
54
51
|
|
|
55
|
-
expect(concept.
|
|
56
|
-
expect(concept.
|
|
57
|
-
expect(concept.
|
|
58
|
-
expect(concept.
|
|
52
|
+
expect(concept.scope.resolveConstructor('MyEntityA')).toBe(MyEntityA);
|
|
53
|
+
expect(concept.scope.resolve(MyEntity)).toBeInstanceOf(MyEntity);
|
|
54
|
+
expect(concept.scope.resolve(MyComponent)).toBeInstanceOf(MyComponent);
|
|
55
|
+
expect(concept.scope.resolve(MyContext)).toBeInstanceOf(MyContext);
|
|
59
56
|
});
|
|
60
57
|
it('Should allow to separate entities by containers', async () => {
|
|
61
58
|
A_Context.reset();
|
|
62
59
|
|
|
63
|
-
class
|
|
64
|
-
class
|
|
60
|
+
class MyEntityA extends A_Entity { }
|
|
61
|
+
class MyEntityB extends A_Entity { }
|
|
65
62
|
class MyComponentA extends A_Component { }
|
|
66
63
|
class MyComponentB extends A_Component { }
|
|
67
64
|
class MyContainer extends A_Container { }
|
|
@@ -69,14 +66,14 @@ describe('A-Concept tests', () => {
|
|
|
69
66
|
|
|
70
67
|
const containerA = new MyContainer({
|
|
71
68
|
name: 'test',
|
|
72
|
-
|
|
69
|
+
entities: [MyEntityA],
|
|
73
70
|
components: [MyComponentA]
|
|
74
71
|
|
|
75
72
|
});
|
|
76
73
|
|
|
77
74
|
const containerB = new MyContainer({
|
|
78
75
|
name: 'test2',
|
|
79
|
-
|
|
76
|
+
entities: [MyEntityB],
|
|
80
77
|
components: [MyComponentB]
|
|
81
78
|
})
|
|
82
79
|
|
|
@@ -95,18 +92,18 @@ describe('A-Concept tests', () => {
|
|
|
95
92
|
const containerAScope = A_Context.scope(containerA)
|
|
96
93
|
const containerBScope = A_Context.scope(containerB)
|
|
97
94
|
|
|
98
|
-
expect(containerAScope.resolveConstructor('
|
|
95
|
+
expect(containerAScope.resolveConstructor('MyEntityA')).toBe(MyEntityA);
|
|
99
96
|
expect(() => {
|
|
100
|
-
containerAScope.resolveConstructor('
|
|
97
|
+
containerAScope.resolveConstructor('MyEntityB');
|
|
101
98
|
}).toThrow();
|
|
102
99
|
|
|
103
|
-
expect(containerBScope.resolveConstructor('
|
|
100
|
+
expect(containerBScope.resolveConstructor('MyEntityB')).toBe(MyEntityB);
|
|
104
101
|
expect(() => {
|
|
105
|
-
containerBScope.resolveConstructor('
|
|
102
|
+
containerBScope.resolveConstructor('MyEntityA');
|
|
106
103
|
}).toThrow();
|
|
107
104
|
|
|
108
|
-
expect(concept.
|
|
109
|
-
expect(concept.
|
|
105
|
+
expect(concept.scope.resolve(MyContext)).toEqual(sharedContext);
|
|
106
|
+
expect(concept.scope.resolve(MyContext)).toEqual(sharedContext);
|
|
110
107
|
});
|
|
111
108
|
|
|
112
109
|
});
|
package/tests/A-Entity.test.ts
CHANGED
|
@@ -3,9 +3,9 @@ import './test.setup';
|
|
|
3
3
|
import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
|
|
4
4
|
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
5
5
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
6
|
-
import {
|
|
6
|
+
import { A_TYPES__Entity_Serialized } from '@adaas/a-concept/global/A-Entity/A-Entity.types';
|
|
7
7
|
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
8
|
-
import { ASEID } from
|
|
8
|
+
import { ASEID } from '@adaas/a-concept/global/ASEID/ASEID.class';
|
|
9
9
|
|
|
10
10
|
jest.retryTimes(0);
|
|
11
11
|
|
|
@@ -17,11 +17,11 @@ describe('A-Entity tests', () => {
|
|
|
17
17
|
const entity = new A_Entity();
|
|
18
18
|
|
|
19
19
|
expect(entity.aseid).toBeInstanceOf(ASEID);
|
|
20
|
-
expect(entity.aseid.scope).toBe('
|
|
21
|
-
expect(entity.aseid.
|
|
20
|
+
expect(entity.aseid.scope).toBe('root');
|
|
21
|
+
expect(entity.aseid.concept).toBe('a-concept');
|
|
22
22
|
|
|
23
23
|
});
|
|
24
|
-
it('Should Allow to create an entity with overridden ASEID Scope or
|
|
24
|
+
it('Should Allow to create an entity with overridden ASEID Scope or Concept', async () => {
|
|
25
25
|
class MyEntity extends A_Entity {
|
|
26
26
|
static get entity(): string {
|
|
27
27
|
return 'my-entity-test';
|
|
@@ -31,8 +31,8 @@ describe('A-Entity tests', () => {
|
|
|
31
31
|
return 'custom-scope';
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
static get
|
|
35
|
-
return 'custom-
|
|
34
|
+
static get concept(): string {
|
|
35
|
+
return 'custom-concept';
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
@@ -40,13 +40,13 @@ describe('A-Entity tests', () => {
|
|
|
40
40
|
|
|
41
41
|
expect(entity.aseid).toBeInstanceOf(ASEID);
|
|
42
42
|
expect(entity.aseid.scope).toBe('custom-scope');
|
|
43
|
-
expect(entity.aseid.
|
|
43
|
+
expect(entity.aseid.concept).toBe('custom-concept');
|
|
44
44
|
expect(entity.aseid.entity).toBe('my-entity-test');
|
|
45
45
|
|
|
46
46
|
});
|
|
47
|
-
it('Should Allow to create an entity with overridden ASEID Scope or
|
|
48
|
-
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.
|
|
49
|
-
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.
|
|
47
|
+
it('Should Allow to create an entity with overridden ASEID Scope or Concept from ENV Variables', async () => {
|
|
48
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = 'env-scope';
|
|
49
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = 'env-concept';
|
|
50
50
|
|
|
51
51
|
A_Context.reset();
|
|
52
52
|
|
|
@@ -54,17 +54,17 @@ describe('A-Entity tests', () => {
|
|
|
54
54
|
|
|
55
55
|
expect(entity.aseid).toBeInstanceOf(ASEID);
|
|
56
56
|
expect(entity.aseid.scope).toBe('env-scope');
|
|
57
|
-
expect(entity.aseid.
|
|
57
|
+
expect(entity.aseid.concept).toBe('env-concept');
|
|
58
58
|
|
|
59
|
-
delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.
|
|
60
|
-
delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.
|
|
59
|
+
delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE];
|
|
60
|
+
delete process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME];
|
|
61
61
|
|
|
62
62
|
A_Context.reset();
|
|
63
63
|
});
|
|
64
64
|
it('Should Allow to create an entity from ASEID', async () => {
|
|
65
65
|
const entity = new A_Entity(
|
|
66
66
|
new ASEID({
|
|
67
|
-
|
|
67
|
+
concept: 'default',
|
|
68
68
|
scope: 'default',
|
|
69
69
|
entity: 'entity-a',
|
|
70
70
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -79,13 +79,13 @@ describe('A-Entity tests', () => {
|
|
|
79
79
|
});
|
|
80
80
|
it('Should Allow to create an entity from object', async () => {
|
|
81
81
|
|
|
82
|
-
class MyEntity extends A_Entity<{ foo: string }, { foo: string } &
|
|
82
|
+
class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
|
|
83
83
|
foo!: string;
|
|
84
84
|
|
|
85
85
|
fromNew(newEntity: { foo: string; }): void {
|
|
86
86
|
super.fromNew(newEntity);
|
|
87
87
|
this.aseid = new ASEID({
|
|
88
|
-
|
|
88
|
+
concept: 'default',
|
|
89
89
|
scope: 'default',
|
|
90
90
|
entity: 'entity-a',
|
|
91
91
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -105,10 +105,10 @@ describe('A-Entity tests', () => {
|
|
|
105
105
|
});
|
|
106
106
|
it('Should Allow to rewrite initializer method without changes to other methods', async () => {
|
|
107
107
|
|
|
108
|
-
class MyEntity extends A_Entity<{ foo: string }, { foo: string } &
|
|
108
|
+
class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
|
|
109
109
|
foo!: string;
|
|
110
110
|
|
|
111
|
-
protected getInitializer(props?: string | { foo: string; } | ({ foo: string; } &
|
|
111
|
+
protected getInitializer(props?: string | { foo: string; } | ({ foo: string; } & A_TYPES__Entity_Serialized) | ASEID | undefined): (props: any) => void | (() => void) {
|
|
112
112
|
if (typeof props === 'object' && props !== null && 'foo' in props) {
|
|
113
113
|
return this.fromFoo.bind(this);
|
|
114
114
|
}
|
|
@@ -123,7 +123,7 @@ describe('A-Entity tests', () => {
|
|
|
123
123
|
fromNew(newEntity: { foo: string; }): void {
|
|
124
124
|
super.fromNew(newEntity);
|
|
125
125
|
this.aseid = new ASEID({
|
|
126
|
-
|
|
126
|
+
concept: 'default',
|
|
127
127
|
scope: 'default',
|
|
128
128
|
entity: 'entity-a',
|
|
129
129
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -151,12 +151,12 @@ describe('A-Entity tests', () => {
|
|
|
151
151
|
});
|
|
152
152
|
it('Should allow to serialize and deserialize an entity', async () => {
|
|
153
153
|
|
|
154
|
-
class MyEntity extends A_Entity<{ foo: string }, { foo: string } &
|
|
154
|
+
class MyEntity extends A_Entity<{ foo: string }, { foo: string } & A_TYPES__Entity_Serialized> {
|
|
155
155
|
public foo!: string;
|
|
156
156
|
|
|
157
157
|
fromNew(newEntity: { foo: string; }): void {
|
|
158
158
|
this.aseid = new ASEID({
|
|
159
|
-
|
|
159
|
+
concept: 'default',
|
|
160
160
|
scope: 'default',
|
|
161
161
|
entity: 'entity-a',
|
|
162
162
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -164,13 +164,13 @@ describe('A-Entity tests', () => {
|
|
|
164
164
|
this.foo = newEntity.foo;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
fromJSON(serialized: { foo: string; } &
|
|
167
|
+
fromJSON(serialized: { foo: string; } & A_TYPES__Entity_Serialized): void {
|
|
168
168
|
this.aseid = new ASEID(serialized.aseid);
|
|
169
169
|
this.foo = serialized.foo;
|
|
170
170
|
return;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
toJSON(): { foo: string } &
|
|
173
|
+
toJSON(): { foo: string } & A_TYPES__Entity_Serialized {
|
|
174
174
|
return {
|
|
175
175
|
...super.toJSON(),
|
|
176
176
|
foo: this.foo,
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { A_CONSTANTS__DEFAULT_ENV_VARIABLES } from "@adaas/a-concept/constants/env.constants";
|
|
2
|
+
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
3
|
+
import { A_Error } from "@adaas/a-concept/global/A-Error/A_Error.class";
|
|
4
|
+
import { A_CONSTANTS__ERROR_CODES, A_CONSTANTS__ERROR_DESCRIPTION } from "@adaas/a-concept/global/A-Error/A_Error.constants";
|
|
5
|
+
|
|
6
|
+
jest.retryTimes(0);
|
|
7
|
+
|
|
8
|
+
describe('A-Error Tests', () => {
|
|
9
|
+
|
|
10
|
+
it('It Should be possible to create an A_Error instance', async () => {
|
|
11
|
+
|
|
12
|
+
const error = new A_Error('Test error');
|
|
13
|
+
|
|
14
|
+
expect(error).toBeDefined();
|
|
15
|
+
expect(error.message).toBe('Test error');
|
|
16
|
+
expect(error.code).toBe('test-error');
|
|
17
|
+
expect(error.type).toBe('a-error');
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
it('It Should be possible to create an A_Error instance from another error', async () => {
|
|
21
|
+
|
|
22
|
+
const originalError = new Error('Original error');
|
|
23
|
+
const error = new A_Error(originalError);
|
|
24
|
+
|
|
25
|
+
expect(error).toBeDefined();
|
|
26
|
+
expect(error.message).toBe('Original error');
|
|
27
|
+
expect(error.code).toBe(A_CONSTANTS__ERROR_CODES.UNEXPECTED_ERROR);
|
|
28
|
+
expect(error.type).toBe('a-error');
|
|
29
|
+
expect(error.originalError).toBe(originalError);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('It Should be possible to create an A_Error instance from another A_Error', async () => {
|
|
33
|
+
|
|
34
|
+
const originalError = new A_Error('Original A_Error', 'This is the original error');
|
|
35
|
+
const error = new A_Error(originalError);
|
|
36
|
+
|
|
37
|
+
expect(error).toBeDefined();
|
|
38
|
+
expect(error).toBe(originalError);
|
|
39
|
+
expect(error.message).toBe('Original A_Error');
|
|
40
|
+
expect(error.code).toBe('original-a-error');
|
|
41
|
+
expect(error.type).toBe('a-error');
|
|
42
|
+
expect(error.description).toBe('This is the original error');
|
|
43
|
+
expect(error.originalError).toBeUndefined()
|
|
44
|
+
|
|
45
|
+
});
|
|
46
|
+
it('It Should be possible to create an A_Error instance from another A_Error with custom code and description', async () => {
|
|
47
|
+
|
|
48
|
+
const originalError = new A_Error('Original A_Error', 'This is the original error');
|
|
49
|
+
const error = new A_Error({
|
|
50
|
+
code: 'test-code',
|
|
51
|
+
message: 'Custom error message',
|
|
52
|
+
description: 'This is a custom error description',
|
|
53
|
+
originalError
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
expect(error).toBeDefined();
|
|
57
|
+
expect(error.message).toBe('Custom error message');
|
|
58
|
+
expect(error.code).toBe('test-code');
|
|
59
|
+
expect(error.type).toBe('a-error');
|
|
60
|
+
expect(error.description).toBe('This is a custom error description');
|
|
61
|
+
expect(error.originalError).toBe(originalError);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it('It Should be possible to create an A_Error instance from another A_Error with only custom message', async () => {
|
|
65
|
+
|
|
66
|
+
const originalError = new A_Error('Original A_Error', 'This is the original error');
|
|
67
|
+
|
|
68
|
+
const error = new A_Error({
|
|
69
|
+
message: 'Custom error message',
|
|
70
|
+
originalError: originalError
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
expect(error).toBeDefined();
|
|
74
|
+
expect(error.message).toBe('Custom error message');
|
|
75
|
+
expect(error.code).toBe('custom-error-message');
|
|
76
|
+
expect(error.type).toBe('a-error');
|
|
77
|
+
expect(error.description).toBe(A_CONSTANTS__ERROR_DESCRIPTION);
|
|
78
|
+
expect(error.originalError).toBe(originalError);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it('It Should be possible to create an inherited A_Error instance', async () => {
|
|
82
|
+
class MyError extends A_Error { }
|
|
83
|
+
|
|
84
|
+
const error = new MyError('Test inherited error');
|
|
85
|
+
|
|
86
|
+
expect(error).toBeDefined();
|
|
87
|
+
expect(error.message).toBe('Test inherited error');
|
|
88
|
+
expect(error.code).toBe('test-inherited-error');
|
|
89
|
+
expect(error.type).toBe('my-error');
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
it('It should be possible to serialize an A_Error instance', async () => {
|
|
93
|
+
|
|
94
|
+
const originalError = new A_Error('Original A_Error', 'This is the original error');
|
|
95
|
+
const error = new A_Error(originalError);
|
|
96
|
+
|
|
97
|
+
const serialized = error.toJSON();
|
|
98
|
+
|
|
99
|
+
expect(serialized).toBeDefined();
|
|
100
|
+
expect(serialized.message).toBe('Original A_Error');
|
|
101
|
+
expect(serialized.code).toBe('original-a-error');
|
|
102
|
+
expect(serialized.type).toBe('a-error');
|
|
103
|
+
expect(serialized.scope).toBe('root');
|
|
104
|
+
expect(serialized.description).toBe('This is the original error');
|
|
105
|
+
expect(serialized.originalError).toBeUndefined();
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('It should be possible to change scope and concept via ENV variables', async () => {
|
|
109
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = 'my-project';
|
|
110
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = 'my-scope';
|
|
111
|
+
|
|
112
|
+
A_Context.reset();
|
|
113
|
+
|
|
114
|
+
const error = new A_Error('Test error in custom concept and scope');
|
|
115
|
+
|
|
116
|
+
expect(error).toBeDefined();
|
|
117
|
+
expect(error.message).toBe('Test error in custom concept and scope');
|
|
118
|
+
expect(error.code).toBe('test-error-in-custom-concept-and-scope');
|
|
119
|
+
expect(error.type).toBe('a-error');
|
|
120
|
+
expect(error.aseid.concept).toBe('my-project');
|
|
121
|
+
expect(error.aseid.scope).toBe('my-scope');
|
|
122
|
+
expect(error.scope).toBe('my-scope');
|
|
123
|
+
|
|
124
|
+
// Reset env variables
|
|
125
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_NAME] = undefined;
|
|
126
|
+
process.env[A_CONSTANTS__DEFAULT_ENV_VARIABLES.A_CONCEPT_ROOT_SCOPE] = undefined;
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
});
|
package/tests/A-Feature.test.ts
CHANGED
|
@@ -1,45 +1,51 @@
|
|
|
1
1
|
import './test.setup';
|
|
2
2
|
|
|
3
|
-
import { A_Inject } from "@adaas/a-concept/
|
|
3
|
+
import { A_Inject } from "@adaas/a-concept/global/A-Inject/A-Inject.decorator";
|
|
4
4
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
5
5
|
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
6
|
-
import { A_FeatureCaller } from "@adaas/a-concept/global/A-Feature/A-FeatureCaller.class";
|
|
7
6
|
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
7
|
+
import { A_Caller } from '@adaas/a-concept/global/A-Caller/A_Caller.class';
|
|
8
|
+
import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
|
|
8
9
|
|
|
9
10
|
jest.retryTimes(0);
|
|
10
11
|
|
|
11
12
|
describe('A-Feature tests', () => {
|
|
12
|
-
it('Should Allow to create a feature from
|
|
13
|
+
it('Should Allow to create a feature from component', async () => {
|
|
14
|
+
const testComponent = new A_Component()
|
|
15
|
+
A_Context.root.register(testComponent);
|
|
16
|
+
|
|
13
17
|
const feature = new A_Feature({
|
|
14
|
-
name: '
|
|
15
|
-
|
|
16
|
-
steps: [],
|
|
17
|
-
caller: new A_Component()
|
|
18
|
+
name: 'testFeature',
|
|
19
|
+
component: testComponent,
|
|
18
20
|
});
|
|
21
|
+
|
|
22
|
+
expect(feature).toBeInstanceOf(A_Feature);
|
|
23
|
+
expect(feature.scope.parent).toBe(A_Context.root);
|
|
24
|
+
|
|
19
25
|
});
|
|
20
26
|
it('Should Allow to create a feature with steps', async () => {
|
|
27
|
+
const template = [
|
|
28
|
+
{
|
|
29
|
+
name: 'A_Component.testHandler',
|
|
30
|
+
component: A_Component,
|
|
31
|
+
handler: 'testHandler',
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
|
|
21
35
|
const feature = new A_Feature({
|
|
22
|
-
name: '
|
|
23
|
-
scope: new A_Scope(
|
|
24
|
-
|
|
25
|
-
{
|
|
26
|
-
name: 'A_Component.testHandler',
|
|
27
|
-
component: A_Component,
|
|
28
|
-
handler: 'testHandler',
|
|
29
|
-
behavior: 'sync',
|
|
30
|
-
before: [],
|
|
31
|
-
after: []
|
|
32
|
-
}
|
|
33
|
-
],
|
|
34
|
-
caller: new A_Component()
|
|
36
|
+
name: 'testFeature',
|
|
37
|
+
scope: new A_Scope(),
|
|
38
|
+
template
|
|
35
39
|
});
|
|
40
|
+
|
|
41
|
+
expect(feature).toBeInstanceOf(A_Feature);
|
|
36
42
|
});
|
|
37
43
|
it('Should be possible to execute a feature with steps as a template on the component', async () => {
|
|
38
44
|
// 1) create a base component with some feature
|
|
39
45
|
class MyExtendedComponent extends A_Component {
|
|
40
46
|
|
|
41
47
|
async testHandler(
|
|
42
|
-
@A_Inject(
|
|
48
|
+
@A_Inject(A_Caller) caller: MyComponent
|
|
43
49
|
) {
|
|
44
50
|
caller.sum = 2;
|
|
45
51
|
}
|
|
@@ -58,6 +64,11 @@ describe('A-Feature tests', () => {
|
|
|
58
64
|
behavior: 'sync',
|
|
59
65
|
before: [],
|
|
60
66
|
after: []
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
name: 'MyExtendedComponent.testHandler',
|
|
70
|
+
component: MyExtendedComponent,
|
|
71
|
+
handler: 'testHandler'
|
|
61
72
|
}]
|
|
62
73
|
})
|
|
63
74
|
async testHandler() { }
|
|
@@ -81,12 +92,12 @@ describe('A-Feature tests', () => {
|
|
|
81
92
|
expect(myComponent.sum).toBe(2);
|
|
82
93
|
|
|
83
94
|
});
|
|
84
|
-
|
|
95
|
+
it('Should be possible to execute a feature with steps as a template on the component with string component declaration', async () => {
|
|
85
96
|
// 1) create a base component with some feature
|
|
86
97
|
class MyExtendedComponent2 extends A_Component {
|
|
87
98
|
|
|
88
99
|
async testHandler(
|
|
89
|
-
@A_Inject(
|
|
100
|
+
@A_Inject(A_Caller) caller: MyComponent2
|
|
90
101
|
) {
|
|
91
102
|
caller.sum = 2;
|
|
92
103
|
}
|
|
@@ -128,6 +139,4 @@ describe('A-Feature tests', () => {
|
|
|
128
139
|
expect(myComponent.sum).toBe(2);
|
|
129
140
|
|
|
130
141
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
142
|
});
|
package/tests/A-Scope.test.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import './test.setup';
|
|
2
2
|
|
|
3
|
-
import { A_Command } from "@adaas/a-concept/
|
|
3
|
+
import { A_Command } from "@adaas/a-concept/base/A-Command/A-Command.class";
|
|
4
4
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
5
|
+
import { A_Concept } from '@adaas/a-concept/global/A-Concept/A-Concept.class';
|
|
6
|
+
import { A_Container } from '@adaas/a-concept/global/A-Container/A-Container.class';
|
|
7
|
+
import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
|
|
5
8
|
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
9
|
+
import { A_Feature } from '@adaas/a-concept/global/A-Feature/A-Feature.class';
|
|
6
10
|
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
7
|
-
import { ASEID } from
|
|
11
|
+
import { ASEID } from '@adaas/a-concept/global/ASEID/ASEID.class';
|
|
8
12
|
|
|
9
13
|
jest.retryTimes(0);
|
|
10
14
|
|
|
@@ -54,7 +58,7 @@ describe('A-Scope tests', () => {
|
|
|
54
58
|
const parentScope = new A_Scope({ name: 'ParentScope' });
|
|
55
59
|
const childScope = new A_Scope({ name: 'ChildScope' });
|
|
56
60
|
|
|
57
|
-
childScope.
|
|
61
|
+
childScope.inherit(parentScope);
|
|
58
62
|
|
|
59
63
|
const component = new A_Component();
|
|
60
64
|
parentScope.register(component);
|
|
@@ -68,7 +72,7 @@ describe('A-Scope tests', () => {
|
|
|
68
72
|
public bar!: string;
|
|
69
73
|
fromNew(newEntity: { bar: string; }): void {
|
|
70
74
|
this.aseid = new ASEID({
|
|
71
|
-
|
|
75
|
+
concept: 'default',
|
|
72
76
|
scope: 'default',
|
|
73
77
|
entity: 'entity-a',
|
|
74
78
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -92,7 +96,7 @@ describe('A-Scope tests', () => {
|
|
|
92
96
|
public bar!: string;
|
|
93
97
|
fromNew(newEntity: { bar: string; }): void {
|
|
94
98
|
this.aseid = new ASEID({
|
|
95
|
-
|
|
99
|
+
concept: 'default',
|
|
96
100
|
scope: 'default',
|
|
97
101
|
entity: 'entity-a',
|
|
98
102
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -116,7 +120,7 @@ describe('A-Scope tests', () => {
|
|
|
116
120
|
public foo!: string;
|
|
117
121
|
fromNew(newEntity: { foo: string; }): void {
|
|
118
122
|
this.aseid = new ASEID({
|
|
119
|
-
|
|
123
|
+
concept: 'default',
|
|
120
124
|
scope: 'default',
|
|
121
125
|
entity: 'entity-a',
|
|
122
126
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -137,7 +141,7 @@ describe('A-Scope tests', () => {
|
|
|
137
141
|
public foo!: string;
|
|
138
142
|
fromNew(newEntity: { foo: string; }): void {
|
|
139
143
|
this.aseid = new ASEID({
|
|
140
|
-
|
|
144
|
+
concept: 'default',
|
|
141
145
|
scope: 'default',
|
|
142
146
|
entity: 'entity-a',
|
|
143
147
|
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
@@ -184,7 +188,9 @@ describe('A-Scope tests', () => {
|
|
|
184
188
|
expect(resolved3).toBe(MyEntity);
|
|
185
189
|
|
|
186
190
|
expect(() => {
|
|
187
|
-
scope.resolveConstructor<MyEntity>('
|
|
191
|
+
const res = scope.resolveConstructor<MyEntity>('mya__entity');
|
|
192
|
+
|
|
193
|
+
console.log('RESOLVED:::: ', res)
|
|
188
194
|
}).toThrow();
|
|
189
195
|
|
|
190
196
|
const instance = new resolved();
|
|
@@ -193,36 +199,58 @@ describe('A-Scope tests', () => {
|
|
|
193
199
|
expect(instance.foo).toBe('bar');
|
|
194
200
|
|
|
195
201
|
});
|
|
196
|
-
it('Should allow to resolve A-
|
|
197
|
-
class
|
|
202
|
+
it('Should allow to resolve A-Entity by classname', async () => {
|
|
203
|
+
class MyEntity extends A_Entity<{ foo: string }> {
|
|
198
204
|
public foo!: string;
|
|
199
205
|
|
|
200
|
-
fromNew(
|
|
201
|
-
super.fromNew(
|
|
202
|
-
this.foo =
|
|
206
|
+
fromNew(newEntity: { foo: string; }): void {
|
|
207
|
+
super.fromNew(newEntity);
|
|
208
|
+
this.foo = newEntity.foo;
|
|
203
209
|
}
|
|
204
210
|
|
|
205
211
|
}
|
|
206
212
|
|
|
207
213
|
const scope = new A_Scope({ name: 'TestScope' });
|
|
208
|
-
scope.register(
|
|
214
|
+
scope.register(MyEntity);
|
|
209
215
|
|
|
210
|
-
const resolved = scope.resolveConstructor<
|
|
211
|
-
const resolved2 = scope.resolveConstructor<
|
|
212
|
-
const resolved3 = scope.resolveConstructor<
|
|
213
|
-
expect(resolved).toBe(
|
|
214
|
-
expect(resolved2).toBe(
|
|
215
|
-
expect(resolved3).toBe(
|
|
216
|
+
const resolved = scope.resolveConstructor<MyEntity>('my-entity');
|
|
217
|
+
const resolved2 = scope.resolveConstructor<MyEntity>('my_entity');
|
|
218
|
+
const resolved3 = scope.resolveConstructor<MyEntity>('MyEntity');
|
|
219
|
+
expect(resolved).toBe(MyEntity);
|
|
220
|
+
expect(resolved2).toBe(MyEntity);
|
|
221
|
+
expect(resolved3).toBe(MyEntity);
|
|
216
222
|
|
|
217
223
|
expect(() => {
|
|
218
|
-
scope.resolveConstructor<
|
|
224
|
+
scope.resolveConstructor<MyEntity>('myS-entity');
|
|
219
225
|
}).toThrow();
|
|
220
226
|
|
|
221
227
|
|
|
222
228
|
const instance = new resolved({ foo: 'bar' });
|
|
223
229
|
|
|
224
|
-
expect(instance).toBeInstanceOf(
|
|
230
|
+
expect(instance).toBeInstanceOf(MyEntity);
|
|
225
231
|
expect(instance.foo).toBe('bar');
|
|
226
232
|
|
|
227
233
|
});
|
|
234
|
+
|
|
235
|
+
it('Should provide a proper inheritance chain', async () => {
|
|
236
|
+
class customContainer extends A_Container { }
|
|
237
|
+
class customEntity extends A_Entity { }
|
|
238
|
+
|
|
239
|
+
const container = new customContainer({ name: 'CustomContainer', entities: [customEntity] })
|
|
240
|
+
|
|
241
|
+
const concept = new A_Concept({
|
|
242
|
+
containers: [container],
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
// root scope
|
|
246
|
+
expect(concept.scope).toBe(A_Context.root);
|
|
247
|
+
// root -> container.scope
|
|
248
|
+
expect(container.scope.parent).toBe(concept.scope);
|
|
249
|
+
const feature = new A_Feature({
|
|
250
|
+
name: 'test',
|
|
251
|
+
component: container
|
|
252
|
+
});
|
|
253
|
+
// root -> container.scope -> feature.scope
|
|
254
|
+
expect(feature.scope.parent).toBe(container.scope);
|
|
255
|
+
});
|
|
228
256
|
});
|