@adaas/a-concept 0.0.64 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +24 -32
- package/dist/index.js +35 -52
- package/dist/index.js.map +1 -1
- package/dist/src/constants/env.constants.d.ts +15 -8
- package/dist/src/constants/env.constants.js +17 -10
- package/dist/src/constants/env.constants.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +23 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js +69 -0
- package/dist/src/global/A-Abstraction/A-Abstraction-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.class.d.ts +47 -20
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js +55 -48
- package/dist/src/global/A-Abstraction/A-Abstraction.class.js.map +1 -1
- package/dist/src/global/A-Abstraction/A-Abstraction.error.d.ts +7 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js +12 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.error.js.map +1 -0
- package/dist/src/global/A-Abstraction/A-Abstraction.types.d.ts +27 -12
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js +0 -8
- package/dist/src/global/A-Abstraction/A-Abstraction.types.js.map +1 -1
- package/dist/src/global/A-Caller/A_Caller.class.d.ts +33 -0
- package/dist/src/global/A-Caller/A_Caller.class.js +44 -0
- package/dist/src/global/A-Caller/A_Caller.class.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.error.d.ts +7 -0
- package/dist/src/global/A-Caller/A_Caller.error.js +12 -0
- package/dist/src/global/A-Caller/A_Caller.error.js.map +1 -0
- package/dist/src/global/A-Caller/A_Caller.types.d.ts +18 -0
- package/dist/src/{base/A-Errors/A-Errors.types.js → global/A-Caller/A_Caller.types.js} +1 -1
- package/dist/src/global/A-Caller/A_Caller.types.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.class.d.ts +20 -3
- package/dist/src/global/A-Component/A-Component.class.js +35 -19
- package/dist/src/global/A-Component/A-Component.class.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.constants.d.ts +6 -0
- package/dist/src/global/A-Component/A-Component.constants.js +11 -0
- package/dist/src/global/A-Component/A-Component.constants.js.map +1 -0
- package/dist/src/global/A-Component/A-Component.meta.d.ts +4 -4
- package/dist/src/global/A-Component/A-Component.meta.js +6 -8
- package/dist/src/global/A-Component/A-Component.meta.js.map +1 -1
- package/dist/src/global/A-Component/A-Component.types.d.ts +40 -22
- package/dist/src/global/A-Component/A-Component.types.js +1 -8
- package/dist/src/global/A-Component/A-Component.types.js.map +1 -1
- package/dist/src/global/A-Concept/A-Concept.class.d.ts +153 -0
- package/dist/src/global/A-Concept/A-Concept.class.js +260 -0
- package/dist/src/global/A-Concept/A-Concept.class.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.constants.d.ts +33 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js +39 -0
- package/dist/src/global/A-Concept/A-Concept.constants.js.map +1 -0
- package/dist/src/global/A-Concept/{A_Concept.meta.js → A-Concept.meta.js} +1 -2
- package/dist/src/global/A-Concept/A-Concept.meta.js.map +1 -0
- package/dist/src/global/A-Concept/A-Concept.types.d.ts +83 -0
- package/dist/src/global/{A-Channel/A-Channel.types.js → A-Concept/A-Concept.types.js} +1 -1
- package/dist/src/global/A-Concept/A-Concept.types.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.class.d.ts +31 -35
- package/dist/src/global/A-Container/A-Container.class.js +34 -55
- package/dist/src/global/A-Container/A-Container.class.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.constants.d.ts +5 -0
- package/dist/src/global/A-Container/A-Container.constants.js +10 -0
- package/dist/src/global/A-Container/A-Container.constants.js.map +1 -0
- package/dist/src/global/A-Container/A-Container.meta.d.ts +6 -6
- package/dist/src/global/A-Container/A-Container.meta.js +5 -6
- package/dist/src/global/A-Container/A-Container.meta.js.map +1 -1
- package/dist/src/global/A-Container/A-Container.types.d.ts +31 -25
- package/dist/src/global/A-Container/A-Container.types.js +1 -7
- package/dist/src/global/A-Container/A-Container.types.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.class.d.ts +302 -76
- package/dist/src/global/A-Context/A-Context.class.js +436 -244
- package/dist/src/global/A-Context/A-Context.class.js.map +1 -1
- package/dist/src/global/A-Context/A-Context.error.d.ts +20 -0
- package/dist/src/global/A-Context/A-Context.error.js +25 -0
- package/dist/src/global/A-Context/A-Context.error.js.map +1 -0
- package/dist/src/global/A-Context/A-Context.types.d.ts +5 -0
- package/dist/src/global/A-Context/A-Context.types.js +1 -0
- package/dist/src/global/A-Entity/A-Entity.class.d.ts +13 -39
- package/dist/src/global/A-Entity/A-Entity.class.js +30 -73
- package/dist/src/global/A-Entity/A-Entity.class.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.constants.d.ts +11 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js +17 -0
- package/dist/src/global/A-Entity/A-Entity.constants.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.error.d.ts +7 -0
- package/dist/src/global/A-Entity/A-Entity.error.js +12 -0
- package/dist/src/global/A-Entity/A-Entity.error.js.map +1 -0
- package/dist/src/global/A-Entity/A-Entity.meta.d.ts +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js +2 -2
- package/dist/src/global/A-Entity/A-Entity.meta.js.map +1 -1
- package/dist/src/global/A-Entity/A-Entity.types.d.ts +24 -29
- package/dist/src/global/A-Entity/A-Entity.types.js +1 -13
- package/dist/src/global/A-Entity/A-Entity.types.js.map +1 -1
- package/dist/src/global/A-Error/A_Error.class.d.ts +219 -0
- package/dist/src/global/A-Error/A_Error.class.js +267 -0
- package/dist/src/global/A-Error/A_Error.class.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.constants.d.ts +5 -0
- package/dist/src/global/A-Error/A_Error.constants.js +9 -0
- package/dist/src/global/A-Error/A_Error.constants.js.map +1 -0
- package/dist/src/global/A-Error/A_Error.types.d.ts +89 -0
- package/dist/src/{decorators/A-Inject/A-Inject.decorator.types.js → global/A-Error/A_Error.types.js} +1 -1
- package/dist/src/global/A-Error/A_Error.types.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.d.ts +15 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.js +21 -27
- package/dist/src/global/A-Feature/A-Feature-Define.decorator.js.map +1 -0
- package/dist/src/{decorators → global}/A-Feature/A-Feature-Extend.decorator.d.ts +26 -3
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js +97 -0
- package/dist/src/global/A-Feature/A-Feature-Extend.decorator.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.class.d.ts +120 -30
- package/dist/src/global/A-Feature/A-Feature.class.js +205 -73
- package/dist/src/global/A-Feature/A-Feature.class.js.map +1 -1
- package/dist/src/global/A-Feature/A-Feature.error.d.ts +25 -0
- package/dist/src/global/A-Feature/A-Feature.error.js +33 -0
- package/dist/src/global/A-Feature/A-Feature.error.js.map +1 -0
- package/dist/src/global/A-Feature/A-Feature.types.d.ts +241 -18
- package/dist/src/global/A-Feature/A-Feature.types.js +16 -22
- package/dist/src/global/A-Feature/A-Feature.types.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.class.d.ts +19 -27
- package/dist/src/global/A-Fragment/A-Fragment.class.js +21 -91
- package/dist/src/global/A-Fragment/A-Fragment.class.js.map +1 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.d.ts +19 -1
- package/dist/src/global/A-Fragment/A-Fragment.types.js +3 -0
- package/dist/src/global/A-Fragment/A-Fragment.types.js.map +1 -1
- package/dist/src/global/A-Inject/A-Inject.decorator.d.ts +80 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js +49 -0
- package/dist/src/global/A-Inject/A-Inject.decorator.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.error.d.ts +5 -0
- package/dist/src/global/A-Inject/A-Inject.error.js +10 -0
- package/dist/src/global/A-Inject/A-Inject.error.js.map +1 -0
- package/dist/src/global/A-Inject/A-Inject.types.d.ts +42 -0
- package/dist/src/{decorators/A-Entity/A-Entity.decorator.types.js → global/A-Inject/A-Inject.types.js} +1 -1
- package/dist/src/global/A-Inject/A-Inject.types.js.map +1 -0
- package/dist/src/global/A-Meta/A-Meta.class.d.ts +1 -1
- package/dist/src/global/A-Meta/A-Meta.types.d.ts +14 -0
- package/dist/src/global/A-Meta/A-Meta.types.js +1 -0
- package/dist/src/global/A-Scope/A-Scope.class.d.ts +124 -142
- package/dist/src/global/A-Scope/A-Scope.class.js +163 -209
- package/dist/src/global/A-Scope/A-Scope.class.js.map +1 -1
- package/dist/src/global/A-Scope/A-Scope.error.d.ts +6 -0
- package/dist/src/global/A-Scope/A-Scope.error.js +11 -0
- package/dist/src/global/A-Scope/A-Scope.error.js.map +1 -0
- package/dist/src/global/A-Scope/A-Scope.types.d.ts +48 -13
- package/dist/src/global/A-Stage/A-Stage.class.d.ts +31 -23
- package/dist/src/global/A-Stage/A-Stage.class.js +100 -68
- package/dist/src/global/A-Stage/A-Stage.class.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.error.d.ts +2 -1
- package/dist/src/global/A-Stage/A-Stage.error.js +5 -2
- package/dist/src/global/A-Stage/A-Stage.error.js.map +1 -1
- package/dist/src/global/A-Stage/A-Stage.types.d.ts +4 -16
- package/dist/src/global/A-Stage/A-Stage.types.js +0 -16
- package/dist/src/global/A-Stage/A-Stage.types.js.map +1 -1
- package/dist/src/global/ASEID/ASEID.class.d.ts +130 -0
- package/dist/src/global/ASEID/ASEID.class.js +167 -0
- package/dist/src/global/ASEID/ASEID.class.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.constants.js +2 -0
- package/dist/src/global/ASEID/ASEID.constants.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.error.d.ts +5 -0
- package/dist/src/global/ASEID/ASEID.error.js +10 -0
- package/dist/src/global/ASEID/ASEID.error.js.map +1 -0
- package/dist/src/global/ASEID/ASEID.types.d.ts +65 -0
- package/dist/src/global/ASEID/ASEID.types.js +5 -0
- package/dist/src/global/ASEID/ASEID.types.js.map +1 -0
- package/dist/src/helpers/A_Common.helper.d.ts +28 -0
- package/dist/src/helpers/A_Common.helper.js +170 -0
- package/dist/src/helpers/A_Common.helper.js.map +1 -0
- package/dist/src/helpers/A_Formatter.helper.d.ts +35 -0
- package/dist/src/helpers/A_Formatter.helper.js +62 -0
- package/dist/src/helpers/A_Formatter.helper.js.map +1 -0
- package/dist/src/helpers/A_Identity.helper.d.ts +29 -0
- package/dist/src/helpers/A_Identity.helper.js +43 -0
- package/dist/src/helpers/A_Identity.helper.js.map +1 -0
- package/dist/src/helpers/{StepsManager.class.d.ts → A_StepsManager.class.d.ts} +4 -2
- package/dist/src/helpers/{StepsManager.class.js → A_StepsManager.class.js} +10 -5
- package/dist/src/helpers/A_StepsManager.class.js.map +1 -0
- package/dist/src/helpers/A_TypeGuards.helper.d.ts +205 -0
- package/dist/src/helpers/A_TypeGuards.helper.js +288 -0
- package/dist/src/helpers/A_TypeGuards.helper.js.map +1 -0
- package/dist/src/types/A_Common.types.d.ts +36 -0
- package/dist/src/types/A_Common.types.js +3 -0
- package/dist/src/types/A_Common.types.js.map +1 -0
- package/index.ts +27 -51
- package/jest.config.ts +1 -0
- package/package.json +1 -2
- package/src/constants/env.constants.ts +18 -11
- package/src/global/A-Abstraction/A-Abstraction-Extend.decorator.ts +103 -0
- package/src/global/A-Abstraction/A-Abstraction.class.ts +71 -65
- package/src/global/A-Abstraction/A-Abstraction.error.ts +9 -0
- package/src/global/A-Abstraction/A-Abstraction.types.ts +52 -13
- package/src/global/A-Caller/A_Caller.class.ts +61 -0
- package/src/global/A-Caller/A_Caller.error.ts +10 -0
- package/src/global/A-Caller/A_Caller.types.ts +25 -0
- package/src/global/A-Component/A-Component.class.ts +26 -15
- package/src/global/A-Component/A-Component.constants.ts +9 -0
- package/src/global/A-Component/A-Component.meta.ts +6 -16
- package/src/global/A-Component/A-Component.types.ts +53 -28
- package/src/global/A-Concept/A-Concept.class.ts +316 -0
- package/src/global/A-Concept/A-Concept.constants.ts +36 -0
- package/src/global/A-Concept/A-Concept.meta.ts +17 -0
- package/src/global/A-Concept/A-Concept.types.ts +100 -0
- package/src/global/A-Container/A-Container.class.ts +42 -83
- package/src/global/A-Container/A-Container.constants.ts +5 -0
- package/src/global/A-Container/A-Container.meta.ts +7 -11
- package/src/global/A-Container/A-Container.types.ts +38 -34
- package/src/global/A-Context/A-Context.class.ts +648 -412
- package/src/global/A-Context/A-Context.error.ts +44 -0
- package/src/global/A-Context/A-Context.types.ts +14 -0
- package/src/global/A-Entity/A-Entity.class.ts +33 -88
- package/src/global/A-Entity/A-Entity.constants.ts +12 -0
- package/src/global/A-Entity/A-Entity.error.ts +12 -0
- package/src/global/A-Entity/A-Entity.meta.ts +4 -4
- package/src/global/A-Entity/A-Entity.types.ts +31 -36
- package/src/global/A-Error/A_Error.class.ts +408 -0
- package/src/global/A-Error/A_Error.constants.ts +11 -0
- package/src/global/A-Error/A_Error.types.ts +96 -0
- package/src/{decorators → global}/A-Feature/A-Feature-Define.decorator.ts +31 -37
- package/src/global/A-Feature/A-Feature-Extend.decorator.ts +187 -0
- package/src/global/A-Feature/A-Feature.class.ts +279 -122
- package/src/global/A-Feature/A-Feature.error.ts +33 -0
- package/src/global/A-Feature/A-Feature.types.ts +278 -40
- package/src/global/A-Fragment/A-Fragment.class.ts +29 -100
- package/src/global/A-Fragment/A-Fragment.types.ts +25 -3
- package/src/global/A-Inject/A-Inject.decorator.ts +167 -0
- package/src/global/A-Inject/A-Inject.error.ts +8 -0
- package/src/global/A-Inject/A-Inject.types.ts +75 -0
- package/src/global/A-Meta/A-Meta.class.ts +1 -1
- package/src/global/A-Meta/A-Meta.types.ts +21 -0
- package/src/global/A-Scope/A-Scope.class.ts +288 -299
- package/src/global/A-Scope/A-Scope.error.ts +13 -0
- package/src/global/A-Scope/A-Scope.types.ts +61 -27
- package/src/global/A-Stage/A-Stage.class.ts +142 -80
- package/src/global/A-Stage/A-Stage.error.ts +4 -2
- package/src/global/A-Stage/A-Stage.types.ts +4 -25
- package/src/global/ASEID/ASEID.class.ts +275 -0
- package/src/global/ASEID/ASEID.error.ts +12 -0
- package/src/global/ASEID/ASEID.types.ts +79 -0
- package/src/helpers/A_Common.helper.ts +204 -0
- package/src/helpers/A_Formatter.helper.ts +58 -0
- package/src/helpers/A_Identity.helper.ts +53 -0
- package/src/helpers/{StepsManager.class.ts → A_StepsManager.class.ts} +19 -3
- package/src/helpers/A_TypeGuards.helper.ts +318 -0
- package/src/types/A_Common.types.ts +79 -0
- package/tests/A-Common.test.ts +117 -0
- package/tests/A-Component.test.ts +11 -6
- package/tests/A-Concept.test.ts +19 -22
- package/tests/A-Entity.test.ts +24 -24
- package/tests/A-Error.test.ts +129 -0
- package/tests/A-Feature.test.ts +34 -25
- package/tests/A-Scope.test.ts +50 -22
- package/tests/ASEID.test.ts +74 -0
- package/tsconfig.build.json +2 -1
- package/tsconfig.json +3 -2
- package/dist/src/base/A-Config/A-Config.container.d.ts +0 -9
- package/dist/src/base/A-Config/A-Config.container.js +0 -69
- package/dist/src/base/A-Config/A-Config.container.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.context.d.ts +0 -30
- package/dist/src/base/A-Config/A-Config.context.js +0 -60
- package/dist/src/base/A-Config/A-Config.context.js.map +0 -1
- package/dist/src/base/A-Config/A-Config.types.d.ts +0 -20
- package/dist/src/base/A-Config/A-Config.types.js +0 -7
- package/dist/src/base/A-Config/A-Config.types.js.map +0 -1
- package/dist/src/base/A-Config/components/ConfigReader.component.d.ts +0 -29
- package/dist/src/base/A-Config/components/ConfigReader.component.js +0 -84
- package/dist/src/base/A-Config/components/ConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/ENVConfigReader.component.d.ts +0 -10
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js +0 -37
- package/dist/src/base/A-Config/components/ENVConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Config/components/FileConfigReader.component.d.ts +0 -11
- package/dist/src/base/A-Config/components/FileConfigReader.component.js +0 -48
- package/dist/src/base/A-Config/components/FileConfigReader.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Error.entity.d.ts +0 -3
- package/dist/src/base/A-Errors/A-Error.entity.js +0 -8
- package/dist/src/base/A-Errors/A-Error.entity.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.component.d.ts +0 -19
- package/dist/src/base/A-Errors/A-Errors.component.js +0 -87
- package/dist/src/base/A-Errors/A-Errors.component.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.context.d.ts +0 -27
- package/dist/src/base/A-Errors/A-Errors.context.js +0 -50
- package/dist/src/base/A-Errors/A-Errors.context.js.map +0 -1
- package/dist/src/base/A-Errors/A-Errors.types.d.ts +0 -5
- package/dist/src/base/A-Errors/A-Errors.types.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.component.d.ts +0 -31
- package/dist/src/base/A-Logger/A-Logger.component.js +0 -155
- package/dist/src/base/A-Logger/A-Logger.component.js.map +0 -1
- package/dist/src/base/A-Logger/A-Logger.types.js +0 -2
- package/dist/src/base/A-Logger/A-Logger.types.js.map +0 -1
- package/dist/src/base/A-Polyfill/A-Polyfill.component.d.ts +0 -5
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js +0 -34
- package/dist/src/base/A-Polyfill/A-Polyfill.component.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.d.ts +0 -14
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js +0 -53
- package/dist/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.d.ts +0 -2
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js +0 -3
- package/dist/src/decorators/A-Abstraction/A-Abstraction.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js +0 -31
- package/dist/src/decorators/A-Connect/A-Connect.decorator.js.map +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.d.ts +0 -1
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js +0 -3
- package/dist/src/decorators/A-Connect/A-Connect.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.d.ts +0 -1
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js +0 -8
- package/dist/src/decorators/A-Entity/A-Entity-List.decorator.js.map +0 -1
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.d.ts +0 -14
- package/dist/src/decorators/A-Entity/A-Entity.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.d.ts +0 -19
- package/dist/src/decorators/A-Feature/A-Feature-Define.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js +0 -81
- package/dist/src/decorators/A-Feature/A-Feature-Extend.decorator.js.map +0 -1
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.d.ts +0 -96
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js +0 -3
- package/dist/src/decorators/A-Feature/A-Feature.decorator.types.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.d.ts +0 -30
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js +0 -47
- package/dist/src/decorators/A-Inject/A-Inject.decorator.js.map +0 -1
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.d.ts +0 -48
- package/dist/src/decorators/A-Inject/A-Inject.decorator.types.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.class.d.ts +0 -16
- package/dist/src/global/A-Channel/A-Channel.class.js +0 -59
- package/dist/src/global/A-Channel/A-Channel.class.js.map +0 -1
- package/dist/src/global/A-Channel/A-Channel.types.d.ts +0 -68
- package/dist/src/global/A-Channel/A-Channel.types.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.class.d.ts +0 -187
- package/dist/src/global/A-Command/A-Command.class.js +0 -349
- package/dist/src/global/A-Command/A-Command.class.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.constants.d.ts +0 -17
- package/dist/src/global/A-Command/A-Command.constants.js +0 -22
- package/dist/src/global/A-Command/A-Command.constants.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.meta.d.ts +0 -11
- package/dist/src/global/A-Command/A-Command.meta.js +0 -18
- package/dist/src/global/A-Command/A-Command.meta.js.map +0 -1
- package/dist/src/global/A-Command/A-Command.types.d.ts +0 -43
- package/dist/src/global/A-Command/A-Command.types.js +0 -10
- package/dist/src/global/A-Command/A-Command.types.js.map +0 -1
- package/dist/src/global/A-Command/context/A_Command.context.d.ts +0 -64
- package/dist/src/global/A-Command/context/A_Command.context.js +0 -85
- package/dist/src/global/A-Command/context/A_Command.context.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.class.d.ts +0 -104
- package/dist/src/global/A-Concept/A_Concept.class.js +0 -217
- package/dist/src/global/A-Concept/A_Concept.class.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.meta.js.map +0 -1
- package/dist/src/global/A-Concept/A_Concept.types.d.ts +0 -103
- package/dist/src/global/A-Concept/A_Concept.types.js +0 -28
- package/dist/src/global/A-Concept/A_Concept.types.js.map +0 -1
- package/dist/src/global/A-Feature/A-FeatureCaller.class.d.ts +0 -22
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js +0 -26
- package/dist/src/global/A-Feature/A-FeatureCaller.class.js.map +0 -1
- package/dist/src/global/A-Scope/A-Scope.constants.d.ts +0 -2
- package/dist/src/global/A-Scope/A-Scope.constants.js +0 -11
- package/dist/src/global/A-Scope/A-Scope.constants.js.map +0 -1
- package/dist/src/helpers/StepsManager.class.js.map +0 -1
- package/dist/src/types/A_Module.types.d.ts +0 -17
- package/dist/src/types/A_Module.types.js +0 -22
- package/dist/src/types/A_Module.types.js.map +0 -1
- package/examples/entity/concept.ts +0 -68
- package/examples/entity/entities/Task.entity.ts +0 -110
- package/examples/entity/entities/User.entity.ts +0 -62
- package/examples/fe-be/channels/Test.channel.ts +0 -27
- package/examples/fe-be/components/BE-Controller.component.ts +0 -20
- package/examples/fe-be/components/FE.component.ts +0 -13
- package/examples/fe-be/containers/ServerApp.container.ts +0 -8
- package/examples/fe-be/containers/WebApp.container.ts +0 -13
- package/examples/multi-container/channels/Direct.channel.ts +0 -39
- package/examples/multi-container/concept.ts +0 -0
- package/examples/multi-container/containers/Command.container.ts +0 -41
- package/examples/multi-container/containers/Schedule.container.ts +0 -52
- package/examples/simple/components/A.component.ts +0 -71
- package/examples/simple/components/B.component.ts +0 -68
- package/examples/simple/concept.ts +0 -87
- package/examples/simple/containers/Main.container.ts +0 -88
- package/examples/simple/containers/Secondary.container.ts +0 -26
- package/examples/simple/context/Fragment_A.context.ts +0 -25
- package/examples/simple/context/Fragment_B.context.ts +0 -19
- package/examples/simple/entities/EntityA.entity.ts +0 -32
- package/examples/simple-http-server/components/http-error-handler.component.ts +0 -47
- package/examples/simple-http-server/components/http-request-handler.component.ts +0 -13
- package/examples/simple-http-server/concept.ts +0 -35
- package/examples/simple-http-server/containers/http-server.container.ts +0 -57
- package/examples/simple-http-server/contexts/http-request.context.ts +0 -59
- package/examples/simple-http-server/contexts/http-server.context.types.ts +0 -0
- package/examples/simple-http-server/controllers/orders.controller.ts +0 -20
- package/examples/simple-http-server/controllers/users.controller.ts +0 -104
- package/examples/simple-http-server/test.ts +0 -290
- package/src/base/A-Config/A-Config.container.ts +0 -68
- package/src/base/A-Config/A-Config.context.ts +0 -114
- package/src/base/A-Config/A-Config.types.ts +0 -28
- package/src/base/A-Config/components/ConfigReader.component.ts +0 -68
- package/src/base/A-Config/components/ENVConfigReader.component.ts +0 -31
- package/src/base/A-Config/components/FileConfigReader.component.ts +0 -41
- package/src/base/A-Errors/A-Error.entity.ts +0 -10
- package/src/base/A-Errors/A-Errors.component.ts +0 -103
- package/src/base/A-Errors/A-Errors.context.ts +0 -90
- package/src/base/A-Errors/A-Errors.types.ts +0 -6
- package/src/base/A-Logger/A-Logger.component.ts +0 -192
- package/src/base/A-Logger/A-Logger.types.ts +0 -0
- package/src/base/A-Polyfill/A-Polyfill.component.ts +0 -18
- package/src/decorators/A-Abstraction/A-Abstraction-Extend.decorator.ts +0 -81
- package/src/decorators/A-Abstraction/A-Abstraction.decorator.types.ts +0 -21
- package/src/decorators/A-Connect/A-Connect.decorator.ts +0 -71
- package/src/decorators/A-Connect/A-Connect.decorator.types.ts +0 -6
- package/src/decorators/A-Entity/A-Entity-List.decorator.ts +0 -12
- package/src/decorators/A-Entity/A-Entity.decorator.types.ts +0 -18
- package/src/decorators/A-Feature/A-Feature-Extend.decorator.ts +0 -151
- package/src/decorators/A-Feature/A-Feature.decorator.types.ts +0 -142
- package/src/decorators/A-Inject/A-Inject.decorator.ts +0 -119
- package/src/decorators/A-Inject/A-Inject.decorator.types.ts +0 -85
- package/src/global/A-Channel/A-Channel.class.ts +0 -111
- package/src/global/A-Channel/A-Channel.types.ts +0 -114
- package/src/global/A-Command/A-Command.class.ts +0 -419
- package/src/global/A-Command/A-Command.constants.ts +0 -27
- package/src/global/A-Command/A-Command.meta.ts +0 -22
- package/src/global/A-Command/A-Command.types.ts +0 -73
- package/src/global/A-Command/context/A_Command.context.ts +0 -114
- package/src/global/A-Concept/A_Concept.class.ts +0 -298
- package/src/global/A-Concept/A_Concept.meta.ts +0 -32
- package/src/global/A-Concept/A_Concept.types.ts +0 -143
- package/src/global/A-Feature/A-FeatureCaller.class.ts +0 -38
- package/src/global/A-Scope/A-Scope.constants.ts +0 -9
- package/src/types/A_Module.types.ts +0 -23
- package/tests/A-Command.test.ts +0 -133
- package/tests/A-Config.test.ts +0 -172
- /package/dist/src/global/A-Concept/{A_Concept.meta.d.ts → A-Concept.meta.d.ts} +0 -0
- /package/dist/src/{base/A-Logger/A-Logger.types.d.ts → global/ASEID/ASEID.constants.d.ts} +0 -0
- /package/{examples/fe-be/concept.ts → src/global/ASEID/ASEID.constants.ts} +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
2
|
-
import { ContextFragmentB } from "../context/Fragment_B.context";
|
|
3
|
-
import { ContextFragmentA } from "../context/Fragment_A.context";
|
|
4
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
5
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
6
|
-
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
7
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export class ComponentB extends A_Component {
|
|
11
|
-
|
|
12
|
-
constructor(
|
|
13
|
-
@A_Inject(A_Logger) private logger: A_Logger
|
|
14
|
-
) {
|
|
15
|
-
super();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@A_Concept.Load()
|
|
20
|
-
@A_Feature.Extend()
|
|
21
|
-
async load() {
|
|
22
|
-
console.log('Component B -> load()');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
@A_Concept.Load()
|
|
26
|
-
async test(
|
|
27
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
28
|
-
) {
|
|
29
|
-
console.log('Component B -> test() TEST!!!!!!!!!!!!!!!');
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@A_Feature.Extend()
|
|
34
|
-
async method_B(
|
|
35
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
36
|
-
) {
|
|
37
|
-
logger.log('cyan', 'Component B -> method_B()');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
@A_Feature.Extend({
|
|
41
|
-
name: 'method_B'
|
|
42
|
-
})
|
|
43
|
-
async someMethod(
|
|
44
|
-
|
|
45
|
-
) {
|
|
46
|
-
this.logger.log('pink', 'Component B -> method_B() -> someMethod()');
|
|
47
|
-
this.logger.log('Component B -> method_B() -> someMethod()');
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@A_Feature.Extend({
|
|
52
|
-
name: 'method_B'
|
|
53
|
-
})
|
|
54
|
-
async someMethod2() {
|
|
55
|
-
this.logger.log('yellow', 'Component B -> method_B() -> someMethod2()');
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@A_Feature.Extend({
|
|
59
|
-
name: 'method_A'
|
|
60
|
-
})
|
|
61
|
-
async someMethod3(
|
|
62
|
-
@A_Inject(ContextFragmentB) context: ContextFragmentB,
|
|
63
|
-
@A_Inject(ContextFragmentA) context2: ContextFragmentA
|
|
64
|
-
) {
|
|
65
|
-
console.log('Component B -> method_A() -> someMethod3()');
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { MainContainer } from "./containers/Main.container";
|
|
2
|
-
import { ComponentA } from "./components/A.component";
|
|
3
|
-
import { ComponentB } from "./components/B.component";
|
|
4
|
-
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
5
|
-
import { ContextFragmentA } from "./context/Fragment_A.context";
|
|
6
|
-
import { ContextFragmentB } from "./context/Fragment_B.context";
|
|
7
|
-
import { A_Config } from "@adaas/a-concept/base/A-Config/A-Config.context";
|
|
8
|
-
import { A_ConfigLoader } from "@adaas/a-concept/base/A-Config/A-Config.container";
|
|
9
|
-
import { ENVConfigReader } from "@adaas/a-concept/base/A-Config/components/ENVConfigReader.component";
|
|
10
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
11
|
-
import { SecondaryContainer } from "./containers/Secondary.container";
|
|
12
|
-
import { EntityA } from "./entities/EntityA.entity";
|
|
13
|
-
|
|
14
|
-
(async () => {
|
|
15
|
-
|
|
16
|
-
const main = new MainContainer({
|
|
17
|
-
name: 'MainContainer',
|
|
18
|
-
components: [
|
|
19
|
-
A_Logger,
|
|
20
|
-
ComponentA,
|
|
21
|
-
ComponentB
|
|
22
|
-
],
|
|
23
|
-
fragments: [
|
|
24
|
-
new ContextFragmentA(),
|
|
25
|
-
new ContextFragmentB()
|
|
26
|
-
]
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
const second = new SecondaryContainer({
|
|
30
|
-
name: 'SecondaryContainer',
|
|
31
|
-
components: [
|
|
32
|
-
A_Logger,
|
|
33
|
-
ComponentA,
|
|
34
|
-
ComponentB
|
|
35
|
-
],
|
|
36
|
-
fragments: [
|
|
37
|
-
new ContextFragmentA(),
|
|
38
|
-
new ContextFragmentB()
|
|
39
|
-
]
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
const concept = new A_Concept({
|
|
43
|
-
name: 'test-simple',
|
|
44
|
-
fragments: [
|
|
45
|
-
new A_Config({
|
|
46
|
-
variables: ['CONFIG_VERBOSE'],
|
|
47
|
-
defaults: {
|
|
48
|
-
'CONFIG_VERBOSE': true
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
],
|
|
52
|
-
containers: [
|
|
53
|
-
new A_ConfigLoader({
|
|
54
|
-
components: [
|
|
55
|
-
ENVConfigReader
|
|
56
|
-
]
|
|
57
|
-
}),
|
|
58
|
-
main,
|
|
59
|
-
second
|
|
60
|
-
],
|
|
61
|
-
entities: [
|
|
62
|
-
new EntityA({ bar: 'bar' }),
|
|
63
|
-
new EntityA({ bar: 'bar' }),
|
|
64
|
-
new EntityA({ bar: 'barZ' }),
|
|
65
|
-
]
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
// await concept.load();
|
|
69
|
-
// await concept.start();
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
await main.method_A()
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
// await main.method_C();
|
|
76
|
-
|
|
77
|
-
try {
|
|
78
|
-
await main.call('method_C')
|
|
79
|
-
await second.call('method_C')
|
|
80
|
-
|
|
81
|
-
} catch (error) {
|
|
82
|
-
console.error('Error occurred:', error);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
})();
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
2
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
3
|
-
import { ContextFragmentA } from "../context/Fragment_A.context";
|
|
4
|
-
import { ContextFragmentB } from "../context/Fragment_B.context";
|
|
5
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
6
|
-
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
7
|
-
import { A_Context } from "@adaas/a-concept/global/A-Context/A-Context.class";
|
|
8
|
-
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
9
|
-
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
10
|
-
import { EntityA } from "../entities/EntityA.entity";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export class MainContainer extends A_Container {
|
|
15
|
-
|
|
16
|
-
@A_Concept.Load()
|
|
17
|
-
async load(
|
|
18
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
19
|
-
|
|
20
|
-
) {
|
|
21
|
-
logger.log('Main container loaded');
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
@A_Concept.Start()
|
|
25
|
-
async start(
|
|
26
|
-
@A_Inject(A_Scope) scope: A_Scope,
|
|
27
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
28
|
-
) {
|
|
29
|
-
await this.call('method_A');
|
|
30
|
-
|
|
31
|
-
// A_Context.feature(scope, this, 'method_A');
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@A_Feature.Define()
|
|
37
|
-
async method_A() {
|
|
38
|
-
console.log('Method A');
|
|
39
|
-
await this.call('method_A', new A_Scope({
|
|
40
|
-
name: `method-A::${Date.now()}`,
|
|
41
|
-
fragments: [
|
|
42
|
-
new ContextFragmentA(),
|
|
43
|
-
new ContextFragmentB()
|
|
44
|
-
]
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
@A_Feature.Define({
|
|
50
|
-
invoke:false
|
|
51
|
-
})
|
|
52
|
-
async method_B(
|
|
53
|
-
) {
|
|
54
|
-
console.log('Method B', A_Context.root.name);
|
|
55
|
-
|
|
56
|
-
const entity = new EntityA('test@test:test:0000000001');
|
|
57
|
-
|
|
58
|
-
this.Scope.register(entity);
|
|
59
|
-
|
|
60
|
-
await entity.doSomething();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const logger = this.Scope.resolve(A_Logger);
|
|
64
|
-
|
|
65
|
-
// or you can manually call the feature
|
|
66
|
-
const feature = A_Context.feature(this, 'method_B', new A_Scope({
|
|
67
|
-
name: `method-B::${Date.now()}`,
|
|
68
|
-
fragments: [new ContextFragmentA(), new ContextFragmentB()]
|
|
69
|
-
}));
|
|
70
|
-
|
|
71
|
-
for (const stage of feature) {
|
|
72
|
-
logger.log('Manual Loop Execution Step', feature.stage);
|
|
73
|
-
|
|
74
|
-
await stage.process();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
@A_Feature.Define()
|
|
81
|
-
async method_C() {
|
|
82
|
-
|
|
83
|
-
const logger = this.Scope.resolve(A_Logger);
|
|
84
|
-
|
|
85
|
-
logger.log('Method C');
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
2
|
-
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
3
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
4
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
5
|
-
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export class SecondaryContainer extends A_Container {
|
|
10
|
-
|
|
11
|
-
@A_Concept.Load()
|
|
12
|
-
async load(
|
|
13
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
14
|
-
|
|
15
|
-
) {
|
|
16
|
-
logger.log('Secondary container loaded');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
@A_Concept.Start()
|
|
20
|
-
async start(
|
|
21
|
-
@A_Inject(A_Scope) scope: A_Scope,
|
|
22
|
-
@A_Inject(A_Logger) logger: A_Logger
|
|
23
|
-
) {
|
|
24
|
-
await this.call('method_C');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { A_Fragment } from "@adaas/a-concept/global/A-Fragment/A-Fragment.class";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export class ContextFragmentA extends A_Fragment {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
variable: number = 0;
|
|
10
|
-
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
decrement(): void {
|
|
19
|
-
this.variable--;
|
|
20
|
-
|
|
21
|
-
console.log('ContextFragmentA -> Variable decremented to: ', this.variable);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { A_Fragment } from "@adaas/a-concept/global/A-Fragment/A-Fragment.class";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export class ContextFragmentB extends A_Fragment {
|
|
5
|
-
|
|
6
|
-
variable: number = 0;
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
super();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
increment(): void {
|
|
14
|
-
this.variable++;
|
|
15
|
-
|
|
16
|
-
console.log('ContextFragmentB -> Variable incremented to: ', this.variable);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { A_Entity } from "@adaas/a-concept/global/A-Entity/A-Entity.class";
|
|
2
|
-
import { A_TYPES__EntityBaseMethods } from "@adaas/a-concept/global/A-Entity/A-Entity.types";
|
|
3
|
-
import { ASEID } from "@adaas/a-utils";
|
|
4
|
-
import { A_Feature } from "index";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export class EntityA extends A_Entity {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
public bar: string = 'bar';
|
|
12
|
-
|
|
13
|
-
get Foo(){
|
|
14
|
-
return 'bar';
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
fromNew(newEntity: any): void {
|
|
18
|
-
|
|
19
|
-
this.aseid = new ASEID({
|
|
20
|
-
namespace: 'default',
|
|
21
|
-
scope: 'default',
|
|
22
|
-
entity: 'entity-a',
|
|
23
|
-
id: Math.floor(Math.random() * 1000000000).toString(),
|
|
24
|
-
})
|
|
25
|
-
this.bar = newEntity.bar;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@A_Feature.Define()
|
|
29
|
-
async doSomething() {
|
|
30
|
-
await this.call('doSomething');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
2
|
-
import { HTTPRequest } from "../contexts/http-request.context";
|
|
3
|
-
import { A_Logger } from "@adaas/a-concept/base/A-Logger/A-Logger.component";
|
|
4
|
-
import { HttpServer } from "../containers/http-server.container";
|
|
5
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
6
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export class HTTPErrorHandler extends A_Component {
|
|
10
|
-
|
|
11
|
-
constructor(
|
|
12
|
-
@A_Inject(A_Logger) private logger: A_Logger
|
|
13
|
-
) {
|
|
14
|
-
super();
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@A_Feature.Extend({
|
|
20
|
-
name: 'onRequest',
|
|
21
|
-
scope: [HttpServer]
|
|
22
|
-
})
|
|
23
|
-
async onErrorPage(
|
|
24
|
-
@A_Inject(HTTPRequest) request: HTTPRequest,
|
|
25
|
-
@A_Inject(A_Feature) feature: A_Feature
|
|
26
|
-
) {
|
|
27
|
-
this.logger.log('HTTP Error Handler -> onErrorPage()');
|
|
28
|
-
|
|
29
|
-
await feature.completed();
|
|
30
|
-
|
|
31
|
-
if (request.state !== 'end' && request.request.url === '/error')
|
|
32
|
-
request.end('Error Page');
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
@A_Feature.Extend()
|
|
39
|
-
async onRequest(
|
|
40
|
-
@A_Inject(HTTPRequest) request: HTTPRequest
|
|
41
|
-
) {
|
|
42
|
-
this.logger.log('HTTP Error Handler -> onRequest()');
|
|
43
|
-
|
|
44
|
-
if (request.state !== 'end')
|
|
45
|
-
request.end('Error');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class";
|
|
2
|
-
import { A_Feature } from "index";
|
|
3
|
-
|
|
4
|
-
export class HTTPRequestHandler extends A_Component {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@A_Feature.Extend()
|
|
9
|
-
onRequest() {
|
|
10
|
-
console.log('HTTPRequestHandler -> onRequest()');
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
2
|
-
import { HttpServer } from "./containers/http-server.container";
|
|
3
|
-
import { A_Config } from "@adaas/a-concept/base/A-Config/A-Config.context";
|
|
4
|
-
import { HTTPErrorHandler } from "./components/http-error-handler.component";
|
|
5
|
-
import { HTTPRequestHandler } from "./components/http-request-handler.component";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(async () => {
|
|
9
|
-
const simpleConcept = new A_Concept({
|
|
10
|
-
name: 'test-server',
|
|
11
|
-
|
|
12
|
-
containers: [
|
|
13
|
-
new HttpServer({
|
|
14
|
-
components: [
|
|
15
|
-
HTTPErrorHandler,
|
|
16
|
-
HTTPRequestHandler
|
|
17
|
-
]
|
|
18
|
-
})
|
|
19
|
-
],
|
|
20
|
-
fragments: [
|
|
21
|
-
new A_Config({
|
|
22
|
-
variables: ['PORT'],
|
|
23
|
-
defaults: {
|
|
24
|
-
PORT: 3030,
|
|
25
|
-
}
|
|
26
|
-
})
|
|
27
|
-
],
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
await simpleConcept.load();
|
|
32
|
-
|
|
33
|
-
await simpleConcept.start();
|
|
34
|
-
|
|
35
|
-
})();
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { A_Container } from "@adaas/a-concept/global/A-Container/A-Container.class";
|
|
2
|
-
import { createServer, IncomingMessage, Server, ServerResponse } from "http";
|
|
3
|
-
import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator";
|
|
4
|
-
import { A_Concept } from "@adaas/a-concept/global/A-Concept/A_Concept.class";
|
|
5
|
-
import { A_Config } from "@adaas/a-concept/base/A-Config/A-Config.context";
|
|
6
|
-
import { A_Feature } from "@adaas/a-concept/global/A-Feature/A-Feature.class";
|
|
7
|
-
import { HTTPRequest } from "../contexts/http-request.context";
|
|
8
|
-
import { A_Scope } from "@adaas/a-concept/global/A-Scope/A-Scope.class";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export class HttpServer extends A_Container {
|
|
15
|
-
|
|
16
|
-
server!: Server
|
|
17
|
-
port!: number
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
@A_Concept.Load()
|
|
21
|
-
async create(
|
|
22
|
-
@A_Inject(A_Config) config: A_Config<'PORT'>
|
|
23
|
-
) {
|
|
24
|
-
// Set the server to listen on port 3000
|
|
25
|
-
this.port = config.get('PORT') || 3000;
|
|
26
|
-
|
|
27
|
-
// Create the HTTP server
|
|
28
|
-
this.server = createServer(this.onRequest.bind(this));
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
@A_Concept.Start()
|
|
32
|
-
async run() {
|
|
33
|
-
this.server.listen(this.port, () => {
|
|
34
|
-
console.log(`Server is running on http://localhost:${this.port}`);
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@A_Feature.Define({
|
|
40
|
-
invoke: false
|
|
41
|
-
})
|
|
42
|
-
async onRequest(
|
|
43
|
-
req: IncomingMessage,
|
|
44
|
-
res: ServerResponse
|
|
45
|
-
) {
|
|
46
|
-
return await this.call('onRequest', new A_Scope({
|
|
47
|
-
name: `http-request::${Date.now()}`,
|
|
48
|
-
fragments: [
|
|
49
|
-
new HTTPRequest(req, res)
|
|
50
|
-
]
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
@A_Concept.Stop()
|
|
56
|
-
async stop() { }
|
|
57
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { A_Fragment } from "@adaas/a-concept/global/A-Fragment/A-Fragment.class";
|
|
2
|
-
import { IncomingMessage, ServerResponse } from "http";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export class HTTPRequest extends A_Fragment {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
public request: IncomingMessage
|
|
11
|
-
public response: ServerResponse
|
|
12
|
-
|
|
13
|
-
private _body: any
|
|
14
|
-
|
|
15
|
-
state: 'open' | 'end' = 'open'
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
constructor(
|
|
19
|
-
request: IncomingMessage,
|
|
20
|
-
response: ServerResponse
|
|
21
|
-
) {
|
|
22
|
-
|
|
23
|
-
super();
|
|
24
|
-
|
|
25
|
-
this.request = request;
|
|
26
|
-
this.response = response;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
protected async onInit(): Promise<void> {
|
|
31
|
-
this.response.statusCode = 200;
|
|
32
|
-
this.response.setHeader('Content-Type', 'text/plain');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
// async toJSON<T extends any>(): Promise<T> {
|
|
37
|
-
// if (!this._body) {
|
|
38
|
-
// this._body = await this.parseBody();
|
|
39
|
-
// }
|
|
40
|
-
|
|
41
|
-
// return this._body;
|
|
42
|
-
// }
|
|
43
|
-
|
|
44
|
-
private parseBody(): Promise<any> {
|
|
45
|
-
return new Promise((resolve, reject) => {
|
|
46
|
-
let body = '';
|
|
47
|
-
this.request.on('data', chunk => body += chunk.toString());
|
|
48
|
-
this.request.on('end', () => resolve(JSON.parse(body)));
|
|
49
|
-
this.request.on('error', reject);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
async end(body: string): Promise<void> {
|
|
55
|
-
this.state = 'end';
|
|
56
|
-
this.response.end(body);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
}
|
|
File without changes
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
// declare module "../modules/simple-http-server.types" {
|
|
3
|
-
// interface SimpleHTTPServerModuleControllers {
|
|
4
|
-
// Orders: OrderController
|
|
5
|
-
// }
|
|
6
|
-
// }
|
|
7
|
-
|
|
8
|
-
import { A_Component } from "@adaas/a-concept/global/A-Component/A-Component.class"
|
|
9
|
-
|
|
10
|
-
export class OrderController extends A_Component {
|
|
11
|
-
|
|
12
|
-
async makeSome1() {
|
|
13
|
-
console.log('Making some request')
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async makeSome2() {
|
|
17
|
-
console.log('Making some request')
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
// import { A_Load } from "@adaas/a-concept/decorators/A-ConceptLifecycle/A-Load/A-Load.decorator"
|
|
2
|
-
// import { A_Module } from "@adaas/a-concept/global/A_Module.class"
|
|
3
|
-
// import { SimpleHTTPServerModule } from "../modules/simple-http-server.module"
|
|
4
|
-
// import { IncomingMessage, ServerResponse } from "http"
|
|
5
|
-
// import { SimpleHTTPServerContext } from "../modules/simple-http-server.context"
|
|
6
|
-
// import { A_Dependency } from "@adaas/a-concept/decorators/A-Dependency/A-Dependency.decorator"
|
|
7
|
-
// import { A_Run } from "@adaas/a-concept/decorators/A-ConceptLifecycle/A-Run/A-Run.decorator"
|
|
8
|
-
// import { A_Inject } from "@adaas/a-concept/decorators/A-Inject/A-Inject.decorator"
|
|
9
|
-
// import { OrderController } from "./orders.controller"
|
|
10
|
-
|
|
11
|
-
// declare module "../modules/simple-http-server.types" {
|
|
12
|
-
// interface SimpleHTTPServerModuleControllers {
|
|
13
|
-
// Users: UserController
|
|
14
|
-
// }
|
|
15
|
-
// }
|
|
16
|
-
|
|
17
|
-
// declare module "../modules/simple-http-server.context" {
|
|
18
|
-
// interface SimpleHTTPServerContext {
|
|
19
|
-
// users: Array<any>
|
|
20
|
-
// }
|
|
21
|
-
// }
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// // @A_Dependency({
|
|
26
|
-
// // name: 'users-controller',
|
|
27
|
-
// // version: '0.0.1',
|
|
28
|
-
// // dependencies: [
|
|
29
|
-
// // SimpleHTTPServerModule
|
|
30
|
-
// // ]
|
|
31
|
-
// // })
|
|
32
|
-
// export class UserController extends A_Module {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// private SomeModule = A_Inject(OrderController)
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
// @A_Load(
|
|
39
|
-
// // after: [SimpleHTTPServerModule]
|
|
40
|
-
// )
|
|
41
|
-
// async defineListeners(
|
|
42
|
-
// ) {
|
|
43
|
-
|
|
44
|
-
// /**
|
|
45
|
-
// * Approach with Dependency Manager allows to resolve the module and context in the method
|
|
46
|
-
// */
|
|
47
|
-
// const simpleHTTPServerModule1 = await this.DM.resolve(SimpleHTTPServerModule);
|
|
48
|
-
// const context1 = await this.DM.resolve(SimpleHTTPServerContext);
|
|
49
|
-
// /**
|
|
50
|
-
// * OR
|
|
51
|
-
// *
|
|
52
|
-
// * It's possible to resolve multiple dependencies at once
|
|
53
|
-
// */
|
|
54
|
-
// const [
|
|
55
|
-
// simpleHTTPServerModule2,
|
|
56
|
-
// context
|
|
57
|
-
// ] = await this.DM.resolve([
|
|
58
|
-
// SimpleHTTPServerModule,
|
|
59
|
-
// SimpleHTTPServerContext
|
|
60
|
-
// ]);
|
|
61
|
-
|
|
62
|
-
// // simpleHTTPServerModule.create();
|
|
63
|
-
// context.users = [
|
|
64
|
-
// { id: 1, name: 'John Doe' },
|
|
65
|
-
// { id: 2, name: 'Jane Doe' }
|
|
66
|
-
// ];
|
|
67
|
-
// }
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
// @A_Load()
|
|
72
|
-
// /**
|
|
73
|
-
// *
|
|
74
|
-
// * Approach with direct injection allows to use the module directly in the method
|
|
75
|
-
// * However, this approach is not recommended as it makes the code less readable and testable
|
|
76
|
-
// * In the example below Injection changes the original method signature that may impact the readability/testability of the code
|
|
77
|
-
// *
|
|
78
|
-
// */
|
|
79
|
-
// async run(
|
|
80
|
-
// @A_Inject(SimpleHTTPServerModule) simpleHTTPServerModule: SimpleHTTPServerModule
|
|
81
|
-
// ) {
|
|
82
|
-
// // simpleHTTPServerModule.create();
|
|
83
|
-
// }
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
// async getUser(
|
|
87
|
-
// req: IncomingMessage,
|
|
88
|
-
// res: ServerResponse,
|
|
89
|
-
// id: number
|
|
90
|
-
// ) {
|
|
91
|
-
|
|
92
|
-
// const context = new SimpleHTTPServerContext()
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// const user = context.users.find(u => u.id === id);
|
|
96
|
-
// if (user) {
|
|
97
|
-
// res.writeHead(200);
|
|
98
|
-
// res.end(JSON.stringify(user));
|
|
99
|
-
// } else {
|
|
100
|
-
// res.writeHead(404);
|
|
101
|
-
// res.end(JSON.stringify({ message: 'User not found' }));
|
|
102
|
-
// }
|
|
103
|
-
// }
|
|
104
|
-
// }
|