@dyanet/nestjs-config-aws 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1183 -0
  3. package/dist/cjs/config.module.js +178 -0
  4. package/dist/cjs/config.module.js.map +1 -0
  5. package/dist/cjs/index.js +47 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/integration/index.js +23 -0
  8. package/dist/cjs/integration/index.js.map +1 -0
  9. package/dist/cjs/integration/interfaces/configuration-factory.interface.js +3 -0
  10. package/dist/cjs/integration/interfaces/configuration-factory.interface.js.map +1 -0
  11. package/dist/cjs/integration/interfaces/configuration-source.interface.js +3 -0
  12. package/dist/cjs/integration/interfaces/configuration-source.interface.js.map +1 -0
  13. package/dist/cjs/integration/interfaces/index.js +26 -0
  14. package/dist/cjs/integration/interfaces/index.js.map +1 -0
  15. package/dist/cjs/integration/interfaces/integration-options.interface.js +3 -0
  16. package/dist/cjs/integration/interfaces/integration-options.interface.js.map +1 -0
  17. package/dist/cjs/integration/interfaces/integration-state.interface.js +3 -0
  18. package/dist/cjs/integration/interfaces/integration-state.interface.js.map +1 -0
  19. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js +73 -0
  20. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js.map +1 -0
  21. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js +3 -0
  22. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js.map +1 -0
  23. package/dist/cjs/integration/interfaces/typed-configuration.interface.js +4 -0
  24. package/dist/cjs/integration/interfaces/typed-configuration.interface.js.map +1 -0
  25. package/dist/cjs/integration/interfaces/utility-types.interface.js +52 -0
  26. package/dist/cjs/integration/interfaces/utility-types.interface.js.map +1 -0
  27. package/dist/cjs/integration/nestjs-config-integration.module.js +124 -0
  28. package/dist/cjs/integration/nestjs-config-integration.module.js.map +1 -0
  29. package/dist/cjs/integration/providers/aws-configuration-loader.service.js +591 -0
  30. package/dist/cjs/integration/providers/aws-configuration-loader.service.js.map +1 -0
  31. package/dist/cjs/integration/providers/configuration-factory.provider.js +383 -0
  32. package/dist/cjs/integration/providers/configuration-factory.provider.js.map +1 -0
  33. package/dist/cjs/integration/providers/index.js +20 -0
  34. package/dist/cjs/integration/providers/index.js.map +1 -0
  35. package/dist/cjs/integration/services/async-config-helper.service.js +356 -0
  36. package/dist/cjs/integration/services/async-config-helper.service.js.map +1 -0
  37. package/dist/cjs/integration/services/error-handler.service.js +265 -0
  38. package/dist/cjs/integration/services/error-handler.service.js.map +1 -0
  39. package/dist/cjs/integration/services/factory-registration.service.js +512 -0
  40. package/dist/cjs/integration/services/factory-registration.service.js.map +1 -0
  41. package/dist/cjs/integration/services/index.js +26 -0
  42. package/dist/cjs/integration/services/index.js.map +1 -0
  43. package/dist/cjs/integration/services/integration-state.service.js +83 -0
  44. package/dist/cjs/integration/services/integration-state.service.js.map +1 -0
  45. package/dist/cjs/integration/services/namespace-handler.service.js +467 -0
  46. package/dist/cjs/integration/services/namespace-handler.service.js.map +1 -0
  47. package/dist/cjs/integration/services/nestjs-config-integration.service.js +316 -0
  48. package/dist/cjs/integration/services/nestjs-config-integration.service.js.map +1 -0
  49. package/dist/cjs/integration/services/precedence-handler.service.js +294 -0
  50. package/dist/cjs/integration/services/precedence-handler.service.js.map +1 -0
  51. package/dist/cjs/integration/services/validation-integration.service.js +591 -0
  52. package/dist/cjs/integration/services/validation-integration.service.js.map +1 -0
  53. package/dist/cjs/integration/utils/config-integration.util.js +283 -0
  54. package/dist/cjs/integration/utils/config-integration.util.js.map +1 -0
  55. package/dist/cjs/integration/utils/index.js +19 -0
  56. package/dist/cjs/integration/utils/index.js.map +1 -0
  57. package/dist/cjs/interfaces/config-loader.interface.js +3 -0
  58. package/dist/cjs/interfaces/config-loader.interface.js.map +1 -0
  59. package/dist/cjs/interfaces/config-service.interface.js +11 -0
  60. package/dist/cjs/interfaces/config-service.interface.js.map +1 -0
  61. package/dist/cjs/interfaces/default-schema.interface.js +63 -0
  62. package/dist/cjs/interfaces/default-schema.interface.js.map +1 -0
  63. package/dist/cjs/interfaces/errors.interface.js +77 -0
  64. package/dist/cjs/interfaces/errors.interface.js.map +1 -0
  65. package/dist/cjs/interfaces/index.js +25 -0
  66. package/dist/cjs/interfaces/index.js.map +1 -0
  67. package/dist/cjs/interfaces/module-options.interface.js +3 -0
  68. package/dist/cjs/interfaces/module-options.interface.js.map +1 -0
  69. package/dist/cjs/loaders/environment.loader.js +59 -0
  70. package/dist/cjs/loaders/environment.loader.js.map +1 -0
  71. package/dist/cjs/loaders/secrets-manager.loader.js +122 -0
  72. package/dist/cjs/loaders/secrets-manager.loader.js.map +1 -0
  73. package/dist/cjs/loaders/ssm-parameter-store.loader.js +146 -0
  74. package/dist/cjs/loaders/ssm-parameter-store.loader.js.map +1 -0
  75. package/dist/cjs/services/config.service.js +297 -0
  76. package/dist/cjs/services/config.service.js.map +1 -0
  77. package/dist/cjs/utils/validation.util.js +114 -0
  78. package/dist/cjs/utils/validation.util.js.map +1 -0
  79. package/dist/esm/config.module.js +175 -0
  80. package/dist/esm/config.module.js.map +1 -0
  81. package/dist/esm/index.js +18 -0
  82. package/dist/esm/index.js.map +1 -0
  83. package/dist/esm/integration/index.js +7 -0
  84. package/dist/esm/integration/index.js.map +1 -0
  85. package/dist/esm/integration/interfaces/configuration-factory.interface.js +2 -0
  86. package/dist/esm/integration/interfaces/configuration-factory.interface.js.map +1 -0
  87. package/dist/esm/integration/interfaces/configuration-source.interface.js +2 -0
  88. package/dist/esm/integration/interfaces/configuration-source.interface.js.map +1 -0
  89. package/dist/esm/integration/interfaces/index.js +10 -0
  90. package/dist/esm/integration/interfaces/index.js.map +1 -0
  91. package/dist/esm/integration/interfaces/integration-options.interface.js +2 -0
  92. package/dist/esm/integration/interfaces/integration-options.interface.js.map +1 -0
  93. package/dist/esm/integration/interfaces/integration-state.interface.js +2 -0
  94. package/dist/esm/integration/interfaces/integration-state.interface.js.map +1 -0
  95. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js +64 -0
  96. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js.map +1 -0
  97. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js +2 -0
  98. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js.map +1 -0
  99. package/dist/esm/integration/interfaces/typed-configuration.interface.js +3 -0
  100. package/dist/esm/integration/interfaces/typed-configuration.interface.js.map +1 -0
  101. package/dist/esm/integration/interfaces/utility-types.interface.js +44 -0
  102. package/dist/esm/integration/interfaces/utility-types.interface.js.map +1 -0
  103. package/dist/esm/integration/nestjs-config-integration.module.js +121 -0
  104. package/dist/esm/integration/nestjs-config-integration.module.js.map +1 -0
  105. package/dist/esm/integration/providers/aws-configuration-loader.service.js +588 -0
  106. package/dist/esm/integration/providers/aws-configuration-loader.service.js.map +1 -0
  107. package/dist/esm/integration/providers/configuration-factory.provider.js +380 -0
  108. package/dist/esm/integration/providers/configuration-factory.provider.js.map +1 -0
  109. package/dist/esm/integration/providers/index.js +4 -0
  110. package/dist/esm/integration/providers/index.js.map +1 -0
  111. package/dist/esm/integration/services/async-config-helper.service.js +353 -0
  112. package/dist/esm/integration/services/async-config-helper.service.js.map +1 -0
  113. package/dist/esm/integration/services/error-handler.service.js +262 -0
  114. package/dist/esm/integration/services/error-handler.service.js.map +1 -0
  115. package/dist/esm/integration/services/factory-registration.service.js +509 -0
  116. package/dist/esm/integration/services/factory-registration.service.js.map +1 -0
  117. package/dist/esm/integration/services/index.js +10 -0
  118. package/dist/esm/integration/services/index.js.map +1 -0
  119. package/dist/esm/integration/services/integration-state.service.js +80 -0
  120. package/dist/esm/integration/services/integration-state.service.js.map +1 -0
  121. package/dist/esm/integration/services/namespace-handler.service.js +464 -0
  122. package/dist/esm/integration/services/namespace-handler.service.js.map +1 -0
  123. package/dist/esm/integration/services/nestjs-config-integration.service.js +313 -0
  124. package/dist/esm/integration/services/nestjs-config-integration.service.js.map +1 -0
  125. package/dist/esm/integration/services/precedence-handler.service.js +291 -0
  126. package/dist/esm/integration/services/precedence-handler.service.js.map +1 -0
  127. package/dist/esm/integration/services/validation-integration.service.js +585 -0
  128. package/dist/esm/integration/services/validation-integration.service.js.map +1 -0
  129. package/dist/esm/integration/utils/config-integration.util.js +240 -0
  130. package/dist/esm/integration/utils/config-integration.util.js.map +1 -0
  131. package/dist/esm/integration/utils/index.js +3 -0
  132. package/dist/esm/integration/utils/index.js.map +1 -0
  133. package/dist/esm/interfaces/config-loader.interface.js +2 -0
  134. package/dist/esm/interfaces/config-loader.interface.js.map +1 -0
  135. package/dist/esm/interfaces/config-service.interface.js +7 -0
  136. package/dist/esm/interfaces/config-service.interface.js.map +1 -0
  137. package/dist/esm/interfaces/default-schema.interface.js +59 -0
  138. package/dist/esm/interfaces/default-schema.interface.js.map +1 -0
  139. package/dist/esm/interfaces/errors.interface.js +69 -0
  140. package/dist/esm/interfaces/errors.interface.js.map +1 -0
  141. package/dist/esm/interfaces/index.js +9 -0
  142. package/dist/esm/interfaces/index.js.map +1 -0
  143. package/dist/esm/interfaces/module-options.interface.js +2 -0
  144. package/dist/esm/interfaces/module-options.interface.js.map +1 -0
  145. package/dist/esm/loaders/environment.loader.js +55 -0
  146. package/dist/esm/loaders/environment.loader.js.map +1 -0
  147. package/dist/esm/loaders/secrets-manager.loader.js +118 -0
  148. package/dist/esm/loaders/secrets-manager.loader.js.map +1 -0
  149. package/dist/esm/loaders/ssm-parameter-store.loader.js +142 -0
  150. package/dist/esm/loaders/ssm-parameter-store.loader.js.map +1 -0
  151. package/dist/esm/services/config.service.js +261 -0
  152. package/dist/esm/services/config.service.js.map +1 -0
  153. package/dist/esm/utils/validation.util.js +110 -0
  154. package/dist/esm/utils/validation.util.js.map +1 -0
  155. package/dist/types/config.module.d.ts +46 -0
  156. package/dist/types/config.module.d.ts.map +1 -0
  157. package/dist/types/index.d.ts +13 -0
  158. package/dist/types/index.d.ts.map +1 -0
  159. package/dist/types/integration/index.d.ts +6 -0
  160. package/dist/types/integration/index.d.ts.map +1 -0
  161. package/dist/types/integration/interfaces/configuration-factory.interface.d.ts +71 -0
  162. package/dist/types/integration/interfaces/configuration-factory.interface.d.ts.map +1 -0
  163. package/dist/types/integration/interfaces/configuration-source.interface.d.ts +24 -0
  164. package/dist/types/integration/interfaces/configuration-source.interface.d.ts.map +1 -0
  165. package/dist/types/integration/interfaces/index.d.ts +9 -0
  166. package/dist/types/integration/interfaces/index.d.ts.map +1 -0
  167. package/dist/types/integration/interfaces/integration-options.interface.d.ts +66 -0
  168. package/dist/types/integration/interfaces/integration-options.interface.d.ts.map +1 -0
  169. package/dist/types/integration/interfaces/integration-state.interface.d.ts +17 -0
  170. package/dist/types/integration/interfaces/integration-state.interface.d.ts.map +1 -0
  171. package/dist/types/integration/interfaces/nestjs-config-compatibility.interface.d.ts +332 -0
  172. package/dist/types/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +1 -0
  173. package/dist/types/integration/interfaces/nestjs-config-integration.interface.d.ts +259 -0
  174. package/dist/types/integration/interfaces/nestjs-config-integration.interface.d.ts.map +1 -0
  175. package/dist/types/integration/interfaces/typed-configuration.interface.d.ts +209 -0
  176. package/dist/types/integration/interfaces/typed-configuration.interface.d.ts.map +1 -0
  177. package/dist/types/integration/interfaces/utility-types.interface.d.ts +249 -0
  178. package/dist/types/integration/interfaces/utility-types.interface.d.ts.map +1 -0
  179. package/dist/types/integration/nestjs-config-integration.module.d.ts +36 -0
  180. package/dist/types/integration/nestjs-config-integration.module.d.ts.map +1 -0
  181. package/dist/types/integration/providers/aws-configuration-loader.service.d.ts +134 -0
  182. package/dist/types/integration/providers/aws-configuration-loader.service.d.ts.map +1 -0
  183. package/dist/types/integration/providers/configuration-factory.provider.d.ts +119 -0
  184. package/dist/types/integration/providers/configuration-factory.provider.d.ts.map +1 -0
  185. package/dist/types/integration/providers/index.d.ts +3 -0
  186. package/dist/types/integration/providers/index.d.ts.map +1 -0
  187. package/dist/types/integration/services/async-config-helper.service.d.ts +84 -0
  188. package/dist/types/integration/services/async-config-helper.service.d.ts.map +1 -0
  189. package/dist/types/integration/services/error-handler.service.d.ts +84 -0
  190. package/dist/types/integration/services/error-handler.service.d.ts.map +1 -0
  191. package/dist/types/integration/services/factory-registration.service.d.ts +158 -0
  192. package/dist/types/integration/services/factory-registration.service.d.ts.map +1 -0
  193. package/dist/types/integration/services/index.d.ts +9 -0
  194. package/dist/types/integration/services/index.d.ts.map +1 -0
  195. package/dist/types/integration/services/integration-state.service.d.ts +41 -0
  196. package/dist/types/integration/services/integration-state.service.d.ts.map +1 -0
  197. package/dist/types/integration/services/namespace-handler.service.d.ts +192 -0
  198. package/dist/types/integration/services/namespace-handler.service.d.ts.map +1 -0
  199. package/dist/types/integration/services/nestjs-config-integration.service.d.ts +87 -0
  200. package/dist/types/integration/services/nestjs-config-integration.service.d.ts.map +1 -0
  201. package/dist/types/integration/services/precedence-handler.service.d.ts +103 -0
  202. package/dist/types/integration/services/precedence-handler.service.d.ts.map +1 -0
  203. package/dist/types/integration/services/validation-integration.service.d.ts +222 -0
  204. package/dist/types/integration/services/validation-integration.service.d.ts.map +1 -0
  205. package/dist/types/integration/utils/config-integration.util.d.ts +81 -0
  206. package/dist/types/integration/utils/config-integration.util.d.ts.map +1 -0
  207. package/dist/types/integration/utils/index.d.ts +2 -0
  208. package/dist/types/integration/utils/index.d.ts.map +1 -0
  209. package/dist/types/interfaces/config-loader.interface.d.ts +22 -0
  210. package/dist/types/interfaces/config-loader.interface.d.ts.map +1 -0
  211. package/dist/types/interfaces/config-service.interface.d.ts +23 -0
  212. package/dist/types/interfaces/config-service.interface.d.ts.map +1 -0
  213. package/dist/types/interfaces/default-schema.interface.d.ts +195 -0
  214. package/dist/types/interfaces/default-schema.interface.d.ts.map +1 -0
  215. package/dist/types/interfaces/errors.interface.d.ts +38 -0
  216. package/dist/types/interfaces/errors.interface.d.ts.map +1 -0
  217. package/dist/types/interfaces/index.d.ts +6 -0
  218. package/dist/types/interfaces/index.d.ts.map +1 -0
  219. package/dist/types/interfaces/module-options.interface.d.ts +64 -0
  220. package/dist/types/interfaces/module-options.interface.d.ts.map +1 -0
  221. package/dist/types/loaders/environment.loader.d.ts +26 -0
  222. package/dist/types/loaders/environment.loader.d.ts.map +1 -0
  223. package/dist/types/loaders/secrets-manager.loader.d.ts +52 -0
  224. package/dist/types/loaders/secrets-manager.loader.d.ts.map +1 -0
  225. package/dist/types/loaders/ssm-parameter-store.loader.d.ts +68 -0
  226. package/dist/types/loaders/ssm-parameter-store.loader.d.ts.map +1 -0
  227. package/dist/types/services/config.service.d.ts +94 -0
  228. package/dist/types/services/config.service.d.ts.map +1 -0
  229. package/dist/types/utils/validation.util.d.ts +53 -0
  230. package/dist/types/utils/validation.util.d.ts.map +1 -0
  231. package/package.json +102 -0
@@ -0,0 +1,380 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var ConfigurationFactoryProviderImpl_1;
14
+ import { Injectable, Logger, Inject, Optional } from '@nestjs/common';
15
+ import { registerAs } from '@nestjs/config';
16
+ import { PrecedenceHandlerService } from '../services/precedence-handler.service';
17
+ import { NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS } from '../nestjs-config-integration.module';
18
+ /**
19
+ * Implementation of ConfigurationFactoryProvider that creates configuration factories
20
+ * for @nestjs/config integration with AWS configuration sources.
21
+ */
22
+ let ConfigurationFactoryProviderImpl = ConfigurationFactoryProviderImpl_1 = class ConfigurationFactoryProviderImpl {
23
+ constructor(precedenceHandler, options) {
24
+ this.precedenceHandler = precedenceHandler;
25
+ this.options = options;
26
+ this.logger = new Logger(ConfigurationFactoryProviderImpl_1.name);
27
+ }
28
+ /**
29
+ * Create a configuration factory for a specific namespace.
30
+ * @param namespace - The namespace for the configuration
31
+ * @param config - The configuration data
32
+ * @returns A configuration factory that can be used with @nestjs/config
33
+ */
34
+ createFactory(namespace, config) {
35
+ this.logger.debug(`Creating configuration factory for namespace: ${namespace}`);
36
+ // Create a factory function that returns the configuration
37
+ const factory = () => {
38
+ this.logger.debug(`Factory called for namespace: ${namespace}`);
39
+ const processedConfig = this.processConfigurationValues(config);
40
+ // Add metadata for debugging and introspection
41
+ if (this.options?.enableLogging) {
42
+ this.logger.debug(`Factory returning ${Object.keys(processedConfig).length} configuration keys for namespace: ${namespace}`);
43
+ }
44
+ return processedConfig;
45
+ };
46
+ // If namespace is provided, use registerAs to create a namespaced factory
47
+ if (namespace && namespace.trim() !== '') {
48
+ const namespacedFactory = registerAs(namespace, factory);
49
+ // Enhance the factory with additional metadata for better integration
50
+ namespacedFactory.__namespace = namespace;
51
+ namespacedFactory.__isAwsFactory = true;
52
+ namespacedFactory.__configKeys = Object.keys(config);
53
+ return namespacedFactory;
54
+ }
55
+ // For non-namespaced factories, add metadata as well
56
+ factory.__isAwsFactory = true;
57
+ factory.__configKeys = Object.keys(config);
58
+ return factory;
59
+ }
60
+ /**
61
+ * Create multiple namespaced configuration factories from a configuration object.
62
+ * @param config - The configuration data organized by namespace
63
+ * @returns Array of configuration factories
64
+ */
65
+ createNamespacedFactories(config) {
66
+ this.logger.debug(`Creating namespaced factories for ${Object.keys(config).length} namespaces`);
67
+ const factories = [];
68
+ for (const [namespace, namespaceConfig] of Object.entries(config)) {
69
+ if (this.isValidNamespaceConfig(namespace, namespaceConfig)) {
70
+ try {
71
+ const factory = this.createFactory(namespace, namespaceConfig);
72
+ factories.push(factory);
73
+ this.logger.debug(`Created factory for namespace: ${namespace}`);
74
+ }
75
+ catch (error) {
76
+ this.logger.error(`Failed to create factory for namespace ${namespace}:`, error);
77
+ }
78
+ }
79
+ else {
80
+ this.logger.warn(`Skipping invalid namespace configuration: ${namespace}`);
81
+ }
82
+ }
83
+ return factories;
84
+ }
85
+ /**
86
+ * Merge AWS configuration with existing local configuration using precedence rules.
87
+ * @param awsConfig - Configuration loaded from AWS sources
88
+ * @param localConfig - Local configuration data
89
+ * @returns Merged configuration data
90
+ */
91
+ mergeWithExisting(awsConfig, localConfig) {
92
+ this.logger.debug('Merging AWS configuration with local configuration');
93
+ // Create configuration sources for precedence handling
94
+ const sources = [
95
+ {
96
+ name: 'local-config',
97
+ type: 'local-file',
98
+ priority: 1,
99
+ data: localConfig,
100
+ loadedAt: new Date()
101
+ },
102
+ {
103
+ name: 'aws-config',
104
+ type: 'secrets-manager', // Assume AWS config is from secrets manager for now
105
+ priority: 2,
106
+ data: awsConfig,
107
+ loadedAt: new Date()
108
+ }
109
+ ];
110
+ // Use AWS-first precedence by default
111
+ const merged = this.precedenceHandler.applyPrecedenceRules(sources, 'aws-first');
112
+ this.logger.debug(`Merged configuration with ${Object.keys(merged).length} top-level keys`);
113
+ return merged;
114
+ }
115
+ /**
116
+ * Create an enhanced AWS configuration factory with metadata.
117
+ * @param namespace - Optional namespace for the configuration
118
+ * @param config - The configuration data
119
+ * @param sources - Sources that contributed to this configuration
120
+ * @param precedenceRule - Precedence rule applied to this configuration
121
+ * @returns Enhanced AWS configuration factory
122
+ */
123
+ createAwsConfigurationFactory(namespace, config, sources, precedenceRule) {
124
+ const baseFactory = namespace
125
+ ? this.createFactory(namespace, config)
126
+ : this.createFactory('', config);
127
+ // Enhance the factory with AWS-specific metadata
128
+ const awsFactory = baseFactory;
129
+ awsFactory.namespace = namespace;
130
+ awsFactory.sources = sources;
131
+ awsFactory.precedenceRule = precedenceRule;
132
+ this.logger.debug(`Created AWS configuration factory with ${sources.length} sources and precedence: ${precedenceRule}`);
133
+ return awsFactory;
134
+ }
135
+ /**
136
+ * Create configuration factories from multiple sources with proper organization.
137
+ * @param sourceConfigs - Map of source name to configuration data
138
+ * @param namespaces - Optional list of namespaces to organize configuration
139
+ * @returns Array of configuration factories organized by namespace
140
+ */
141
+ createFactoriesFromSources(sourceConfigs, namespaces) {
142
+ this.logger.debug(`Creating factories from ${sourceConfigs.size} sources`);
143
+ const factories = [];
144
+ if (namespaces && namespaces.length > 0) {
145
+ // Create namespaced factories
146
+ for (const namespace of namespaces) {
147
+ const namespaceConfig = this.extractNamespaceConfig(sourceConfigs, namespace);
148
+ if (Object.keys(namespaceConfig).length > 0) {
149
+ const factory = this.createFactory(namespace, namespaceConfig);
150
+ factories.push(factory);
151
+ }
152
+ }
153
+ }
154
+ else {
155
+ // Create a single factory with all configuration
156
+ const mergedConfig = this.mergeSourceConfigs(sourceConfigs);
157
+ if (Object.keys(mergedConfig).length > 0) {
158
+ const factory = this.createFactory('', mergedConfig);
159
+ factories.push(factory);
160
+ }
161
+ }
162
+ this.logger.debug(`Created ${factories.length} factories from sources`);
163
+ return factories;
164
+ }
165
+ /**
166
+ * Create configuration factories from sources with precedence rules.
167
+ * @param sources - Array of configuration sources
168
+ * @param precedenceRule - Precedence rule to apply
169
+ * @param namespaces - Optional list of namespaces to organize configuration
170
+ * @returns Array of configuration factories
171
+ */
172
+ createFactoriesWithPrecedence(sources, precedenceRule, namespaces) {
173
+ this.logger.debug(`Creating factories with precedence rule: ${precedenceRule}`);
174
+ // Validate sources first
175
+ const validation = this.precedenceHandler.validateSources(sources);
176
+ if (!validation.valid) {
177
+ this.logger.error('Invalid sources provided:', validation.issues);
178
+ throw new Error(`Invalid configuration sources: ${validation.issues.join(', ')}`);
179
+ }
180
+ const factories = [];
181
+ if (namespaces && namespaces.length > 0) {
182
+ // Create namespaced factories with precedence
183
+ for (const namespace of namespaces) {
184
+ const namespaceSources = this.extractNamespaceSources(sources, namespace);
185
+ if (namespaceSources.length > 0) {
186
+ const mergedConfig = this.precedenceHandler.applyPrecedenceRules(namespaceSources, precedenceRule);
187
+ const factory = this.createAwsConfigurationFactory(namespace, mergedConfig, namespaceSources, precedenceRule);
188
+ factories.push(factory);
189
+ }
190
+ }
191
+ }
192
+ else {
193
+ // Create a single factory with all configuration
194
+ const mergedConfig = this.precedenceHandler.applyPrecedenceRules(sources, precedenceRule);
195
+ const factory = this.createAwsConfigurationFactory(undefined, mergedConfig, sources, precedenceRule);
196
+ factories.push(factory);
197
+ }
198
+ this.logger.debug(`Created ${factories.length} factories with precedence`);
199
+ return factories;
200
+ }
201
+ /**
202
+ * Merge configuration with explicit precedence rule.
203
+ * @param sources - Configuration sources
204
+ * @param precedenceRule - Precedence rule to apply
205
+ * @returns Merged configuration data
206
+ */
207
+ mergeWithPrecedence(sources, precedenceRule) {
208
+ this.logger.debug(`Merging ${sources.length} sources with precedence: ${precedenceRule}`);
209
+ const validation = this.precedenceHandler.validateSources(sources);
210
+ if (!validation.valid) {
211
+ this.logger.error('Invalid sources provided:', validation.issues);
212
+ throw new Error(`Invalid configuration sources: ${validation.issues.join(', ')}`);
213
+ }
214
+ return this.precedenceHandler.applyPrecedenceRules(sources, precedenceRule);
215
+ }
216
+ /**
217
+ * Process configuration values to handle special cases and transformations.
218
+ * @param config - Raw configuration object
219
+ * @returns Processed configuration object
220
+ */
221
+ processConfigurationValues(config) {
222
+ const processed = {};
223
+ for (const [key, value] of Object.entries(config)) {
224
+ processed[key] = this.processValue(value);
225
+ }
226
+ return processed;
227
+ }
228
+ /**
229
+ * Process individual configuration values.
230
+ * @param value - The value to process
231
+ * @returns Processed value
232
+ */
233
+ processValue(value) {
234
+ if (value === null || value === undefined) {
235
+ return value;
236
+ }
237
+ // Handle string values that might need type conversion
238
+ if (typeof value === 'string') {
239
+ return this.convertStringValue(value);
240
+ }
241
+ // Handle nested objects
242
+ if (typeof value === 'object' && !Array.isArray(value)) {
243
+ return this.processConfigurationValues(value);
244
+ }
245
+ // Handle arrays
246
+ if (Array.isArray(value)) {
247
+ return value.map(item => this.processValue(item));
248
+ }
249
+ return value;
250
+ }
251
+ /**
252
+ * Convert string values to appropriate types.
253
+ * @param value - String value to convert
254
+ * @returns Converted value
255
+ */
256
+ convertStringValue(value) {
257
+ // Handle boolean strings
258
+ if (value.toLowerCase() === 'true')
259
+ return true;
260
+ if (value.toLowerCase() === 'false')
261
+ return false;
262
+ // Handle numeric strings
263
+ if (/^\d+$/.test(value)) {
264
+ const num = parseInt(value, 10);
265
+ return isNaN(num) ? value : num;
266
+ }
267
+ if (/^\d*\.\d+$/.test(value)) {
268
+ const num = parseFloat(value);
269
+ return isNaN(num) ? value : num;
270
+ }
271
+ // Handle JSON strings
272
+ if ((value.startsWith('{') && value.endsWith('}')) ||
273
+ (value.startsWith('[') && value.endsWith(']'))) {
274
+ try {
275
+ return JSON.parse(value);
276
+ }
277
+ catch {
278
+ // If parsing fails, return as string
279
+ return value;
280
+ }
281
+ }
282
+ return value;
283
+ }
284
+ /**
285
+ * Validate if a namespace configuration is valid.
286
+ * @param namespace - The namespace name
287
+ * @param config - The configuration data
288
+ * @returns True if valid, false otherwise
289
+ */
290
+ isValidNamespaceConfig(namespace, config) {
291
+ return typeof namespace === 'string' &&
292
+ namespace.trim() !== '' &&
293
+ config !== null &&
294
+ config !== undefined &&
295
+ typeof config === 'object' &&
296
+ !Array.isArray(config);
297
+ }
298
+ /**
299
+ * Deep merge two configuration objects.
300
+ * @param target - Target object
301
+ * @param source - Source object
302
+ * @returns Merged object
303
+ */
304
+ deepMerge(target, source) {
305
+ const result = { ...target };
306
+ for (const [key, value] of Object.entries(source)) {
307
+ if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
308
+ if (result[key] && typeof result[key] === 'object' && !Array.isArray(result[key])) {
309
+ result[key] = this.deepMerge(result[key], value);
310
+ }
311
+ else {
312
+ result[key] = { ...value };
313
+ }
314
+ }
315
+ else {
316
+ result[key] = value;
317
+ }
318
+ }
319
+ return result;
320
+ }
321
+ /**
322
+ * Extract configuration for a specific namespace from multiple sources.
323
+ * @param sourceConfigs - Map of source configurations
324
+ * @param namespace - Target namespace
325
+ * @returns Configuration for the namespace
326
+ */
327
+ extractNamespaceConfig(sourceConfigs, namespace) {
328
+ let namespaceConfig = {};
329
+ for (const [sourceName, config] of sourceConfigs) {
330
+ if (config[namespace]) {
331
+ namespaceConfig = this.deepMerge(namespaceConfig, config[namespace]);
332
+ this.logger.debug(`Extracted ${namespace} config from source: ${sourceName}`);
333
+ }
334
+ }
335
+ return namespaceConfig;
336
+ }
337
+ /**
338
+ * Merge configuration from multiple sources.
339
+ * @param sourceConfigs - Map of source configurations
340
+ * @returns Merged configuration
341
+ */
342
+ mergeSourceConfigs(sourceConfigs) {
343
+ let mergedConfig = {};
344
+ for (const [sourceName, config] of sourceConfigs) {
345
+ mergedConfig = this.deepMerge(mergedConfig, config);
346
+ this.logger.debug(`Merged config from source: ${sourceName}`);
347
+ }
348
+ return mergedConfig;
349
+ }
350
+ /**
351
+ * Extract sources for a specific namespace.
352
+ * @param sources - All configuration sources
353
+ * @param namespace - Target namespace
354
+ * @returns Sources filtered for the namespace
355
+ */
356
+ extractNamespaceSources(sources, namespace) {
357
+ const namespaceSources = [];
358
+ for (const source of sources) {
359
+ if (source.namespace === namespace || source.data[namespace]) {
360
+ const namespaceData = source.namespace === namespace ? source.data : source.data[namespace];
361
+ if (namespaceData && typeof namespaceData === 'object') {
362
+ namespaceSources.push({
363
+ ...source,
364
+ data: namespaceData,
365
+ namespace: namespace
366
+ });
367
+ }
368
+ }
369
+ }
370
+ return namespaceSources;
371
+ }
372
+ };
373
+ ConfigurationFactoryProviderImpl = ConfigurationFactoryProviderImpl_1 = __decorate([
374
+ Injectable(),
375
+ __param(1, Optional()),
376
+ __param(1, Inject(NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS)),
377
+ __metadata("design:paramtypes", [PrecedenceHandlerService, Object])
378
+ ], ConfigurationFactoryProviderImpl);
379
+ export { ConfigurationFactoryProviderImpl };
380
+ //# sourceMappingURL=configuration-factory.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-factory.provider.js","sourceRoot":"","sources":["../../../../src/integration/providers/configuration-factory.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Integration providers exports
2
+ export * from './configuration-factory.provider';
3
+ export * from './aws-configuration-loader.service';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration/providers/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}