@dyanet/nestjs-config-aws 1.2.1 → 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 (230) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -43
  3. package/dist/cjs/aws-config-loader.js +57 -0
  4. package/dist/cjs/build-loaders.js +58 -0
  5. package/dist/cjs/config.module.js +138 -0
  6. package/dist/cjs/index.js +46 -0
  7. package/dist/cjs/interfaces/config-service.interface.js +11 -0
  8. package/dist/cjs/interfaces/default-schema.interface.js +63 -0
  9. package/dist/cjs/{nestjs-config-aws/src/interfaces → interfaces}/index.js +1 -1
  10. package/dist/cjs/interfaces/module-options.interface.js +3 -0
  11. package/dist/cjs/package.json +3 -0
  12. package/dist/cjs/services/config.service.js +142 -0
  13. package/dist/esm/aws-config-loader.js +54 -0
  14. package/dist/esm/build-loaders.js +55 -0
  15. package/dist/esm/config.module.js +135 -0
  16. package/dist/esm/index.js +18 -0
  17. package/dist/esm/interfaces/config-service.interface.js +7 -0
  18. package/dist/esm/interfaces/default-schema.interface.js +59 -0
  19. package/dist/esm/interfaces/index.js +8 -0
  20. package/dist/esm/interfaces/module-options.interface.js +2 -0
  21. package/dist/esm/package.json +3 -1
  22. package/dist/esm/services/config.service.js +139 -0
  23. package/dist/types/aws-config-loader.d.ts +74 -0
  24. package/dist/types/aws-config-loader.d.ts.map +1 -0
  25. package/dist/types/build-loaders.d.ts +30 -0
  26. package/dist/types/build-loaders.d.ts.map +1 -0
  27. package/dist/types/{nestjs-config-aws/src/config.module.d.ts → config.module.d.ts} +2 -8
  28. package/dist/types/config.module.d.ts.map +1 -0
  29. package/dist/types/index.d.ts +10 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/types/interfaces/config-service.interface.d.ts.map +1 -0
  32. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/default-schema.interface.d.ts +14 -14
  33. package/dist/types/interfaces/default-schema.interface.d.ts.map +1 -0
  34. package/dist/types/interfaces/index.d.ts.map +1 -0
  35. package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/module-options.interface.d.ts +22 -3
  36. package/dist/types/interfaces/module-options.interface.d.ts.map +1 -0
  37. package/dist/types/services/config.service.d.ts.map +1 -0
  38. package/package.json +13 -7
  39. package/dist/cjs/config-aws/src/config-manager.js +0 -366
  40. package/dist/cjs/config-aws/src/errors/index.js +0 -77
  41. package/dist/cjs/config-aws/src/index.js +0 -37
  42. package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +0 -3
  43. package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +0 -3
  44. package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +0 -3
  45. package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +0 -3
  46. package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +0 -3
  47. package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -3
  48. package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -3
  49. package/dist/cjs/config-aws/src/loaders/env-file.loader.js +0 -169
  50. package/dist/cjs/config-aws/src/loaders/environment.loader.js +0 -85
  51. package/dist/cjs/config-aws/src/loaders/s3.loader.js +0 -145
  52. package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +0 -169
  53. package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -199
  54. package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +0 -98
  55. package/dist/cjs/config-aws/src/utils/validation.util.js +0 -116
  56. package/dist/cjs/nestjs-config-aws/src/config.module.js +0 -175
  57. package/dist/cjs/nestjs-config-aws/src/index.js +0 -61
  58. package/dist/cjs/nestjs-config-aws/src/integration/index.js +0 -23
  59. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -3
  60. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -3
  61. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/index.js +0 -26
  62. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -3
  63. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -3
  64. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
  65. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -3
  66. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -4
  67. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -52
  68. package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -124
  69. package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -592
  70. package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -385
  71. package/dist/cjs/nestjs-config-aws/src/integration/providers/index.js +0 -20
  72. package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -366
  73. package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -267
  74. package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -517
  75. package/dist/cjs/nestjs-config-aws/src/integration/services/index.js +0 -26
  76. package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -81
  77. package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -465
  78. package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -318
  79. package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -292
  80. package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -595
  81. package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -283
  82. package/dist/cjs/nestjs-config-aws/src/integration/utils/index.js +0 -19
  83. package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -11
  84. package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -63
  85. package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -3
  86. package/dist/cjs/nestjs-config-aws/src/services/config.service.js +0 -142
  87. package/dist/esm/config-aws/src/config-manager.js +0 -362
  88. package/dist/esm/config-aws/src/errors/index.js +0 -69
  89. package/dist/esm/config-aws/src/index.js +0 -21
  90. package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +0 -2
  91. package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +0 -2
  92. package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +0 -2
  93. package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +0 -2
  94. package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +0 -2
  95. package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +0 -2
  96. package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +0 -2
  97. package/dist/esm/config-aws/src/loaders/env-file.loader.js +0 -132
  98. package/dist/esm/config-aws/src/loaders/environment.loader.js +0 -81
  99. package/dist/esm/config-aws/src/loaders/s3.loader.js +0 -141
  100. package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +0 -165
  101. package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +0 -195
  102. package/dist/esm/config-aws/src/utils/env-file-parser.util.js +0 -94
  103. package/dist/esm/config-aws/src/utils/validation.util.js +0 -112
  104. package/dist/esm/nestjs-config-aws/src/config.module.js +0 -172
  105. package/dist/esm/nestjs-config-aws/src/index.js +0 -23
  106. package/dist/esm/nestjs-config-aws/src/integration/index.js +0 -7
  107. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +0 -2
  108. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +0 -2
  109. package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +0 -10
  110. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +0 -2
  111. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +0 -2
  112. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
  113. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +0 -2
  114. package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +0 -3
  115. package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +0 -44
  116. package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +0 -121
  117. package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +0 -589
  118. package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +0 -382
  119. package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +0 -4
  120. package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +0 -363
  121. package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +0 -264
  122. package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +0 -514
  123. package/dist/esm/nestjs-config-aws/src/integration/services/index.js +0 -10
  124. package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +0 -78
  125. package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +0 -462
  126. package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +0 -315
  127. package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +0 -289
  128. package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +0 -589
  129. package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +0 -240
  130. package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +0 -3
  131. package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +0 -7
  132. package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +0 -59
  133. package/dist/esm/nestjs-config-aws/src/interfaces/index.js +0 -8
  134. package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +0 -2
  135. package/dist/esm/nestjs-config-aws/src/services/config.service.js +0 -139
  136. package/dist/types/config-aws/src/config-manager.d.ts +0 -119
  137. package/dist/types/config-aws/src/config-manager.d.ts.map +0 -1
  138. package/dist/types/config-aws/src/errors/index.d.ts +0 -43
  139. package/dist/types/config-aws/src/errors/index.d.ts.map +0 -1
  140. package/dist/types/config-aws/src/index.d.ts +0 -24
  141. package/dist/types/config-aws/src/index.d.ts.map +0 -1
  142. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +0 -33
  143. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +0 -1
  144. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +0 -86
  145. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +0 -1
  146. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +0 -12
  147. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +0 -1
  148. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +0 -10
  149. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +0 -1
  150. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +0 -14
  151. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +0 -1
  152. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +0 -12
  153. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +0 -1
  154. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +0 -14
  155. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +0 -1
  156. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +0 -69
  157. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +0 -1
  158. package/dist/types/config-aws/src/loaders/environment.loader.d.ts +0 -46
  159. package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +0 -1
  160. package/dist/types/config-aws/src/loaders/s3.loader.d.ts +0 -62
  161. package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +0 -1
  162. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +0 -68
  163. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +0 -1
  164. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +0 -78
  165. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
  166. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +0 -45
  167. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +0 -1
  168. package/dist/types/config-aws/src/utils/validation.util.d.ts +0 -53
  169. package/dist/types/config-aws/src/utils/validation.util.d.ts.map +0 -1
  170. package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +0 -1
  171. package/dist/types/nestjs-config-aws/src/index.d.ts +0 -11
  172. package/dist/types/nestjs-config-aws/src/index.d.ts.map +0 -1
  173. package/dist/types/nestjs-config-aws/src/integration/index.d.ts +0 -6
  174. package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +0 -1
  175. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts +0 -71
  176. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
  177. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts +0 -24
  178. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
  179. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts +0 -9
  180. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +0 -1
  181. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts +0 -66
  182. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +0 -1
  183. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts +0 -17
  184. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +0 -1
  185. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts +0 -332
  186. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
  187. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts +0 -259
  188. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
  189. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts +0 -209
  190. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
  191. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts +0 -249
  192. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +0 -1
  193. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts +0 -36
  194. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +0 -1
  195. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts +0 -134
  196. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
  197. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts +0 -119
  198. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +0 -1
  199. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts +0 -3
  200. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +0 -1
  201. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts +0 -84
  202. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +0 -1
  203. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts +0 -84
  204. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +0 -1
  205. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts +0 -158
  206. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +0 -1
  207. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts +0 -9
  208. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +0 -1
  209. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts +0 -41
  210. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +0 -1
  211. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts +0 -192
  212. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +0 -1
  213. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts +0 -87
  214. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
  215. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts +0 -103
  216. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +0 -1
  217. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts +0 -222
  218. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +0 -1
  219. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts +0 -81
  220. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +0 -1
  221. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts +0 -2
  222. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +0 -1
  223. package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +0 -1
  224. package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +0 -1
  225. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +0 -1
  226. package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +0 -1
  227. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +0 -1
  228. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/config-service.interface.d.ts +0 -0
  229. /package/dist/types/{nestjs-config-aws/src/interfaces → interfaces}/index.d.ts +0 -0
  230. /package/dist/types/{nestjs-config-aws/src/services → services}/config.service.d.ts +0 -0
@@ -1,209 +0,0 @@
1
- /**
2
- * Generic type for typed configuration access.
3
- * Provides type safety for configuration values loaded from AWS sources.
4
- */
5
- export interface TypedConfiguration<T = any> {
6
- /** The configuration data with proper typing */
7
- data: T;
8
- /** Namespace for this configuration */
9
- namespace?: string;
10
- /** Whether this configuration was loaded from AWS sources */
11
- fromAws: boolean;
12
- /** Timestamp when this configuration was loaded */
13
- loadedAt: Date;
14
- }
15
- /**
16
- * Generic configuration factory with type safety.
17
- */
18
- export interface TypedConfigurationFactory<T = any> {
19
- /** Type-safe configuration data */
20
- (): T;
21
- }
22
- /**
23
- * Configuration accessor with type safety for AWS-sourced values.
24
- */
25
- export interface TypedConfigurationAccessor {
26
- /**
27
- * Get typed configuration value with type safety.
28
- * @param key - Configuration key (supports dot notation)
29
- * @returns Typed configuration value
30
- */
31
- get<T = any>(key: string): T | undefined;
32
- /**
33
- * Get typed configuration value or throw if not found.
34
- * @param key - Configuration key (supports dot notation)
35
- * @returns Typed configuration value
36
- * @throws Error if key is not found
37
- */
38
- getOrThrow<T = any>(key: string): T;
39
- /**
40
- * Get namespaced typed configuration.
41
- * @param namespace - Configuration namespace
42
- * @returns Typed configuration for the namespace
43
- */
44
- getNamespaced<T = any>(namespace: string): TypedConfiguration<T> | undefined;
45
- /**
46
- * Get namespaced typed configuration or throw if not found.
47
- * @param namespace - Configuration namespace
48
- * @returns Typed configuration for the namespace
49
- * @throws Error if namespace is not found
50
- */
51
- getNamespacedOrThrow<T = any>(namespace: string): TypedConfiguration<T>;
52
- /**
53
- * Check if a configuration key exists.
54
- * @param key - Configuration key (supports dot notation)
55
- * @returns True if key exists, false otherwise
56
- */
57
- has(key: string): boolean;
58
- /**
59
- * Check if a namespace exists.
60
- * @param namespace - Configuration namespace
61
- * @returns True if namespace exists, false otherwise
62
- */
63
- hasNamespace(namespace: string): boolean;
64
- /**
65
- * Get all configuration keys.
66
- * @returns Array of all configuration keys
67
- */
68
- getKeys(): string[];
69
- /**
70
- * Get all namespaces.
71
- * @returns Array of all namespaces
72
- */
73
- getNamespaces(): string[];
74
- }
75
- /**
76
- * Type-safe configuration schema definition.
77
- */
78
- export interface ConfigurationSchema<T = any> {
79
- /** Schema name/identifier */
80
- name: string;
81
- /** Optional namespace for this schema */
82
- namespace?: string;
83
- /** Type definition for the configuration */
84
- type: new () => T;
85
- /** Optional validation function */
86
- validate?: (config: any) => config is T;
87
- /** Optional default values */
88
- defaults?: Partial<T>;
89
- }
90
- /**
91
- * Configuration registry for managing typed configurations.
92
- */
93
- export interface TypedConfigurationRegistry {
94
- /**
95
- * Register a typed configuration schema.
96
- * @param schema - Configuration schema to register
97
- */
98
- register<T>(schema: ConfigurationSchema<T>): void;
99
- /**
100
- * Get a typed configuration by name.
101
- * @param name - Schema name
102
- * @returns Typed configuration or undefined
103
- */
104
- get<T = any>(name: string): TypedConfiguration<T> | undefined;
105
- /**
106
- * Get a typed configuration by name or throw if not found.
107
- * @param name - Schema name
108
- * @returns Typed configuration
109
- * @throws Error if schema is not found
110
- */
111
- getOrThrow<T = any>(name: string): TypedConfiguration<T>;
112
- /**
113
- * Check if a schema is registered.
114
- * @param name - Schema name
115
- * @returns True if schema is registered, false otherwise
116
- */
117
- has(name: string): boolean;
118
- /**
119
- * Get all registered schema names.
120
- * @returns Array of schema names
121
- */
122
- getSchemaNames(): string[];
123
- /**
124
- * Unregister a schema.
125
- * @param name - Schema name to unregister
126
- */
127
- unregister(name: string): void;
128
- /**
129
- * Clear all registered schemas.
130
- */
131
- clear(): void;
132
- }
133
- /**
134
- * Options for typed configuration access.
135
- */
136
- export interface TypedConfigurationOptions {
137
- /** Whether to enable strict type checking */
138
- strictTypes?: boolean;
139
- /** Whether to cache typed configurations */
140
- cache?: boolean;
141
- /** Default namespace for unnamespaced configurations */
142
- defaultNamespace?: string;
143
- /** Whether to throw on type validation failures */
144
- throwOnValidationError?: boolean;
145
- }
146
- /**
147
- * Utility type for extracting configuration type from a factory.
148
- */
149
- export type ConfigurationType<T> = T extends TypedConfigurationFactory<infer U> ? U : never;
150
- /**
151
- * Utility type for creating strongly typed configuration objects.
152
- */
153
- export type StronglyTypedConfig<T extends Record<string, any>> = {
154
- readonly [K in keyof T]: T[K];
155
- };
156
- /**
157
- * Configuration value with metadata about its source and type.
158
- */
159
- export interface ConfigurationValue<T = any> {
160
- /** The actual configuration value */
161
- value: T;
162
- /** Source of this configuration value */
163
- source: 'environment' | 'secrets-manager' | 'ssm' | 'local-file';
164
- /** Whether this value came from AWS */
165
- fromAws: boolean;
166
- /** Namespace this value belongs to */
167
- namespace?: string;
168
- /** Original key used to access this value */
169
- key: string;
170
- /** Type of the value */
171
- type: string;
172
- /** Whether this value was validated */
173
- validated: boolean;
174
- /** Timestamp when this value was loaded */
175
- loadedAt: Date;
176
- }
177
- /**
178
- * Configuration path resolver for nested configuration access.
179
- */
180
- export interface ConfigurationPathResolver {
181
- /**
182
- * Resolve a configuration path to its value.
183
- * @param path - Configuration path (supports dot notation)
184
- * @param config - Configuration object to resolve against
185
- * @returns Resolved value or undefined
186
- */
187
- resolve<T = any>(path: string, config: Record<string, any>): T | undefined;
188
- /**
189
- * Set a value at a configuration path.
190
- * @param path - Configuration path (supports dot notation)
191
- * @param value - Value to set
192
- * @param config - Configuration object to modify
193
- */
194
- set<T = any>(path: string, value: T, config: Record<string, any>): void;
195
- /**
196
- * Check if a configuration path exists.
197
- * @param path - Configuration path (supports dot notation)
198
- * @param config - Configuration object to check
199
- * @returns True if path exists, false otherwise
200
- */
201
- exists(path: string, config: Record<string, any>): boolean;
202
- /**
203
- * Get all paths in a configuration object.
204
- * @param config - Configuration object to analyze
205
- * @returns Array of all configuration paths
206
- */
207
- getAllPaths(config: Record<string, any>): string[];
208
- }
209
- //# sourceMappingURL=typed-configuration.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typed-configuration.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/typed-configuration.interface.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG;IACzC,gDAAgD;IAChD,IAAI,EAAE,CAAC,CAAC;IACR,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB,CAAC,CAAC,GAAG,GAAG;IAChD,mCAAmC;IACnC,IAAI,CAAC,CAAC;CACP;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;OAIG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAEpC;;;;OAIG;IACH,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE7E;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAExE;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1B;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;;OAGG;IACH,OAAO,IAAI,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,aAAa,IAAI,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,GAAG;IAC1C,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,IAAI,EAAE,UAAU,CAAC,CAAC;IAClB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC;IACxC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElD;;;;OAIG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAE9D;;;;;OAKG;IACH,UAAU,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEzD;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3B;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,yBAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;IAC/D,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG;IACzC,qCAAqC;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,yCAAyC;IACzC,MAAM,EAAE,aAAa,GAAG,iBAAiB,GAAG,KAAK,GAAG,YAAY,CAAC;IACjE,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE3E;;;;;OAKG;IACH,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAExE;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;IAE3D;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;CACpD"}
@@ -1,249 +0,0 @@
1
- /**
2
- * Utility types for enhanced TypeScript support in nest-config-aws integration.
3
- */
4
- /**
5
- * Deep readonly type for configuration objects.
6
- */
7
- export type DeepReadonly<T> = {
8
- readonly [P in keyof T]: T[P] extends (infer U)[] ? DeepReadonlyArray<U> : T[P] extends object ? DeepReadonly<T[P]> : T[P];
9
- };
10
- /**
11
- * Deep readonly array type.
12
- */
13
- export interface DeepReadonlyArray<T> extends ReadonlyArray<DeepReadonly<T>> {
14
- }
15
- /**
16
- * Partial deep type for configuration objects.
17
- */
18
- export type PartialDeep<T> = {
19
- [P in keyof T]?: T[P] extends (infer U)[] ? PartialDeepArray<U> : T[P] extends object ? PartialDeep<T[P]> : T[P];
20
- };
21
- /**
22
- * Partial deep array type.
23
- */
24
- export interface PartialDeepArray<T> extends Array<PartialDeep<T>> {
25
- }
26
- /**
27
- * Required deep type for configuration objects.
28
- */
29
- export type RequiredDeep<T> = {
30
- [P in keyof T]-?: T[P] extends (infer U)[] ? RequiredDeepArray<U> : T[P] extends object ? RequiredDeep<T[P]> : T[P];
31
- };
32
- /**
33
- * Required deep array type.
34
- */
35
- export interface RequiredDeepArray<T> extends Array<RequiredDeep<T>> {
36
- }
37
- /**
38
- * Configuration path type for dot notation access.
39
- */
40
- export type ConfigPath<T, K extends keyof T = keyof T> = K extends string ? T[K] extends Record<string, any> ? `${K}` | `${K}.${ConfigPath<T[K]>}` : `${K}` : never;
41
- /**
42
- * Configuration value type for a given path.
43
- */
44
- export type ConfigValue<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? ConfigValue<T[K], Rest> : never : P extends keyof T ? T[P] : never;
45
- /**
46
- * AWS configuration source union type.
47
- */
48
- export type AwsConfigSource = 'secrets-manager' | 'ssm';
49
- /**
50
- * Local configuration source union type.
51
- */
52
- export type LocalConfigSource = 'environment' | 'local-file';
53
- /**
54
- * All configuration source union type.
55
- */
56
- export type AllConfigSource = AwsConfigSource | LocalConfigSource;
57
- /**
58
- * Configuration source metadata.
59
- */
60
- export type ConfigSourceMetadata<T extends AllConfigSource> = {
61
- source: T;
62
- isAws: T extends AwsConfigSource ? true : false;
63
- priority: number;
64
- loadedAt: Date;
65
- };
66
- /**
67
- * Configuration with source metadata.
68
- */
69
- export type ConfigWithSource<T, S extends AllConfigSource> = T & {
70
- __metadata: ConfigSourceMetadata<S>;
71
- };
72
- /**
73
- * Extract configuration type from a configuration factory.
74
- */
75
- export type ExtractConfig<T> = T extends () => infer U ? U : never;
76
- /**
77
- * Configuration factory map type.
78
- */
79
- export type ConfigFactoryMap = Record<string, () => any>;
80
- /**
81
- * Extract all configuration types from a factory map.
82
- */
83
- export type ExtractConfigMap<T extends ConfigFactoryMap> = {
84
- [K in keyof T]: ExtractConfig<T[K]>;
85
- };
86
- /**
87
- * Namespace configuration type.
88
- */
89
- export type NamespaceConfig<T extends Record<string, any>> = {
90
- [K in keyof T]: T[K];
91
- };
92
- /**
93
- * Multi-namespace configuration type.
94
- */
95
- export type MultiNamespaceConfig<T extends Record<string, Record<string, any>>> = {
96
- [K in keyof T]: NamespaceConfig<T[K]>;
97
- };
98
- /**
99
- * Configuration validation result.
100
- */
101
- export type ValidationResult<T = any> = {
102
- isValid: boolean;
103
- data?: T;
104
- errors: string[];
105
- };
106
- /**
107
- * Async configuration validation result.
108
- */
109
- export type AsyncValidationResult<T = any> = Promise<ValidationResult<T>>;
110
- /**
111
- * Configuration transformer function type.
112
- */
113
- export type ConfigTransformerFn<TInput, TOutput> = (input: TInput) => TOutput;
114
- /**
115
- * Async configuration transformer function type.
116
- */
117
- export type AsyncConfigTransformerFn<TInput, TOutput> = (input: TInput) => Promise<TOutput>;
118
- /**
119
- * Configuration predicate function type.
120
- */
121
- export type ConfigPredicate<T> = (config: T) => boolean;
122
- /**
123
- * Async configuration predicate function type.
124
- */
125
- export type AsyncConfigPredicate<T> = (config: T) => Promise<boolean>;
126
- /**
127
- * Configuration key extractor type.
128
- */
129
- export type ConfigKeyExtractor<T> = (config: T) => string[];
130
- /**
131
- * Configuration value extractor type.
132
- */
133
- export type ConfigValueExtractor<T, U> = (config: T, key: string) => U | undefined;
134
- /**
135
- * Configuration merger function type.
136
- */
137
- export type ConfigMerger<T> = (primary: T, secondary: T) => T;
138
- /**
139
- * Configuration serializer function type.
140
- */
141
- export type ConfigSerializer<T> = (config: T) => string;
142
- /**
143
- * Configuration deserializer function type.
144
- */
145
- export type ConfigDeserializer<T> = (serialized: string) => T;
146
- /**
147
- * Configuration cache key generator type.
148
- */
149
- export type CacheKeyGenerator<T> = (config: T) => string;
150
- /**
151
- * Configuration cache entry type.
152
- */
153
- export type CacheEntry<T> = {
154
- key: string;
155
- value: T;
156
- timestamp: Date;
157
- ttl?: number;
158
- };
159
- /**
160
- * Configuration cache type.
161
- */
162
- export type ConfigCache<T> = Map<string, CacheEntry<T>>;
163
- /**
164
- * Configuration event type.
165
- */
166
- export type ConfigEventType = 'loaded' | 'updated' | 'error' | 'validated';
167
- /**
168
- * Configuration event handler type.
169
- */
170
- export type ConfigEventHandler<T = any> = (event: ConfigEventType, data: T) => void;
171
- /**
172
- * Async configuration event handler type.
173
- */
174
- export type AsyncConfigEventHandler<T = any> = (event: ConfigEventType, data: T) => Promise<void>;
175
- /**
176
- * Configuration watcher type.
177
- */
178
- export type ConfigWatcher<T> = {
179
- watch: (handler: ConfigEventHandler<T>) => void;
180
- unwatch: (handler: ConfigEventHandler<T>) => void;
181
- stop: () => void;
182
- };
183
- /**
184
- * Configuration builder pattern interface.
185
- */
186
- export interface ConfigBuilder<T> {
187
- /**
188
- * Add a configuration source.
189
- */
190
- addSource(source: AllConfigSource, config: any): ConfigBuilder<T>;
191
- /**
192
- * Set precedence rule.
193
- */
194
- setPrecedence(rule: 'aws-first' | 'local-first' | 'merge'): ConfigBuilder<T>;
195
- /**
196
- * Add namespace.
197
- */
198
- addNamespace(namespace: string): ConfigBuilder<T>;
199
- /**
200
- * Add validation.
201
- */
202
- addValidation(validator: (config: any) => boolean): ConfigBuilder<T>;
203
- /**
204
- * Build the configuration.
205
- */
206
- build(): T;
207
- }
208
- /**
209
- * Configuration fluent API interface.
210
- */
211
- export interface ConfigFluentAPI<T> {
212
- /**
213
- * Filter configuration by predicate.
214
- */
215
- filter(predicate: ConfigPredicate<T>): ConfigFluentAPI<T>;
216
- /**
217
- * Transform configuration.
218
- */
219
- map<U>(transformer: ConfigTransformerFn<T, U>): ConfigFluentAPI<U>;
220
- /**
221
- * Validate configuration.
222
- */
223
- validate(validator: ConfigPredicate<T>): ConfigFluentAPI<T>;
224
- /**
225
- * Get the final configuration.
226
- */
227
- get(): T;
228
- }
229
- /**
230
- * Type guard for AWS configuration sources.
231
- */
232
- export declare const isAwsSource: (source: AllConfigSource) => source is AwsConfigSource;
233
- /**
234
- * Type guard for local configuration sources.
235
- */
236
- export declare const isLocalSource: (source: AllConfigSource) => source is LocalConfigSource;
237
- /**
238
- * Type guard for configuration with metadata.
239
- */
240
- export declare const hasMetadata: <T, S extends AllConfigSource>(config: any) => config is ConfigWithSource<T, S>;
241
- /**
242
- * Type guard for validation result.
243
- */
244
- export declare const isValidationResult: <T>(result: any) => result is ValidationResult<T>;
245
- /**
246
- * Type guard for cache entry.
247
- */
248
- export declare const isCacheEntry: <T>(entry: any) => entry is CacheEntry<T>;
249
- //# sourceMappingURL=utility-types.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utility-types.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/utility-types.interface.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { IntegrationOptions, AsyncIntegrationOptions } from './interfaces/integration-options.interface';
3
- /**
4
- * Token for injecting integration options
5
- */
6
- export declare const NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS = "NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS";
7
- /**
8
- * NestJS module for integrating nestjs-config-aws with @nestjs/config.
9
- * This module provides AWS-sourced configuration values to the standard @nestjs/config module.
10
- */
11
- export declare class NestConfigAwsIntegrationModule {
12
- /**
13
- * Create a synchronous integration module with provided options.
14
- *
15
- * @param options - Integration options for the module
16
- * @returns Dynamic module configuration
17
- */
18
- static forRoot(options?: IntegrationOptions): DynamicModule;
19
- /**
20
- * Create an asynchronous integration module with factory-based options.
21
- * Useful when integration options depend on other services or async operations.
22
- *
23
- * @param options - Async integration options with factory function
24
- * @returns Dynamic module configuration
25
- */
26
- static forRootAsync(options: AsyncIntegrationOptions): DynamicModule;
27
- /**
28
- * Create the standard providers for the integration module.
29
- */
30
- private static createProviders;
31
- /**
32
- * Create providers for asynchronous module registration.
33
- */
34
- private static createAsyncProviders;
35
- }
36
- //# sourceMappingURL=nestjs-config-integration.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nestjs-config-integration.module.d.ts","sourceRoot":"","sources":["../../../../../src/integration/nestjs-config-integration.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAWzG;;GAEG;AACH,eAAO,MAAM,qCAAqC,0CAA0C,CAAC;AAE7F;;;GAGG;AACH,qBAEa,8BAA8B;IACzC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,aAAa;IA0B/D;;;;;;OAMG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,aAAa;IAyBpE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAc9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CASpC"}
@@ -1,134 +0,0 @@
1
- import { IntegrationOptions } from '../interfaces/integration-options.interface';
2
- import { ConfigurationSource } from '../interfaces/configuration-source.interface';
3
- /**
4
- * Service for loading configuration from AWS sources for integration with @nestjs/config.
5
- * Uses existing AWS loaders to fetch configuration and provides namespace-aware loading capabilities.
6
- */
7
- export declare class AwsConfigurationLoaderService {
8
- private readonly logger;
9
- private readonly loaders;
10
- private readonly options;
11
- private readonly errorHandler;
12
- constructor(options?: IntegrationOptions);
13
- /**
14
- * Load configuration from AWS sources.
15
- * @returns Promise resolving to configuration data
16
- */
17
- loadConfiguration(): Promise<Record<string, any>>;
18
- /**
19
- * Load configuration for specific namespaces from AWS sources.
20
- * @param namespaces - Array of namespace names to load
21
- * @returns Promise resolving to namespaced configuration data
22
- */
23
- loadNamespacedConfiguration(namespaces: string[]): Promise<Record<string, Record<string, any>>>;
24
- /**
25
- * Check if AWS services are available.
26
- * @returns Promise resolving to availability status
27
- */
28
- isAvailable(): Promise<boolean>;
29
- /**
30
- * Get all available configuration sources with their metadata.
31
- * @returns Promise resolving to array of configuration sources
32
- */
33
- getAvailableSources(): Promise<ConfigurationSource[]>;
34
- /**
35
- * Create configuration loaders based on integration options.
36
- * @returns Array of configuration loaders
37
- */
38
- private createLoaders;
39
- /**
40
- * Get the source type for a given loader.
41
- * @param loader - The configuration loader
42
- * @returns The configuration source type
43
- */
44
- private getSourceType;
45
- /**
46
- * Get the priority for a given loader based on precedence rules.
47
- * @param loader - The configuration loader
48
- * @returns The priority number (higher = higher priority)
49
- */
50
- private getSourcePriority;
51
- /**
52
- * Extract configuration for a specific namespace from loaded configuration.
53
- * @param config - The loaded configuration
54
- * @param namespace - The namespace to extract
55
- * @returns Configuration values for the namespace
56
- */
57
- private extractNamespaceConfig;
58
- /**
59
- * Extract nested namespace configuration from hierarchical keys.
60
- * @param config - The loaded configuration
61
- * @param namespace - The namespace to extract
62
- * @returns Configuration values for the namespace
63
- */
64
- private extractNestedNamespaceConfig;
65
- /**
66
- * Convert snake_case or kebab-case to camelCase.
67
- * @param str - String to convert
68
- * @returns camelCase string
69
- */
70
- private toCamelCase;
71
- /**
72
- * Convert path segments to nested key structure.
73
- * @param path - Path string (e.g., "host/port")
74
- * @returns Nested key structure
75
- */
76
- private pathToNestedKey;
77
- /**
78
- * Set a nested value in an object using dot notation.
79
- * @param obj - Target object
80
- * @param path - Dot notation path
81
- * @param value - Value to set
82
- */
83
- private setNestedValue;
84
- /**
85
- * Get the Secrets Manager path based on configuration.
86
- * @returns The secrets manager path
87
- */
88
- private getSecretsManagerPath;
89
- /**
90
- * Get the SSM Parameter Store path based on configuration.
91
- * @returns The SSM parameter path
92
- */
93
- private getSSMParameterPath;
94
- /**
95
- * Check if an error is an AWS service error.
96
- * @param error - The error to check
97
- * @returns Whether the error is from an AWS service
98
- */
99
- private isAwsServiceError;
100
- /**
101
- * Handle AWS-specific errors with appropriate strategies.
102
- * @param loader - The loader that encountered the error
103
- * @param error - The AWS error
104
- * @returns Whether to continue processing
105
- */
106
- private handleAwsSpecificError;
107
- /**
108
- * Get the service name for a loader.
109
- * @param loader - The configuration loader
110
- * @returns The service name
111
- */
112
- private getServiceName;
113
- /**
114
- * Get the resource name for a loader.
115
- * @param loader - The configuration loader
116
- * @returns The resource name
117
- */
118
- private getResourceName;
119
- /**
120
- * Load configuration with retry logic for retryable errors.
121
- * @param loader - The configuration loader
122
- * @param maxRetries - Maximum number of retries
123
- * @returns Promise resolving to configuration data
124
- */
125
- private loadWithRetry;
126
- /**
127
- * Check availability with timeout and error handling.
128
- * @param loader - The configuration loader
129
- * @param timeoutMs - Timeout in milliseconds
130
- * @returns Promise resolving to availability status
131
- */
132
- private checkAvailabilityWithTimeout;
133
- }
134
- //# sourceMappingURL=aws-configuration-loader.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aws-configuration-loader.service.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/providers/aws-configuration-loader.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAA2B,MAAM,8CAA8C,CAAC;AAI5G;;;GAGG;AACH,qBACa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;gBAGN,OAAO,CAAC,EAAE,kBAAkB;IAOzE;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAkFvD;;;;OAIG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IA+ErG;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA6BrC;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsC3D;;;OAGG;IACH,OAAO,CAAC,aAAa;IA8BrB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAYrB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAsBpC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAYtB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAUvB;;;;;OAKG;YACW,aAAa;IA2B3B;;;;;OAKG;YACW,4BAA4B;CAmB3C"}