@rsdk/core 0.14.0
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/.eslintignore +4 -0
- package/.eslintrc.js +4 -0
- package/.prettierignore +1 -0
- package/.prettierrc.json +1 -0
- package/dist/app/platform.app.d.ts +28 -0
- package/dist/app/platform.app.js +49 -0
- package/dist/app/platform.app.js.map +1 -0
- package/dist/app-metadata/app-metadata.const.d.ts +3 -0
- package/dist/app-metadata/app-metadata.const.js +7 -0
- package/dist/app-metadata/app-metadata.const.js.map +1 -0
- package/dist/app-metadata/app-metadata.module.d.ts +5 -0
- package/dist/app-metadata/app-metadata.module.js +41 -0
- package/dist/app-metadata/app-metadata.module.js.map +1 -0
- package/dist/app-metadata/app-name.const.d.ts +1 -0
- package/dist/app-metadata/app-name.const.js +5 -0
- package/dist/app-metadata/app-name.const.js.map +1 -0
- package/dist/app-metadata/app-name.validator.d.ts +2 -0
- package/dist/app-metadata/app-name.validator.js +14 -0
- package/dist/app-metadata/app-name.validator.js.map +1 -0
- package/dist/app-metadata/decorators/app-name.decorator.d.ts +1 -0
- package/dist/app-metadata/decorators/app-name.decorator.js +8 -0
- package/dist/app-metadata/decorators/app-name.decorator.js.map +1 -0
- package/dist/app-metadata/decorators/index.d.ts +1 -0
- package/dist/app-metadata/decorators/index.js +18 -0
- package/dist/app-metadata/decorators/index.js.map +1 -0
- package/dist/app-metadata/exceptions/app-name-validation.exception.d.ts +4 -0
- package/dist/app-metadata/exceptions/app-name-validation.exception.js +38 -0
- package/dist/app-metadata/exceptions/app-name-validation.exception.js.map +1 -0
- package/dist/app-metadata/exceptions/index.d.ts +1 -0
- package/dist/app-metadata/exceptions/index.js +18 -0
- package/dist/app-metadata/exceptions/index.js.map +1 -0
- package/dist/app-metadata/index.d.ts +2 -0
- package/dist/app-metadata/index.js +19 -0
- package/dist/app-metadata/index.js.map +1 -0
- package/dist/config/additional-source/additional-source.initializer.d.ts +38 -0
- package/dist/config/additional-source/additional-source.initializer.js +130 -0
- package/dist/config/additional-source/additional-source.initializer.js.map +1 -0
- package/dist/config/additional-source/additional-source.module.d.ts +24 -0
- package/dist/config/additional-source/additional-source.module.js +32 -0
- package/dist/config/additional-source/additional-source.module.js.map +1 -0
- package/dist/config/config-reload.indicator.d.ts +8 -0
- package/dist/config/config-reload.indicator.js +42 -0
- package/dist/config/config-reload.indicator.js.map +1 -0
- package/dist/config/config.abstract.d.ts +19 -0
- package/dist/config/config.abstract.js +57 -0
- package/dist/config/config.abstract.js.map +1 -0
- package/dist/config/config.module.d.ts +121 -0
- package/dist/config/config.module.js +271 -0
- package/dist/config/config.module.js.map +1 -0
- package/dist/config/exceptions/config-not-bootstrapped.exception.d.ts +4 -0
- package/dist/config/exceptions/config-not-bootstrapped.exception.js +30 -0
- package/dist/config/exceptions/config-not-bootstrapped.exception.js.map +1 -0
- package/dist/config/exceptions/config-property-metadata-not-found.d.ts +4 -0
- package/dist/config/exceptions/config-property-metadata-not-found.js +13 -0
- package/dist/config/exceptions/config-property-metadata-not-found.js.map +1 -0
- package/dist/config/exceptions/index.d.ts +3 -0
- package/dist/config/exceptions/index.js +22 -0
- package/dist/config/exceptions/index.js.map +1 -0
- package/dist/config/exceptions/property.exception.d.ts +5 -0
- package/dist/config/exceptions/property.exception.js +18 -0
- package/dist/config/exceptions/property.exception.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.js +29 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/metadata/config-metadata.registry.d.ts +17 -0
- package/dist/config/metadata/config-metadata.registry.js +46 -0
- package/dist/config/metadata/config-metadata.registry.js.map +1 -0
- package/dist/config/metadata/decorators/config-section.decorator.d.ts +10 -0
- package/dist/config/metadata/decorators/config-section.decorator.js +19 -0
- package/dist/config/metadata/decorators/config-section.decorator.js.map +1 -0
- package/dist/config/metadata/decorators/declare-property.decorator.d.ts +17 -0
- package/dist/config/metadata/decorators/declare-property.decorator.js +37 -0
- package/dist/config/metadata/decorators/declare-property.decorator.js.map +1 -0
- package/dist/config/metadata/decorators/index.d.ts +4 -0
- package/dist/config/metadata/decorators/index.js +21 -0
- package/dist/config/metadata/decorators/index.js.map +1 -0
- package/dist/config/metadata/decorators/inject-property.decorator.d.ts +19 -0
- package/dist/config/metadata/decorators/inject-property.decorator.js +26 -0
- package/dist/config/metadata/decorators/inject-property.decorator.js.map +1 -0
- package/dist/config/metadata/decorators/property.decorator.d.ts +12 -0
- package/dist/config/metadata/decorators/property.decorator.js +27 -0
- package/dist/config/metadata/decorators/property.decorator.js.map +1 -0
- package/dist/config/metadata/exceptions/duplicate-property.exception.d.ts +4 -0
- package/dist/config/metadata/exceptions/duplicate-property.exception.js +27 -0
- package/dist/config/metadata/exceptions/duplicate-property.exception.js.map +1 -0
- package/dist/config/metadata/exceptions/duplicate-section.exception.d.ts +6 -0
- package/dist/config/metadata/exceptions/duplicate-section.exception.js +27 -0
- package/dist/config/metadata/exceptions/duplicate-section.exception.js.map +1 -0
- package/dist/config/metadata/exceptions/duplicate-source.exception.d.ts +6 -0
- package/dist/config/metadata/exceptions/duplicate-source.exception.js +27 -0
- package/dist/config/metadata/exceptions/duplicate-source.exception.js.map +1 -0
- package/dist/config/metadata/exceptions/index.d.ts +3 -0
- package/dist/config/metadata/exceptions/index.js +20 -0
- package/dist/config/metadata/exceptions/index.js.map +1 -0
- package/dist/config/metadata/index.d.ts +2 -0
- package/dist/config/metadata/index.js +19 -0
- package/dist/config/metadata/index.js.map +1 -0
- package/dist/config/parsers/array.parser.d.ts +11 -0
- package/dist/config/parsers/array.parser.js +33 -0
- package/dist/config/parsers/array.parser.js.map +1 -0
- package/dist/config/parsers/boolean/bool.parser.d.ts +6 -0
- package/dist/config/parsers/boolean/bool.parser.js +20 -0
- package/dist/config/parsers/boolean/bool.parser.js.map +1 -0
- package/dist/config/parsers/boolean/index.d.ts +1 -0
- package/dist/config/parsers/boolean/index.js +18 -0
- package/dist/config/parsers/boolean/index.js.map +1 -0
- package/dist/config/parsers/enum/enum.parser.d.ts +9 -0
- package/dist/config/parsers/enum/enum.parser.js +24 -0
- package/dist/config/parsers/enum/enum.parser.js.map +1 -0
- package/dist/config/parsers/enum/index.d.ts +1 -0
- package/dist/config/parsers/enum/index.js +18 -0
- package/dist/config/parsers/enum/index.js.map +1 -0
- package/dist/config/parsers/index.d.ts +10 -0
- package/dist/config/parsers/index.js +27 -0
- package/dist/config/parsers/index.js.map +1 -0
- package/dist/config/parsers/int/index.d.ts +1 -0
- package/dist/config/parsers/int/index.js +18 -0
- package/dist/config/parsers/int/index.js.map +1 -0
- package/dist/config/parsers/int/int.parser.d.ts +6 -0
- package/dist/config/parsers/int/int.parser.js +20 -0
- package/dist/config/parsers/int/int.parser.js.map +1 -0
- package/dist/config/parsers/number/index.d.ts +1 -0
- package/dist/config/parsers/number/index.js +18 -0
- package/dist/config/parsers/number/index.js.map +1 -0
- package/dist/config/parsers/number/number.parser.d.ts +6 -0
- package/dist/config/parsers/number/number.parser.js +23 -0
- package/dist/config/parsers/number/number.parser.js.map +1 -0
- package/dist/config/parsers/path/fspath.parser.d.ts +8 -0
- package/dist/config/parsers/path/fspath.parser.js +56 -0
- package/dist/config/parsers/path/fspath.parser.js.map +1 -0
- package/dist/config/parsers/path/index.d.ts +1 -0
- package/dist/config/parsers/path/index.js +18 -0
- package/dist/config/parsers/path/index.js.map +1 -0
- package/dist/config/parsers/size/index.d.ts +1 -0
- package/dist/config/parsers/size/index.js +18 -0
- package/dist/config/parsers/size/index.js.map +1 -0
- package/dist/config/parsers/size/size.parser.d.ts +7 -0
- package/dist/config/parsers/size/size.parser.js +21 -0
- package/dist/config/parsers/size/size.parser.js.map +1 -0
- package/dist/config/parsers/string/index.d.ts +1 -0
- package/dist/config/parsers/string/index.js +18 -0
- package/dist/config/parsers/string/index.js.map +1 -0
- package/dist/config/parsers/string/string.parser.d.ts +6 -0
- package/dist/config/parsers/string/string.parser.js +18 -0
- package/dist/config/parsers/string/string.parser.js.map +1 -0
- package/dist/config/parsers/timespan/index.d.ts +1 -0
- package/dist/config/parsers/timespan/index.js +18 -0
- package/dist/config/parsers/timespan/index.js.map +1 -0
- package/dist/config/parsers/timespan/timespan.parser.d.ts +7 -0
- package/dist/config/parsers/timespan/timespan.parser.js +21 -0
- package/dist/config/parsers/timespan/timespan.parser.js.map +1 -0
- package/dist/config/parsers/url/index.d.ts +1 -0
- package/dist/config/parsers/url/index.js +18 -0
- package/dist/config/parsers/url/index.js.map +1 -0
- package/dist/config/parsers/url/url.parser.d.ts +6 -0
- package/dist/config/parsers/url/url.parser.js +18 -0
- package/dist/config/parsers/url/url.parser.js.map +1 -0
- package/dist/config/reload/config-reload.events.d.ts +22 -0
- package/dist/config/reload/config-reload.events.js +19 -0
- package/dist/config/reload/config-reload.events.js.map +1 -0
- package/dist/config/reload/index.d.ts +1 -0
- package/dist/config/reload/index.js +18 -0
- package/dist/config/reload/index.js.map +1 -0
- package/dist/config/sources/base/config-source.abstract.d.ts +23 -0
- package/dist/config/sources/base/config-source.abstract.js +73 -0
- package/dist/config/sources/base/config-source.abstract.js.map +1 -0
- package/dist/config/sources/base/index.d.ts +2 -0
- package/dist/config/sources/base/index.js +19 -0
- package/dist/config/sources/base/index.js.map +1 -0
- package/dist/config/sources/base/reloadable-config-source.abstract.d.ts +12 -0
- package/dist/config/sources/base/reloadable-config-source.abstract.js +30 -0
- package/dist/config/sources/base/reloadable-config-source.abstract.js.map +1 -0
- package/dist/config/sources/config-source.decorator.d.ts +12 -0
- package/dist/config/sources/config-source.decorator.js +22 -0
- package/dist/config/sources/config-source.decorator.js.map +1 -0
- package/dist/config/sources/exceptions/config-source-di.exception.d.ts +6 -0
- package/dist/config/sources/exceptions/config-source-di.exception.js +34 -0
- package/dist/config/sources/exceptions/config-source-di.exception.js.map +1 -0
- package/dist/config/sources/exceptions/config-source.exception.d.ts +4 -0
- package/dist/config/sources/exceptions/config-source.exception.js +11 -0
- package/dist/config/sources/exceptions/config-source.exception.js.map +1 -0
- package/dist/config/sources/exceptions/index.d.ts +2 -0
- package/dist/config/sources/exceptions/index.js +19 -0
- package/dist/config/sources/exceptions/index.js.map +1 -0
- package/dist/config/sources/implementations/json-file.source.d.ts +9 -0
- package/dist/config/sources/implementations/json-file.source.js +46 -0
- package/dist/config/sources/implementations/json-file.source.js.map +1 -0
- package/dist/config/sources/implementations/relodable-json-file.source.d.ts +8 -0
- package/dist/config/sources/implementations/relodable-json-file.source.js +55 -0
- package/dist/config/sources/implementations/relodable-json-file.source.js.map +1 -0
- package/dist/config/sources/index.d.ts +3 -0
- package/dist/config/sources/index.js +20 -0
- package/dist/config/sources/index.js.map +1 -0
- package/dist/config/types.d.ts +65 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/vars.class.d.ts +19 -0
- package/dist/config/vars.class.js +79 -0
- package/dist/config/vars.class.js.map +1 -0
- package/dist/exceptions/base/bootstrap-exception.abstract.d.ts +15 -0
- package/dist/exceptions/base/bootstrap-exception.abstract.js +22 -0
- package/dist/exceptions/base/bootstrap-exception.abstract.js.map +1 -0
- package/dist/exceptions/base/index.d.ts +3 -0
- package/dist/exceptions/base/index.js +20 -0
- package/dist/exceptions/base/index.js.map +1 -0
- package/dist/exceptions/base/pipeline-exception.abstract.d.ts +21 -0
- package/dist/exceptions/base/pipeline-exception.abstract.js +29 -0
- package/dist/exceptions/base/pipeline-exception.abstract.js.map +1 -0
- package/dist/exceptions/base/platform-exception.absract.d.ts +48 -0
- package/dist/exceptions/base/platform-exception.absract.js +49 -0
- package/dist/exceptions/base/platform-exception.absract.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/double-init.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/double-init.exception.js +35 -0
- package/dist/exceptions/implementations/bootstrap/double-init.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/duplicate-protocol.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/duplicate-protocol.exception.js +34 -0
- package/dist/exceptions/implementations/bootstrap/duplicate-protocol.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/index.d.ts +8 -0
- package/dist/exceptions/implementations/bootstrap/index.js +25 -0
- package/dist/exceptions/implementations/bootstrap/index.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/no-http.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/no-http.exception.js +36 -0
- package/dist/exceptions/implementations/bootstrap/no-http.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/no-init.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/no-init.exception.js +35 -0
- package/dist/exceptions/implementations/bootstrap/no-init.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/no-matching-transport.exception.d.ts +5 -0
- package/dist/exceptions/implementations/bootstrap/no-matching-transport.exception.js +37 -0
- package/dist/exceptions/implementations/bootstrap/no-matching-transport.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/sequence.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/sequence.exception.js +31 -0
- package/dist/exceptions/implementations/bootstrap/sequence.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/symbol-key-decoration.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/symbol-key-decoration.exception.js +30 -0
- package/dist/exceptions/implementations/bootstrap/symbol-key-decoration.exception.js.map +1 -0
- package/dist/exceptions/implementations/bootstrap/unknown-bootstrap.exception.d.ts +4 -0
- package/dist/exceptions/implementations/bootstrap/unknown-bootstrap.exception.js +27 -0
- package/dist/exceptions/implementations/bootstrap/unknown-bootstrap.exception.js.map +1 -0
- package/dist/exceptions/implementations/index.d.ts +2 -0
- package/dist/exceptions/implementations/index.js +19 -0
- package/dist/exceptions/implementations/index.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/authentication.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/authentication.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/authentication.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/conflict.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/conflict.exception.js +36 -0
- package/dist/exceptions/implementations/pipeline/conflict.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/duplicate-entity.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/duplicate-entity.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/duplicate-entity.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/index.d.ts +9 -0
- package/dist/exceptions/implementations/pipeline/index.js +26 -0
- package/dist/exceptions/implementations/pipeline/index.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/input.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/input.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/input.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/internal.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/internal.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/internal.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/not-allowed.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/not-allowed.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/not-allowed.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/not-found.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/not-found.exception.js +35 -0
- package/dist/exceptions/implementations/pipeline/not-found.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/timeout.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/timeout.exception.js +34 -0
- package/dist/exceptions/implementations/pipeline/timeout.exception.js.map +1 -0
- package/dist/exceptions/implementations/pipeline/validation.exception.d.ts +4 -0
- package/dist/exceptions/implementations/pipeline/validation.exception.js +13 -0
- package/dist/exceptions/implementations/pipeline/validation.exception.js.map +1 -0
- package/dist/exceptions/index.d.ts +5 -0
- package/dist/exceptions/index.js +24 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/exceptions/metadata/decorators/exception.decorator.d.ts +2 -0
- package/dist/exceptions/metadata/decorators/exception.decorator.js +13 -0
- package/dist/exceptions/metadata/decorators/exception.decorator.js.map +1 -0
- package/dist/exceptions/metadata/decorators/index.d.ts +2 -0
- package/dist/exceptions/metadata/decorators/index.js +19 -0
- package/dist/exceptions/metadata/decorators/index.js.map +1 -0
- package/dist/exceptions/metadata/decorators/throws.decorator.d.ts +3 -0
- package/dist/exceptions/metadata/decorators/throws.decorator.js +20 -0
- package/dist/exceptions/metadata/decorators/throws.decorator.js.map +1 -0
- package/dist/exceptions/metadata/exceptions.registry.d.ts +23 -0
- package/dist/exceptions/metadata/exceptions.registry.js +30 -0
- package/dist/exceptions/metadata/exceptions.registry.js.map +1 -0
- package/dist/exceptions/metadata/index.d.ts +2 -0
- package/dist/exceptions/metadata/index.js +19 -0
- package/dist/exceptions/metadata/index.js.map +1 -0
- package/dist/exceptions/types.d.ts +18 -0
- package/dist/exceptions/types.js +23 -0
- package/dist/exceptions/types.js.map +1 -0
- package/dist/exceptions/validation/exception.d.ts +4 -0
- package/dist/exceptions/validation/exception.js +13 -0
- package/dist/exceptions/validation/exception.js.map +1 -0
- package/dist/exceptions.handling/constants.d.ts +3 -0
- package/dist/exceptions.handling/constants.js +7 -0
- package/dist/exceptions.handling/constants.js.map +1 -0
- package/dist/exceptions.handling/global-exceptions.config.d.ts +4 -0
- package/dist/exceptions.handling/global-exceptions.config.js +32 -0
- package/dist/exceptions.handling/global-exceptions.config.js.map +1 -0
- package/dist/exceptions.handling/global-exceptions.filter.d.ts +17 -0
- package/dist/exceptions.handling/global-exceptions.filter.js +83 -0
- package/dist/exceptions.handling/global-exceptions.filter.js.map +1 -0
- package/dist/exceptions.handling/global-exceptions.module.d.ts +26 -0
- package/dist/exceptions.handling/global-exceptions.module.js +47 -0
- package/dist/exceptions.handling/global-exceptions.module.js.map +1 -0
- package/dist/exceptions.handling/index.d.ts +2 -0
- package/dist/exceptions.handling/index.js +19 -0
- package/dist/exceptions.handling/index.js.map +1 -0
- package/dist/exceptions.handling/types.d.ts +81 -0
- package/dist/exceptions.handling/types.js +3 -0
- package/dist/exceptions.handling/types.js.map +1 -0
- package/dist/health/exceptions/health-check.exception.d.ts +5 -0
- package/dist/health/exceptions/health-check.exception.js +24 -0
- package/dist/health/exceptions/health-check.exception.js.map +1 -0
- package/dist/health/exceptions/index.d.ts +1 -0
- package/dist/health/exceptions/index.js +18 -0
- package/dist/health/exceptions/index.js.map +1 -0
- package/dist/health/health.const.d.ts +2 -0
- package/dist/health/health.const.js +6 -0
- package/dist/health/health.const.js.map +1 -0
- package/dist/health/health.module.d.ts +5 -0
- package/dist/health/health.module.js +33 -0
- package/dist/health/health.module.js.map +1 -0
- package/dist/health/health.service.d.ts +14 -0
- package/dist/health/health.service.js +118 -0
- package/dist/health/health.service.js.map +1 -0
- package/dist/health/helpers/check-result.class.d.ts +37 -0
- package/dist/health/helpers/check-result.class.js +49 -0
- package/dist/health/helpers/check-result.class.js.map +1 -0
- package/dist/health/helpers/index.d.ts +1 -0
- package/dist/health/helpers/index.js +18 -0
- package/dist/health/helpers/index.js.map +1 -0
- package/dist/health/index.d.ts +6 -0
- package/dist/health/index.js +23 -0
- package/dist/health/index.js.map +1 -0
- package/dist/health/indicators.abstract/fs-access.indicator.d.ts +27 -0
- package/dist/health/indicators.abstract/fs-access.indicator.js +36 -0
- package/dist/health/indicators.abstract/fs-access.indicator.js.map +1 -0
- package/dist/health/indicators.abstract/index.d.ts +2 -0
- package/dist/health/indicators.abstract/index.js +19 -0
- package/dist/health/indicators.abstract/index.js.map +1 -0
- package/dist/health/indicators.abstract/ping.indicator.d.ts +21 -0
- package/dist/health/indicators.abstract/ping.indicator.js +28 -0
- package/dist/health/indicators.abstract/ping.indicator.js.map +1 -0
- package/dist/health/metadata/index.d.ts +2 -0
- package/dist/health/metadata/index.js +19 -0
- package/dist/health/metadata/index.js.map +1 -0
- package/dist/health/metadata/indicator.decorator.d.ts +5 -0
- package/dist/health/metadata/indicator.decorator.js +16 -0
- package/dist/health/metadata/indicator.decorator.js.map +1 -0
- package/dist/health/metadata/indicators.registry.d.ts +12 -0
- package/dist/health/metadata/indicators.registry.js +26 -0
- package/dist/health/metadata/indicators.registry.js.map +1 -0
- package/dist/health/types.d.ts +45 -0
- package/dist/health/types.js +3 -0
- package/dist/health/types.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/logging/adapters/index.d.ts +1 -0
- package/dist/logging/adapters/index.js +18 -0
- package/dist/logging/adapters/index.js.map +1 -0
- package/dist/logging/adapters/nest-logger.adapter.d.ts +11 -0
- package/dist/logging/adapters/nest-logger.adapter.js +27 -0
- package/dist/logging/adapters/nest-logger.adapter.js.map +1 -0
- package/dist/logging/decorators/index.d.ts +1 -0
- package/dist/logging/decorators/index.js +18 -0
- package/dist/logging/decorators/index.js.map +1 -0
- package/dist/logging/decorators/inject-logger.decorator.d.ts +2 -0
- package/dist/logging/decorators/inject-logger.decorator.js +13 -0
- package/dist/logging/decorators/inject-logger.decorator.js.map +1 -0
- package/dist/logging/helpers.d.ts +2 -0
- package/dist/logging/helpers.js +7 -0
- package/dist/logging/helpers.js.map +1 -0
- package/dist/logging/index.d.ts +4 -0
- package/dist/logging/index.js +21 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logging.config.d.ts +6 -0
- package/dist/logging/logging.config.js +38 -0
- package/dist/logging/logging.config.js.map +1 -0
- package/dist/logging/logging.module.d.ts +10 -0
- package/dist/logging/logging.module.js +54 -0
- package/dist/logging/logging.module.js.map +1 -0
- package/dist/logging/types.d.ts +2 -0
- package/dist/logging/types.js +3 -0
- package/dist/logging/types.js.map +1 -0
- package/dist/manifest/manifest.d.ts +7 -0
- package/dist/manifest/manifest.js +23 -0
- package/dist/manifest/manifest.js.map +1 -0
- package/dist/metrics/index.d.ts +4 -0
- package/dist/metrics/index.js +27 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/metadata/decorators/index.d.ts +1 -0
- package/dist/metrics/metadata/decorators/index.js +18 -0
- package/dist/metrics/metadata/decorators/index.js.map +1 -0
- package/dist/metrics/metadata/decorators/metric.decorator.d.ts +13 -0
- package/dist/metrics/metadata/decorators/metric.decorator.js +11 -0
- package/dist/metrics/metadata/decorators/metric.decorator.js.map +1 -0
- package/dist/metrics/metadata/index.d.ts +2 -0
- package/dist/metrics/metadata/index.js +19 -0
- package/dist/metrics/metadata/index.js.map +1 -0
- package/dist/metrics/metadata/metrics.registry.d.ts +8 -0
- package/dist/metrics/metadata/metrics.registry.js +26 -0
- package/dist/metrics/metadata/metrics.registry.js.map +1 -0
- package/dist/metrics/metrics.config.d.ts +5 -0
- package/dist/metrics/metrics.config.js +36 -0
- package/dist/metrics/metrics.config.js.map +1 -0
- package/dist/metrics/metrics.module.d.ts +35 -0
- package/dist/metrics/metrics.module.js +98 -0
- package/dist/metrics/metrics.module.js.map +1 -0
- package/dist/metrics/types.d.ts +21 -0
- package/dist/metrics/types.js +12 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/noop.http-adapter.d.ts +32 -0
- package/dist/noop.http-adapter.js +100 -0
- package/dist/noop.http-adapter.js.map +1 -0
- package/dist/platform.context.d.ts +55 -0
- package/dist/platform.context.js +162 -0
- package/dist/platform.context.js.map +1 -0
- package/dist/platform.module.d.ts +8 -0
- package/dist/platform.module.js +61 -0
- package/dist/platform.module.js.map +1 -0
- package/dist/plugin/plugin.module.d.ts +5 -0
- package/dist/plugin/plugin.module.js +22 -0
- package/dist/plugin/plugin.module.js.map +1 -0
- package/dist/tracing/auto-instrumentations.config.d.ts +1 -0
- package/dist/tracing/auto-instrumentations.config.js +35 -0
- package/dist/tracing/auto-instrumentations.config.js.map +1 -0
- package/dist/tracing/constants.d.ts +5 -0
- package/dist/tracing/constants.js +10 -0
- package/dist/tracing/constants.js.map +1 -0
- package/dist/tracing/decorators/index.d.ts +2 -0
- package/dist/tracing/decorators/index.js +19 -0
- package/dist/tracing/decorators/index.js.map +1 -0
- package/dist/tracing/decorators/no-span.decorator.d.ts +5 -0
- package/dist/tracing/decorators/no-span.decorator.js +12 -0
- package/dist/tracing/decorators/no-span.decorator.js.map +1 -0
- package/dist/tracing/decorators/span.decorator.d.ts +6 -0
- package/dist/tracing/decorators/span.decorator.js +18 -0
- package/dist/tracing/decorators/span.decorator.js.map +1 -0
- package/dist/tracing/index.d.ts +1 -0
- package/dist/tracing/index.js +18 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/services/index.d.ts +3 -0
- package/dist/tracing/services/index.js +20 -0
- package/dist/tracing/services/index.js.map +1 -0
- package/dist/tracing/services/instrumentation.service.d.ts +10 -0
- package/dist/tracing/services/instrumentation.service.js +138 -0
- package/dist/tracing/services/instrumentation.service.js.map +1 -0
- package/dist/tracing/services/metadata.scanner.d.ts +11 -0
- package/dist/tracing/services/metadata.scanner.js +50 -0
- package/dist/tracing/services/metadata.scanner.js.map +1 -0
- package/dist/tracing/services/trace.injector.d.ts +12 -0
- package/dist/tracing/services/trace.injector.js +119 -0
- package/dist/tracing/services/trace.injector.js.map +1 -0
- package/dist/tracing/tracing.config.d.ts +5 -0
- package/dist/tracing/tracing.config.js +36 -0
- package/dist/tracing/tracing.config.js.map +1 -0
- package/dist/tracing/tracing.module.d.ts +22 -0
- package/dist/tracing/tracing.module.js +118 -0
- package/dist/tracing/tracing.module.js.map +1 -0
- package/dist/transport/transport.module.d.ts +8 -0
- package/dist/transport/transport.module.js +55 -0
- package/dist/transport/transport.module.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/metadata.d.ts +38 -0
- package/dist/types/metadata.js +30 -0
- package/dist/types/metadata.js.map +1 -0
- package/dist/types/options.d.ts +68 -0
- package/dist/types/options.js +3 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/plugins.d.ts +51 -0
- package/dist/types/plugins.js +6 -0
- package/dist/types/plugins.js.map +1 -0
- package/dist/types/transports.d.ts +85 -0
- package/dist/types/transports.js +11 -0
- package/dist/types/transports.js.map +1 -0
- package/package.json +53 -0
- package/src/app/platform.app.ts +52 -0
- package/src/app-metadata/app-metadata.const.ts +3 -0
- package/src/app-metadata/app-metadata.module.ts +34 -0
- package/src/app-metadata/app-name.const.ts +1 -0
- package/src/app-metadata/app-name.validator.ts +11 -0
- package/src/app-metadata/decorators/app-name.decorator.ts +5 -0
- package/src/app-metadata/decorators/index.ts +1 -0
- package/src/app-metadata/exceptions/app-name-validation.exception.ts +23 -0
- package/src/app-metadata/exceptions/index.ts +1 -0
- package/src/app-metadata/index.ts +2 -0
- package/src/config/additional-source/additional-source.initializer.ts +165 -0
- package/src/config/additional-source/additional-source.module.ts +48 -0
- package/src/config/config-reload.indicator.ts +36 -0
- package/src/config/config.abstract.ts +70 -0
- package/src/config/config.module.ts +330 -0
- package/src/config/exceptions/config-not-bootstrapped.exception.ts +15 -0
- package/src/config/exceptions/config-property-metadata-not-found.ts +9 -0
- package/src/config/exceptions/index.ts +3 -0
- package/src/config/exceptions/property.exception.ts +15 -0
- package/src/config/index.ts +10 -0
- package/src/config/metadata/config-metadata.registry.ts +76 -0
- package/src/config/metadata/decorators/config-section.decorator.ts +30 -0
- package/src/config/metadata/decorators/declare-property.decorator.ts +37 -0
- package/src/config/metadata/decorators/index.ts +4 -0
- package/src/config/metadata/decorators/inject-property.decorator.ts +29 -0
- package/src/config/metadata/decorators/property.decorator.ts +42 -0
- package/src/config/metadata/exceptions/duplicate-property.exception.ts +12 -0
- package/src/config/metadata/exceptions/duplicate-section.exception.ts +13 -0
- package/src/config/metadata/exceptions/duplicate-source.exception.ts +13 -0
- package/src/config/metadata/exceptions/index.ts +3 -0
- package/src/config/metadata/index.ts +2 -0
- package/src/config/parsers/array.parser.ts +40 -0
- package/src/config/parsers/boolean/bool.parser.ts +20 -0
- package/src/config/parsers/boolean/bool.spec.ts +4 -0
- package/src/config/parsers/boolean/index.ts +1 -0
- package/src/config/parsers/enum/enum.parser.ts +23 -0
- package/src/config/parsers/enum/enum.spec.ts +5 -0
- package/src/config/parsers/enum/index.ts +1 -0
- package/src/config/parsers/index.ts +10 -0
- package/src/config/parsers/int/index.ts +1 -0
- package/src/config/parsers/int/int.parser.ts +20 -0
- package/src/config/parsers/int/int.spec.ts +5 -0
- package/src/config/parsers/number/index.ts +1 -0
- package/src/config/parsers/number/number.parser.ts +23 -0
- package/src/config/parsers/number/number.spec.ts +5 -0
- package/src/config/parsers/path/fspath.parser.ts +65 -0
- package/src/config/parsers/path/index.ts +1 -0
- package/src/config/parsers/size/index.ts +1 -0
- package/src/config/parsers/size/size.parser.ts +22 -0
- package/src/config/parsers/size/size.spec.ts +4 -0
- package/src/config/parsers/string/index.ts +1 -0
- package/src/config/parsers/string/string.parser.ts +19 -0
- package/src/config/parsers/timespan/index.ts +1 -0
- package/src/config/parsers/timespan/timespan.parser.ts +27 -0
- package/src/config/parsers/timespan/timespan.spec.ts +4 -0
- package/src/config/parsers/url/index.ts +1 -0
- package/src/config/parsers/url/url.parser.ts +19 -0
- package/src/config/reload/config-reload.events.ts +43 -0
- package/src/config/reload/index.ts +1 -0
- package/src/config/sources/base/config-source.abstract.ts +90 -0
- package/src/config/sources/base/index.ts +2 -0
- package/src/config/sources/base/reloadable-config-source.abstract.ts +39 -0
- package/src/config/sources/config-source.decorator.ts +37 -0
- package/src/config/sources/exceptions/config-source-di.exception.ts +20 -0
- package/src/config/sources/exceptions/config-source.exception.ts +7 -0
- package/src/config/sources/exceptions/index.ts +2 -0
- package/src/config/sources/implementations/json-file.source.ts +29 -0
- package/src/config/sources/implementations/relodable-json-file.source.ts +39 -0
- package/src/config/sources/index.ts +3 -0
- package/src/config/types.ts +87 -0
- package/src/config/vars.class.ts +103 -0
- package/src/exceptions/base/bootstrap-exception.abstract.ts +20 -0
- package/src/exceptions/base/index.ts +3 -0
- package/src/exceptions/base/pipeline-exception.abstract.ts +29 -0
- package/src/exceptions/base/platform-exception.absract.ts +72 -0
- package/src/exceptions/implementations/bootstrap/double-init.exception.ts +21 -0
- package/src/exceptions/implementations/bootstrap/duplicate-protocol.exception.ts +19 -0
- package/src/exceptions/implementations/bootstrap/index.ts +8 -0
- package/src/exceptions/implementations/bootstrap/no-http.exception.ts +21 -0
- package/src/exceptions/implementations/bootstrap/no-init.exception.ts +21 -0
- package/src/exceptions/implementations/bootstrap/no-matching-transport.exception.ts +24 -0
- package/src/exceptions/implementations/bootstrap/sequence.exception.ts +16 -0
- package/src/exceptions/implementations/bootstrap/symbol-key-decoration.exception.ts +15 -0
- package/src/exceptions/implementations/bootstrap/unknown-bootstrap.exception.ts +11 -0
- package/src/exceptions/implementations/index.ts +2 -0
- package/src/exceptions/implementations/pipeline/authentication.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/conflict.exception.ts +21 -0
- package/src/exceptions/implementations/pipeline/duplicate-entity.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/index.ts +9 -0
- package/src/exceptions/implementations/pipeline/input.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/internal.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/not-allowed.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/not-found.exception.ts +20 -0
- package/src/exceptions/implementations/pipeline/timeout.exception.ts +19 -0
- package/src/exceptions/implementations/pipeline/validation.exception.ts +9 -0
- package/src/exceptions/index.ts +5 -0
- package/src/exceptions/metadata/decorators/exception.decorator.ts +10 -0
- package/src/exceptions/metadata/decorators/index.ts +2 -0
- package/src/exceptions/metadata/decorators/throws.decorator.ts +25 -0
- package/src/exceptions/metadata/exceptions.registry.ts +50 -0
- package/src/exceptions/metadata/index.ts +2 -0
- package/src/exceptions/types.ts +18 -0
- package/src/exceptions/validation/exception.ts +9 -0
- package/src/exceptions.handling/constants.ts +3 -0
- package/src/exceptions.handling/global-exceptions.config.ts +15 -0
- package/src/exceptions.handling/global-exceptions.filter.ts +81 -0
- package/src/exceptions.handling/global-exceptions.module.ts +67 -0
- package/src/exceptions.handling/index.ts +2 -0
- package/src/exceptions.handling/types.ts +88 -0
- package/src/health/exceptions/health-check.exception.ts +9 -0
- package/src/health/exceptions/index.ts +1 -0
- package/src/health/health.const.ts +2 -0
- package/src/health/health.module.ts +23 -0
- package/src/health/health.service.ts +125 -0
- package/src/health/helpers/check-result.class.ts +52 -0
- package/src/health/helpers/index.ts +1 -0
- package/src/health/index.ts +6 -0
- package/src/health/indicators.abstract/fs-access.indicator.ts +47 -0
- package/src/health/indicators.abstract/index.ts +2 -0
- package/src/health/indicators.abstract/ping.indicator.ts +36 -0
- package/src/health/metadata/index.ts +2 -0
- package/src/health/metadata/indicator.decorator.ts +25 -0
- package/src/health/metadata/indicators.registry.ts +38 -0
- package/src/health/types.ts +50 -0
- package/src/index.ts +32 -0
- package/src/logging/adapters/index.ts +1 -0
- package/src/logging/adapters/nest-logger.adapter.ts +32 -0
- package/src/logging/decorators/index.ts +1 -0
- package/src/logging/decorators/inject-logger.decorator.ts +15 -0
- package/src/logging/helpers.ts +5 -0
- package/src/logging/index.ts +4 -0
- package/src/logging/logging.config.ts +26 -0
- package/src/logging/logging.module.ts +48 -0
- package/src/logging/types.ts +3 -0
- package/src/manifest/manifest.ts +23 -0
- package/src/metrics/index.ts +4 -0
- package/src/metrics/metadata/decorators/index.ts +1 -0
- package/src/metrics/metadata/decorators/metric.decorator.ts +45 -0
- package/src/metrics/metadata/index.ts +2 -0
- package/src/metrics/metadata/metrics.registry.ts +35 -0
- package/src/metrics/metrics.config.ts +16 -0
- package/src/metrics/metrics.module.ts +100 -0
- package/src/metrics/types.ts +39 -0
- package/src/noop.http-adapter.ts +126 -0
- package/src/platform.context.ts +214 -0
- package/src/platform.module.ts +65 -0
- package/src/plugin/plugin.module.ts +24 -0
- package/src/tracing/auto-instrumentations.config.ts +35 -0
- package/src/tracing/constants.ts +6 -0
- package/src/tracing/decorators/index.ts +2 -0
- package/src/tracing/decorators/no-span.decorator.ts +10 -0
- package/src/tracing/decorators/span.decorator.ts +20 -0
- package/src/tracing/index.ts +1 -0
- package/src/tracing/services/index.ts +3 -0
- package/src/tracing/services/instrumentation.service.ts +145 -0
- package/src/tracing/services/metadata.scanner.ts +40 -0
- package/src/tracing/services/trace.injector.ts +147 -0
- package/src/tracing/tracing.config.ts +22 -0
- package/src/tracing/tracing.module.ts +120 -0
- package/src/transport/transport.module.ts +64 -0
- package/src/types/index.ts +4 -0
- package/src/types/metadata.ts +88 -0
- package/src/types/options.ts +83 -0
- package/src/types/plugins.ts +68 -0
- package/src/types/transports.ts +110 -0
- package/tsconfig.json +10 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReloadEvents = void 0;
|
|
7
|
+
/* eslint-disable prettier/prettier */
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
|
+
class ReloadEvents extends events_1.default {
|
|
10
|
+
static instance;
|
|
11
|
+
static getInstance() {
|
|
12
|
+
if (!this.instance) {
|
|
13
|
+
this.instance = new ReloadEvents();
|
|
14
|
+
}
|
|
15
|
+
return this.instance;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ReloadEvents = ReloadEvents;
|
|
19
|
+
//# sourceMappingURL=config-reload.events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-reload.events.js","sourceRoot":"","sources":["../../../src/config/reload/config-reload.events.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAsC;AACtC,oDAAkC;AAOlC,MAAa,YAAa,SAAQ,gBAAY;IACpC,MAAM,CAAC,QAAQ,CAAe;IAEtC,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;SACpC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAVD,oCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './config-reload.events';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./config-reload.events"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/reload/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RawValues, SourceType } from '../../types';
|
|
2
|
+
export declare abstract class ConfigSource {
|
|
3
|
+
/**
|
|
4
|
+
* Wrapped .loadRaw() method which should be implemented in
|
|
5
|
+
* derived class and enforces basic validation and error transforming.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: Guarantees that only ConfigSourceException can't be thrown
|
|
8
|
+
* @returns Promise<Vars>
|
|
9
|
+
*/
|
|
10
|
+
load(): Promise<RawValues>;
|
|
11
|
+
/**
|
|
12
|
+
* Flattens raw configuration and validates that each property is
|
|
13
|
+
* either primitive or array of primitives.
|
|
14
|
+
*
|
|
15
|
+
* @param obj Raw configuration object obtained from source
|
|
16
|
+
* @param prefix recursive calls chain path in for of string
|
|
17
|
+
* @returns Vars
|
|
18
|
+
*/
|
|
19
|
+
private flattenEndValidate;
|
|
20
|
+
abstract name(): string;
|
|
21
|
+
abstract type(): SourceType;
|
|
22
|
+
abstract loadRaw(): Promise<unknown>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigSource = void 0;
|
|
4
|
+
const common_1 = require("@rsdk/common");
|
|
5
|
+
const exceptions_1 = require("../exceptions");
|
|
6
|
+
class ConfigSource {
|
|
7
|
+
/**
|
|
8
|
+
* Wrapped .loadRaw() method which should be implemented in
|
|
9
|
+
* derived class and enforces basic validation and error transforming.
|
|
10
|
+
*
|
|
11
|
+
* NOTE: Guarantees that only ConfigSourceException can't be thrown
|
|
12
|
+
* @returns Promise<Vars>
|
|
13
|
+
*/
|
|
14
|
+
async load() {
|
|
15
|
+
try {
|
|
16
|
+
/**
|
|
17
|
+
* Need to handle error on reload because
|
|
18
|
+
* otherwise application will go down (just as
|
|
19
|
+
* on reading step)
|
|
20
|
+
*
|
|
21
|
+
* TODO: Add negative health check when last
|
|
22
|
+
* 3 configuration updates fail
|
|
23
|
+
*/
|
|
24
|
+
const raw = await this.loadRaw();
|
|
25
|
+
return this.flattenEndValidate(raw);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
if (err instanceof exceptions_1.ConfigSourceException) {
|
|
29
|
+
throw err;
|
|
30
|
+
}
|
|
31
|
+
throw new exceptions_1.ConfigSourceException('Failed to load configuration from file', err);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Flattens raw configuration and validates that each property is
|
|
36
|
+
* either primitive or array of primitives.
|
|
37
|
+
*
|
|
38
|
+
* @param obj Raw configuration object obtained from source
|
|
39
|
+
* @param prefix recursive calls chain path in for of string
|
|
40
|
+
* @returns Vars
|
|
41
|
+
*/
|
|
42
|
+
flattenEndValidate(obj, prefix = '') {
|
|
43
|
+
if (!(0, common_1.isRecord)(obj)) {
|
|
44
|
+
throw new exceptions_1.ConfigSourceException(prefix
|
|
45
|
+
? `Value at key: ${prefix} should be an object, primitive or array of primitives`
|
|
46
|
+
: `Value at root sould be an object`);
|
|
47
|
+
}
|
|
48
|
+
return Object.entries(obj).reduce((acc, [key, value]) => {
|
|
49
|
+
if ((0, common_1.isPrimitive)(value)) {
|
|
50
|
+
acc.set(key, value);
|
|
51
|
+
return acc;
|
|
52
|
+
}
|
|
53
|
+
const pre = (prefix.length > 0 ? `${prefix}.` : '') + key;
|
|
54
|
+
if (Array.isArray(value)) {
|
|
55
|
+
if (!value.every(common_1.isPrimitive)) {
|
|
56
|
+
throw new exceptions_1.ConfigSourceException(`Non primitive array at key: ${pre}`);
|
|
57
|
+
}
|
|
58
|
+
acc.set(key, value);
|
|
59
|
+
return acc;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Value is not primitive and is not array which means
|
|
63
|
+
* it is object. So: do recursion
|
|
64
|
+
*/
|
|
65
|
+
for (const [key, v] of this.flattenEndValidate(value, pre).entries()) {
|
|
66
|
+
acc.set(key, v);
|
|
67
|
+
}
|
|
68
|
+
return acc;
|
|
69
|
+
}, new Map());
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.ConfigSource = ConfigSource;
|
|
73
|
+
//# sourceMappingURL=config-source.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/config-source.abstract.ts"],"names":[],"mappings":";;;AAAA,yCAAqD;AAGrD,8CAAsD;AAEtD,MAAsB,YAAY;IAChC;;;;;;OAMG;IACH,KAAK,CAAC,IAAI;QACR,IAAI;YACF;;;;;;;eAOG;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACrC;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,kCAAqB,EAAE;gBACxC,MAAM,GAAG,CAAC;aACX;YAED,MAAM,IAAI,kCAAqB,CAC7B,wCAAwC,EACxC,GAAY,CACb,CAAC;SACH;IACH,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,GAAY,EAAE,MAAM,GAAG,EAAE;QAClD,IAAI,CAAC,IAAA,iBAAQ,EAAC,GAAG,CAAC,EAAE;YAClB,MAAM,IAAI,kCAAqB,CAC7B,MAAM;gBACJ,CAAC,CAAC,iBAAiB,MAAM,wDAAwD;gBACjF,CAAC,CAAC,kCAAkC,CACvC,CAAC;SACH;QAED,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAc,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACjE,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,EAAE;gBACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAEpB,OAAO,GAAG,CAAC;aACZ;YAED,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;YAE1D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAW,CAAC,EAAE;oBAC7B,MAAM,IAAI,kCAAqB,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;iBACvE;gBAED,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAEpB,OAAO,GAAG,CAAC;aACZ;YAED;;;eAGG;YACH,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;aACjB;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,GAAG,EAA0B,CAAC,CAAC;IACxC,CAAC;CAKF;AApFD,oCAoFC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./reloadable-config-source.abstract"), exports);
|
|
18
|
+
__exportStar(require("./config-source.abstract"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/sources/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AACpD,2DAAyC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ILogger } from '@rsdk/logging';
|
|
2
|
+
import type { SourceType } from '../../types';
|
|
3
|
+
import { ConfigSource } from './config-source.abstract';
|
|
4
|
+
export declare abstract class ReloadableConfigSource extends ConfigSource {
|
|
5
|
+
protected readonly logger: ILogger;
|
|
6
|
+
private readonly events;
|
|
7
|
+
constructor(logger: ILogger);
|
|
8
|
+
type(): SourceType;
|
|
9
|
+
reload(): Promise<void>;
|
|
10
|
+
abstract init(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const isReloadable: (s: ConfigSource) => s is ReloadableConfigSource;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReloadable = exports.ReloadableConfigSource = void 0;
|
|
4
|
+
const reload_1 = require("../../reload");
|
|
5
|
+
const config_source_abstract_1 = require("./config-source.abstract");
|
|
6
|
+
class ReloadableConfigSource extends config_source_abstract_1.ConfigSource {
|
|
7
|
+
logger;
|
|
8
|
+
events = reload_1.ReloadEvents.getInstance();
|
|
9
|
+
constructor(logger) {
|
|
10
|
+
super();
|
|
11
|
+
this.logger = logger;
|
|
12
|
+
}
|
|
13
|
+
type() {
|
|
14
|
+
return 'reloadable';
|
|
15
|
+
}
|
|
16
|
+
async reload() {
|
|
17
|
+
try {
|
|
18
|
+
const vars = await this.load();
|
|
19
|
+
this.events.emit('reload', this, vars);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
this.logger.error(`Failed to reload configuration (${this.constructor.name})`, err);
|
|
23
|
+
this.events.emit('reload_failure', this, err);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.ReloadableConfigSource = ReloadableConfigSource;
|
|
28
|
+
const isReloadable = (s) => s.type() === 'reloadable';
|
|
29
|
+
exports.isReloadable = isReloadable;
|
|
30
|
+
//# sourceMappingURL=reloadable-config-source.abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reloadable-config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/reloadable-config-source.abstract.ts"],"names":[],"mappings":";;;AAEA,yCAA4C;AAG5C,qEAAwD;AAExD,MAAsB,sBAAuB,SAAQ,qCAAY;IAC5C,MAAM,CAAU;IAClB,MAAM,GAAG,qBAAY,CAAC,WAAW,EAAE,CAAC;IAErD,YAAY,MAAe;QACzB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACxC;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mCAAmC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAC3D,GAAG,CACJ,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SAC/C;IACH,CAAC;CAGF;AA5BD,wDA4BC;AAEM,MAAM,YAAY,GAAG,CAAC,CAAe,EAA+B,EAAE,CAC3E,CAAC,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC;AADf,QAAA,YAAY,gBACG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SourceType } from '../types';
|
|
2
|
+
export interface SourceOptions {
|
|
3
|
+
description?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* This decorator is used to register additional configuration
|
|
8
|
+
* sourcePropertyParser
|
|
9
|
+
* @param options Metadata used mostly for docs generation
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare const Source: (type: SourceType, options?: SourceOptions) => ClassDecorator;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Source = void 0;
|
|
4
|
+
const metadata_1 = require("../metadata");
|
|
5
|
+
const SOURCE_METADATA_KEY = 'CONFIG_SOURCE_METADATA_KEY';
|
|
6
|
+
const DEFAULT_OPTIONS = {};
|
|
7
|
+
/**
|
|
8
|
+
* This decorator is used to register additional configuration
|
|
9
|
+
* sourcePropertyParser
|
|
10
|
+
* @param options Metadata used mostly for docs generation
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
const Source = (type, options = {}) => {
|
|
14
|
+
return function (target) {
|
|
15
|
+
const name = options.name || target.name;
|
|
16
|
+
const effectiveOptions = { ...DEFAULT_OPTIONS, ...options, name, type };
|
|
17
|
+
Reflect.defineMetadata(SOURCE_METADATA_KEY, effectiveOptions, target);
|
|
18
|
+
metadata_1.ConfigMetadataRegistry.registerSource(target, effectiveOptions);
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.Source = Source;
|
|
22
|
+
//# sourceMappingURL=config-source.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-source.decorator.js","sourceRoot":"","sources":["../../../src/config/sources/config-source.decorator.ts"],"names":[],"mappings":";;;AAGA,0CAAqD;AAGrD,MAAM,mBAAmB,GAAG,4BAA4B,CAAC;AAOzD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B;;;;;GAKG;AACI,MAAM,MAAM,GAAG,CACpB,IAAgB,EAChB,UAAyB,EAAE,EACX,EAAE;IAClB,OAAO,UAAU,MAAgB;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;QACzC,MAAM,gBAAgB,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAExE,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAEtE,iCAAsB,CAAC,cAAc,CACnC,MAAqB,EACrB,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,MAAM,UAejB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Constructor } from '@rsdk/common';
|
|
2
|
+
import { BootstrapException } from '../../../exceptions';
|
|
3
|
+
import type { ConfigSource } from '../base';
|
|
4
|
+
export declare class ConfigSourceDIException extends BootstrapException {
|
|
5
|
+
constructor(source: Constructor<ConfigSource>, param: unknown);
|
|
6
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ConfigSourceDIException = void 0;
|
|
13
|
+
const common_1 = require("@rsdk/common");
|
|
14
|
+
const exceptions_1 = require("../../../exceptions");
|
|
15
|
+
let ConfigSourceDIException = class ConfigSourceDIException extends exceptions_1.BootstrapException {
|
|
16
|
+
constructor(source, param) {
|
|
17
|
+
super((0, common_1.text) `
|
|
18
|
+
Only standalone properties (from env) and some special values (ex. application name)
|
|
19
|
+
can be injected into ConfigSource constructor. You are trying to inject
|
|
20
|
+
<${param}> to ${source.constructor.name}.
|
|
21
|
+
`);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
ConfigSourceDIException = __decorate([
|
|
25
|
+
(0, exceptions_1.Exception)({
|
|
26
|
+
description: (0, common_1.text) `
|
|
27
|
+
Wrong usage of DI in custom configuration source.
|
|
28
|
+
See @rsdk/core docs.
|
|
29
|
+
`,
|
|
30
|
+
}),
|
|
31
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
32
|
+
], ConfigSourceDIException);
|
|
33
|
+
exports.ConfigSourceDIException = ConfigSourceDIException;
|
|
34
|
+
//# sourceMappingURL=config-source-di.exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-source-di.exception.js","sourceRoot":"","sources":["../../../../src/config/sources/exceptions/config-source-di.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiD;AAEjD,oDAAoE;AAS7D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,+BAAkB;IAC7D,YAAY,MAAiC,EAAE,KAAc;QAC3D,KAAK,CAAC,IAAA,aAAI,EAAA;;;SAGL,KAAK,QAAQ,MAAM,CAAC,WAAW,CAAC,IAAI;KACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AARY,uBAAuB;IANnC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,uBAAuB,CAQnC;AARY,0DAAuB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigSourceException = void 0;
|
|
4
|
+
const exceptions_1 = require("../../../exceptions");
|
|
5
|
+
class ConfigSourceException extends exceptions_1.PlatformException {
|
|
6
|
+
constructor(message, cause) {
|
|
7
|
+
super('CONFIG:LOAD', message, { cause });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.ConfigSourceException = ConfigSourceException;
|
|
11
|
+
//# sourceMappingURL=config-source.exception.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-source.exception.js","sourceRoot":"","sources":["../../../../src/config/sources/exceptions/config-source.exception.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AAExD,MAAa,qBAAsB,SAAQ,8BAAiB;IAC1D,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,sDAIC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./config-source.exception"), exports);
|
|
18
|
+
__exportStar(require("./config-source-di.exception"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/config/sources/exceptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+DAA6C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SourceType } from '../../types';
|
|
2
|
+
import { ConfigSource } from '../base';
|
|
3
|
+
export declare class StaticFileSource extends ConfigSource {
|
|
4
|
+
private readonly path;
|
|
5
|
+
constructor(path: string);
|
|
6
|
+
type(): SourceType;
|
|
7
|
+
name(): string;
|
|
8
|
+
loadRaw(): Promise<unknown>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.StaticFileSource = void 0;
|
|
16
|
+
const common_1 = require("@rsdk/common");
|
|
17
|
+
const metadata_1 = require("../../metadata");
|
|
18
|
+
const parsers_1 = require("../../parsers");
|
|
19
|
+
const base_1 = require("../base");
|
|
20
|
+
const config_source_decorator_1 = require("../config-source.decorator");
|
|
21
|
+
let StaticFileSource = class StaticFileSource extends base_1.ConfigSource {
|
|
22
|
+
path;
|
|
23
|
+
constructor(path) {
|
|
24
|
+
super();
|
|
25
|
+
this.path = path;
|
|
26
|
+
}
|
|
27
|
+
type() {
|
|
28
|
+
return 'static';
|
|
29
|
+
}
|
|
30
|
+
name() {
|
|
31
|
+
return `Static conf file: ${this.path}`;
|
|
32
|
+
}
|
|
33
|
+
loadRaw() {
|
|
34
|
+
return (0, common_1.readObj)(this.path);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
StaticFileSource = __decorate([
|
|
38
|
+
(0, config_source_decorator_1.Source)('static'),
|
|
39
|
+
(0, metadata_1.DeclareProperty)(`CONFIG_PATH`, new parsers_1.FsPathParser('file'), {
|
|
40
|
+
description: 'Path to some configuration file',
|
|
41
|
+
}),
|
|
42
|
+
__param(0, (0, metadata_1.InjectProperty)('CONFIG_PATH')),
|
|
43
|
+
__metadata("design:paramtypes", [String])
|
|
44
|
+
], StaticFileSource);
|
|
45
|
+
exports.StaticFileSource = StaticFileSource;
|
|
46
|
+
//# sourceMappingURL=json-file.source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-file.source.js","sourceRoot":"","sources":["../../../../src/config/sources/implementations/json-file.source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAuC;AAEvC,6CAAiE;AACjE,2CAA6C;AAE7C,kCAAuC;AACvC,wEAAoD;AAM7C,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,mBAAY;IACY;IAA5D,YAA4D,IAAY;QACtE,KAAK,EAAE,CAAC;QADkD,SAAI,GAAJ,IAAI,CAAQ;IAExE,CAAC;IAEQ,IAAI;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEQ,IAAI;QACX,OAAO,qBAAqB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAEQ,OAAO;QACd,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF,CAAA;AAhBY,gBAAgB;IAJ5B,IAAA,gCAAM,EAAC,QAAQ,CAAC;IAChB,IAAA,0BAAe,EAAC,aAAa,EAAE,IAAI,sBAAY,CAAC,MAAM,CAAC,EAAE;QACxD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IAEa,WAAA,IAAA,yBAAc,EAAC,aAAa,CAAC,CAAA;;GAD/B,gBAAgB,CAgB5B;AAhBY,4CAAgB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var ReloadableFileSource_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ReloadableFileSource = void 0;
|
|
17
|
+
const fs_1 = require("fs");
|
|
18
|
+
const common_1 = require("@rsdk/common");
|
|
19
|
+
const logging_1 = require("@rsdk/logging");
|
|
20
|
+
const metadata_1 = require("../../metadata");
|
|
21
|
+
const parsers_1 = require("../../parsers");
|
|
22
|
+
const base_1 = require("../base");
|
|
23
|
+
const config_source_decorator_1 = require("../config-source.decorator");
|
|
24
|
+
let ReloadableFileSource = ReloadableFileSource_1 = class ReloadableFileSource extends base_1.ReloadableConfigSource {
|
|
25
|
+
path;
|
|
26
|
+
constructor(path) {
|
|
27
|
+
super(logging_1.LoggerFactory.create(ReloadableFileSource_1));
|
|
28
|
+
this.path = path;
|
|
29
|
+
}
|
|
30
|
+
name() {
|
|
31
|
+
return `Configuration file: ${this.path}`;
|
|
32
|
+
}
|
|
33
|
+
loadRaw() {
|
|
34
|
+
return (0, common_1.readObj)(this.path);
|
|
35
|
+
}
|
|
36
|
+
init() {
|
|
37
|
+
(0, fs_1.watch)(this.path, (event) => {
|
|
38
|
+
if (event !== 'change') {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
this.logger.info('Changes detected', { source: this.name });
|
|
42
|
+
this.reload();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
ReloadableFileSource = ReloadableFileSource_1 = __decorate([
|
|
47
|
+
(0, config_source_decorator_1.Source)('reloadable'),
|
|
48
|
+
(0, metadata_1.DeclareProperty)('CONFIG_PATH', new parsers_1.FsPathParser('file'), {
|
|
49
|
+
description: 'Path to some configuration file',
|
|
50
|
+
}),
|
|
51
|
+
__param(0, (0, metadata_1.InjectProperty)('CONFIG_PATH')),
|
|
52
|
+
__metadata("design:paramtypes", [String])
|
|
53
|
+
], ReloadableFileSource);
|
|
54
|
+
exports.ReloadableFileSource = ReloadableFileSource;
|
|
55
|
+
//# sourceMappingURL=relodable-json-file.source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relodable-json-file.source.js","sourceRoot":"","sources":["../../../../src/config/sources/implementations/relodable-json-file.source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAE3B,yCAAuC;AACvC,2CAA8C;AAE9C,6CAAiE;AACjE,2CAA6C;AAC7C,kCAAiD;AACjD,wEAAoD;AAM7C,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,6BAAsB;IACF;IAA5D,YAA4D,IAAY;QACtE,KAAK,CAAC,uBAAa,CAAC,MAAM,CAAC,sBAAoB,CAAC,CAAC,CAAC;QADQ,SAAI,GAAJ,IAAI,CAAQ;IAExE,CAAC;IAEQ,IAAI;QACX,OAAO,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAEQ,OAAO;QACd,OAAO,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEQ,IAAI;QACX,IAAA,UAAK,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACzB,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACtB,OAAO;aACR;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxBY,oBAAoB;IAJhC,IAAA,gCAAM,EAAC,YAAY,CAAC;IACpB,IAAA,0BAAe,EAAC,aAAa,EAAE,IAAI,sBAAY,CAAC,MAAM,CAAC,EAAE;QACxD,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IAEa,WAAA,IAAA,yBAAc,EAAC,aAAa,CAAC,CAAA;;GAD/B,oBAAoB,CAwBhC;AAxBY,oDAAoB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./config-source.decorator"), exports);
|
|
18
|
+
__exportStar(require("./exceptions"), exports);
|
|
19
|
+
__exportStar(require("./base"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/sources/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+CAA6B;AAC7B,yCAAuB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { EnumValue, Primitive, Size, Timespan } from '@rsdk/common';
|
|
2
|
+
export type SourceType = 'static' | 'reloadable';
|
|
3
|
+
export type RawConfigValue = Primitive | Primitive[];
|
|
4
|
+
export type SingleConfigValue = string | number | boolean | Timespan | Size | EnumValue | URL;
|
|
5
|
+
export type ConfigValue = SingleConfigValue | SingleConfigValue[];
|
|
6
|
+
export interface Changes {
|
|
7
|
+
createdKeys: string[];
|
|
8
|
+
updatedKeys: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface PropertyOptions<T extends ConfigValue> {
|
|
11
|
+
/**
|
|
12
|
+
* Description of configuration property. Will automatically
|
|
13
|
+
* appear in documentation.
|
|
14
|
+
*/
|
|
15
|
+
description: string;
|
|
16
|
+
/**
|
|
17
|
+
* Providing default value for property effectively makes it optional
|
|
18
|
+
*/
|
|
19
|
+
defaultValue?: T | undefined;
|
|
20
|
+
}
|
|
21
|
+
export interface PropertyMetadata<T extends ConfigValue = ConfigValue> {
|
|
22
|
+
key: string;
|
|
23
|
+
parser: PropertyParser<T>;
|
|
24
|
+
description: string;
|
|
25
|
+
/**
|
|
26
|
+
* Expect that this property will be in env, not in extra source.
|
|
27
|
+
*/
|
|
28
|
+
expectedInEnv: boolean;
|
|
29
|
+
defaultValue?: T | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface SectionMetadata {
|
|
32
|
+
name: string;
|
|
33
|
+
properties: Record<string | symbol, PropertyMetadata>;
|
|
34
|
+
description?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface SourceMetadata {
|
|
37
|
+
type: SourceType;
|
|
38
|
+
name: string;
|
|
39
|
+
description?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface ParserMetadata {
|
|
42
|
+
type: string;
|
|
43
|
+
description: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Implement this interface to create more parsers.
|
|
47
|
+
* For example: email, BigInt, guid etc.
|
|
48
|
+
*
|
|
49
|
+
* NOTE: In other modules it is more common to define metadata
|
|
50
|
+
* via decorators. But this case is a bit different.
|
|
51
|
+
*
|
|
52
|
+
* 1. Parser implementations can have constructors with parameters
|
|
53
|
+
* which will affect it's behaviour. It's will be nice to have it
|
|
54
|
+
* in metadata, and decorators won't provide this.
|
|
55
|
+
*
|
|
56
|
+
* 2. Metadata will be extracted via type() and description() methods
|
|
57
|
+
* mostly during decorator factories (such as @Property()) code is
|
|
58
|
+
* executed. Thus output **can** be used in autodoc
|
|
59
|
+
*/
|
|
60
|
+
export interface PropertyParser<T extends ConfigValue = ConfigValue> {
|
|
61
|
+
type(): string;
|
|
62
|
+
description(): string;
|
|
63
|
+
parse(value: RawConfigValue): T;
|
|
64
|
+
}
|
|
65
|
+
export type RawValues = Map<string, RawConfigValue>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Changes, ConfigValue, PropertyMetadata, RawConfigValue, RawValues } from './types';
|
|
2
|
+
export declare enum SetResult {
|
|
3
|
+
CREATED = 0,
|
|
4
|
+
UPDATED = 1,
|
|
5
|
+
UNCHANGED = 2
|
|
6
|
+
}
|
|
7
|
+
export declare class Vars {
|
|
8
|
+
private readonly prefix;
|
|
9
|
+
private readonly values;
|
|
10
|
+
/**
|
|
11
|
+
* Expecting prefix is already converted to upper snake case
|
|
12
|
+
* @param prefix
|
|
13
|
+
*/
|
|
14
|
+
constructor(prefix: string);
|
|
15
|
+
set(key: string, value: RawConfigValue): [SetResult, string];
|
|
16
|
+
merge(values: RawValues): Changes;
|
|
17
|
+
extract<T extends ConfigValue>(propMeta: PropertyMetadata<T>): T | undefined;
|
|
18
|
+
private toUpperSnakeCase;
|
|
19
|
+
}
|