@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,192 +0,0 @@
1
- import { ConfigFactory } from '@nestjs/config';
2
- import { ConfigurationSource } from '../interfaces/configuration-source.interface';
3
- /**
4
- * Service for handling namespace-aware configuration loading and factory creation.
5
- * Provides enhanced namespace support for @nestjs/config integration.
6
- */
7
- export declare class NamespaceHandlerService {
8
- private readonly logger;
9
- /**
10
- * Create a registerAs factory for a specific namespace.
11
- * This method creates a factory that can be used with @nestjs/config's registerAs pattern.
12
- *
13
- * @param namespace - The namespace for the configuration
14
- * @param config - The configuration data for the namespace
15
- * @param sources - Optional configuration sources metadata
16
- * @returns A registerAs factory for the namespace
17
- */
18
- createNamespaceFactory(namespace: string, config: Record<string, any>, sources?: ConfigurationSource[]): ConfigFactory;
19
- /**
20
- * Create multiple namespace factories from configuration data.
21
- *
22
- * @param namespacedConfig - Configuration data organized by namespace
23
- * @param sources - Optional configuration sources metadata
24
- * @returns Array of namespace factories
25
- */
26
- createMultipleNamespaceFactories(namespacedConfig: Record<string, Record<string, any>>, sources?: ConfigurationSource[]): ConfigFactory[];
27
- /**
28
- * Extract namespace configuration from flat configuration using various strategies.
29
- *
30
- * @param config - Flat configuration object
31
- * @param namespace - Target namespace
32
- * @returns Configuration for the namespace
33
- */
34
- extractNamespaceConfig(config: Record<string, any>, namespace: string): Record<string, any>;
35
- /**
36
- * Organize flat configuration into namespaces based on patterns.
37
- *
38
- * @param config - Flat configuration object
39
- * @param namespaces - List of target namespaces
40
- * @returns Configuration organized by namespace
41
- */
42
- organizeConfigByNamespaces(config: Record<string, any>, namespaces: string[]): Record<string, Record<string, any>>;
43
- /**
44
- * Validate namespace access patterns for @nestjs/config compatibility.
45
- *
46
- * @param namespace - Namespace to validate
47
- * @param config - Configuration for the namespace
48
- * @returns Validation result with suggestions
49
- */
50
- validateNamespaceAccess(namespace: string, config: Record<string, any>): {
51
- isValid: boolean;
52
- issues: string[];
53
- suggestions: string[];
54
- };
55
- /**
56
- * Generate access patterns documentation for a namespace.
57
- *
58
- * @param namespace - Namespace name
59
- * @param config - Configuration for the namespace
60
- * @returns Access patterns documentation
61
- */
62
- generateAccessPatterns(namespace: string, config: Record<string, any>): {
63
- namespace: string;
64
- patterns: {
65
- injection: string;
66
- service: string;
67
- direct: string;
68
- };
69
- examples: string[];
70
- };
71
- /**
72
- * Process namespace configuration with validation and transformation.
73
- *
74
- * @param config - Raw configuration for the namespace
75
- * @param namespace - Namespace name
76
- * @returns Processed configuration
77
- */
78
- private processNamespaceConfig;
79
- /**
80
- * Extract configuration using prefix patterns.
81
- *
82
- * @param config - Source configuration
83
- * @param namespace - Target namespace
84
- * @returns Prefixed configuration
85
- */
86
- private extractPrefixedConfig;
87
- /**
88
- * Extract configuration using path patterns.
89
- *
90
- * @param config - Source configuration
91
- * @param namespace - Target namespace
92
- * @returns Path-based configuration
93
- */
94
- private extractPathBasedConfig;
95
- /**
96
- * Extract configuration that doesn't belong to any namespace.
97
- *
98
- * @param config - Source configuration
99
- * @param namespaces - Known namespaces
100
- * @returns Remaining configuration
101
- */
102
- private extractRemainingConfig;
103
- /**
104
- * Add metadata to a factory for introspection.
105
- *
106
- * @param factory - Configuration factory
107
- * @param namespace - Namespace name
108
- * @param config - Configuration data
109
- * @param sources - Configuration sources
110
- */
111
- private addFactoryMetadata;
112
- /**
113
- * Transform configuration values (type conversion, etc.).
114
- *
115
- * @param config - Configuration to transform
116
- */
117
- private transformConfigValues;
118
- /**
119
- * Convert string values to appropriate types.
120
- *
121
- * @param value - String value to convert
122
- * @returns Converted value
123
- */
124
- private convertStringValue;
125
- /**
126
- * Validate processed configuration.
127
- *
128
- * @param config - Configuration to validate
129
- * @param namespace - Namespace name
130
- */
131
- private validateProcessedConfig;
132
- /**
133
- * Convert snake_case or kebab-case to camelCase.
134
- *
135
- * @param str - String to convert
136
- * @returns camelCase string
137
- */
138
- private toCamelCase;
139
- /**
140
- * Convert path segments to nested key structure.
141
- *
142
- * @param path - Path string
143
- * @returns Nested key structure
144
- */
145
- private pathToNestedKey;
146
- /**
147
- * Set a nested value in an object using dot notation.
148
- *
149
- * @param obj - Target object
150
- * @param path - Dot notation path
151
- * @param value - Value to set
152
- */
153
- private setNestedValue;
154
- /**
155
- * Validate namespace name.
156
- *
157
- * @param namespace - Namespace to validate
158
- * @returns Whether namespace is valid
159
- */
160
- private isValidNamespace;
161
- /**
162
- * Check if namespace is reserved.
163
- *
164
- * @param namespace - Namespace to check
165
- * @returns Whether namespace is reserved
166
- */
167
- private isReservedNamespace;
168
- /**
169
- * Validate namespace configuration.
170
- *
171
- * @param namespace - Namespace name
172
- * @param config - Configuration data
173
- * @returns Whether configuration is valid
174
- */
175
- private isValidNamespaceConfig;
176
- /**
177
- * Find key conflicts in configuration.
178
- *
179
- * @param config - Configuration to check
180
- * @returns Array of conflicting keys
181
- */
182
- private findKeyConflicts;
183
- /**
184
- * Generate usage examples for a namespace.
185
- *
186
- * @param namespace - Namespace name
187
- * @param config - Configuration data
188
- * @returns Array of usage examples
189
- */
190
- private generateUsageExamples;
191
- }
192
- //# sourceMappingURL=namespace-handler.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"namespace-handler.service.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/services/namespace-handler.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEnF;;;GAGG;AACH,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE;;;;;;;;OAQG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAC9B,aAAa;IA4BhB;;;;;;OAMG;IACH,gCAAgC,CAC9B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EACrD,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAC9B,aAAa,EAAE;IA6BlB;;;;;;OAMG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAmB3F;;;;;;OAMG;IACH,0BAA0B,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAsBtC;;;;;;OAMG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B;QACD,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB;IAoCD;;;;;;OAMG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB;IAgBD;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAoB9B"}
@@ -1,87 +0,0 @@
1
- import { ConfigFactory, ConfigModuleOptions } from '@nestjs/config';
2
- import { DynamicModule } from '@nestjs/common';
3
- import { FactoryRegistrationService } from './factory-registration.service';
4
- import { IntegrationOptions } from '../interfaces/integration-options.interface';
5
- /**
6
- * Service that provides integration utilities for working with @nestjs/config.
7
- * This service creates ConfigModule configurations that include AWS-sourced factories.
8
- */
9
- export declare class NestjsConfigIntegrationService {
10
- private readonly factoryRegistrationService;
11
- private readonly options;
12
- private readonly logger;
13
- constructor(factoryRegistrationService: FactoryRegistrationService, options?: IntegrationOptions);
14
- /**
15
- * Create a ConfigModule configuration with AWS-sourced factories.
16
- * This method can be used to enhance existing @nestjs/config setups.
17
- *
18
- * @param baseOptions - Base ConfigModule options to enhance
19
- * @returns Promise resolving to enhanced ConfigModule options
20
- */
21
- createConfigModuleOptions(baseOptions?: ConfigModuleOptions): Promise<ConfigModuleOptions>;
22
- /**
23
- * Create a ConfigModule configuration for async setup.
24
- * This method works with ConfigModule.forRootAsync() pattern.
25
- *
26
- * @param baseOptions - Base async ConfigModule options to enhance
27
- * @returns Promise resolving to enhanced async ConfigModule options
28
- */
29
- createAsyncConfigModuleOptions(baseOptions?: any): Promise<any>;
30
- /**
31
- * Create a complete ConfigModule with AWS integration.
32
- * This method returns a ready-to-use DynamicModule.
33
- *
34
- * @param baseOptions - Base ConfigModule options
35
- * @returns Promise resolving to DynamicModule with AWS integration
36
- */
37
- createIntegratedConfigModule(baseOptions?: ConfigModuleOptions): Promise<DynamicModule>;
38
- /**
39
- * Create an async integrated ConfigModule.
40
- * This method returns a ready-to-use async DynamicModule.
41
- *
42
- * @param baseOptions - Base async ConfigModule options
43
- * @returns Promise resolving to DynamicModule with async AWS integration
44
- */
45
- createAsyncIntegratedConfigModule(baseOptions?: ConfigModuleOptions): Promise<DynamicModule>;
46
- /**
47
- * Get configuration factories for manual registration.
48
- * This method allows developers to manually register AWS factories with their own ConfigModule setup.
49
- *
50
- * @returns Promise resolving to array of configuration factories
51
- */
52
- getConfigurationFactories(): Promise<ConfigFactory[]>;
53
- /**
54
- * Get namespaced configuration factories.
55
- * This method returns factories for specific namespaces only.
56
- *
57
- * @param namespaces - Array of namespace names to get factories for
58
- * @returns Promise resolving to array of namespaced configuration factories
59
- */
60
- getNamespacedFactories(namespaces: string[]): Promise<ConfigFactory[]>;
61
- /**
62
- * Create a configuration factory for immediate use.
63
- * This method creates a single factory that can be used directly with @nestjs/config.
64
- *
65
- * @param namespace - Optional namespace for the factory
66
- * @param config - Optional configuration data to use
67
- * @returns Configuration factory
68
- */
69
- createImmediateFactory(namespace?: string, config?: Record<string, any>): ConfigFactory;
70
- /**
71
- * Check if AWS integration is available and working.
72
- * This method can be used to verify the integration status.
73
- *
74
- * @returns Promise resolving to integration status
75
- */
76
- checkIntegrationStatus(): Promise<{
77
- isAvailable: boolean;
78
- factoriesRegistered: number;
79
- errors: string[];
80
- }>;
81
- /**
82
- * Reset the integration state.
83
- * This method clears all registered factories and resets the integration.
84
- */
85
- resetIntegration(): void;
86
- }
87
- //# sourceMappingURL=nestjs-config-integration.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nestjs-config-integration.service.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/services/nestjs-config-integration.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAgB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGjF;;;GAGG;AACH,qBACa,8BAA8B;IAIvC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;gBAGvD,0BAA0B,EAAE,0BAA0B,EAEtD,OAAO,GAAE,kBAAuB;IAGnD;;;;;;OAMG;IACG,yBAAyB,CAAC,WAAW,GAAE,mBAAwB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0CpG;;;;;;OAMG;IACG,8BAA8B,CAAC,WAAW,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IA4CzE;;;;;;OAMG;IACG,4BAA4B,CAAC,WAAW,GAAE,mBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IA8BjG;;;;;;OAMG;IACG,iCAAiC,CAAC,WAAW,GAAE,mBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IA8BtG;;;;;OAKG;IACG,yBAAyB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB3D;;;;;;OAMG;IACG,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyB5E;;;;;;;OAOG;IACH,sBAAsB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa;IAyBvF;;;;;OAKG;IACG,sBAAsB,IAAI,OAAO,CAAC;QACtC,WAAW,EAAE,OAAO,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IAkCF;;;OAGG;IACH,gBAAgB,IAAI,IAAI;CAKzB"}
@@ -1,103 +0,0 @@
1
- import { ConfigurationSource } from '../interfaces/configuration-source.interface';
2
- import { PrecedenceRule } from '../interfaces/integration-options.interface';
3
- /**
4
- * Service responsible for handling configuration precedence rules and merging strategies.
5
- */
6
- export declare class PrecedenceHandlerService {
7
- private readonly logger;
8
- /**
9
- * Apply precedence rules to merge configuration from multiple sources.
10
- * @param sources - Array of configuration sources
11
- * @param precedenceRule - The precedence rule to apply
12
- * @returns Merged configuration data
13
- */
14
- applyPrecedenceRules(sources: ConfigurationSource[], precedenceRule: PrecedenceRule): Record<string, any>;
15
- /**
16
- * Apply AWS-first precedence: AWS sources override local sources.
17
- * Priority order: AWS Secrets Manager > SSM Parameter Store > Environment > Local Files
18
- * @param sources - Configuration sources
19
- * @returns Merged configuration
20
- */
21
- private applyAwsFirstPrecedence;
22
- /**
23
- * Apply local-first precedence: Local sources override AWS sources.
24
- * Priority order: Local Files > Environment > SSM Parameter Store > AWS Secrets Manager
25
- * @param sources - Configuration sources
26
- * @returns Merged configuration
27
- */
28
- private applyLocalFirstPrecedence;
29
- /**
30
- * Apply merge precedence: Intelligent merging based on source type and priority.
31
- * Uses a balanced approach where both AWS and local sources contribute.
32
- * @param sources - Configuration sources
33
- * @returns Merged configuration
34
- */
35
- private applyMergePrecedence;
36
- /**
37
- * Sort sources by AWS-first priority.
38
- * @param sources - Configuration sources
39
- * @returns Sorted sources (lowest priority first, highest priority last)
40
- */
41
- private sortSourcesByAwsFirstPriority;
42
- /**
43
- * Sort sources by local-first priority.
44
- * @param sources - Configuration sources
45
- * @returns Sorted sources (lowest priority first, highest priority last)
46
- */
47
- private sortSourcesByLocalFirstPriority;
48
- /**
49
- * Group sources by their type.
50
- * @param sources - Configuration sources
51
- * @returns Sources grouped by type
52
- */
53
- private groupSourcesByType;
54
- /**
55
- * Merge sources in the given order (later sources override earlier ones).
56
- * @param sources - Ordered configuration sources
57
- * @returns Merged configuration
58
- */
59
- private mergeSourcesInOrder;
60
- /**
61
- * Merge groups with balanced priority for merge precedence.
62
- * @param groups - Configuration groups by type
63
- * @returns Merged configuration
64
- */
65
- private mergeGroupsWithBalancedPriority;
66
- /**
67
- * Deep merge two configuration objects with conflict resolution.
68
- * @param target - Target object (lower priority)
69
- * @param source - Source object (higher priority)
70
- * @returns Merged object
71
- */
72
- private deepMerge;
73
- /**
74
- * Determine if two values should be deep merged.
75
- * @param target - Target value
76
- * @param source - Source value
77
- * @returns True if should deep merge, false otherwise
78
- */
79
- private shouldDeepMerge;
80
- /**
81
- * Clone a value to avoid reference issues.
82
- * @param value - Value to clone
83
- * @returns Cloned value
84
- */
85
- private cloneValue;
86
- /**
87
- * Validate configuration sources for precedence handling.
88
- * @param sources - Configuration sources to validate
89
- * @returns Validation result with any issues found
90
- */
91
- validateSources(sources: ConfigurationSource[]): {
92
- valid: boolean;
93
- issues: string[];
94
- };
95
- /**
96
- * Get the effective priority for a source based on precedence rule.
97
- * @param source - Configuration source
98
- * @param precedenceRule - Precedence rule
99
- * @returns Effective priority
100
- */
101
- getEffectivePriority(source: ConfigurationSource, precedenceRule: PrecedenceRule): number;
102
- }
103
- //# sourceMappingURL=precedence-handler.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"precedence-handler.service.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/services/precedence-handler.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E;;GAEG;AACH,qBACa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;IAEpE;;;;;OAKG;IACH,oBAAoB,CAClB,OAAO,EAAE,mBAAmB,EAAE,EAC9B,cAAc,EAAE,cAAc,GAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAwBtB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAOjC;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAqBrC;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAqBvC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAgBvC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAcjB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IASvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAiBlB;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAwCrF;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,GAAG,MAAM;CAsB1F"}
@@ -1,222 +0,0 @@
1
- import { ConfigFactory } from '@nestjs/config';
2
- import { ConfigurationSource } from '../interfaces/configuration-source.interface';
3
- /**
4
- * Interface for validation schema providers.
5
- */
6
- export interface ValidationSchemaProvider {
7
- name: string;
8
- validate(config: any, schema: any): {
9
- isValid: boolean;
10
- errors: string[];
11
- };
12
- isAvailable(): boolean;
13
- }
14
- /**
15
- * Joi validation schema provider.
16
- */
17
- export declare class JoiValidationProvider implements ValidationSchemaProvider {
18
- name: string;
19
- private joi;
20
- constructor();
21
- isAvailable(): boolean;
22
- validate(config: any, schema: any): {
23
- isValid: boolean;
24
- errors: string[];
25
- };
26
- }
27
- /**
28
- * Class-validator validation schema provider.
29
- */
30
- export declare class ClassValidatorProvider implements ValidationSchemaProvider {
31
- name: string;
32
- private classValidator;
33
- private classTransformer;
34
- constructor();
35
- isAvailable(): boolean;
36
- validate(config: any, schemaClass: any): {
37
- isValid: boolean;
38
- errors: string[];
39
- };
40
- }
41
- /**
42
- * Custom validation function provider.
43
- */
44
- export declare class CustomValidationProvider implements ValidationSchemaProvider {
45
- name: string;
46
- isAvailable(): boolean;
47
- validate(config: any, validationFn: (config: any) => string[] | void): {
48
- isValid: boolean;
49
- errors: string[];
50
- };
51
- }
52
- /**
53
- * Service for integrating AWS-sourced configuration with @nestjs/config validation.
54
- * Supports Joi, class-validator, and custom validation functions.
55
- */
56
- export declare class ValidationIntegrationService {
57
- private readonly logger;
58
- private readonly validationProviders;
59
- constructor();
60
- /**
61
- * Create a validated configuration factory.
62
- * This factory will validate AWS-sourced configuration before returning it.
63
- *
64
- * @param namespace - Optional namespace for the configuration
65
- * @param config - Configuration data to validate
66
- * @param validationSchema - Validation schema (Joi schema, class-validator class, or custom function)
67
- * @param validationType - Type of validation ('joi', 'class-validator', or 'custom')
68
- * @param sources - Configuration sources metadata
69
- * @returns Validated configuration factory
70
- */
71
- createValidatedFactory(namespace: string | undefined, config: Record<string, any>, validationSchema: any, validationType: 'joi' | 'class-validator' | 'custom', sources?: ConfigurationSource[]): ConfigFactory;
72
- /**
73
- * Validate configuration using the specified validation type and schema.
74
- *
75
- * @param config - Configuration to validate
76
- * @param schema - Validation schema
77
- * @param validationType - Type of validation
78
- * @param sources - Configuration sources for error reporting
79
- * @returns Validation result
80
- */
81
- validateConfiguration(config: Record<string, any>, schema: any, validationType: 'joi' | 'class-validator' | 'custom', sources?: ConfigurationSource[]): {
82
- isValid: boolean;
83
- errors: string[];
84
- warnings: string[];
85
- };
86
- /**
87
- * Create a factory that validates configuration and provides fallback values.
88
- *
89
- * @param namespace - Optional namespace
90
- * @param config - Configuration data
91
- * @param validationSchema - Validation schema
92
- * @param validationType - Type of validation
93
- * @param fallbackConfig - Fallback configuration to use if validation fails
94
- * @param sources - Configuration sources
95
- * @returns Factory with validation and fallback
96
- */
97
- createValidatedFactoryWithFallback(namespace: string | undefined, config: Record<string, any>, validationSchema: any, validationType: 'joi' | 'class-validator' | 'custom', fallbackConfig: Record<string, any>, sources?: ConfigurationSource[]): ConfigFactory;
98
- /**
99
- * Validate multiple namespace configurations.
100
- *
101
- * @param namespacedConfig - Configuration organized by namespace
102
- * @param validationSchemas - Validation schemas for each namespace
103
- * @param validationType - Type of validation
104
- * @param sources - Configuration sources
105
- * @returns Validation results for each namespace
106
- */
107
- validateNamespacedConfiguration(namespacedConfig: Record<string, Record<string, any>>, validationSchemas: Record<string, any>, validationType: 'joi' | 'class-validator' | 'custom', sources?: ConfigurationSource[]): Record<string, {
108
- isValid: boolean;
109
- errors: string[];
110
- warnings: string[];
111
- }>;
112
- /**
113
- * Check which validation providers are available.
114
- *
115
- * @returns Object indicating availability of each provider
116
- */
117
- getAvailableValidationProviders(): Record<string, boolean>;
118
- /**
119
- * Get validation recommendations based on configuration structure.
120
- *
121
- * @param config - Configuration to analyze
122
- * @returns Validation recommendations
123
- */
124
- getValidationRecommendations(config: Record<string, any>): {
125
- recommendedProvider: string;
126
- reasons: string[];
127
- examples: Record<string, string>;
128
- };
129
- /**
130
- * Register validation providers.
131
- */
132
- private registerValidationProviders;
133
- /**
134
- * Create a detailed validation error with source information.
135
- *
136
- * @param namespace - Namespace that failed validation
137
- * @param errors - Validation errors
138
- * @param sources - Configuration sources
139
- * @returns Detailed error
140
- */
141
- private createValidationError;
142
- /**
143
- * Enhance error message with source information.
144
- *
145
- * @param error - Original error message
146
- * @param sources - Configuration sources
147
- * @returns Enhanced error message
148
- */
149
- private enhanceErrorWithSourceInfo;
150
- /**
151
- * Analyze configuration structure for validation recommendations.
152
- *
153
- * @param config - Configuration to analyze
154
- * @returns Structure analysis
155
- */
156
- private analyzeConfigurationStructure;
157
- /**
158
- * Generate Joi validation example.
159
- *
160
- * @param config - Configuration to generate example for
161
- * @returns Joi validation example
162
- */
163
- private generateJoiExample;
164
- /**
165
- * Generate class-validator example.
166
- *
167
- * @param config - Configuration to generate example for
168
- * @returns class-validator example
169
- */
170
- private generateClassValidatorExample;
171
- /**
172
- * Generate custom validation example.
173
- *
174
- * @param config - Configuration to generate example for
175
- * @returns Custom validation example
176
- */
177
- private generateCustomValidationExample;
178
- /**
179
- * Generate Joi schema from configuration structure.
180
- *
181
- * @param config - Configuration object
182
- * @returns Joi schema string
183
- */
184
- private generateJoiSchemaFromConfig;
185
- /**
186
- * Generate class definition from configuration structure.
187
- *
188
- * @param config - Configuration object
189
- * @returns Class definition string
190
- */
191
- private generateClassFromConfig;
192
- /**
193
- * Generate validation checks for custom validation.
194
- *
195
- * @param config - Configuration object
196
- * @returns Validation checks string
197
- */
198
- private generateValidationChecks;
199
- /**
200
- * Get class-validator decorator for a value.
201
- *
202
- * @param value - Value to get decorator for
203
- * @returns Decorator string
204
- */
205
- private getClassValidatorDecorator;
206
- /**
207
- * Get TypeScript type for a value.
208
- *
209
- * @param value - Value to get type for
210
- * @returns TypeScript type string
211
- */
212
- private getTypeScriptType;
213
- /**
214
- * Get validation check for custom validation.
215
- *
216
- * @param key - Configuration key
217
- * @param value - Configuration value
218
- * @returns Validation check string
219
- */
220
- private getValidationCheck;
221
- }
222
- //# sourceMappingURL=validation-integration.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-integration.service.d.ts","sourceRoot":"","sources":["../../../../../../src/integration/services/validation-integration.service.ts"],"names":[],"mappings":"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"}