@adaas/a-concept 0.0.64 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +24 -32
- package/dist/index.js +35 -52
- package/dist/index.js.map +1 -1
- package/dist/src/constants/env.constants.d.ts +15 -8
- package/dist/src/constants/env.constants.js +17 -10
- package/dist/src/constants/env.constants.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
- package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
- package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
- package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
- package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
- package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
- package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
- package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
- package/dist/src/global/A-Component/A-Component.class.js +35 -19
- package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
- package/dist/src/global/A-Component/A-Component.constants.js +11 -0
- package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
- package/dist/src/global/A-Component/A-Component.meta.js +6 -8
- package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
- package/dist/src/global/A-Component/A-Component.types.js +1 -8
- package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
- package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
- package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
- package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
- package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
- package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
- package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
- package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
- package/dist/src/global/A-Container/A-Container.class.js +34 -55
- package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
- package/dist/src/global/A-Container/A-Container.constants.js +10 -0
- package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
- package/dist/src/global/A-Container/A-Container.meta.js +5 -6
- package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
- package/dist/src/global/A-Container/A-Container.types.js +1 -7
- package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
- package/dist/src/global/A-Context/A-Context.class.js +436 -244
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
- package/dist/src/global/A-Context/A-Context.error.js +25 -0
- package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
- package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
- package/dist/src/global/A-Context/A-Context.types.js +1 -0
- package/dist/src/global/A-Entity/A-Entity.class.d.ts +18 -18
- package/dist/src/global/A-Entity/A-Entity.class.js +36 -43
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
- package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
- package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
- package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
- package/dist/src/global/A-Error/A_Error.class.js +267 -0
- package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
- package/dist/src/global/A-Error/A_Error.constants.js +9 -0
- package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
- package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
- package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
- package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
- package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
- package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
- package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
- package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
- package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
- package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
- package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
- package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
- package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
- package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
- package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
- package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
- package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
- package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
- package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
- package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
- package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
- package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
- package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
- package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
- package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
- package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
- package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
- package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
- package/dist/src/global/ASEID/ASEID.class.js +167 -0
- package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.constants.js +2 -0
- package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
- package/dist/src/global/ASEID/ASEID.error.js +10 -0
- package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
- package/dist/src/global/ASEID/ASEID.types.js +5 -0
- package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
- package/dist/src/helpers/A_Common.helper.d.ts +28 -0
- package/dist/src/helpers/A_Common.helper.js +170 -0
- package/dist/src/helpers/A_Common.helper.js.map +1 -0
- package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
- package/dist/src/helpers/A_Formatter.helper.js +62 -0
- package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
- package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
- package/dist/src/helpers/A_Identity.helper.js +43 -0
- package/dist/src/helpers/A_Identity.helper.js.map +1 -0
- package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
- package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
- package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
- package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
- package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
- package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
- package/dist/src/types/A_Common.types.d.ts +36 -0
- package/dist/src/types/A_Common.types.js +3 -0
- package/dist/src/types/A_Common.types.js.map +1 -0
- package/index.ts +27 -51
- package/jest.config.ts +1 -0
- package/package.json +1 -2
- package/src/constants/env.constants.ts +18 -11
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
- package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
- package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
- package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
- package/src/global/A-Caller/A_Caller.class.ts +61 -0
- package/src/global/A-Caller/A_Caller.error.ts +10 -0
- package/src/global/A-Caller/A_Caller.types.ts +25 -0
- package/src/global/A-Component/A-Component.class.ts +26 -15
- package/src/global/A-Component/A-Component.constants.ts +9 -0
- package/src/global/A-Component/A-Component.meta.ts +6 -16
- package/src/global/A-Component/A-Component.types.ts +53 -28
- package/src/global/A-Concept/A-Concept.class.ts +316 -0
- package/src/global/A-Concept/A-Concept.constants.ts +36 -0
- package/src/global/A-Concept/A-Concept.meta.ts +17 -0
- package/src/global/A-Concept/A-Concept.types.ts +100 -0
- package/src/global/A-Container/A-Container.class.ts +42 -83
- package/src/global/A-Container/A-Container.constants.ts +5 -0
- package/src/global/A-Container/A-Container.meta.ts +7 -11
- package/src/global/A-Container/A-Container.types.ts +38 -34
- package/src/global/A-Context/A-Context.class.ts +648 -412
- package/src/global/A-Context/A-Context.error.ts +44 -0
- package/src/global/A-Context/A-Context.types.ts +14 -0
- package/src/global/A-Entity/A-Entity.class.ts +39 -52
- package/src/global/A-Entity/A-Entity.constants.ts +12 -0
- package/src/global/A-Entity/A-Entity.error.ts +12 -0
- package/src/global/A-Entity/A-Entity.meta.ts +4 -4
- package/src/global/A-Entity/A-Entity.types.ts +31 -36
- package/src/global/A-Error/A_Error.class.ts +408 -0
- package/src/global/A-Error/A_Error.constants.ts +11 -0
- package/src/global/A-Error/A_Error.types.ts +96 -0
- package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
- package/src/global/A-Feature/A-Feature.class.ts +279 -122
- package/src/global/A-Feature/A-Feature.error.ts +33 -0
- package/src/global/A-Feature/A-Feature.types.ts +278 -40
- package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
- package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
- package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
- package/src/global/A-Inject/A-Inject.error.ts +8 -0
- package/src/global/A-Inject/A-Inject.types.ts +75 -0
- package/src/global/A-Meta/A-Meta.class.ts +1 -1
- package/src/global/A-Meta/A-Meta.types.ts +21 -0
- package/src/global/A-Scope/A-Scope.class.ts +288 -299
- package/src/global/A-Scope/A-Scope.error.ts +13 -0
- package/src/global/A-Scope/A-Scope.types.ts +61 -27
- package/src/global/A-Stage/A-Stage.class.ts +142 -80
- package/src/global/A-Stage/A-Stage.error.ts +4 -2
- package/src/global/A-Stage/A-Stage.types.ts +4 -25
- package/src/global/ASEID/ASEID.class.ts +275 -0
- package/src/global/ASEID/ASEID.error.ts +12 -0
- package/src/global/ASEID/ASEID.types.ts +79 -0
- package/src/helpers/A_Common.helper.ts +204 -0
- package/src/helpers/A_Formatter.helper.ts +58 -0
- package/src/helpers/A_Identity.helper.ts +53 -0
- package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
- package/src/helpers/A_TypeGuards.helper.ts +318 -0
- package/src/types/A_Common.types.ts +79 -0
- package/tests/A-Common.test.ts +117 -0
- package/tests/A-Component.test.ts +11 -6
- package/tests/A-Concept.test.ts +19 -22
- package/tests/A-Entity.test.ts +24 -24
- package/tests/A-Error.test.ts +129 -0
- package/tests/A-Feature.test.ts +34 -25
- package/tests/A-Scope.test.ts +50 -22
- package/tests/ASEID.test.ts +74 -0
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +3 -2
- package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
- package/dist/src/base/A-Config/A-Config.container.js +0 -69
- package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
- package/dist/src/base/A-Config/A-Config.context.js +0 -60
- package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
- package/dist/src/base/A-Config/A-Config.types.js +0 -7
- package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
- package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
- package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
- package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
- package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
- package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
- package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
- package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
- package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
- package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
- package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
- package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
- package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
- package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
- package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
- package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
- package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
- package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
- package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
- package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
- package/dist/src/global/A-Command/A-Command.class.js +0 -349
- package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
- package/dist/src/global/A-Command/A-Command.constants.js +0 -22
- package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
- package/dist/src/global/A-Command/A-Command.meta.js +0 -18
- package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
- package/dist/src/global/A-Command/A-Command.types.js +0 -10
- package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
- package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
- package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
- package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
- package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
- package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
- package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
- package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
- package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
- package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
- package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
- package/dist/src/helpers/StepsManager.class.js.map +0 -1
- package/dist/src/types/A_Module.types.d.ts +0 -17
- package/dist/src/types/A_Module.types.js +0 -22
- package/dist/src/types/A_Module.types.js.map +0 -1
- package/examples/entity/concept.ts +0 -68
- package/examples/entity/entities/Task.entity.ts +0 -110
- package/examples/entity/entities/User.entity.ts +0 -62
- package/examples/fe-be/channels/Test.channel.ts +0 -27
- package/examples/fe-be/components/BE-Controller.component.ts +0 -20
- package/examples/fe-be/components/FE.component.ts +0 -13
- package/examples/fe-be/containers/ServerApp.container.ts +0 -8
- package/examples/fe-be/containers/WebApp.container.ts +0 -13
- package/examples/multi-container/channels/Direct.channel.ts +0 -39
- package/examples/multi-container/concept.ts +0 -0
- package/examples/multi-container/containers/Command.container.ts +0 -41
- package/examples/multi-container/containers/Schedule.container.ts +0 -52
- package/examples/simple/components/A.component.ts +0 -71
- package/examples/simple/components/B.component.ts +0 -68
- package/examples/simple/concept.ts +0 -87
- package/examples/simple/containers/Main.container.ts +0 -88
- package/examples/simple/containers/Secondary.container.ts +0 -26
- package/examples/simple/context/Fragment_A.context.ts +0 -25
- package/examples/simple/context/Fragment_B.context.ts +0 -19
- package/examples/simple/entities/EntityA.entity.ts +0 -32
- package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
- package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
- package/examples/simple-http-server/concept.ts +0 -35
- package/examples/simple-http-server/containers/http-server.container.ts +0 -57
- package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
- package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
- package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
- package/examples/simple-http-server/controllers/users.controller.ts +0 -104
- package/examples/simple-http-server/test.ts +0 -290
- package/src/base/A-Config/A-Config.container.ts +0 -68
- package/src/base/A-Config/A-Config.context.ts +0 -114
- package/src/base/A-Config/A-Config.types.ts +0 -28
- package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
- package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
- package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
- package/src/base/A-Errors/A-Error.entity.ts +0 -10
- package/src/base/A-Errors/A-Errors.component.ts +0 -103
- package/src/base/A-Errors/A-Errors.context.ts +0 -90
- package/src/base/A-Errors/A-Errors.types.ts +0 -6
- package/src/base/A-Logger/A-Logger.component.ts +0 -192
- package/src/base/A-Logger/A-Logger.types.ts +0 -0
- package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
- package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
- package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
- package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
- package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
- package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
- package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
- package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
- package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
- package/src/global/A-Channel/A-Channel.class.ts +0 -111
- package/src/global/A-Channel/A-Channel.types.ts +0 -114
- package/src/global/A-Command/A-Command.class.ts +0 -419
- package/src/global/A-Command/A-Command.constants.ts +0 -27
- package/src/global/A-Command/A-Command.meta.ts +0 -22
- package/src/global/A-Command/A-Command.types.ts +0 -73
- package/src/global/A-Command/context/A_Command.context.ts +0 -114
- package/src/global/A-Concept/A_Concept.class.ts +0 -298
- package/src/global/A-Concept/A_Concept.meta.ts +0 -32
- package/src/global/A-Concept/A_Concept.types.ts +0 -143
- package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
- package/src/global/A-Scope/A-Scope.constants.ts +0 -9
- package/src/types/A_Module.types.ts +0 -23
- package/tests/A-Command.test.ts +0 -133
- package/tests/A-Config.test.ts +0 -172
- /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
- /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
- /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
|
@@ -1,33 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.A_Scope = void 0;
|
|
4
|
-
const a_utils_1 = require("@adaas/a-utils");
|
|
5
|
-
const A_Component_types_1 = require("../A-Component/A-Component.types");
|
|
6
4
|
const A_Fragment_class_1 = require("../A-Fragment/A-Fragment.class");
|
|
7
5
|
const A_Context_class_1 = require("../A-Context/A-Context.class");
|
|
8
6
|
const A_Component_class_1 = require("../A-Component/A-Component.class");
|
|
9
7
|
const A_Entity_class_1 = require("../A-Entity/A-Entity.class");
|
|
10
|
-
const
|
|
8
|
+
const A_TypeGuards_helper_1 = require("../../helpers/A_TypeGuards.helper");
|
|
9
|
+
const A_Error_class_1 = require("../A-Error/A_Error.class");
|
|
10
|
+
const A_Formatter_helper_1 = require("../../helpers/A_Formatter.helper");
|
|
11
|
+
const ASEID_class_1 = require("../ASEID/ASEID.class");
|
|
12
|
+
const A_Common_helper_1 = require("../../helpers/A_Common.helper");
|
|
13
|
+
const A_Scope_error_1 = require("./A-Scope.error");
|
|
14
|
+
const A_Component_constants_1 = require("../A-Component/A-Component.constants");
|
|
11
15
|
class A_Scope {
|
|
12
16
|
// ===========================================================================
|
|
13
17
|
// --------------------Readonly Allowed Properties----------------------------
|
|
14
18
|
// ===========================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Returns the name of the scope
|
|
21
|
+
*/
|
|
22
|
+
get name() { return this._name; }
|
|
15
23
|
/**
|
|
16
24
|
* Returns a list of Constructors for A-Components that are available in the scope
|
|
17
25
|
*/
|
|
18
26
|
get allowedComponents() { return this._allowedComponents; }
|
|
19
27
|
/**
|
|
20
|
-
* Returns a list of Constructors for A-
|
|
28
|
+
* Returns a list of Constructors for A-Entities that are available in the scope
|
|
21
29
|
*/
|
|
22
|
-
get
|
|
30
|
+
get allowedEntities() { return this._allowedEntities; }
|
|
23
31
|
/**
|
|
24
32
|
* Returns a list of Constructors for A-Fragments that are available in the scope
|
|
25
33
|
*/
|
|
26
34
|
get allowedFragments() { return this._allowedFragments; }
|
|
27
35
|
/**
|
|
28
|
-
* Returns a list of Constructors for A-
|
|
36
|
+
* Returns a list of Constructors for A-Errors that are available in the scope
|
|
29
37
|
*/
|
|
30
|
-
get
|
|
38
|
+
get allowedErrors() { return this._allowedErrors; }
|
|
39
|
+
// ===========================================================================
|
|
40
|
+
// --------------------Readonly Registered Properties--------------------------
|
|
41
|
+
// ===========================================================================
|
|
31
42
|
/**
|
|
32
43
|
* Returns an Array of entities registered in the scope
|
|
33
44
|
*
|
|
@@ -47,33 +58,15 @@ class A_Scope {
|
|
|
47
58
|
*/
|
|
48
59
|
get components() { return Array.from(this._components.values()); }
|
|
49
60
|
/**
|
|
50
|
-
* Returns
|
|
61
|
+
* Returns the parent scope of the current scope
|
|
51
62
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*/
|
|
55
|
-
get commands() { return Array.from(this._commands.values()); }
|
|
56
|
-
/**
|
|
57
|
-
* A_Scope refers to the visibility and accessibility of :
|
|
58
|
-
* - variables,
|
|
59
|
-
* - Components,
|
|
60
|
-
* - Context Fragments
|
|
61
|
-
* - Commands
|
|
62
|
-
* - Entities
|
|
63
|
-
* - and objects in different parts of your code.
|
|
64
|
-
* Scope determines where a particular piece of data (like a variable or function)
|
|
65
|
-
* can be accessed, modified, or referenced, and it plays a crucial role in avoiding naming collisions and ensuring data integrity.
|
|
66
|
-
*
|
|
67
|
-
* [!] The scope behavior is similar to tree structure where each scope can have a parent scope and inherit its components, fragments, entities and commands
|
|
68
|
-
*
|
|
69
|
-
* @param params
|
|
70
|
-
* @param config
|
|
63
|
+
* @param setValue
|
|
64
|
+
* @returns
|
|
71
65
|
*/
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.name = '';
|
|
66
|
+
get parent() {
|
|
67
|
+
return this._parent;
|
|
68
|
+
}
|
|
69
|
+
constructor(param1, param2) {
|
|
77
70
|
// ===========================================================================
|
|
78
71
|
// --------------------ALLowed Constructors--------------------------------
|
|
79
72
|
// ===========================================================================
|
|
@@ -82,6 +75,10 @@ class A_Scope {
|
|
|
82
75
|
*
|
|
83
76
|
*/
|
|
84
77
|
this._allowedComponents = new Set();
|
|
78
|
+
/**
|
|
79
|
+
* A set of allowed errors, A set of constructors that are allowed in the scope
|
|
80
|
+
*/
|
|
81
|
+
this._allowedErrors = new Set();
|
|
85
82
|
/**
|
|
86
83
|
* A set of allowed entities, A set of constructors that are allowed in the scope
|
|
87
84
|
*/
|
|
@@ -90,32 +87,51 @@ class A_Scope {
|
|
|
90
87
|
* A set of allowed fragments, A set of constructors that are allowed in the scope
|
|
91
88
|
*/
|
|
92
89
|
this._allowedFragments = new Set();
|
|
93
|
-
/**
|
|
94
|
-
* A set of allowed commands, A set of constructors that are allowed in the scope
|
|
95
|
-
*/
|
|
96
|
-
this._allowedCommands = new Set();
|
|
97
90
|
// ===========================================================================
|
|
98
91
|
// --------------------Internal Storage--------------------------------
|
|
99
92
|
// ===========================================================================
|
|
100
93
|
/**
|
|
101
|
-
*
|
|
94
|
+
* Storage for the components, should be strong as components are unique per scope
|
|
102
95
|
*/
|
|
103
96
|
this._components = new Map();
|
|
104
97
|
/**
|
|
105
|
-
* Storage for the
|
|
98
|
+
* Storage for the errors, should be strong as errors are unique per code
|
|
106
99
|
*/
|
|
107
|
-
this.
|
|
100
|
+
this._errors = new Map();
|
|
108
101
|
/**
|
|
109
102
|
* Storage for the entities, should be strong as entities are unique per aseid
|
|
110
103
|
*/
|
|
111
104
|
this._entities = new Map();
|
|
112
105
|
/**
|
|
113
|
-
* Storage for the
|
|
106
|
+
* Storage for the fragments, should be weak as fragments are singletons per scope
|
|
114
107
|
*/
|
|
115
|
-
this.
|
|
116
|
-
|
|
108
|
+
this._fragments = new Map();
|
|
109
|
+
const initializer = this.getInitializer(param1);
|
|
110
|
+
// the returned initializer is already bound to `this` (we used .bind(this)),
|
|
111
|
+
// so calling it will run the appropriate logic on this instance:
|
|
112
|
+
initializer.call(this, param1, param2);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Determines which initializer method to use based on the type of the first parameter.
|
|
116
|
+
*
|
|
117
|
+
* @param param1
|
|
118
|
+
* @returns
|
|
119
|
+
*/
|
|
120
|
+
getInitializer(param1, param2) {
|
|
121
|
+
switch (true) {
|
|
122
|
+
case !param1 && !param2:
|
|
123
|
+
;
|
|
124
|
+
return this.defaultInitialized;
|
|
125
|
+
case !!param1:
|
|
126
|
+
return this.defaultInitialized;
|
|
127
|
+
default:
|
|
128
|
+
throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.ConstructorError, 'Invalid parameters provided to A_Scope constructor');
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
defaultInitialized(params = {}, config = {}) {
|
|
132
|
+
this._name = params.name || this.constructor.name;
|
|
117
133
|
this.initComponents(params.components);
|
|
118
|
-
this.
|
|
134
|
+
this.initErrors(params.errors);
|
|
119
135
|
this.initFragments(params.fragments);
|
|
120
136
|
this.initEntities(params.entities);
|
|
121
137
|
if (config.parent) {
|
|
@@ -134,6 +150,14 @@ class A_Scope {
|
|
|
134
150
|
* @param _components
|
|
135
151
|
*/
|
|
136
152
|
initComponents(_components) { _components === null || _components === void 0 ? void 0 : _components.forEach(this.register.bind(this)); }
|
|
153
|
+
/**
|
|
154
|
+
* This method is used to initialize the errors in the scope
|
|
155
|
+
*
|
|
156
|
+
* This method only registers the errors in the scope in case they are not registered yet
|
|
157
|
+
*
|
|
158
|
+
* @param _errors
|
|
159
|
+
*/
|
|
160
|
+
initErrors(_errors) { _errors === null || _errors === void 0 ? void 0 : _errors.forEach(this.register.bind(this)); }
|
|
137
161
|
/**
|
|
138
162
|
* This method is used to initialize the entities in the scope
|
|
139
163
|
*
|
|
@@ -141,7 +165,7 @@ class A_Scope {
|
|
|
141
165
|
*
|
|
142
166
|
* @param _entities
|
|
143
167
|
*/
|
|
144
|
-
initEntities(_entities) { _entities === null || _entities === void 0 ? void 0 : _entities.forEach(this.register
|
|
168
|
+
initEntities(_entities) { _entities === null || _entities === void 0 ? void 0 : _entities.forEach(ent => this.register(ent)); }
|
|
145
169
|
/**
|
|
146
170
|
* This method is used to initialize the fragments in the scope
|
|
147
171
|
*
|
|
@@ -151,26 +175,18 @@ class A_Scope {
|
|
|
151
175
|
*/
|
|
152
176
|
initFragments(_fragments) { _fragments === null || _fragments === void 0 ? void 0 : _fragments.forEach(this.register.bind(this)); }
|
|
153
177
|
/**
|
|
154
|
-
*
|
|
178
|
+
* Returns the issuer of the scope, useful for debugging and tracking purposes
|
|
155
179
|
*
|
|
156
|
-
*
|
|
180
|
+
* Issuer can be:
|
|
181
|
+
* - A Container that allocated the scope
|
|
182
|
+
* - A Feature that allocated the scope
|
|
157
183
|
*
|
|
158
|
-
*
|
|
159
|
-
*/
|
|
160
|
-
initCommands(_commands) { _commands === null || _commands === void 0 ? void 0 : _commands.forEach(this.register.bind(this)); }
|
|
161
|
-
/**
|
|
162
|
-
* This method is used to get or set the parent scope
|
|
163
|
-
*
|
|
164
|
-
* [!] Note that setting the parent scope will override the existing parent scope
|
|
184
|
+
* [!] Note that the issuer is the direct allocator of the scope, so if a Container allocated a Feature that allocated the scope, the issuer will be the Feature
|
|
165
185
|
*
|
|
166
|
-
* @param setValue
|
|
167
186
|
* @returns
|
|
168
187
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
return this.inherit(setValue);
|
|
172
|
-
}
|
|
173
|
-
return this._parent;
|
|
188
|
+
issuer() {
|
|
189
|
+
return A_Context_class_1.A_Context.issuer(this);
|
|
174
190
|
}
|
|
175
191
|
/**
|
|
176
192
|
* This method is used to inherit from a parent scope
|
|
@@ -181,10 +197,16 @@ class A_Scope {
|
|
|
181
197
|
* @returns
|
|
182
198
|
*/
|
|
183
199
|
inherit(parent) {
|
|
200
|
+
if (!parent)
|
|
201
|
+
throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.InitializationError, `Invalid parent scope provided`);
|
|
202
|
+
if (parent === this)
|
|
203
|
+
throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.CircularInheritanceError, `Unable to inherit scope ${this.name} from itself`);
|
|
204
|
+
if (parent === this._parent)
|
|
205
|
+
return this;
|
|
184
206
|
// Prevent circular inheritance
|
|
185
207
|
const circularCheck = this.checkCircularInheritance(parent);
|
|
186
208
|
if (circularCheck)
|
|
187
|
-
throw new
|
|
209
|
+
throw new A_Scope_error_1.A_ScopeError(A_Scope_error_1.A_ScopeError.CircularInheritanceError, `Circular inheritance detected: ${[...circularCheck, parent.name].join(' -> ')}`);
|
|
188
210
|
this._parent = parent;
|
|
189
211
|
return this;
|
|
190
212
|
}
|
|
@@ -201,10 +223,6 @@ class A_Scope {
|
|
|
201
223
|
const possibleFragment = Array.from(this.allowedFragments).find(f => f.name === ctor);
|
|
202
224
|
if (possibleFragment)
|
|
203
225
|
found = true;
|
|
204
|
-
// 1.3 Check if it's a command code or name
|
|
205
|
-
const possibleCommand = Array.from(this.allowedCommands).find(c => c.name === ctor);
|
|
206
|
-
if (possibleCommand)
|
|
207
|
-
found = true;
|
|
208
226
|
// 1.4 Check if it's an entity name or entity static entity property
|
|
209
227
|
const possibleEntity = Array.from(this.allowedEntities).find(e => e.name === ctor);
|
|
210
228
|
if (possibleEntity)
|
|
@@ -215,25 +233,20 @@ class A_Scope {
|
|
|
215
233
|
return false;
|
|
216
234
|
}
|
|
217
235
|
// 2) Check if it's a Component
|
|
218
|
-
case
|
|
236
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(ctor): {
|
|
219
237
|
found = this.isAllowedComponent(ctor);
|
|
220
238
|
break;
|
|
221
239
|
}
|
|
222
240
|
// 3) Check if it's an Entity
|
|
223
|
-
case
|
|
241
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(ctor): {
|
|
224
242
|
found = this.isAllowedEntity(ctor);
|
|
225
243
|
break;
|
|
226
244
|
}
|
|
227
245
|
// 4) Check if it's a Fragment
|
|
228
|
-
case
|
|
246
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isFragmentConstructor(ctor): {
|
|
229
247
|
found = this.isAllowedFragment(ctor);
|
|
230
248
|
break;
|
|
231
249
|
}
|
|
232
|
-
// 5) Check if it's a Command
|
|
233
|
-
case this.isCommandConstructor(ctor): {
|
|
234
|
-
found = this.isAllowedCommand(ctor);
|
|
235
|
-
break;
|
|
236
|
-
}
|
|
237
250
|
}
|
|
238
251
|
if (!found && !!this._parent)
|
|
239
252
|
return this._parent.has(ctor);
|
|
@@ -253,9 +266,11 @@ class A_Scope {
|
|
|
253
266
|
const merged = new A_Scope({
|
|
254
267
|
name: `${this.name} + ${anotherScope.name}`,
|
|
255
268
|
components: [...this.allowedComponents, ...anotherScope.allowedComponents],
|
|
256
|
-
commands: [...this.allowedCommands, ...anotherScope.allowedCommands],
|
|
257
269
|
fragments: [...this.fragments, ...anotherScope.fragments],
|
|
258
|
-
entities: [
|
|
270
|
+
entities: [
|
|
271
|
+
...this.entities, ...anotherScope.entities,
|
|
272
|
+
...this.allowedEntities, ...anotherScope.allowedEntities
|
|
273
|
+
],
|
|
259
274
|
}, {
|
|
260
275
|
parent: this._parent || anotherScope._parent
|
|
261
276
|
});
|
|
@@ -264,25 +279,19 @@ class A_Scope {
|
|
|
264
279
|
resolveConstructor(name) {
|
|
265
280
|
// 1) Check components
|
|
266
281
|
const component = Array.from(this.allowedComponents).find(c => c.name === name
|
|
267
|
-
|| c.name ===
|
|
282
|
+
|| c.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name));
|
|
268
283
|
if (component)
|
|
269
284
|
return component;
|
|
270
285
|
// 2) Check entities
|
|
271
286
|
const entity = Array.from(this.allowedEntities).find(e => e.name === name
|
|
272
|
-
|| e.name ===
|
|
287
|
+
|| e.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name)
|
|
273
288
|
|| e.entity === name
|
|
274
|
-
|| e.entity ===
|
|
289
|
+
|| e.entity === A_Formatter_helper_1.A_FormatterHelper.toKebabCase(name));
|
|
275
290
|
if (entity)
|
|
276
291
|
return entity;
|
|
277
|
-
// 3) Check
|
|
278
|
-
const command = Array.from(this.allowedCommands).find(c => c.code === name
|
|
279
|
-
|| c.name === a_utils_1.A_CommonHelper.toPascalCase(name)
|
|
280
|
-
|| c.code === a_utils_1.A_CommonHelper.toKebabCase(name));
|
|
281
|
-
if (command)
|
|
282
|
-
return command;
|
|
283
|
-
// 4) Check fragments
|
|
292
|
+
// 3) Check fragments
|
|
284
293
|
const fragment = Array.from(this.allowedFragments).find(f => f.name === name
|
|
285
|
-
|| f.name ===
|
|
294
|
+
|| f.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name));
|
|
286
295
|
if (fragment)
|
|
287
296
|
return fragment;
|
|
288
297
|
// If not found in current scope, check parent scope
|
|
@@ -291,24 +300,28 @@ class A_Scope {
|
|
|
291
300
|
}
|
|
292
301
|
throw new Error(`Component or Entity with name ${name} not found in the scope ${this.name}`);
|
|
293
302
|
}
|
|
294
|
-
// base definition
|
|
295
303
|
resolve(
|
|
296
304
|
/**
|
|
297
305
|
* Provide a component, fragment or entity constructor or an array of constructors to resolve its instance(s) from the scope
|
|
298
306
|
*/
|
|
299
307
|
param1, param2) {
|
|
300
308
|
switch (true) {
|
|
301
|
-
case
|
|
302
|
-
return param1.map(c =>
|
|
309
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isArray(param1): {
|
|
310
|
+
return param1.map(c => {
|
|
311
|
+
if (A_TypeGuards_helper_1.A_TypeGuards.isString(c))
|
|
312
|
+
return this.resolveByName(c);
|
|
313
|
+
else
|
|
314
|
+
return this.resolveOnce(c, param2);
|
|
315
|
+
}).filter(Boolean);
|
|
303
316
|
}
|
|
304
|
-
case
|
|
317
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isFunction(param1): {
|
|
305
318
|
return this.resolveOnce(param1, param2);
|
|
306
319
|
}
|
|
307
|
-
case
|
|
320
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isString(param1): {
|
|
308
321
|
return this.resolveByName(param1);
|
|
309
322
|
}
|
|
310
323
|
default: {
|
|
311
|
-
throw new
|
|
324
|
+
throw new A_Error_class_1.A_Error(`Invalid parameter provided to resolve method: ${param1} in scope ${this.name}`);
|
|
312
325
|
}
|
|
313
326
|
}
|
|
314
327
|
}
|
|
@@ -317,28 +330,34 @@ class A_Scope {
|
|
|
317
330
|
// -------------------------------------INTERNAL RESOLVERS-------------------------------------------
|
|
318
331
|
// --------------------------------------------------------------------------------------------------
|
|
319
332
|
// ==================================================================================================
|
|
320
|
-
|
|
333
|
+
/**
|
|
334
|
+
* This method is used internally to resolve a component, fragment or entity by its constructor name
|
|
335
|
+
*
|
|
336
|
+
* [!] Note that this method checks for the component, fragment or entity in the current scope and all parent scopes
|
|
337
|
+
*
|
|
338
|
+
* @param name - name of the component, fragment or entity to resolve (constructor name for components and fragments, static entity property for entities, static code property for commands)
|
|
339
|
+
* @returns
|
|
340
|
+
*/
|
|
341
|
+
resolveByName(
|
|
342
|
+
/**
|
|
343
|
+
* Provide the name of the component, fragment or entity to resolve
|
|
344
|
+
*/
|
|
345
|
+
name) {
|
|
321
346
|
// 1) Check components
|
|
322
347
|
const component = Array.from(this.allowedComponents).find(c => c.name === name
|
|
323
|
-
|| c.name ===
|
|
348
|
+
|| c.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name));
|
|
324
349
|
if (component)
|
|
325
350
|
return this.resolveOnce(component);
|
|
326
351
|
// 2) Check entities
|
|
327
352
|
const entity = Array.from(this.allowedEntities).find(e => e.name === name
|
|
328
|
-
|| e.name ===
|
|
353
|
+
|| e.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name)
|
|
329
354
|
|| e.entity === name
|
|
330
|
-
|| e.entity ===
|
|
355
|
+
|| e.entity === A_Formatter_helper_1.A_FormatterHelper.toKebabCase(name));
|
|
331
356
|
if (entity)
|
|
332
357
|
return this.resolveOnce(entity);
|
|
333
|
-
// 3) Check
|
|
334
|
-
const command = Array.from(this.allowedCommands).find(c => c.code === name
|
|
335
|
-
|| c.name === a_utils_1.A_CommonHelper.toPascalCase(name)
|
|
336
|
-
|| c.code === a_utils_1.A_CommonHelper.toKebabCase(name));
|
|
337
|
-
if (command)
|
|
338
|
-
return this.resolveOnce(command);
|
|
339
|
-
// 4) Check fragments
|
|
358
|
+
// 3) Check fragments
|
|
340
359
|
const fragment = Array.from(this.allowedFragments).find(f => f.name === name
|
|
341
|
-
|| f.name ===
|
|
360
|
+
|| f.name === A_Formatter_helper_1.A_FormatterHelper.toPascalCase(name));
|
|
342
361
|
if (fragment)
|
|
343
362
|
return this.resolveOnce(fragment);
|
|
344
363
|
// If not found in current scope, check parent scope
|
|
@@ -355,24 +374,21 @@ class A_Scope {
|
|
|
355
374
|
* @returns
|
|
356
375
|
*/
|
|
357
376
|
resolveOnce(component, instructions) {
|
|
358
|
-
if (
|
|
377
|
+
if (A_TypeGuards_helper_1.A_TypeGuards.isScopeConstructor(component))
|
|
359
378
|
component;
|
|
360
379
|
if (typeof component == 'function' && component.name === 'A_Scope')
|
|
361
380
|
component;
|
|
362
381
|
switch (true) {
|
|
363
|
-
case
|
|
382
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(component): {
|
|
364
383
|
return this.resolveEntity(component, instructions);
|
|
365
384
|
}
|
|
366
|
-
case
|
|
385
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isFragmentConstructor(component): {
|
|
367
386
|
return this.resolveFragment(component);
|
|
368
387
|
}
|
|
369
|
-
case
|
|
370
|
-
return this.resolveCommand(component);
|
|
371
|
-
}
|
|
372
|
-
case this.isScopeConstructor(component): {
|
|
388
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isScopeConstructor(component): {
|
|
373
389
|
return this.resolveScope(component);
|
|
374
390
|
}
|
|
375
|
-
case
|
|
391
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(component): {
|
|
376
392
|
return this.resolveComponent(component);
|
|
377
393
|
}
|
|
378
394
|
default:
|
|
@@ -428,7 +444,7 @@ class A_Scope {
|
|
|
428
444
|
*/
|
|
429
445
|
case !!query.aseid
|
|
430
446
|
&& typeof query.aseid === 'object'
|
|
431
|
-
&& query.aseid instanceof
|
|
447
|
+
&& query.aseid instanceof ASEID_class_1.ASEID
|
|
432
448
|
&& this._entities.has(query.aseid.toString()):
|
|
433
449
|
{
|
|
434
450
|
return this._entities.get(query.aseid.toString());
|
|
@@ -515,7 +531,7 @@ class A_Scope {
|
|
|
515
531
|
// 2) In case the component available but does NOT exist in the scope
|
|
516
532
|
case this.allowedComponents.has(component) && !this._components.has(component): {
|
|
517
533
|
const componentMeta = A_Context_class_1.A_Context.meta(component);
|
|
518
|
-
const argsMeta = componentMeta.get(
|
|
534
|
+
const argsMeta = componentMeta.get(A_Component_constants_1.A_TYPES__ComponentMetaKey.INJECTIONS);
|
|
519
535
|
const resolvedArgs = ((argsMeta === null || argsMeta === void 0 ? void 0 : argsMeta.get('constructor')) || [])
|
|
520
536
|
.map(arg => {
|
|
521
537
|
if ('instructions' in arg) {
|
|
@@ -530,8 +546,8 @@ class A_Scope {
|
|
|
530
546
|
return this._components.get(component);
|
|
531
547
|
}
|
|
532
548
|
// 3) In case when there's a component that is inherited from the required component
|
|
533
|
-
case !this.allowedComponents.has(component) && Array.from(this.allowedComponents).some(el =>
|
|
534
|
-
const found = Array.from(this.allowedComponents).find(el =>
|
|
549
|
+
case !this.allowedComponents.has(component) && Array.from(this.allowedComponents).some(el => A_Common_helper_1.A_CommonHelper.isInheritedFrom(el, component)): {
|
|
550
|
+
const found = Array.from(this.allowedComponents).find(el => A_Common_helper_1.A_CommonHelper.isInheritedFrom(el, component));
|
|
535
551
|
return this.resolveComponent(found);
|
|
536
552
|
}
|
|
537
553
|
// 4) In case when the component is not available in the scope but the _parent is available
|
|
@@ -542,22 +558,6 @@ class A_Scope {
|
|
|
542
558
|
throw new Error(`Component ${component.name} not found in the scope ${this.name}`);
|
|
543
559
|
}
|
|
544
560
|
}
|
|
545
|
-
/**
|
|
546
|
-
* Should be similar to resolveEntity but for commands
|
|
547
|
-
*
|
|
548
|
-
* @param command
|
|
549
|
-
*/
|
|
550
|
-
resolveCommand(command) {
|
|
551
|
-
const found = this.commands.find(e => e instanceof command);
|
|
552
|
-
switch (true) {
|
|
553
|
-
case !!found:
|
|
554
|
-
return found;
|
|
555
|
-
case !found && !!this._parent:
|
|
556
|
-
return this._parent.resolveCommand(command);
|
|
557
|
-
default:
|
|
558
|
-
throw new Error(`Command ${command.name} not found in the scope ${this.name}`);
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
561
|
register(param1) {
|
|
562
562
|
switch (true) {
|
|
563
563
|
// ------------------------------------------
|
|
@@ -571,14 +571,6 @@ class A_Scope {
|
|
|
571
571
|
A_Context_class_1.A_Context.register(this, param1);
|
|
572
572
|
break;
|
|
573
573
|
}
|
|
574
|
-
// 2) In case when it's a A-Command instance
|
|
575
|
-
case param1 instanceof A_Command_class_1.A_Command: {
|
|
576
|
-
if (!this.allowedCommands.has(param1.constructor))
|
|
577
|
-
this.allowedCommands.add(param1.constructor);
|
|
578
|
-
this._commands.set(param1.constructor.code, param1);
|
|
579
|
-
A_Context_class_1.A_Context.register(this, param1);
|
|
580
|
-
break;
|
|
581
|
-
}
|
|
582
574
|
// 3) In case when it's a A-Entity instance
|
|
583
575
|
case param1 instanceof A_Entity_class_1.A_Entity && !this._entities.has(param1.aseid.toString()): {
|
|
584
576
|
if (!this.allowedEntities.has(param1.constructor))
|
|
@@ -595,33 +587,43 @@ class A_Scope {
|
|
|
595
587
|
A_Context_class_1.A_Context.register(this, param1);
|
|
596
588
|
break;
|
|
597
589
|
}
|
|
590
|
+
// 5) In case when it's a A-Error instance
|
|
591
|
+
case param1 instanceof A_Error_class_1.A_Error: {
|
|
592
|
+
if (!this.allowedErrors.has(param1.constructor))
|
|
593
|
+
this.allowedErrors.add(param1.constructor);
|
|
594
|
+
// A_Context.register(this, param1);
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
598
597
|
// ------------------------------------------
|
|
599
598
|
// ------------ Constructors ----------------
|
|
600
599
|
// ------------------------------------------
|
|
601
|
-
//
|
|
602
|
-
case
|
|
600
|
+
// 6) In case when it's a A-Component constructor
|
|
601
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(param1): {
|
|
603
602
|
if (!this.allowedComponents.has(param1))
|
|
604
603
|
this.allowedComponents.add(param1);
|
|
605
604
|
break;
|
|
606
605
|
}
|
|
607
|
-
//
|
|
608
|
-
case
|
|
609
|
-
if (!this.allowedCommands.has(param1))
|
|
610
|
-
this.allowedCommands.add(param1);
|
|
611
|
-
break;
|
|
612
|
-
}
|
|
613
|
-
// 7) In case when it's a A-Fragment constructor
|
|
614
|
-
case this.isFragmentConstructor(param1): {
|
|
606
|
+
// 8) In case when it's a A-Fragment constructor
|
|
607
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isFragmentConstructor(param1): {
|
|
615
608
|
if (!this.allowedFragments.has(param1))
|
|
616
609
|
this.allowedFragments.add(param1);
|
|
617
610
|
break;
|
|
618
611
|
}
|
|
619
|
-
//
|
|
620
|
-
case
|
|
612
|
+
// 9) In case when it's a A-Entity constructor
|
|
613
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(param1): {
|
|
621
614
|
if (!this.allowedEntities.has(param1))
|
|
622
615
|
this.allowedEntities.add(param1);
|
|
623
616
|
break;
|
|
624
617
|
}
|
|
618
|
+
// 10) In case when it's a A-Error constructor
|
|
619
|
+
case A_TypeGuards_helper_1.A_TypeGuards.isErrorConstructor(param1): {
|
|
620
|
+
if (!this.allowedErrors.has(param1))
|
|
621
|
+
this.allowedErrors.add(param1);
|
|
622
|
+
break;
|
|
623
|
+
}
|
|
624
|
+
// ------------------------------------------
|
|
625
|
+
// ------------ Invalid Cases ----------------
|
|
626
|
+
// ------------------------------------------
|
|
625
627
|
default:
|
|
626
628
|
if (param1 instanceof A_Entity_class_1.A_Entity)
|
|
627
629
|
throw new Error(`Entity with ASEID ${param1.aseid.toString()} is already registered in the scope ${this.name}`);
|
|
@@ -649,54 +651,6 @@ class A_Scope {
|
|
|
649
651
|
//==========================================================================
|
|
650
652
|
// --------------------Scope Type Check Helpers---------------------------
|
|
651
653
|
//==========================================================================
|
|
652
|
-
/**
|
|
653
|
-
* Type guard to check if the constructor is of type A_Component
|
|
654
|
-
*
|
|
655
|
-
* @param ctor
|
|
656
|
-
* @returns
|
|
657
|
-
*/
|
|
658
|
-
isComponentConstructor(ctor) {
|
|
659
|
-
return typeof ctor === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(ctor, A_Component_class_1.A_Component);
|
|
660
|
-
}
|
|
661
|
-
/**
|
|
662
|
-
* Type guard to check if the constructor is of type A_Command
|
|
663
|
-
*
|
|
664
|
-
* @param ctor
|
|
665
|
-
* @returns
|
|
666
|
-
*/
|
|
667
|
-
isCommandConstructor(ctor) {
|
|
668
|
-
return typeof ctor === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(ctor, A_Command_class_1.A_Command);
|
|
669
|
-
}
|
|
670
|
-
/**
|
|
671
|
-
* Type guard to check if the constructor is of type A_Fragment
|
|
672
|
-
*
|
|
673
|
-
* @param ctor
|
|
674
|
-
* @returns
|
|
675
|
-
*/
|
|
676
|
-
isFragmentConstructor(ctor) {
|
|
677
|
-
return typeof ctor === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(ctor, A_Fragment_class_1.A_Fragment);
|
|
678
|
-
}
|
|
679
|
-
/**
|
|
680
|
-
* Type guard to check if the constructor is of type A_Entity
|
|
681
|
-
*
|
|
682
|
-
* @param ctor
|
|
683
|
-
* @returns
|
|
684
|
-
*/
|
|
685
|
-
isEntityConstructor(ctor) {
|
|
686
|
-
return typeof ctor === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(ctor, A_Entity_class_1.A_Entity);
|
|
687
|
-
}
|
|
688
|
-
/**
|
|
689
|
-
* Type guard to check if the constructor is of type A_Scope
|
|
690
|
-
*
|
|
691
|
-
* @param ctor
|
|
692
|
-
* @returns
|
|
693
|
-
*/
|
|
694
|
-
isScopeConstructor(ctor) {
|
|
695
|
-
return typeof ctor === 'function' && a_utils_1.A_CommonHelper.isInheritedFrom(ctor, A_Scope);
|
|
696
|
-
}
|
|
697
|
-
// -------------------------------------------------------------------------------
|
|
698
|
-
// --------------------Scope Allowed Type Check Helpers---------------------------
|
|
699
|
-
// -------------------------------------------------------------------------------
|
|
700
654
|
/**
|
|
701
655
|
* Type guard to check if the constructor is of type A_Component and is allowed in the scope
|
|
702
656
|
*
|
|
@@ -704,34 +658,34 @@ class A_Scope {
|
|
|
704
658
|
* @returns
|
|
705
659
|
*/
|
|
706
660
|
isAllowedComponent(ctor) {
|
|
707
|
-
return
|
|
661
|
+
return A_TypeGuards_helper_1.A_TypeGuards.isComponentConstructor(ctor) && this.allowedComponents.has(ctor);
|
|
708
662
|
}
|
|
709
663
|
/**
|
|
710
|
-
* Type guard to check if the constructor is of type
|
|
664
|
+
* Type guard to check if the constructor is of type A_Entity and is allowed in the scope
|
|
711
665
|
*
|
|
712
666
|
* @param ctor
|
|
713
667
|
* @returns
|
|
714
668
|
*/
|
|
715
|
-
|
|
716
|
-
return
|
|
669
|
+
isAllowedEntity(ctor) {
|
|
670
|
+
return A_TypeGuards_helper_1.A_TypeGuards.isEntityConstructor(ctor) && this.allowedEntities.has(ctor);
|
|
717
671
|
}
|
|
718
672
|
/**
|
|
719
|
-
* Type guard to check if the constructor is of type
|
|
673
|
+
* Type guard to check if the constructor is of type A_Fragment and is allowed in the scope
|
|
720
674
|
*
|
|
721
675
|
* @param ctor
|
|
722
676
|
* @returns
|
|
723
677
|
*/
|
|
724
|
-
|
|
725
|
-
return
|
|
678
|
+
isAllowedFragment(ctor) {
|
|
679
|
+
return A_TypeGuards_helper_1.A_TypeGuards.isFragmentConstructor(ctor) && this.allowedFragments.has(ctor);
|
|
726
680
|
}
|
|
727
681
|
/**
|
|
728
|
-
* Type guard to check if the constructor is of type
|
|
682
|
+
* Type guard to check if the constructor is of type A_Error and is allowed in the scope
|
|
729
683
|
*
|
|
730
684
|
* @param ctor
|
|
731
685
|
* @returns
|
|
732
686
|
*/
|
|
733
|
-
|
|
734
|
-
return
|
|
687
|
+
isAllowedError(ctor) {
|
|
688
|
+
return A_TypeGuards_helper_1.A_TypeGuards.isErrorConstructor(ctor) && this.allowedErrors.has(ctor);
|
|
735
689
|
}
|
|
736
690
|
// ==========================================================================
|
|
737
691
|
// --------------------DEBUG & Helpers Methods--------------------------------
|