@dyanet/nestjs-config-aws 1.2.0 → 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 -0
  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 +12 -6
  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,332 +0,0 @@
1
- import { ConfigService } from '@nestjs/config';
2
- import { Type } from '@nestjs/common';
3
- /**
4
- * Enhanced ConfigService that provides AWS integration capabilities.
5
- */
6
- export interface EnhancedConfigService extends ConfigService {
7
- /**
8
- * Get configuration value with AWS source information.
9
- * @param propertyPath - Configuration property path
10
- * @param defaultValue - Default value if property is not found
11
- * @returns Configuration value with source metadata
12
- */
13
- getWithSource<T = any>(propertyPath: string, defaultValue?: T): ConfigValueWithSource<T>;
14
- /**
15
- * Get configuration value from AWS sources only.
16
- * @param propertyPath - Configuration property path
17
- * @param defaultValue - Default value if property is not found
18
- * @returns Configuration value from AWS sources
19
- */
20
- getFromAws<T = any>(propertyPath: string, defaultValue?: T): T | undefined;
21
- /**
22
- * Get configuration value from local sources only.
23
- * @param propertyPath - Configuration property path
24
- * @param defaultValue - Default value if property is not found
25
- * @returns Configuration value from local sources
26
- */
27
- getFromLocal<T = any>(propertyPath: string, defaultValue?: T): T | undefined;
28
- /**
29
- * Check if a configuration value comes from AWS sources.
30
- * @param propertyPath - Configuration property path
31
- * @returns True if value comes from AWS, false otherwise
32
- */
33
- isFromAws(propertyPath: string): boolean;
34
- /**
35
- * Get all configuration keys from AWS sources.
36
- * @returns Array of configuration keys from AWS sources
37
- */
38
- getAwsKeys(): string[];
39
- /**
40
- * Get all configuration keys from local sources.
41
- * @returns Array of configuration keys from local sources
42
- */
43
- getLocalKeys(): string[];
44
- /**
45
- * Get configuration source information for a property.
46
- * @param propertyPath - Configuration property path
47
- * @returns Source information or undefined
48
- */
49
- getSourceInfo(propertyPath: string): ConfigSourceInfo | undefined;
50
- /**
51
- * Refresh AWS configuration values.
52
- * @returns Promise that resolves when refresh is complete
53
- */
54
- refreshAwsConfig(): Promise<void>;
55
- /**
56
- * Get configuration health status.
57
- * @returns Configuration health information
58
- */
59
- getHealthStatus(): ConfigHealthStatus;
60
- }
61
- /**
62
- * Configuration value with source metadata.
63
- */
64
- export interface ConfigValueWithSource<T = any> {
65
- /** The configuration value */
66
- value: T;
67
- /** Source information */
68
- source: ConfigSourceInfo;
69
- /** Whether the value was found */
70
- found: boolean;
71
- }
72
- /**
73
- * Configuration source information.
74
- */
75
- export interface ConfigSourceInfo {
76
- /** Source type */
77
- type: 'environment' | 'secrets-manager' | 'ssm' | 'local-file';
78
- /** Whether this is an AWS source */
79
- isAws: boolean;
80
- /** Source priority */
81
- priority: number;
82
- /** Namespace if applicable */
83
- namespace?: string;
84
- /** When the value was loaded */
85
- loadedAt: Date;
86
- /** Original key used to load the value */
87
- originalKey?: string;
88
- }
89
- /**
90
- * Configuration health status.
91
- */
92
- export interface ConfigHealthStatus {
93
- /** Overall health status */
94
- healthy: boolean;
95
- /** AWS services availability */
96
- awsAvailable: boolean;
97
- /** Number of loaded configuration sources */
98
- sourcesLoaded: number;
99
- /** Number of failed sources */
100
- sourcesFailed: number;
101
- /** Last successful AWS load time */
102
- lastAwsLoad?: Date;
103
- /** Any health issues */
104
- issues: string[];
105
- }
106
- /**
107
- * Decorator for injecting enhanced config service.
108
- */
109
- export declare const InjectEnhancedConfig: () => ParameterDecorator;
110
- /**
111
- * Configuration property decorator for type-safe configuration access.
112
- */
113
- export interface ConfigPropertyOptions {
114
- /** Configuration key */
115
- key: string;
116
- /** Default value */
117
- defaultValue?: any;
118
- /** Whether to require the property */
119
- required?: boolean;
120
- /** Validation function */
121
- validate?: (value: any) => boolean;
122
- /** Transformation function */
123
- transform?: (value: any) => any;
124
- /** Whether to prefer AWS sources */
125
- preferAws?: boolean;
126
- }
127
- /**
128
- * Configuration property decorator.
129
- */
130
- export declare function ConfigProperty(options: ConfigPropertyOptions): PropertyDecorator;
131
- /**
132
- * Configuration class decorator for automatic configuration injection.
133
- */
134
- export interface ConfigClassOptions {
135
- /** Configuration namespace */
136
- namespace?: string;
137
- /** Whether to validate all properties */
138
- validate?: boolean;
139
- /** Whether to prefer AWS sources */
140
- preferAws?: boolean;
141
- }
142
- /**
143
- * Configuration class decorator.
144
- */
145
- export declare function ConfigClass(options?: ConfigClassOptions): ClassDecorator;
146
- /**
147
- * Configuration validation decorator.
148
- */
149
- export interface ConfigValidationOptions {
150
- /** Validation schema */
151
- schema?: any;
152
- /** Custom validation function */
153
- validator?: (config: any) => boolean | Promise<boolean>;
154
- /** Whether to throw on validation failure */
155
- throwOnError?: boolean;
156
- }
157
- /**
158
- * Configuration validation decorator.
159
- */
160
- export declare function ValidateConfig(options: ConfigValidationOptions): ClassDecorator;
161
- /**
162
- * Configuration transformer interface.
163
- */
164
- export interface ConfigTransformer<TInput = any, TOutput = any> {
165
- /**
166
- * Transform configuration value.
167
- * @param value - Input value
168
- * @param key - Configuration key
169
- * @returns Transformed value
170
- */
171
- transform(value: TInput, key: string): TOutput;
172
- }
173
- /**
174
- * Configuration transformer decorator.
175
- */
176
- export declare function TransformConfig<TInput, TOutput>(transformer: ConfigTransformer<TInput, TOutput>): PropertyDecorator;
177
- /**
178
- * Configuration factory with enhanced type safety.
179
- */
180
- export interface TypeSafeConfigFactory<T = any> {
181
- (): T;
182
- KEY: string;
183
- asProvider(): {
184
- provide: string;
185
- useFactory: () => T;
186
- inject: [ConfigService];
187
- };
188
- }
189
- /**
190
- * Create a type-safe configuration factory.
191
- */
192
- export declare function createTypeSafeConfigFactory<T>(key: string, factory: (config: ConfigService) => T): TypeSafeConfigFactory<T>;
193
- /**
194
- * Configuration module builder for enhanced setup.
195
- */
196
- export interface ConfigModuleBuilder {
197
- /**
198
- * Add AWS integration.
199
- */
200
- withAwsIntegration(options: any): ConfigModuleBuilder;
201
- /**
202
- * Add configuration factories.
203
- */
204
- withFactories(factories: TypeSafeConfigFactory[]): ConfigModuleBuilder;
205
- /**
206
- * Add validation.
207
- */
208
- withValidation(schema: any): ConfigModuleBuilder;
209
- /**
210
- * Set as global module.
211
- */
212
- asGlobal(): ConfigModuleBuilder;
213
- /**
214
- * Enable caching.
215
- */
216
- withCaching(): ConfigModuleBuilder;
217
- /**
218
- * Build the module.
219
- */
220
- build(): Type<any>;
221
- }
222
- /**
223
- * Configuration testing utilities.
224
- */
225
- export interface ConfigTestingUtils {
226
- /**
227
- * Create a mock config service.
228
- */
229
- createMockConfigService(config: Record<string, any>): EnhancedConfigService;
230
- /**
231
- * Create test configuration module.
232
- */
233
- createTestConfigModule(config: Record<string, any>): Type<any>;
234
- /**
235
- * Mock AWS configuration sources.
236
- */
237
- mockAwsSources(config: Record<string, any>): void;
238
- /**
239
- * Reset all mocks.
240
- */
241
- resetMocks(): void;
242
- }
243
- /**
244
- * Configuration monitoring interface.
245
- */
246
- export interface ConfigMonitor {
247
- /**
248
- * Start monitoring configuration changes.
249
- */
250
- startMonitoring(): void;
251
- /**
252
- * Stop monitoring configuration changes.
253
- */
254
- stopMonitoring(): void;
255
- /**
256
- * Get configuration metrics.
257
- */
258
- getMetrics(): ConfigMetrics;
259
- /**
260
- * Subscribe to configuration events.
261
- */
262
- subscribe(callback: (event: ConfigEvent) => void): () => void;
263
- }
264
- /**
265
- * Configuration metrics.
266
- */
267
- export interface ConfigMetrics {
268
- /** Total configuration loads */
269
- totalLoads: number;
270
- /** Successful AWS loads */
271
- successfulAwsLoads: number;
272
- /** Failed AWS loads */
273
- failedAwsLoads: number;
274
- /** Average load time */
275
- averageLoadTime: number;
276
- /** Last load time */
277
- lastLoadTime?: Date;
278
- /** Configuration cache hit rate */
279
- cacheHitRate: number;
280
- }
281
- /**
282
- * Configuration event.
283
- */
284
- export interface ConfigEvent {
285
- /** Event type */
286
- type: 'loaded' | 'updated' | 'error' | 'validated';
287
- /** Event timestamp */
288
- timestamp: Date;
289
- /** Event data */
290
- data: any;
291
- /** Source of the event */
292
- source: string;
293
- }
294
- /**
295
- * Configuration audit log entry.
296
- */
297
- export interface ConfigAuditEntry {
298
- /** Audit entry ID */
299
- id: string;
300
- /** Timestamp */
301
- timestamp: Date;
302
- /** Action performed */
303
- action: 'load' | 'update' | 'delete' | 'validate';
304
- /** Configuration key affected */
305
- key: string;
306
- /** Old value (for updates) */
307
- oldValue?: any;
308
- /** New value */
309
- newValue?: any;
310
- /** Source of the change */
311
- source: string;
312
- /** User or system that made the change */
313
- actor: string;
314
- }
315
- /**
316
- * Configuration audit logger.
317
- */
318
- export interface ConfigAuditLogger {
319
- /**
320
- * Log a configuration change.
321
- */
322
- log(entry: Omit<ConfigAuditEntry, 'id' | 'timestamp'>): void;
323
- /**
324
- * Get audit log entries.
325
- */
326
- getEntries(filter?: Partial<ConfigAuditEntry>): ConfigAuditEntry[];
327
- /**
328
- * Clear audit log.
329
- */
330
- clear(): void;
331
- }
332
- //# sourceMappingURL=nestjs-config-compatibility.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nestjs-config-compatibility.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/nestjs-config-compatibility.interface.ts"],"names":[],"mappings":"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"}
@@ -1,259 +0,0 @@
1
- import { ConfigFactory, ConfigModuleOptions } from '@nestjs/config';
2
- import { DynamicModule, ModuleMetadata, Type } from '@nestjs/common';
3
- import { IntegrationOptions } from './integration-options.interface';
4
- import { ConfigurationSource } from './configuration-source.interface';
5
- import { TypedConfiguration, ConfigurationSchema } from './typed-configuration.interface';
6
- /**
7
- * Enhanced module options that extend @nestjs/config options with AWS integration.
8
- */
9
- export interface EnhancedConfigModuleOptions extends ConfigModuleOptions {
10
- /** AWS integration options */
11
- awsIntegration?: IntegrationOptions;
12
- /** Whether to enable AWS configuration loading */
13
- enableAwsIntegration?: boolean;
14
- /** Custom configuration schemas for type safety */
15
- schemas?: ConfigurationSchema[];
16
- }
17
- /**
18
- * Factory function type for creating enhanced configuration modules.
19
- */
20
- export type EnhancedConfigModuleFactory = (options?: EnhancedConfigModuleOptions) => DynamicModule;
21
- /**
22
- * Async factory function type for creating enhanced configuration modules.
23
- */
24
- export type EnhancedAsyncConfigModuleFactory = (options: EnhancedAsyncConfigModuleOptions) => DynamicModule;
25
- /**
26
- * Async options for enhanced configuration module.
27
- */
28
- export interface EnhancedAsyncConfigModuleOptions extends ModuleMetadata {
29
- /** Factory function to create enhanced configuration options */
30
- useFactory?: (...args: any[]) => Promise<EnhancedConfigModuleOptions> | EnhancedConfigModuleOptions;
31
- /** Class to use as factory */
32
- useClass?: Type<EnhancedConfigModuleOptionsFactory>;
33
- /** Existing instance to use as factory */
34
- useExisting?: Type<EnhancedConfigModuleOptionsFactory>;
35
- /** Dependencies to inject into the factory function */
36
- inject?: any[];
37
- }
38
- /**
39
- * Factory interface for creating enhanced configuration module options.
40
- */
41
- export interface EnhancedConfigModuleOptionsFactory {
42
- /**
43
- * Create enhanced configuration module options.
44
- * @returns Enhanced configuration module options
45
- */
46
- createConfigOptions(): Promise<EnhancedConfigModuleOptions> | EnhancedConfigModuleOptions;
47
- }
48
- /**
49
- * Integration service interface for managing AWS and @nestjs/config integration.
50
- */
51
- export interface NestJSConfigIntegrationService {
52
- /**
53
- * Initialize the integration with @nestjs/config.
54
- * @param options - Integration options
55
- */
56
- initialize(options: IntegrationOptions): Promise<void>;
57
- /**
58
- * Register configuration factories with @nestjs/config.
59
- * @param factories - Configuration factories to register
60
- */
61
- registerFactories(factories: ConfigFactory[]): Promise<void>;
62
- /**
63
- * Get configuration from AWS sources and format for @nestjs/config.
64
- * @param namespaces - Optional namespaces to load
65
- * @returns Configuration data organized for @nestjs/config
66
- */
67
- getConfigurationForNestJS(namespaces?: string[]): Promise<Record<string, any>>;
68
- /**
69
- * Create configuration factories from AWS sources.
70
- * @param sources - Configuration sources from AWS
71
- * @param namespaces - Optional namespaces to organize configuration
72
- * @returns Array of configuration factories
73
- */
74
- createFactoriesFromAwsSources(sources: ConfigurationSource[], namespaces?: string[]): ConfigFactory[];
75
- /**
76
- * Merge AWS configuration with existing @nestjs/config configuration.
77
- * @param awsConfig - Configuration from AWS sources
78
- * @param existingConfig - Existing @nestjs/config configuration
79
- * @returns Merged configuration
80
- */
81
- mergeWithExistingConfig(awsConfig: Record<string, any>, existingConfig: Record<string, any>): Record<string, any>;
82
- /**
83
- * Validate configuration using @nestjs/config validation patterns.
84
- * @param config - Configuration to validate
85
- * @param validationSchema - Optional validation schema
86
- * @returns Validation result
87
- */
88
- validateConfiguration(config: Record<string, any>, validationSchema?: any): Promise<boolean>;
89
- /**
90
- * Get typed configuration with full type safety.
91
- * @param key - Configuration key or namespace
92
- * @returns Typed configuration
93
- */
94
- getTypedConfiguration<T = any>(key: string): TypedConfiguration<T> | undefined;
95
- /**
96
- * Check if the integration is properly initialized.
97
- * @returns True if initialized, false otherwise
98
- */
99
- isInitialized(): boolean;
100
- /**
101
- * Get integration status and health information.
102
- * @returns Integration status information
103
- */
104
- getStatus(): IntegrationStatus;
105
- }
106
- /**
107
- * Integration status information.
108
- */
109
- export interface IntegrationStatus {
110
- /** Whether the integration is initialized */
111
- initialized: boolean;
112
- /** Whether AWS services are available */
113
- awsAvailable: boolean;
114
- /** Number of configuration sources loaded */
115
- sourcesLoaded: number;
116
- /** Number of factories registered */
117
- factoriesRegistered: number;
118
- /** Any errors encountered */
119
- errors: string[];
120
- /** Last update timestamp */
121
- lastUpdated: Date;
122
- }
123
- /**
124
- * Configuration loader interface for AWS integration with @nestjs/config.
125
- */
126
- export interface AwsConfigurationLoader {
127
- /**
128
- * Load configuration from AWS sources for @nestjs/config integration.
129
- * @param options - Integration options
130
- * @returns Promise resolving to configuration data
131
- */
132
- loadForNestJSConfig(options: IntegrationOptions): Promise<Record<string, any>>;
133
- /**
134
- * Load namespaced configuration from AWS sources.
135
- * @param namespaces - Namespaces to load
136
- * @param options - Integration options
137
- * @returns Promise resolving to namespaced configuration data
138
- */
139
- loadNamespacedForNestJSConfig(namespaces: string[], options: IntegrationOptions): Promise<Record<string, Record<string, any>>>;
140
- /**
141
- * Check if AWS services are available for configuration loading.
142
- * @returns Promise resolving to availability status
143
- */
144
- checkAwsAvailability(): Promise<boolean>;
145
- /**
146
- * Get configuration sources that are available.
147
- * @param options - Integration options
148
- * @returns Promise resolving to available sources
149
- */
150
- getAvailableSources(options: IntegrationOptions): Promise<string[]>;
151
- }
152
- /**
153
- * Configuration merger interface for handling precedence rules.
154
- */
155
- export interface ConfigurationMerger {
156
- /**
157
- * Merge configurations with precedence rules.
158
- * @param sources - Configuration sources to merge
159
- * @param precedenceRule - Precedence rule to apply
160
- * @returns Merged configuration
161
- */
162
- mergeWithPrecedence(sources: ConfigurationSource[], precedenceRule: 'aws-first' | 'local-first' | 'merge'): Record<string, any>;
163
- /**
164
- * Merge two configuration objects.
165
- * @param primary - Primary configuration (higher precedence)
166
- * @param secondary - Secondary configuration (lower precedence)
167
- * @returns Merged configuration
168
- */
169
- merge(primary: Record<string, any>, secondary: Record<string, any>): Record<string, any>;
170
- /**
171
- * Deep merge configuration objects with conflict resolution.
172
- * @param configs - Array of configuration objects to merge
173
- * @param conflictResolution - How to resolve conflicts
174
- * @returns Merged configuration
175
- */
176
- deepMerge(configs: Record<string, any>[], conflictResolution?: 'first-wins' | 'last-wins' | 'merge-arrays'): Record<string, any>;
177
- }
178
- /**
179
- * Configuration validator interface for AWS-sourced values.
180
- */
181
- export interface AwsConfigurationValidator {
182
- /**
183
- * Validate configuration using Joi schema.
184
- * @param config - Configuration to validate
185
- * @param schema - Joi validation schema
186
- * @returns Validation result
187
- */
188
- validateWithJoi(config: Record<string, any>, schema: any): Promise<boolean>;
189
- /**
190
- * Validate configuration using class-validator.
191
- * @param config - Configuration to validate
192
- * @param validationClass - Class with validation decorators
193
- * @returns Validation result
194
- */
195
- validateWithClassValidator(config: Record<string, any>, validationClass: any): Promise<boolean>;
196
- /**
197
- * Validate configuration using custom validation function.
198
- * @param config - Configuration to validate
199
- * @param validationFn - Custom validation function
200
- * @returns Validation result
201
- */
202
- validateWithCustomFunction(config: Record<string, any>, validationFn: (config: any) => boolean | Promise<boolean>): Promise<boolean>;
203
- /**
204
- * Get validation errors for configuration.
205
- * @param config - Configuration to validate
206
- * @param schema - Validation schema
207
- * @returns Array of validation errors
208
- */
209
- getValidationErrors(config: Record<string, any>, schema: any): string[];
210
- }
211
- /**
212
- * Utility type for extracting configuration type from @nestjs/config factory.
213
- */
214
- export type ExtractConfigType<T> = T extends () => infer U ? U : never;
215
- /**
216
- * Utility type for creating strongly typed configuration service.
217
- */
218
- export type TypedConfigService<T extends Record<string, ConfigFactory>> = {
219
- get<K extends keyof T>(key: K): ExtractConfigType<T[K]> | undefined;
220
- getOrThrow<K extends keyof T>(key: K): ExtractConfigType<T[K]>;
221
- };
222
- /**
223
- * Configuration namespace registry for managing namespaced configurations.
224
- */
225
- export interface ConfigurationNamespaceRegistry {
226
- /**
227
- * Register a namespace with its configuration factory.
228
- * @param namespace - Namespace name
229
- * @param factory - Configuration factory for the namespace
230
- */
231
- register(namespace: string, factory: ConfigFactory): void;
232
- /**
233
- * Get a configuration factory by namespace.
234
- * @param namespace - Namespace name
235
- * @returns Configuration factory or undefined
236
- */
237
- get(namespace: string): ConfigFactory | undefined;
238
- /**
239
- * Check if a namespace is registered.
240
- * @param namespace - Namespace name
241
- * @returns True if registered, false otherwise
242
- */
243
- has(namespace: string): boolean;
244
- /**
245
- * Get all registered namespaces.
246
- * @returns Array of namespace names
247
- */
248
- getNamespaces(): string[];
249
- /**
250
- * Unregister a namespace.
251
- * @param namespace - Namespace name
252
- */
253
- unregister(namespace: string): void;
254
- /**
255
- * Clear all registered namespaces.
256
- */
257
- clear(): void;
258
- }
259
- //# sourceMappingURL=nestjs-config-integration.interface.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nestjs-config-integration.interface.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/interfaces/nestjs-config-integration.interface.ts"],"names":[],"mappings":"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"}