@rsdk/core 1.0.12 → 2.0.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.
Files changed (248) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/app/platform.app.d.ts +1 -1
  3. package/dist/app/platform.app.js +3 -25
  4. package/dist/app/platform.app.js.map +1 -1
  5. package/dist/app-metadata/app-metadata.module.js.map +1 -1
  6. package/dist/app-metadata/exceptions/app-name-validation.exception.js.map +1 -1
  7. package/dist/config/additional-source/additional-source.initializer.d.ts +6 -2
  8. package/dist/config/additional-source/additional-source.initializer.js +24 -18
  9. package/dist/config/additional-source/additional-source.initializer.js.map +1 -1
  10. package/dist/config/additional-source/additional-source.module.d.ts +1 -1
  11. package/dist/config/additional-source/additional-source.module.js +3 -1
  12. package/dist/config/additional-source/additional-source.module.js.map +1 -1
  13. package/dist/config/config-reload.indicator.d.ts +3 -2
  14. package/dist/config/config-reload.indicator.js +4 -3
  15. package/dist/config/config-reload.indicator.js.map +1 -1
  16. package/dist/config/config.abstract.d.ts +3 -2
  17. package/dist/config/config.abstract.js +3 -3
  18. package/dist/config/config.abstract.js.map +1 -1
  19. package/dist/config/config.module.d.ts +0 -81
  20. package/dist/config/config.module.js +26 -203
  21. package/dist/config/config.module.js.map +1 -1
  22. package/dist/config/context/config.context.d.ts +75 -0
  23. package/dist/config/context/config.context.js +159 -0
  24. package/dist/config/context/config.context.js.map +1 -0
  25. package/dist/config/context/module.d.ts +5 -0
  26. package/dist/config/context/module.js +26 -0
  27. package/dist/config/context/module.js.map +1 -0
  28. package/dist/config/exceptions/config-not-bootstrapped.exception.js.map +1 -1
  29. package/dist/config/exceptions/property.exception.d.ts +9 -2
  30. package/dist/config/exceptions/property.exception.js +4 -6
  31. package/dist/config/exceptions/property.exception.js.map +1 -1
  32. package/dist/config/index.d.ts +1 -0
  33. package/dist/config/index.js +3 -1
  34. package/dist/config/index.js.map +1 -1
  35. package/dist/config/metadata/config-metadata.provider.d.ts +21 -0
  36. package/dist/config/metadata/config-metadata.provider.js +37 -0
  37. package/dist/config/metadata/config-metadata.provider.js.map +1 -0
  38. package/dist/config/metadata/config-metadata.registry.d.ts +1 -9
  39. package/dist/config/metadata/config-metadata.registry.js +9 -28
  40. package/dist/config/metadata/config-metadata.registry.js.map +1 -1
  41. package/dist/config/metadata/constants.d.ts +3 -0
  42. package/dist/config/metadata/constants.js +7 -0
  43. package/dist/config/metadata/constants.js.map +1 -0
  44. package/dist/config/metadata/decorators/declare-property.decorator.js +2 -2
  45. package/dist/config/metadata/decorators/declare-property.decorator.js.map +1 -1
  46. package/dist/config/metadata/decorators/inject-property.decorator.d.ts +1 -1
  47. package/dist/config/metadata/decorators/inject-property.decorator.js +1 -1
  48. package/dist/config/metadata/exceptions/duplicate-property.exception.js.map +1 -1
  49. package/dist/config/metadata/exceptions/duplicate-section.exception.js.map +1 -1
  50. package/dist/config/metadata/exceptions/duplicate-source.exception.js.map +1 -1
  51. package/dist/config/metadata/types.d.ts +16 -0
  52. package/dist/config/metadata/types.js +3 -0
  53. package/dist/config/metadata/types.js.map +1 -0
  54. package/dist/config/reload/config-reload.events.d.ts +0 -2
  55. package/dist/config/reload/config-reload.events.js +0 -8
  56. package/dist/config/reload/config-reload.events.js.map +1 -1
  57. package/dist/config/sources/base/reloadable-config-source.abstract.d.ts +3 -2
  58. package/dist/config/sources/base/reloadable-config-source.abstract.js +3 -3
  59. package/dist/config/sources/base/reloadable-config-source.abstract.js.map +1 -1
  60. package/dist/config/sources/exceptions/config-source-di.exception.js.map +1 -1
  61. package/dist/config/sources/implementations/json-file.source.js.map +1 -1
  62. package/dist/config/sources/implementations/relodable-json-file.source.d.ts +3 -1
  63. package/dist/config/sources/implementations/relodable-json-file.source.js +6 -3
  64. package/dist/config/sources/implementations/relodable-json-file.source.js.map +1 -1
  65. package/dist/config/vars.class.d.ts +1 -1
  66. package/dist/config/vars.class.js +6 -6
  67. package/dist/config/vars.class.js.map +1 -1
  68. package/dist/context.aggregator.d.ts +21 -0
  69. package/dist/context.aggregator.js +53 -0
  70. package/dist/context.aggregator.js.map +1 -0
  71. package/dist/exceptions/base/platform-exception.absract.d.ts +2 -2
  72. package/dist/exceptions/base/platform-exception.absract.js +4 -1
  73. package/dist/exceptions/base/platform-exception.absract.js.map +1 -1
  74. package/dist/exceptions/implementations/bootstrap/double-init.exception.js.map +1 -1
  75. package/dist/exceptions/implementations/bootstrap/duplicate-protocol.exception.js.map +1 -1
  76. package/dist/exceptions/implementations/bootstrap/no-http.exception.js.map +1 -1
  77. package/dist/exceptions/implementations/bootstrap/no-init.exception.js.map +1 -1
  78. package/dist/exceptions/implementations/bootstrap/no-matching-transport.exception.js.map +1 -1
  79. package/dist/exceptions/implementations/bootstrap/sequence.exception.js.map +1 -1
  80. package/dist/exceptions/implementations/bootstrap/symbol-key-decoration.exception.js.map +1 -1
  81. package/dist/exceptions/implementations/bootstrap/unknown-bootstrap.exception.js.map +1 -1
  82. package/dist/exceptions/implementations/pipeline/authentication.exception.js.map +1 -1
  83. package/dist/exceptions/implementations/pipeline/conflict.exception.js.map +1 -1
  84. package/dist/exceptions/implementations/pipeline/duplicate-entity.exception.js.map +1 -1
  85. package/dist/exceptions/implementations/pipeline/input.exception.js.map +1 -1
  86. package/dist/exceptions/implementations/pipeline/internal.exception.js.map +1 -1
  87. package/dist/exceptions/implementations/pipeline/not-allowed.exception.js.map +1 -1
  88. package/dist/exceptions/implementations/pipeline/not-found.exception.js.map +1 -1
  89. package/dist/exceptions/implementations/pipeline/timeout.exception.js.map +1 -1
  90. package/dist/exceptions.handling/global-exceptions.config.js.map +1 -1
  91. package/dist/exceptions.handling/global-exceptions.filter.js.map +1 -1
  92. package/dist/exceptions.handling/global-exceptions.module.js.map +1 -1
  93. package/dist/health/autodoc/heath.autodoc-resolver.d.ts +5 -15
  94. package/dist/health/autodoc/heath.autodoc-resolver.js +11 -13
  95. package/dist/health/autodoc/heath.autodoc-resolver.js.map +1 -1
  96. package/dist/health/exceptions/health-check.exception.js.map +1 -1
  97. package/dist/health/health.const.d.ts +1 -0
  98. package/dist/health/health.const.js +2 -1
  99. package/dist/health/health.const.js.map +1 -1
  100. package/dist/health/health.module.js.map +1 -1
  101. package/dist/health/health.service.d.ts +6 -2
  102. package/dist/health/health.service.js +19 -6
  103. package/dist/health/health.service.js.map +1 -1
  104. package/dist/health/metadata/constants.d.ts +1 -0
  105. package/dist/health/metadata/constants.js +5 -0
  106. package/dist/health/metadata/constants.js.map +1 -0
  107. package/dist/health/metadata/indicator.decorator.js +2 -12
  108. package/dist/health/metadata/indicator.decorator.js.map +1 -1
  109. package/dist/health/metadata/indicators.registry.d.ts +0 -7
  110. package/dist/health/metadata/indicators.registry.js +6 -14
  111. package/dist/health/metadata/indicators.registry.js.map +1 -1
  112. package/dist/health/metadata/types.d.ts +7 -0
  113. package/dist/health/metadata/types.js +3 -0
  114. package/dist/health/metadata/types.js.map +1 -0
  115. package/dist/index.d.ts +8 -1
  116. package/dist/index.js +13 -7
  117. package/dist/index.js.map +1 -1
  118. package/dist/logging/decorators/inject-logger.decorator.js +5 -3
  119. package/dist/logging/decorators/inject-logger.decorator.js.map +1 -1
  120. package/dist/logging/global-logger-provider.generator.d.ts +7 -0
  121. package/dist/logging/global-logger-provider.generator.js +22 -0
  122. package/dist/logging/global-logger-provider.generator.js.map +1 -0
  123. package/dist/logging/index.d.ts +2 -0
  124. package/dist/logging/index.js +3 -0
  125. package/dist/logging/index.js.map +1 -1
  126. package/dist/logging/logging.config.js +1 -1
  127. package/dist/logging/logging.config.js.map +1 -1
  128. package/dist/logging/logging.module.d.ts +5 -3
  129. package/dist/logging/logging.module.js +25 -13
  130. package/dist/logging/logging.module.js.map +1 -1
  131. package/dist/logging/metadata/constants.d.ts +1 -0
  132. package/dist/logging/metadata/constants.js +5 -0
  133. package/dist/logging/metadata/constants.js.map +1 -0
  134. package/dist/logging/types.d.ts +6 -2
  135. package/dist/metrics/index.d.ts +1 -1
  136. package/dist/metrics/index.js +3 -3
  137. package/dist/metrics/index.js.map +1 -1
  138. package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.d.ts +6 -7
  139. package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.js +8 -11
  140. package/dist/metrics/metadata/autodoc/metrics.autodoc-resolver.js.map +1 -1
  141. package/dist/metrics/metadata/constants.d.ts +1 -0
  142. package/dist/metrics/metadata/constants.js +5 -0
  143. package/dist/metrics/metadata/constants.js.map +1 -0
  144. package/dist/metrics/metadata/index.d.ts +0 -1
  145. package/dist/metrics/metadata/index.js +0 -3
  146. package/dist/metrics/metadata/index.js.map +1 -1
  147. package/dist/metrics/metadata/metrics.registry.d.ts +0 -3
  148. package/dist/metrics/metadata/metrics.registry.js +9 -16
  149. package/dist/metrics/metadata/metrics.registry.js.map +1 -1
  150. package/dist/metrics/metadata/types.d.ts +2 -4
  151. package/dist/metrics/metric.storage.d.ts +8 -0
  152. package/dist/metrics/metric.storage.js +11 -0
  153. package/dist/metrics/metric.storage.js.map +1 -0
  154. package/dist/metrics/metrics.config.js.map +1 -1
  155. package/dist/metrics/metrics.module.d.ts +1 -1
  156. package/dist/metrics/metrics.module.js +27 -21
  157. package/dist/metrics/metrics.module.js.map +1 -1
  158. package/dist/platform.context.d.ts +5 -3
  159. package/dist/platform.context.js +20 -19
  160. package/dist/platform.context.js.map +1 -1
  161. package/dist/platform.module.d.ts +5 -4
  162. package/dist/platform.module.js +24 -13
  163. package/dist/platform.module.js.map +1 -1
  164. package/dist/rsdk-metadata/constants.d.ts +3 -0
  165. package/dist/rsdk-metadata/constants.js +5 -0
  166. package/dist/rsdk-metadata/constants.js.map +1 -0
  167. package/dist/rsdk-metadata/rsdk-metadata.global-module.d.ts +6 -0
  168. package/dist/rsdk-metadata/rsdk-metadata.global-module.js +31 -0
  169. package/dist/rsdk-metadata/rsdk-metadata.global-module.js.map +1 -0
  170. package/dist/tracing/services/instrumentation.service.js.map +1 -1
  171. package/dist/tracing/services/metadata.scanner.js.map +1 -1
  172. package/dist/tracing/tracing.config.js.map +1 -1
  173. package/dist/tracing/tracing.module.js.map +1 -1
  174. package/dist/transport/transport.module.d.ts +1 -0
  175. package/dist/transport/transport.module.js +8 -2
  176. package/dist/transport/transport.module.js.map +1 -1
  177. package/dist/types/context-aggregated.d.ts +8 -0
  178. package/dist/types/context-aggregated.js +3 -0
  179. package/dist/types/context-aggregated.js.map +1 -0
  180. package/dist/types/options.d.ts +6 -6
  181. package/dist/types/transports.d.ts +10 -3
  182. package/dist/types/transports.js.map +1 -1
  183. package/dist/unhandled-rejection.handler.d.ts +1 -0
  184. package/dist/unhandled-rejection.handler.js +24 -0
  185. package/dist/unhandled-rejection.handler.js.map +1 -0
  186. package/package.json +8 -7
  187. package/src/app/platform.app.ts +6 -32
  188. package/src/config/additional-source/additional-source.initializer.ts +34 -25
  189. package/src/config/additional-source/additional-source.module.ts +5 -2
  190. package/src/config/config-reload.indicator.ts +3 -3
  191. package/src/config/config.abstract.ts +2 -3
  192. package/src/config/config.module.ts +23 -225
  193. package/src/config/context/config.context.ts +209 -0
  194. package/src/config/context/module.ts +25 -0
  195. package/src/config/exceptions/property.exception.ts +11 -6
  196. package/src/config/index.ts +1 -0
  197. package/src/config/metadata/config-metadata.provider.ts +79 -0
  198. package/src/config/metadata/config-metadata.registry.ts +36 -41
  199. package/src/config/metadata/constants.ts +6 -0
  200. package/src/config/metadata/decorators/declare-property.decorator.ts +2 -2
  201. package/src/config/metadata/decorators/inject-property.decorator.ts +1 -1
  202. package/src/config/metadata/types.ts +22 -0
  203. package/src/config/reload/config-reload.events.ts +1 -13
  204. package/src/config/sources/base/reloadable-config-source.abstract.ts +2 -3
  205. package/src/config/sources/implementations/relodable-json-file.source.ts +6 -2
  206. package/src/config/vars.class.ts +9 -7
  207. package/src/context.aggregator.ts +62 -0
  208. package/src/exceptions/base/platform-exception.absract.ts +8 -3
  209. package/src/health/autodoc/heath.autodoc-resolver.ts +15 -18
  210. package/src/health/health.const.ts +2 -0
  211. package/src/health/health.service.ts +23 -4
  212. package/src/health/metadata/constants.ts +1 -0
  213. package/src/health/metadata/indicator.decorator.ts +2 -18
  214. package/src/health/metadata/indicators.registry.ts +16 -23
  215. package/src/health/metadata/types.ts +9 -0
  216. package/src/index.ts +29 -12
  217. package/src/logging/decorators/inject-logger.decorator.ts +5 -4
  218. package/src/logging/global-logger-provider.generator.ts +28 -0
  219. package/src/logging/index.ts +2 -0
  220. package/src/logging/logging.config.ts +2 -1
  221. package/src/logging/logging.module.ts +42 -16
  222. package/src/logging/metadata/constants.ts +1 -0
  223. package/src/logging/types.ts +6 -2
  224. package/src/metrics/index.ts +1 -1
  225. package/src/metrics/metadata/autodoc/metrics.autodoc-resolver.ts +13 -9
  226. package/src/metrics/metadata/constants.ts +1 -0
  227. package/src/metrics/metadata/index.ts +0 -1
  228. package/src/metrics/metadata/metrics.registry.ts +19 -23
  229. package/src/metrics/metadata/types.ts +2 -5
  230. package/src/metrics/metric.storage.ts +10 -0
  231. package/src/metrics/metrics.module.ts +32 -31
  232. package/src/platform.context.ts +32 -20
  233. package/src/platform.module.ts +18 -20
  234. package/src/rsdk-metadata/constants.ts +5 -0
  235. package/src/rsdk-metadata/rsdk-metadata.global-module.ts +34 -0
  236. package/src/transport/transport.module.ts +13 -1
  237. package/src/types/context-aggregated.ts +10 -0
  238. package/src/types/options.ts +6 -5
  239. package/src/types/transports.ts +15 -3
  240. package/src/unhandled-rejection.handler.ts +29 -0
  241. package/dist/health/index.d.ts +0 -7
  242. package/dist/health/index.js +0 -26
  243. package/dist/health/index.js.map +0 -1
  244. package/dist/health/metadata/index.d.ts +0 -2
  245. package/dist/health/metadata/index.js +0 -19
  246. package/dist/health/metadata/index.js.map +0 -1
  247. package/src/health/index.ts +0 -7
  248. package/src/health/metadata/index.ts +0 -2
@@ -0,0 +1,21 @@
1
+ import type { Constructor } from '@rsdk/common';
2
+ import type { Resource, RsdkMetadataProvider } from '@rsdk/metadata';
3
+ import type { Config } from '../config.abstract';
4
+ import type { ConfigSource } from '../sources';
5
+ import type { PropertyMetadata, SectionMetadata, SourceMetadata } from '../types';
6
+ import type { PropertyRsdkMetadata, SectionRsdkMetadata } from './types';
7
+ export declare class ConfigMetadataProvider {
8
+ private rsdkMetadataProvider;
9
+ constructor(rsdkMetadataProvider: RsdkMetadataProvider);
10
+ getPropertiesMetadata(): Resource<PropertyRsdkMetadata>[];
11
+ getMetadata(): Readonly<{
12
+ sources: Map<Constructor<ConfigSource>, SourceMetadata>;
13
+ sections: Map<Constructor<Config>, SectionMetadata>;
14
+ properties: Map<string, PropertyMetadata>;
15
+ }>;
16
+ getPropertiesMap(): Map<string, PropertyMetadata>;
17
+ getSectionsMap(): Map<Constructor<Config>, SectionMetadata>;
18
+ getSourcesMap(): Map<Constructor<ConfigSource>, SourceMetadata>;
19
+ getSectionsMetadata(): Resource<SectionRsdkMetadata>[];
20
+ private getSourcesMetadata;
21
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigMetadataProvider = void 0;
4
+ const constants_1 = require("./constants");
5
+ class ConfigMetadataProvider {
6
+ rsdkMetadataProvider;
7
+ constructor(rsdkMetadataProvider) {
8
+ this.rsdkMetadataProvider = rsdkMetadataProvider;
9
+ }
10
+ getPropertiesMetadata() {
11
+ return this.rsdkMetadataProvider.get(constants_1.CONFIG_PROPERTIES_RSDK_METADATA_SCOPE);
12
+ }
13
+ getMetadata() {
14
+ return {
15
+ properties: this.getPropertiesMap(),
16
+ sections: this.getSectionsMap(),
17
+ sources: this.getSourcesMap(),
18
+ };
19
+ }
20
+ getPropertiesMap() {
21
+ return new Map(this.getPropertiesMetadata().map((resource) => [resource.value.alias, resource.value.metadata]));
22
+ }
23
+ getSectionsMap() {
24
+ return new Map(this.getSectionsMetadata().map((resource) => [resource.value.target, resource.value.metadata]));
25
+ }
26
+ getSourcesMap() {
27
+ return new Map(this.getSourcesMetadata().map((resource) => [resource.value.target, resource.value.metadata]));
28
+ }
29
+ getSectionsMetadata() {
30
+ return this.rsdkMetadataProvider.get(constants_1.CONFIG_SECTION_RSDK_METADATA_SCOPE);
31
+ }
32
+ getSourcesMetadata() {
33
+ return this.rsdkMetadataProvider.get(constants_1.CONFIG_SOURCE_RSDK_METADATA_SCOPE);
34
+ }
35
+ }
36
+ exports.ConfigMetadataProvider = ConfigMetadataProvider;
37
+ //# sourceMappingURL=config-metadata.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-metadata.provider.js","sourceRoot":"","sources":["../../../src/config/metadata/config-metadata.provider.ts"],"names":[],"mappings":";;;AAWA,2CAIqB;AAOrB,MAAa,sBAAsB;IACb;IAApB,YAAoB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAAG,CAAC;IAElE,qBAAqB;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAClC,iDAAqC,CACtC,CAAC;IACJ,CAAC;IAED,WAAW;QAKT,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE;YAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;SAC9B,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAC9B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAU,CACvE,CACF,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAC5B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAU,CACxE,CACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,GAAG,CACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAC3B,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAU,CACxE,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAClC,8CAAkC,CACnC,CAAC;IACJ,CAAC;IAEO,kBAAkB;QACxB,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAClC,6CAAiC,CAClC,CAAC;IACJ,CAAC;CACF;AAxDD,wDAwDC"}
@@ -3,15 +3,7 @@ import type { Config } from '../config.abstract';
3
3
  import type { ConfigSource } from '../sources';
4
4
  import type { PropertyMetadata, SectionMetadata, SourceMetadata } from '../types';
5
5
  export declare class ConfigMetadataRegistry {
6
- private static properties;
7
- private static sources;
8
- private static sections;
9
6
  static registerSource(target: Constructor<ConfigSource>, metadata: SourceMetadata): void;
10
7
  static registerSection(target: Constructor<Config>, metadata: SectionMetadata): void;
11
- static registerProperty(alias: string, metadata: PropertyMetadata): void;
12
- static getMetadata(): Readonly<{
13
- sources: Map<Constructor<ConfigSource>, SourceMetadata>;
14
- sections: Map<Constructor<Config>, SectionMetadata>;
15
- properties: Map<string, PropertyMetadata>;
16
- }>;
8
+ static registerProperty(target: object, alias: string, metadata: PropertyMetadata): void;
17
9
  }
@@ -1,45 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigMetadataRegistry = void 0;
4
- const metadata_1 = require("../../health/metadata");
4
+ const metadata_1 = require("@rsdk/metadata");
5
+ const indicators_registry_1 = require("../../health/metadata/indicators.registry");
5
6
  const config_reload_indicator_1 = require("../config-reload.indicator");
6
- const exceptions_1 = require("./exceptions");
7
+ const constants_1 = require("./constants");
7
8
  class ConfigMetadataRegistry {
8
- static properties = new Map();
9
- static sources = new Map();
10
- static sections = new Map();
11
9
  static registerSource(target, metadata) {
12
- if (this.sources.has(target)) {
13
- throw new exceptions_1.DuplicateSourceException(target);
14
- }
15
- if (metadata.type === 'reloadable' &&
16
- !metadata_1.IndicatorsRegistry.isRegistered(config_reload_indicator_1.ConfigReloadIndicator)) {
17
- metadata_1.IndicatorsRegistry.register(config_reload_indicator_1.ConfigReloadIndicator, {
10
+ metadata_1.RsdkMetadata.setWithScope(target, constants_1.CONFIG_SOURCE_RSDK_METADATA_SCOPE, target, { target, metadata });
11
+ if (metadata.type === 'reloadable') {
12
+ indicators_registry_1.IndicatorsRegistry.register(config_reload_indicator_1.ConfigReloadIndicator, {
18
13
  description: 'Will be "down" if there are problems with config reload',
19
14
  key: 'config-reload',
20
15
  scope: 'common',
21
16
  });
22
17
  }
23
- this.sources.set(target, metadata);
24
18
  }
25
19
  static registerSection(target, metadata) {
26
- if (this.sections.has(target)) {
27
- throw new exceptions_1.DuplicateSectionException(target);
28
- }
29
- this.sections.set(target, metadata);
30
- }
31
- static registerProperty(alias, metadata) {
32
- if (this.properties.has(alias)) {
33
- throw new exceptions_1.DuplicatePropertyException(alias);
34
- }
35
- this.properties.set(alias, metadata);
20
+ metadata_1.RsdkMetadata.setWithScope(target, constants_1.CONFIG_SECTION_RSDK_METADATA_SCOPE, target, { target, metadata });
36
21
  }
37
- static getMetadata() {
38
- return {
39
- properties: this.properties,
40
- sections: this.sections,
41
- sources: this.sources,
42
- };
22
+ static registerProperty(target, alias, metadata) {
23
+ metadata_1.RsdkMetadata.setWithScope(target, constants_1.CONFIG_PROPERTIES_RSDK_METADATA_SCOPE, alias, { metadata, alias }, true);
43
24
  }
44
25
  }
45
26
  exports.ConfigMetadataRegistry = ConfigMetadataRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"config-metadata.registry.js","sourceRoot":"","sources":["../../../src/config/metadata/config-metadata.registry.ts"],"names":[],"mappings":";;;AAEA,oDAA2D;AAE3D,wEAAmE;AAQnE,6CAIsB;AAEtB,MAAa,sBAAsB;IACzB,MAAM,CAAC,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IACxD,MAAM,CAAC,OAAO,GAAG,IAAI,GAAG,EAA6C,CAAC;IACtE,MAAM,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAE1E,MAAM,CAAC,cAAc,CACnB,MAAiC,EACjC,QAAwB;QAExB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,IAAI,qCAAwB,CAAC,MAAM,CAAC,CAAC;SAC5C;QAED,IACE,QAAQ,CAAC,IAAI,KAAK,YAAY;YAC9B,CAAC,6BAAkB,CAAC,YAAY,CAAC,+CAAqB,CAAC,EACvD;YACA,6BAAkB,CAAC,QAAQ,CAAC,+CAAqB,EAAE;gBACjD,WAAW,EAAE,yDAAyD;gBACtE,GAAG,EAAE,eAAe;gBACpB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,MAA2B,EAC3B,QAAyB;QAEzB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC7B,MAAM,IAAI,sCAAyB,CAAC,MAAM,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAa,EAAE,QAA0B;QAC/D,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,IAAI,uCAA0B,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,WAAW;QAKhB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;;AAxDH,wDAyDC"}
1
+ {"version":3,"file":"config-metadata.registry.js","sourceRoot":"","sources":["../../../src/config/metadata/config-metadata.registry.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAE9C,mFAA+E;AAE/E,wEAAmE;AAQnE,2CAIqB;AAOrB,MAAa,sBAAsB;IACjC,MAAM,CAAC,cAAc,CACnB,MAAiC,EACjC,QAAwB;QAExB,uBAAY,CAAC,YAAY,CACvB,MAAM,EACN,6CAAiC,EACjC,MAAM,EACN,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;YAClC,wCAAkB,CAAC,QAAQ,CAAC,+CAAqB,EAAE;gBACjD,WAAW,EAAE,yDAAyD;gBACtE,GAAG,EAAE,eAAe;gBACpB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,MAA2B,EAC3B,QAAyB;QAEzB,uBAAY,CAAC,YAAY,CACvB,MAAM,EACN,8CAAkC,EAClC,MAAM,EACN,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,MAAc,EACd,KAAa,EACb,QAA0B;QAE1B,uBAAY,CAAC,YAAY,CACvB,MAAM,EACN,iDAAqC,EACrC,KAAK,EACiB,EAAE,QAAQ,EAAE,KAAK,EAAE,EACzC,IAAI,CACL,CAAC;IACJ,CAAC;CACF;AA9CD,wDA8CC"}
@@ -0,0 +1,3 @@
1
+ export declare const CONFIG_SOURCE_RSDK_METADATA_SCOPE = "CONFIG_SOURCE_RSDK_METADATA_SCOPE";
2
+ export declare const CONFIG_SECTION_RSDK_METADATA_SCOPE = "CONFIG_SECTION_RSDK_METADATA_SCOPE";
3
+ export declare const CONFIG_PROPERTIES_RSDK_METADATA_SCOPE = "CONFIG_PROPERTIES_RSDK_METADATA_SCOPE";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONFIG_PROPERTIES_RSDK_METADATA_SCOPE = exports.CONFIG_SECTION_RSDK_METADATA_SCOPE = exports.CONFIG_SOURCE_RSDK_METADATA_SCOPE = void 0;
4
+ exports.CONFIG_SOURCE_RSDK_METADATA_SCOPE = 'CONFIG_SOURCE_RSDK_METADATA_SCOPE';
5
+ exports.CONFIG_SECTION_RSDK_METADATA_SCOPE = 'CONFIG_SECTION_RSDK_METADATA_SCOPE';
6
+ exports.CONFIG_PROPERTIES_RSDK_METADATA_SCOPE = 'CONFIG_PROPERTIES_RSDK_METADATA_SCOPE';
7
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/config/metadata/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iCAAiC,GAC5C,mCAAmC,CAAC;AACzB,QAAA,kCAAkC,GAC7C,oCAAoC,CAAC;AAC1B,QAAA,qCAAqC,GAChD,uCAAuC,CAAC"}
@@ -24,8 +24,8 @@ const DeclareProperty = (
24
24
  * key is the same string converted to upper snake case.
25
25
  */
26
26
  alias, parser, options) => {
27
- return function () {
28
- config_metadata_registry_1.ConfigMetadataRegistry.registerProperty(alias, {
27
+ return function (target) {
28
+ config_metadata_registry_1.ConfigMetadataRegistry.registerProperty(target, alias, {
29
29
  expectedInEnv: true,
30
30
  ...options,
31
31
  key: alias,
@@ -1 +1 @@
1
- {"version":3,"file":"declare-property.decorator.js","sourceRoot":"","sources":["../../../../src/config/metadata/decorators/declare-property.decorator.ts"],"names":[],"mappings":";;;AACA,0EAAqE;AAErE;;;;;;;;;;;;;;GAcG;AACI,MAAM,eAAe,GAAG;AAC7B;;;;GAIG;AACH,KAAa,EACb,MAAyB,EACzB,OAA2B,EACX,EAAE;IAClB,OAAO;QACL,iDAAsB,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC7C,aAAa,EAAE,IAAI;YACnB,GAAG,OAAO;YACV,GAAG,EAAE,KAAK;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B"}
1
+ {"version":3,"file":"declare-property.decorator.js","sourceRoot":"","sources":["../../../../src/config/metadata/decorators/declare-property.decorator.ts"],"names":[],"mappings":";;;AACA,0EAAqE;AAErE;;;;;;;;;;;;;;GAcG;AACI,MAAM,eAAe,GAAG;AAC7B;;;;GAIG;AACH,KAAa,EACb,MAAyB,EACzB,OAA2B,EACX,EAAE;IAClB,OAAO,UAAU,MAAM;QACrB,iDAAsB,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE;YACrD,aAAa,EAAE,IAAI;YACnB,GAAG,OAAO;YACV,GAAG,EAAE,KAAK;YACV,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,eAAe,mBAkB1B"}
@@ -9,7 +9,7 @@ export declare const trimPrefix: (token: PropertyToken) => string;
9
9
  * 1. To inject properties into ConfigSource constructors. In this case
10
10
  * one should add @DeclareProperty() to ConfigSource constructor first.
11
11
  *
12
- * 2. To create and inject dynamic properties (ex: @rsdk/grpc-clients).
12
+ * 2. To create and inject dynamic properties (ex: @rsdk/grpc.clients).
13
13
  * In this case they should be registered manually using
14
14
  * ConfigMetadataRegistry.registerProperty() method.
15
15
  *
@@ -15,7 +15,7 @@ exports.trimPrefix = trimPrefix;
15
15
  * 1. To inject properties into ConfigSource constructors. In this case
16
16
  * one should add @DeclareProperty() to ConfigSource constructor first.
17
17
  *
18
- * 2. To create and inject dynamic properties (ex: @rsdk/grpc-clients).
18
+ * 2. To create and inject dynamic properties (ex: @rsdk/grpc.clients).
19
19
  * In this case they should be registered manually using
20
20
  * ConfigMetadataRegistry.registerProperty() method.
21
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-property.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-property.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,oDAAoE;AAK7D,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,+BAAkB;IAChE,YAAY,KAAa;QACvB,KAAK,CAAC,kCAAkC,KAAK,wBAAwB,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AAJY,0BAA0B;IAHtC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,0BAA0B;KAC5C,CAAC;;GACW,0BAA0B,CAItC;AAJY,gEAA0B"}
1
+ {"version":3,"file":"duplicate-property.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-property.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,oDAAoE;AAEpE,IAGa,0BAA0B,GAHvC,MAGa,0BAA2B,SAAQ,+BAAkB;IAChE,YAAY,KAAa;QACvB,KAAK,CAAC,kCAAkC,KAAK,wBAAwB,CAAC,CAAC;IACzE,CAAC;CACF,CAAA;AAJY,0BAA0B;IAHtC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,0BAA0B;KAC5C,CAAC;;GACW,0BAA0B,CAItC;AAJY,gEAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-section.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-section.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiD;AAEjD,oDAAoE;AAM7D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,+BAAkB;IAC/D,YAAY,OAA4B;QACtC,KAAK,CAAC,kBAAkB,OAAO,wBAAwB,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAJY,yBAAyB;IAHrC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,+CAA+C;KACjE,CAAC;;GACW,yBAAyB,CAIrC;AAJY,8DAAyB"}
1
+ {"version":3,"file":"duplicate-section.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-section.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiD;AAEjD,oDAAoE;AAGpE,IAGa,yBAAyB,GAHtC,MAGa,yBAA0B,SAAQ,+BAAkB;IAC/D,YAAY,OAA4B;QACtC,KAAK,CAAC,kBAAkB,OAAO,wBAAwB,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;AAJY,yBAAyB;IAHrC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,+CAA+C;KACjE,CAAC;;GACW,yBAAyB,CAIrC;AAJY,8DAAyB"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-source.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-source.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiD;AAEjD,oDAAoE;AAM7D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,+BAAkB;IAC9D,YAAY,MAAiC;QAC3C,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAJY,wBAAwB;IAHpC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,gCAAgC;KAClD,CAAC;;GACW,wBAAwB,CAIpC;AAJY,4DAAwB"}
1
+ {"version":3,"file":"duplicate-source.exception.js","sourceRoot":"","sources":["../../../../src/config/metadata/exceptions/duplicate-source.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAiD;AAEjD,oDAAoE;AAGpE,IAGa,wBAAwB,GAHrC,MAGa,wBAAyB,SAAQ,+BAAkB;IAC9D,YAAY,MAAiC;QAC3C,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,wBAAwB,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAJY,wBAAwB;IAHpC,IAAA,sBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA,gCAAgC;KAClD,CAAC;;GACW,wBAAwB,CAIpC;AAJY,4DAAwB"}
@@ -0,0 +1,16 @@
1
+ import type { Constructor } from '@rsdk/common';
2
+ import type { Config } from '../config.abstract';
3
+ import type { ConfigSource } from '../sources';
4
+ import type { PropertyMetadata, SectionMetadata, SourceMetadata } from '../types';
5
+ export type PropertyRsdkMetadata = {
6
+ metadata: PropertyMetadata;
7
+ alias: string;
8
+ };
9
+ export type SectionRsdkMetadata = {
10
+ target: Constructor<Config>;
11
+ metadata: SectionMetadata;
12
+ };
13
+ export type SourcesRsdkMetadata = {
14
+ target: Constructor<ConfigSource>;
15
+ metadata: SourceMetadata;
16
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/metadata/types.ts"],"names":[],"mappings":""}
@@ -5,8 +5,6 @@ import type { PropertyException } from '../exceptions';
5
5
  import type { ConfigSource, ConfigSourceException } from '../sources';
6
6
  import type { Changes, RawValues } from '../types';
7
7
  export declare class ReloadEvents extends EventEmitter {
8
- private static instance;
9
- static getInstance(): ReloadEvents;
10
8
  }
11
9
  export declare interface ReloadEvents {
12
10
  on(e: 'reload', fn: (source: ConfigSource, values: RawValues) => void): this;
@@ -4,16 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ReloadEvents = void 0;
7
- /* eslint-disable prettier/prettier */
8
7
  const events_1 = __importDefault(require("events"));
9
8
  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
9
  }
18
10
  exports.ReloadEvents = ReloadEvents;
19
11
  //# sourceMappingURL=config-reload.events.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"config-reload.events.js","sourceRoot":"","sources":["../../../src/config/reload/config-reload.events.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAkC;AAOlC,MAAa,YAAa,SAAQ,gBAAY;CAAG;AAAjD,oCAAiD"}
@@ -1,10 +1,11 @@
1
1
  import type { ILogger } from '@rsdk/logging';
2
+ import type { ReloadEvents } from '../../reload';
2
3
  import type { SourceType } from '../../types';
3
4
  import { ConfigSource } from './config-source.abstract';
4
5
  export declare abstract class ReloadableConfigSource extends ConfigSource {
5
- protected readonly logger: ILogger;
6
6
  private readonly events;
7
- constructor(logger: ILogger);
7
+ protected readonly logger: ILogger;
8
+ constructor(logger: ILogger, events: ReloadEvents);
8
9
  type(): SourceType;
9
10
  reload(): Promise<void>;
10
11
  abstract init(): void;
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isReloadable = exports.ReloadableConfigSource = void 0;
4
- const reload_1 = require("../../reload");
5
4
  const config_source_abstract_1 = require("./config-source.abstract");
6
5
  class ReloadableConfigSource extends config_source_abstract_1.ConfigSource {
6
+ events;
7
7
  logger;
8
- events = reload_1.ReloadEvents.getInstance();
9
- constructor(logger) {
8
+ constructor(logger, events) {
10
9
  super();
10
+ this.events = events;
11
11
  this.logger = logger;
12
12
  }
13
13
  type() {
@@ -1 +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"}
1
+ {"version":3,"file":"reloadable-config-source.abstract.js","sourceRoot":"","sources":["../../../../src/config/sources/base/reloadable-config-source.abstract.ts"],"names":[],"mappings":";;;AAKA,qEAAwD;AAExD,MAAsB,sBAAuB,SAAQ,qCAAY;IAGjB;IAF3B,MAAM,CAAU;IAEnC,YAAY,MAAe,EAAmB,MAAoB;QAChE,KAAK,EAAE,CAAC;QADoC,WAAM,GAAN,MAAM,CAAc;QAEhE,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;AA3BD,wDA2BC;AAEM,MAAM,YAAY,GAAG,CAAC,CAAe,EAA+B,EAAE,CAC3E,CAAC,CAAC,IAAI,EAAE,KAAK,YAAY,CAAC;AADf,QAAA,YAAY,gBACG"}
@@ -1 +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"}
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;AAGpE,IAMa,uBAAuB,GANpC,MAMa,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"}
@@ -1 +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"}
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;AAEpD,IAIa,gBAAgB,GAJ7B,MAIa,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"}
@@ -1,7 +1,9 @@
1
+ import { ReloadEvents } from '../../reload';
1
2
  import { ReloadableConfigSource } from '../base';
2
3
  export declare class ReloadableFileSource extends ReloadableConfigSource {
3
4
  private readonly path;
4
- constructor(path: string);
5
+ private reloadEvents;
6
+ constructor(path: string, reloadEvents: ReloadEvents);
5
7
  name(): string;
6
8
  loadRaw(): Promise<unknown>;
7
9
  init(): void;
@@ -19,13 +19,16 @@ const common_1 = require("@rsdk/common");
19
19
  const logging_1 = require("@rsdk/logging");
20
20
  const metadata_1 = require("../../metadata");
21
21
  const parsers_1 = require("../../parsers");
22
+ const reload_1 = require("../../reload");
22
23
  const base_1 = require("../base");
23
24
  const config_source_decorator_1 = require("../config-source.decorator");
24
25
  let ReloadableFileSource = ReloadableFileSource_1 = class ReloadableFileSource extends base_1.ReloadableConfigSource {
25
26
  path;
26
- constructor(path) {
27
- super(logging_1.LoggerFactory.create(ReloadableFileSource_1));
27
+ reloadEvents;
28
+ constructor(path, reloadEvents) {
29
+ super(logging_1.LoggerFactory.create(ReloadableFileSource_1), reloadEvents);
28
30
  this.path = path;
31
+ this.reloadEvents = reloadEvents;
29
32
  }
30
33
  name() {
31
34
  return `Configuration file: ${this.path}`;
@@ -49,7 +52,7 @@ ReloadableFileSource = ReloadableFileSource_1 = __decorate([
49
52
  description: 'Path to some configuration file',
50
53
  }),
51
54
  __param(0, (0, metadata_1.InjectProperty)('CONFIG_PATH')),
52
- __metadata("design:paramtypes", [String])
55
+ __metadata("design:paramtypes", [String, reload_1.ReloadEvents])
53
56
  ], ReloadableFileSource);
54
57
  exports.ReloadableFileSource = ReloadableFileSource;
55
58
  //# sourceMappingURL=relodable-json-file.source.js.map
@@ -1 +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"}
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,yCAA4C;AAC5C,kCAAiD;AACjD,wEAAoD;AAEpD,IAIa,oBAAoB,4BAJjC,MAIa,oBAAqB,SAAQ,6BAAsB;IAEZ;IACxC;IAFV,YACkD,IAAY,EACpD,YAA0B;QAElC,KAAK,CAAC,uBAAa,CAAC,MAAM,CAAC,sBAAoB,CAAC,EAAE,YAAY,CAAC,CAAC;QAHhB,SAAI,GAAJ,IAAI,CAAQ;QACpD,iBAAY,GAAZ,YAAY,CAAc;IAGpC,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;AA3BY,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;IAGG,WAAA,IAAA,yBAAc,EAAC,aAAa,CAAC,CAAA;6CACR,qBAAY;GAHzB,oBAAoB,CA2BhC;AA3BY,oDAAoB"}
@@ -14,6 +14,6 @@ export declare class Vars {
14
14
  constructor(prefix: string);
15
15
  set(key: string, value: RawConfigValue): [SetResult, string];
16
16
  merge(values: RawValues): Changes;
17
- extract<T extends ConfigValue>(propMeta: PropertyMetadata<T>): T | undefined;
17
+ extract<T extends ConfigValue>(propertyMetadata: PropertyMetadata<T>): T | undefined;
18
18
  private toUpperSnakeCase;
19
19
  }
@@ -51,24 +51,24 @@ class Vars {
51
51
  }
52
52
  return { createdKeys, updatedKeys };
53
53
  }
54
- extract(propMeta) {
55
- const { key, parser } = propMeta;
54
+ extract(propertyMetadata) {
55
+ const { key, parser } = propertyMetadata;
56
56
  const preparedKey = this.toUpperSnakeCase(key);
57
57
  const withPrefix = this.prefix
58
58
  ? `${this.toUpperSnakeCase(this.prefix)}_${preparedKey}`
59
59
  : preparedKey;
60
60
  const raw = this.values.get(withPrefix) ?? this.values.get(preparedKey);
61
61
  if (raw === undefined) {
62
- if ('defaultValue' in propMeta) {
63
- return propMeta.defaultValue;
62
+ if ('defaultValue' in propertyMetadata) {
63
+ return propertyMetadata.defaultValue;
64
64
  }
65
- throw new exceptions_1.PropertyException(preparedKey, 'No value by key ' + propMeta.key + ' was provided!');
65
+ throw new exceptions_1.PropertyException(`No value by key ${propertyMetadata.key} was provided!`, { propertyMetadata, preparedKey });
66
66
  }
67
67
  try {
68
68
  return parser.parse(raw);
69
69
  }
70
70
  catch (err) {
71
- throw exceptions_1.PropertyException.fromError(err, preparedKey);
71
+ throw exceptions_1.PropertyException.fromError(err, { preparedKey, propertyMetadata });
72
72
  }
73
73
  }
74
74
  toUpperSnakeCase(key) {
@@ -1 +1 @@
1
- {"version":3,"file":"vars.class.js","sourceRoot":"","sources":["../../src/config/vars.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vars.class.js","sourceRoot":"","sources":["../../src/config/vars.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ContextAggregated } from './types/context-aggregated';
2
+ import { ConfigContext } from './config';
3
+ import type { PlatformContext } from './platform.context';
4
+ export declare class ContextAggregator {
5
+ private platformContext;
6
+ private _aggregated;
7
+ constructor(platformContext: PlatformContext);
8
+ /**
9
+ * Прежде всего этот метод предназачен для единой точки конфигурации трех главных компонентов от которых зависит работа приложения
10
+ * RsdkMetadataProvider - хранит и предоставляет информацию о метаданных дерева модулей для приложения
11
+ * ConfigContext - его существование конкретно здесь обусловлено единственной проблемой, хранит информацию о том как приложение должно/может быть сконфигурировано
12
+ * root - Собственно рут модуль для создания DI
13
+ *
14
+ * И RsdkMetadataProvider, и ConfigContext должны быть внутри DI, они там собственно и будут. Но так как Nestjs считает иначе, а именно не даёт создать контекст приложения отдельно от транспорта... Кушаем кактус...
15
+ */
16
+ getAggregated(): Promise<ContextAggregated>;
17
+ /**
18
+ * Просто алиас чтобы везде не писать такую конструкцию
19
+ */
20
+ getConfigContext(): Promise<ConfigContext>;
21
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContextAggregator = void 0;
4
+ const metadata_1 = require("@rsdk/metadata");
5
+ const module_1 = require("./config/context/module");
6
+ const rsdk_metadata_global_module_1 = require("./rsdk-metadata/rsdk-metadata.global-module");
7
+ const config_1 = require("./config");
8
+ const platform_module_1 = require("./platform.module");
9
+ class ContextAggregator {
10
+ platformContext;
11
+ _aggregated;
12
+ constructor(platformContext) {
13
+ this.platformContext = platformContext;
14
+ }
15
+ /**
16
+ * Прежде всего этот метод предназачен для единой точки конфигурации трех главных компонентов от которых зависит работа приложения
17
+ * RsdkMetadataProvider - хранит и предоставляет информацию о метаданных дерева модулей для приложения
18
+ * ConfigContext - его существование конкретно здесь обусловлено единственной проблемой, хранит информацию о том как приложение должно/может быть сконфигурировано
19
+ * root - Собственно рут модуль для создания DI
20
+ *
21
+ * И RsdkMetadataProvider, и ConfigContext должны быть внутри DI, они там собственно и будут. Но так как Nestjs считает иначе, а именно не даёт создать контекст приложения отдельно от транспорта... Кушаем кактус...
22
+ */
23
+ async getAggregated() {
24
+ if (this._aggregated) {
25
+ return this._aggregated;
26
+ }
27
+ const platformRoot = platform_module_1.PlatformModule.forRoot(this.platformContext.extendedOptions);
28
+ const rsdkMetadataGlobalModule = await rsdk_metadata_global_module_1.RsdkMetadataGlobalModule.raw(platformRoot);
29
+ const rsdkMetadataProvider = await metadata_1.RsdkMetadataProvider.create(rsdkMetadataGlobalModule, platformRoot);
30
+ const configContext = new config_1.ConfigContext(rsdkMetadataProvider, {
31
+ ...this.platformContext.options.config,
32
+ appName: this.platformContext.extendedOptions.name,
33
+ });
34
+ const root = {
35
+ imports: [
36
+ platformRoot,
37
+ rsdkMetadataGlobalModule,
38
+ module_1.ConfigContextModule.forRoot(configContext),
39
+ ],
40
+ module: ContextAggregator,
41
+ };
42
+ this._aggregated = { root, rsdkMetadataProvider, configContext };
43
+ return this._aggregated;
44
+ }
45
+ /**
46
+ * Просто алиас чтобы везде не писать такую конструкцию
47
+ */
48
+ async getConfigContext() {
49
+ return (await this.getAggregated()).configContext;
50
+ }
51
+ }
52
+ exports.ContextAggregator = ContextAggregator;
53
+ //# sourceMappingURL=context.aggregator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.aggregator.js","sourceRoot":"","sources":["../src/context.aggregator.ts"],"names":[],"mappings":";;;AAAA,6CAAsD;AAEtD,oDAA8D;AAC9D,6FAAuF;AAEvF,qCAAyC;AAEzC,uDAAmD;AAEnD,MAAa,iBAAiB;IAGR;IAFZ,WAAW,CAAoB;IAEvC,YAAoB,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAExD;;;;;;;OAOG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QACD,MAAM,YAAY,GAAG,gCAAc,CAAC,OAAO,CACzC,IAAI,CAAC,eAAe,CAAC,eAAe,CACrC,CAAC;QACF,MAAM,wBAAwB,GAAG,MAAM,sDAAwB,CAAC,GAAG,CACjE,YAAY,CACb,CAAC;QACF,MAAM,oBAAoB,GAAG,MAAM,+BAAoB,CAAC,MAAM,CAC5D,wBAAwB,EACxB,YAAY,CACb,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,oBAAoB,EAAE;YAC5D,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM;YACtC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI;SACnD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG;YACX,OAAO,EAAE;gBACP,YAAY;gBACZ,wBAAwB;gBACxB,4BAAmB,CAAC,OAAO,CAAC,aAAa,CAAC;aAC3C;YACD,MAAM,EAAE,iBAAiB;SAC1B,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,aAAa,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC;IACpD,CAAC;CACF;AApDD,8CAoDC"}
@@ -7,7 +7,7 @@ export interface ExceptionsProps<T = any> {
7
7
  /**
8
8
  * Wrapped original error
9
9
  */
10
- cause?: Error | undefined;
10
+ cause?: unknown | undefined;
11
11
  /**
12
12
  * Additional structured details
13
13
  */
@@ -32,7 +32,7 @@ export declare abstract class PlatformException<T = any> extends Error {
32
32
  * PlatformException has ability to wrap original errors. Such an option exists
33
33
  * in many other languages and frameworks: .NET, Java, Go etc.
34
34
  */
35
- readonly cause: Error | undefined;
35
+ readonly cause: unknown | undefined;
36
36
  /**
37
37
  * Any custom attributes developer is willing to
38
38
  * attach. Very useful for creating structured validation
@@ -39,7 +39,10 @@ class PlatformException extends Error {
39
39
  this.details = props?.details;
40
40
  }
41
41
  static innerMessages(ex) {
42
- if (!ex || !(ex instanceof PlatformException) || !ex.cause) {
42
+ if (!ex ||
43
+ !(ex instanceof PlatformException) ||
44
+ !ex.cause ||
45
+ !(ex.cause instanceof Error)) {
43
46
  return [];
44
47
  }
45
48
  return [ex.cause.message, ...PlatformException.innerMessages(ex.cause)];
@@ -1 +1 @@
1
- {"version":3,"file":"platform-exception.absract.js","sourceRoot":"","sources":["../../../src/exceptions/base/platform-exception.absract.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,MAAsB,iBAA2B,SAAQ,KAAK;IAC5D;;OAEG;IACM,QAAQ,CAAS;IAE1B;;OAEG;IACM,IAAI,CAAgB;IAE7B;;;OAGG;IACM,KAAK,CAAoB;IAElC;;;;OAIG;IACM,OAAO,CAAgB;IAEhC;;;OAGG;IACH,YACE,IAAmB,EACnB,OAAe,EACf,KAAwC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAS;QAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;YAC1D,OAAO,EAAE,CAAC;SACX;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AA/CD,8CA+CC"}
1
+ {"version":3,"file":"platform-exception.absract.js","sourceRoot":"","sources":["../../../src/exceptions/base/platform-exception.absract.ts"],"names":[],"mappings":";;;AAkBA;;;;;GAKG;AACH,MAAsB,iBAA2B,SAAQ,KAAK;IAC5D;;OAEG;IACM,QAAQ,CAAS;IAE1B;;OAEG;IACM,IAAI,CAAgB;IAE7B;;;OAGG;IACM,KAAK,CAAsB;IAEpC;;;;OAIG;IACM,OAAO,CAAgB;IAEhC;;;OAGG;IACH,YACE,IAAmB,EACnB,OAAe,EACf,KAAwC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,EAAS;QAC5B,IACE,CAAC,EAAE;YACH,CAAC,CAAC,EAAE,YAAY,iBAAiB,CAAC;YAClC,CAAC,EAAE,CAAC,KAAK;YACT,CAAC,CAAC,EAAE,CAAC,KAAK,YAAY,KAAK,CAAC,EAC5B;YACA,OAAO,EAAE,CAAC;SACX;QAED,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;CACF;AApDD,8CAoDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"double-init.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/double-init.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAQpC,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,yBAAkB;IACzD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAa;QACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,yCAAyC,CAAC,CAAC;QAC1E,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC7B;QAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AATY,mBAAmB;IAN/B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,mBAAmB,CAS/B;AATY,kDAAmB"}
1
+ {"version":3,"file":"double-init.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/double-init.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAE3C,IAMa,mBAAmB,GANhC,MAMa,mBAAoB,SAAQ,yBAAkB;IACzD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAa;QACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,yCAAyC,CAAC,CAAC;QAC1E,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC7B;QAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AATY,mBAAmB;IAN/B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,mBAAmB,CAS/B;AATY,kDAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-protocol.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/duplicate-protocol.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAQpC,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,yBAAkB;IAChE,YAAY,QAAgB,EAAE,UAAkB;QAC9C,KAAK,CAAC,IAAA,aAAI,EAAA;;iBAEG,QAAQ,QAAQ,UAAU;KACtC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAPY,0BAA0B;IANtC,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,0BAA0B,CAOtC;AAPY,gEAA0B"}
1
+ {"version":3,"file":"duplicate-protocol.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/duplicate-protocol.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAE3C,IAMa,0BAA0B,GANvC,MAMa,0BAA2B,SAAQ,yBAAkB;IAChE,YAAY,QAAgB,EAAE,UAAkB;QAC9C,KAAK,CAAC,IAAA,aAAI,EAAA;;iBAEG,QAAQ,QAAQ,UAAU;KACtC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAPY,0BAA0B;IANtC,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,0BAA0B,CAOtC;AAPY,gEAA0B"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-http.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-http.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAQpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yBAAkB;IACrD;QACE,KAAK,CAAC,IAAA,aAAI,EAAA;;;;;KAKT,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AATY,eAAe;IAN3B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,eAAe,CAS3B;AATY,0CAAe"}
1
+ {"version":3,"file":"no-http.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-http.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAE3C,IAMa,eAAe,GAN5B,MAMa,eAAgB,SAAQ,yBAAkB;IACrD;QACE,KAAK,CAAC,IAAA,aAAI,EAAA;;;;;KAKT,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AATY,eAAe;IAN3B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,eAAe,CAS3B;AATY,0CAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-init.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-init.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAQpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yBAAkB;IACrD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAa;QACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,kCAAkC,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC7B;QAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AATY,eAAe;IAN3B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,eAAe,CAS3B;AATY,0CAAe"}
1
+ {"version":3,"file":"no-init.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-init.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,qCAAgD;AAChD,6CAA2C;AAE3C,IAMa,eAAe,GAN5B,MAMa,eAAgB,SAAQ,yBAAkB;IACrD,YAAY,IAAY,EAAE,IAAY,EAAE,IAAa;QACnD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,kCAAkC,CAAC,CAAC;QACnE,IAAI,IAAI,EAAE;YACR,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;SAC7B;QAED,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC;CACF,CAAA;AATY,eAAe;IAN3B,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;GAGhB;KACF,CAAC;;GACW,eAAe,CAS3B;AATY,0CAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-matching-transport.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-matching-transport.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAGpC,qCAAgD;AAChD,6CAA2C;AASpC,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,yBAAkB;IAClE,YAAY,MAA6C;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,KAAK,CAAC,IAAA,aAAI,EAAA;eACC,IAAI;QACX,UAAU;KACb,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAVY,4BAA4B;IAPxC,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;;GAIhB;KACF,CAAC;;GACW,4BAA4B,CAUxC;AAVY,oEAA4B"}
1
+ {"version":3,"file":"no-matching-transport.exception.js","sourceRoot":"","sources":["../../../../src/exceptions/implementations/bootstrap/no-matching-transport.exception.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAGpC,qCAAgD;AAChD,6CAA2C;AAE3C,IAOa,4BAA4B,GAPzC,MAOa,4BAA6B,SAAQ,yBAAkB;IAClE,YAAY,MAA6C;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QACrC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,KAAK,CAAC,IAAA,aAAI,EAAA;eACC,IAAI;QACX,UAAU;KACb,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAVY,4BAA4B;IAPxC,IAAA,oBAAS,EAAC;QACT,WAAW,EAAE,IAAA,aAAI,EAAA;;;;GAIhB;KACF,CAAC;;GACW,4BAA4B,CAUxC;AAVY,oEAA4B"}