@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,8 +1,9 @@
|
|
|
1
1
|
import { A_Feature } from "../global/A-Feature/A-Feature.class";
|
|
2
|
+
import { A_TYPES__FeatureDefineDecoratorTemplateItem } from "../global/A-Feature/A-Feature.types";
|
|
2
3
|
import { A_Stage } from "../global/A-Stage/A-Stage.class";
|
|
3
4
|
import { A_TYPES__A_StageStep } from "../global/A-Stage/A-Stage.types";
|
|
4
5
|
|
|
5
|
-
export class
|
|
6
|
+
export class A_StepsManager {
|
|
6
7
|
|
|
7
8
|
public entities: A_TYPES__A_StageStep[];
|
|
8
9
|
public graph: Map<string, Set<string>>;
|
|
@@ -11,8 +12,9 @@ export class StepsManager {
|
|
|
11
12
|
public sortedEntities: string[];
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
constructor(entities:
|
|
15
|
-
this.entities = entities;
|
|
15
|
+
constructor(entities: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>) {
|
|
16
|
+
this.entities = this.prepareSteps(entities);
|
|
17
|
+
|
|
16
18
|
this.graph = new Map();
|
|
17
19
|
this.visited = new Set();
|
|
18
20
|
this.tempMark = new Set();
|
|
@@ -20,6 +22,20 @@ export class StepsManager {
|
|
|
20
22
|
|
|
21
23
|
}
|
|
22
24
|
|
|
25
|
+
private prepareSteps(
|
|
26
|
+
entities: Array<A_TYPES__FeatureDefineDecoratorTemplateItem>
|
|
27
|
+
): Array<A_TYPES__A_StageStep> {
|
|
28
|
+
return entities.map(step => {
|
|
29
|
+
return {
|
|
30
|
+
...step,
|
|
31
|
+
|
|
32
|
+
behavior: step.behavior || 'sync',
|
|
33
|
+
before: step.before || [],
|
|
34
|
+
after: step.after || [],
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
23
39
|
private ID(step: A_TYPES__A_StageStep) {
|
|
24
40
|
return `${typeof step.component === 'string' ? step.component : step.component.name}.${step.handler}`;
|
|
25
41
|
}
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import {
|
|
2
|
+
A_TYPES__Feature_Constructor,
|
|
3
|
+
A_TYPES__FeatureAvailableComponents,
|
|
4
|
+
A_TYPES__FeatureExtendDecoratorTarget
|
|
5
|
+
} from "../global/A-Feature/A-Feature.types";
|
|
6
|
+
import {
|
|
7
|
+
A_TYPES__Error_Constructor,
|
|
8
|
+
A_TYPES__Error_Init
|
|
9
|
+
} from "../global/A-Error/A_Error.types";
|
|
10
|
+
import { A_Component } from "../global/A-Component/A-Component.class";
|
|
11
|
+
import { A_ComponentMeta } from "../global/A-Component/A-Component.meta";
|
|
12
|
+
import { A_TYPES__Component_Constructor } from "../global/A-Component/A-Component.types";
|
|
13
|
+
import { A_Container } from "../global/A-Container/A-Container.class";
|
|
14
|
+
import { A_ContainerMeta } from "../global/A-Container/A-Container.meta";
|
|
15
|
+
import { A_TYPES__Container_Constructor } from "../global/A-Container/A-Container.types";
|
|
16
|
+
import { A_Entity } from "../global/A-Entity/A-Entity.class";
|
|
17
|
+
import { A_EntityMeta } from "../global/A-Entity/A-Entity.meta";
|
|
18
|
+
import { A_TYPES__Entity_Constructor } from "../global/A-Entity/A-Entity.types";
|
|
19
|
+
import { A_Feature } from "../global/A-Feature/A-Feature.class";
|
|
20
|
+
import { A_Fragment } from "../global/A-Fragment/A-Fragment.class";
|
|
21
|
+
import { A_TYPES__Fragment_Constructor } from "../global/A-Fragment/A-Fragment.types";
|
|
22
|
+
import { A_Scope } from "../global/A-Scope/A-Scope.class";
|
|
23
|
+
import { A_Caller } from "../global/A-Caller/A_Caller.class";
|
|
24
|
+
import { A_TYPES__Caller_Constructor } from "../global/A-Caller/A_Caller.types";
|
|
25
|
+
import { A_Error } from "../global/A-Error/A_Error.class";
|
|
26
|
+
import { A_CommonHelper } from "./A_Common.helper";
|
|
27
|
+
import { A_TYPES__AbstractionAvailableComponents } from "../global/A-Abstraction/A-Abstraction.types";
|
|
28
|
+
import { A_TYPES__Scope_Constructor } from "../global/A-Scope/A-Scope.types";
|
|
29
|
+
import { A_TYPES__InjectableTargets } from "../global/A-Inject/A-Inject.types";
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
export class A_TypeGuards {
|
|
34
|
+
// ===========================================================================
|
|
35
|
+
// ============================= BASE Type Guards ============================
|
|
36
|
+
// ===========================================================================
|
|
37
|
+
/**
|
|
38
|
+
* Check if value is a string
|
|
39
|
+
*
|
|
40
|
+
* @param value
|
|
41
|
+
* @returns
|
|
42
|
+
*/
|
|
43
|
+
static isString(value: any): value is string {
|
|
44
|
+
return typeof value === 'string' || value instanceof String;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Check if value is a number
|
|
48
|
+
*
|
|
49
|
+
* @param value
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
static isNumber(value: any): value is number {
|
|
53
|
+
return typeof value === 'number' && isFinite(value);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Check if value is a boolean
|
|
57
|
+
*
|
|
58
|
+
* @param value
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
static isBoolean(value: any): value is boolean {
|
|
62
|
+
return typeof value === 'boolean';
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if value is an array
|
|
66
|
+
*
|
|
67
|
+
* @param value
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
static isArray(value: any): value is Array<any> {
|
|
71
|
+
return Array.isArray(value);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Check if value is an object
|
|
75
|
+
*
|
|
76
|
+
* @param value
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
static isObject<T extends Object = Object>(value: any): value is T {
|
|
80
|
+
return value && typeof value === 'object' && !Array.isArray(value);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Check if value is a function
|
|
84
|
+
*
|
|
85
|
+
* @param value
|
|
86
|
+
* @returns
|
|
87
|
+
*/
|
|
88
|
+
static isFunction(value: any): value is Function {
|
|
89
|
+
return typeof value === 'function';
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static isUndefined(value: any): value is undefined {
|
|
93
|
+
return typeof value === 'undefined';
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
static isRegExp(value: any): value is RegExp {
|
|
97
|
+
return value instanceof RegExp;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
// ===========================================================================
|
|
102
|
+
// ==========================A-Concept Type Guards ===========================
|
|
103
|
+
// ===========================================================================
|
|
104
|
+
/**
|
|
105
|
+
* Type guard to check if the constructor is of type A_Container
|
|
106
|
+
*
|
|
107
|
+
* @param ctor
|
|
108
|
+
* @returns
|
|
109
|
+
*/
|
|
110
|
+
static isContainerConstructor(ctor: any): ctor is A_TYPES__Container_Constructor {
|
|
111
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Container);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Type guard to check if the constructor is of type A_Component
|
|
115
|
+
*
|
|
116
|
+
* @param ctor
|
|
117
|
+
* @returns
|
|
118
|
+
*/
|
|
119
|
+
static isComponentConstructor(ctor: any): ctor is A_TYPES__Component_Constructor {
|
|
120
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Component);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Type guard to check if the constructor is of type A_Fragment
|
|
124
|
+
*
|
|
125
|
+
* @param ctor
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
static isFragmentConstructor(ctor: any): ctor is A_TYPES__Fragment_Constructor {
|
|
129
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Fragment);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Type guard to check if the constructor is of type A_Entity
|
|
133
|
+
*
|
|
134
|
+
* @param ctor
|
|
135
|
+
* @returns
|
|
136
|
+
*/
|
|
137
|
+
static isEntityConstructor(ctor: any): ctor is A_TYPES__Entity_Constructor {
|
|
138
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Entity);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Type guard to check if the constructor is of type A_Scope
|
|
142
|
+
*
|
|
143
|
+
* @param ctor
|
|
144
|
+
* @returns
|
|
145
|
+
*/
|
|
146
|
+
static isScopeConstructor(ctor: any): ctor is A_TYPES__Scope_Constructor {
|
|
147
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Scope);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Type guard to check if the constructor is of type A_Scope
|
|
151
|
+
*
|
|
152
|
+
* @param ctor
|
|
153
|
+
* @returns
|
|
154
|
+
*/
|
|
155
|
+
static isErrorConstructor(ctor: any): ctor is A_TYPES__Error_Constructor {
|
|
156
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Error);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Type guard to check if the constructor is of type A_Feature
|
|
160
|
+
*
|
|
161
|
+
* @param ctor
|
|
162
|
+
* @returns
|
|
163
|
+
*/
|
|
164
|
+
static isFeatureConstructor(ctor: any): ctor is A_TYPES__Feature_Constructor {
|
|
165
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Feature);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Type guard to check if the constructor is of type A_Caller
|
|
169
|
+
*
|
|
170
|
+
* @param ctor
|
|
171
|
+
* @returns
|
|
172
|
+
*/
|
|
173
|
+
static isCallerConstructor(ctor: any): ctor is A_TYPES__Caller_Constructor {
|
|
174
|
+
return typeof ctor === 'function' && A_CommonHelper.isInheritedFrom(ctor, A_Caller);
|
|
175
|
+
}
|
|
176
|
+
// ----------------------------------------------------------------------------
|
|
177
|
+
// Instance type guards
|
|
178
|
+
// ----------------------------------------------------------------------------
|
|
179
|
+
/**
|
|
180
|
+
* Type guard to check if the instance is of type A_Container
|
|
181
|
+
*
|
|
182
|
+
* @param instance
|
|
183
|
+
* @returns
|
|
184
|
+
*/
|
|
185
|
+
static isContainerInstance(instance: any): instance is A_Container {
|
|
186
|
+
return instance instanceof A_Container;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Type guard to check if the instance is of type A_Component
|
|
190
|
+
*
|
|
191
|
+
* @param instance
|
|
192
|
+
* @returns
|
|
193
|
+
*/
|
|
194
|
+
static isComponentInstance(instance: any): instance is A_Component {
|
|
195
|
+
return instance instanceof A_Component;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Type guard to check if the instance is of type A_Feature
|
|
200
|
+
*
|
|
201
|
+
* @param instance
|
|
202
|
+
* @returns
|
|
203
|
+
*/
|
|
204
|
+
static isFeatureInstance(instance: any): instance is A_Feature {
|
|
205
|
+
return instance instanceof A_Feature;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Type guard to check if the instance is of type A_Fragment
|
|
209
|
+
*
|
|
210
|
+
* @param instance
|
|
211
|
+
* @returns
|
|
212
|
+
*/
|
|
213
|
+
static isFragmentInstance(instance: any): instance is A_Fragment {
|
|
214
|
+
return instance instanceof A_Fragment;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Type guard to check if the instance is of type A_Entity
|
|
218
|
+
*
|
|
219
|
+
* @param instance
|
|
220
|
+
* @returns
|
|
221
|
+
*/
|
|
222
|
+
static isEntityInstance(instance: any): instance is A_Entity {
|
|
223
|
+
return instance instanceof A_Entity;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Type guard to check if the instance is of type A_Scope
|
|
227
|
+
*
|
|
228
|
+
* @param instance
|
|
229
|
+
* @returns
|
|
230
|
+
*/
|
|
231
|
+
static isScopeInstance(instance: any): instance is A_Scope {
|
|
232
|
+
return instance instanceof A_Scope;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Type guard to check if the instance is of type A_Error
|
|
236
|
+
*
|
|
237
|
+
* @param instance
|
|
238
|
+
* @returns
|
|
239
|
+
*/
|
|
240
|
+
static isErrorInstance(instance: any): instance is A_Error {
|
|
241
|
+
return instance instanceof A_Error;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Type guard to check if the instance is of type A_ComponentMeta
|
|
245
|
+
*
|
|
246
|
+
* @param instance
|
|
247
|
+
* @returns
|
|
248
|
+
*/
|
|
249
|
+
static isComponentMetaInstance(instance: any): instance is A_ComponentMeta {
|
|
250
|
+
return instance instanceof A_ComponentMeta;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Type guard to check if the instance is of type A_ContainerMeta
|
|
254
|
+
*
|
|
255
|
+
* @param instance
|
|
256
|
+
* @returns
|
|
257
|
+
*/
|
|
258
|
+
static isContainerMetaInstance(instance: any): instance is A_ContainerMeta {
|
|
259
|
+
return instance instanceof A_ContainerMeta;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Type guard to check if the instance is of type A_EntityMeta
|
|
263
|
+
*
|
|
264
|
+
* @param instance
|
|
265
|
+
* @returns
|
|
266
|
+
*/
|
|
267
|
+
static isEntityMetaInstance(instance: any): instance is A_EntityMeta {
|
|
268
|
+
return instance instanceof A_EntityMeta;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
// ==========================================================================
|
|
274
|
+
// ========================= SPECIAL Type Guards =============================
|
|
275
|
+
// ===========================================================================
|
|
276
|
+
static isConstructorAvailableForAbstraction(target: any): target is A_TYPES__AbstractionAvailableComponents {
|
|
277
|
+
return A_TypeGuards.isContainerConstructor(target)
|
|
278
|
+
|| A_TypeGuards.isComponentConstructor(target);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
static isTargetAvailableForInjection(target: any): target is A_TYPES__InjectableTargets {
|
|
283
|
+
return A_TypeGuards.isComponentConstructor(target)
|
|
284
|
+
|| A_TypeGuards.isComponentInstance(target)
|
|
285
|
+
|| A_TypeGuards.isContainerInstance(target);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
static isAllowedForFeatureCall(param: any): param is A_TYPES__FeatureAvailableComponents {
|
|
289
|
+
return A_TypeGuards.isContainerInstance(param)
|
|
290
|
+
|| A_TypeGuards.isComponentInstance(param)
|
|
291
|
+
|| A_TypeGuards.isEntityInstance(param);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
static isAllowedForFeatureDefinition(param: any): param is A_TYPES__FeatureAvailableComponents {
|
|
295
|
+
return A_TypeGuards.isContainerInstance(param)
|
|
296
|
+
|| A_TypeGuards.isComponentInstance(param)
|
|
297
|
+
|| A_TypeGuards.isEntityInstance(param);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
static isAllowedForFeatureExtension(param: any): param is A_TYPES__FeatureExtendDecoratorTarget {
|
|
301
|
+
return A_TypeGuards.isComponentInstance(param);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
static isAllowedForAbstractionDefinition(param: any): param is A_TYPES__AbstractionAvailableComponents {
|
|
305
|
+
return A_TypeGuards.isContainerInstance(param)
|
|
306
|
+
|| A_TypeGuards.isComponentInstance(param);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Allows to check if the provided param is of constructor type.
|
|
311
|
+
*
|
|
312
|
+
* @param param
|
|
313
|
+
* @returns
|
|
314
|
+
*/
|
|
315
|
+
static isConstructorType<T extends A_TYPES__Error_Init>(param: any): param is T {
|
|
316
|
+
return !!param && A_TypeGuards.isObject(param) && !(param instanceof Error) && "message" in param;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
2
|
+
type Decrement = [never, 0, 1, 2, 3, 4, 5];
|
|
3
|
+
|
|
4
|
+
export type A_TYPES__DeepPartial<T, D extends number = 5> = {
|
|
5
|
+
[P in keyof Required<T>]?:
|
|
6
|
+
[D] extends [never] ? any :
|
|
7
|
+
|
|
8
|
+
Required<T>[P] extends Array<infer U>
|
|
9
|
+
? Array<A_TYPES__DeepPartial<U, Decrement[D]>>
|
|
10
|
+
|
|
11
|
+
: Required<T>[P] extends Function
|
|
12
|
+
? Required<T>[P]
|
|
13
|
+
|
|
14
|
+
: Required<T>[P] extends object
|
|
15
|
+
? A_TYPES__DeepPartial<T[P], Decrement[D]>
|
|
16
|
+
: T[P]
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
// export type A_TYPES__DeepPartial<T> = {
|
|
21
|
+
// [P in keyof Required<T>]?: Required<T>[P] extends object ? A_TYPES__DeepPartial<T[P]> : T[P];
|
|
22
|
+
// };
|
|
23
|
+
|
|
24
|
+
export type A_TYPES__ObjectKeyEnum<T, E> = {
|
|
25
|
+
[P in keyof Required<T>]?: T[P] extends object ? A_TYPES__ObjectKeyEnum<T[P], E> : E;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export type A_TYPES__Dictionary<T> = {
|
|
30
|
+
[Key: string]: T;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
export type A_TYPES__NonObjectPaths<T> = T extends object ? { [K in keyof T]:
|
|
35
|
+
`${Exclude<K, symbol>}${""}`
|
|
36
|
+
}[keyof T] : never
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
export type A_TYPES__Paths<T, D extends number = 5> = [D] extends [never] ? never : (
|
|
42
|
+
T extends object ? { [K in keyof T]:
|
|
43
|
+
`${Exclude<K, symbol>}${"" | `.${A_TYPES__Paths<T[K], Decrement[D]>}`}`
|
|
44
|
+
}[keyof T] : never
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
export type A_TYPES__UnionToIntersection<U> =
|
|
48
|
+
(U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
export type A_TYPES__PathsToObject<_Obj, T extends readonly string[]> = A_TYPES__UnionToIntersection<
|
|
52
|
+
{
|
|
53
|
+
[K in keyof T]: T[K] extends `${infer Key}.${infer Rest}`
|
|
54
|
+
? { [P in Key]: P extends keyof _Obj
|
|
55
|
+
? A_TYPES__PathsToObject<Required<_Obj>[P], [Rest]>
|
|
56
|
+
: any
|
|
57
|
+
|
|
58
|
+
}
|
|
59
|
+
: { [P in T[K]]:
|
|
60
|
+
`${T[K]}` extends keyof Required<_Obj> ? Required<_Obj>[`${T[K]}`] : never
|
|
61
|
+
};
|
|
62
|
+
}[number]
|
|
63
|
+
>;
|
|
64
|
+
|
|
65
|
+
export type A_TYPES__Required<T, arr extends (A_TYPES__Paths<T>)[] = (A_TYPES__Paths<T>)[]> = A_TYPES__PathsToObject<T, arr> & T;
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
export type A_TYPES__ExtractNested<T, P extends string> = P extends `${infer K}.${infer Rest}`
|
|
69
|
+
? K extends keyof T
|
|
70
|
+
? { [Key in K]: A_TYPES__ExtractNested<T[K], Rest> }
|
|
71
|
+
: never
|
|
72
|
+
: P extends keyof T
|
|
73
|
+
? { [Key in P]: T[P] }
|
|
74
|
+
: never;
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
export type A_TYPES__ExtractProperties<T, P extends A_TYPES__Paths<T>[]> = A_TYPES__UnionToIntersection<{
|
|
78
|
+
[K in keyof P]: P[K] extends string ? A_TYPES__ExtractNested<T, P[K]> : never
|
|
79
|
+
}[number]>;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { A_CommonHelper } from "@adaas/a-concept/helpers/A_Common.helper";
|
|
2
|
+
import { A_IdentityHelper } from "@adaas/a-concept/helpers/A_Identity.helper";
|
|
3
|
+
import { A_TYPES__DeepPartial } from "@adaas/a-concept/types/A_Common.types";
|
|
4
|
+
jest.retryTimes(0);
|
|
5
|
+
|
|
6
|
+
describe('CommonHelper Tests', () => {
|
|
7
|
+
it('Deep Clone and Merge ', async () => {
|
|
8
|
+
|
|
9
|
+
type TestType = {
|
|
10
|
+
a: string,
|
|
11
|
+
b: string,
|
|
12
|
+
c: {
|
|
13
|
+
d: string
|
|
14
|
+
},
|
|
15
|
+
f: (name: string) => string
|
|
16
|
+
s: Date
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const t: TestType = {
|
|
20
|
+
a: 'a',
|
|
21
|
+
b: 'b',
|
|
22
|
+
c: {
|
|
23
|
+
d: 'd'
|
|
24
|
+
},
|
|
25
|
+
f: (name: string) => { return name },
|
|
26
|
+
s: new Date()
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const t2: A_TYPES__DeepPartial<TestType> = {
|
|
30
|
+
a: 'aa',
|
|
31
|
+
c: {
|
|
32
|
+
d: 'dd'
|
|
33
|
+
},
|
|
34
|
+
f: (name: string) => { return name + '2' }
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const merged = A_CommonHelper.deepCloneAndMerge(t2, t);
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
const name = merged.f('names');
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
expect(merged.a).toBe('aa');
|
|
44
|
+
expect(merged.b).toBe('b');
|
|
45
|
+
expect(merged.c.d).toBe('dd');
|
|
46
|
+
expect(name).toBe('names2');
|
|
47
|
+
expect(t).not.toEqual(merged);
|
|
48
|
+
expect(t2).not.toEqual(merged);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it('Deep Clone Different Types', async () => {
|
|
52
|
+
|
|
53
|
+
type TestType = {
|
|
54
|
+
a: string,
|
|
55
|
+
b: string,
|
|
56
|
+
c: {
|
|
57
|
+
d: string
|
|
58
|
+
},
|
|
59
|
+
bool:{
|
|
60
|
+
a: boolean
|
|
61
|
+
},
|
|
62
|
+
f: (name: string) => string
|
|
63
|
+
s: Date
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
const t: TestType = {
|
|
67
|
+
a: 'a',
|
|
68
|
+
b: 'b',
|
|
69
|
+
c: {
|
|
70
|
+
d: 'd'
|
|
71
|
+
},
|
|
72
|
+
bool:{
|
|
73
|
+
a: true
|
|
74
|
+
},
|
|
75
|
+
f: (name: string) => { return name },
|
|
76
|
+
s: new Date()
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const t2: any = {
|
|
80
|
+
e: 'foo',
|
|
81
|
+
b: 'bb',
|
|
82
|
+
c:{
|
|
83
|
+
d: 'ddd'
|
|
84
|
+
},
|
|
85
|
+
bool:{
|
|
86
|
+
a: false
|
|
87
|
+
},
|
|
88
|
+
some: {
|
|
89
|
+
d: 'dd'
|
|
90
|
+
},
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const merged = A_CommonHelper.deepCloneAndMerge(t2, t);
|
|
94
|
+
|
|
95
|
+
expect(merged.a).toBe('a');
|
|
96
|
+
expect(merged.b).toBe('bb');
|
|
97
|
+
expect(merged.c.d).toBe('ddd');
|
|
98
|
+
expect(merged.bool.a).toBe(false);
|
|
99
|
+
expect((merged as any).e).toBe('foo');
|
|
100
|
+
expect((merged as any).some.d).toBe('dd');
|
|
101
|
+
expect(merged.f('names')).toBe('names');
|
|
102
|
+
});
|
|
103
|
+
it('should generate and then parse Unique time based IDs', async () => {
|
|
104
|
+
const id = A_IdentityHelper.generateTimeId();
|
|
105
|
+
const parts = A_IdentityHelper.parseTimeId(id);
|
|
106
|
+
|
|
107
|
+
expect(id).toBeDefined();
|
|
108
|
+
expect(parts.timestamp).toBeInstanceOf(Date);
|
|
109
|
+
expect(parts.random).toHaveLength(6);
|
|
110
|
+
|
|
111
|
+
// Check that the timestamp is recent (within the last minute)
|
|
112
|
+
const now = Date.now();
|
|
113
|
+
const timestamp = parts.timestamp.getTime();
|
|
114
|
+
expect(timestamp).toBeLessThanOrEqual(now);
|
|
115
|
+
expect(timestamp).toBeGreaterThan(now - 60000); // within the last minute
|
|
116
|
+
});
|
|
117
|
+
});
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { A_Inject } from '@adaas/a-concept/global/A-Inject/A-Inject.decorator';
|
|
1
2
|
import './test.setup';
|
|
2
3
|
|
|
3
4
|
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
5
|
+
import { A_Context } from '@adaas/a-concept/global/A-Context/A-Context.class';
|
|
4
6
|
|
|
5
7
|
jest.retryTimes(0);
|
|
6
8
|
|
|
@@ -10,18 +12,21 @@ describe('A-Component tests', () => {
|
|
|
10
12
|
const component = new A_Component();
|
|
11
13
|
});
|
|
12
14
|
it('Should Allow to create a component with dependencies', async () => {
|
|
15
|
+
class MyComponent extends A_Component { }
|
|
16
|
+
|
|
13
17
|
class DependentComponent extends A_Component {
|
|
14
18
|
constructor(
|
|
15
|
-
public dependency:
|
|
19
|
+
@A_Inject(MyComponent) public dependency: MyComponent
|
|
16
20
|
) {
|
|
17
21
|
super();
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
expect(dependentComponent.dependency).toBe(component);
|
|
24
|
-
});
|
|
25
|
-
|
|
25
|
+
A_Context.root.register(MyComponent);
|
|
26
|
+
A_Context.root.register(DependentComponent);
|
|
26
27
|
|
|
28
|
+
const dependentComponent = A_Context.root.resolve(DependentComponent);
|
|
29
|
+
|
|
30
|
+
expect(dependentComponent.dependency).toBeInstanceOf(MyComponent);
|
|
31
|
+
});
|
|
27
32
|
});
|