@dyanet/nestjs-config-aws 1.0.1 → 1.2.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 (391) hide show
  1. package/README.md +213 -1013
  2. package/dist/cjs/config-aws/src/config-manager.js +366 -0
  3. package/dist/cjs/config-aws/src/errors/index.js +77 -0
  4. package/dist/cjs/config-aws/src/index.js +37 -0
  5. package/dist/cjs/config-aws/src/interfaces/config-loader.interface.js +3 -0
  6. package/dist/cjs/config-aws/src/interfaces/config-manager.interface.js +3 -0
  7. package/dist/cjs/config-aws/src/interfaces/env-file-loader.interface.js +3 -0
  8. package/dist/cjs/config-aws/src/interfaces/environment-loader.interface.js +3 -0
  9. package/dist/cjs/config-aws/src/interfaces/s3-loader.interface.js +3 -0
  10. package/dist/cjs/config-aws/src/interfaces/secrets-manager-loader.interface.js +3 -0
  11. package/dist/cjs/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +3 -0
  12. package/dist/cjs/config-aws/src/loaders/env-file.loader.js +169 -0
  13. package/dist/cjs/config-aws/src/loaders/environment.loader.js +85 -0
  14. package/dist/cjs/config-aws/src/loaders/s3.loader.js +145 -0
  15. package/dist/cjs/config-aws/src/loaders/secrets-manager.loader.js +169 -0
  16. package/dist/cjs/config-aws/src/loaders/ssm-parameter-store.loader.js +199 -0
  17. package/dist/cjs/config-aws/src/utils/env-file-parser.util.js +98 -0
  18. package/dist/cjs/config-aws/src/utils/validation.util.js +116 -0
  19. package/dist/cjs/nestjs-config-aws/src/config.module.js +175 -0
  20. package/dist/cjs/nestjs-config-aws/src/index.js +61 -0
  21. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/index.js +1 -1
  22. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +3 -0
  23. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +3 -0
  24. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/interfaces/index.js +1 -1
  25. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +3 -0
  26. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +3 -0
  27. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +73 -0
  28. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +3 -0
  29. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +4 -0
  30. package/dist/cjs/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +52 -0
  31. package/dist/cjs/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +124 -0
  32. package/dist/cjs/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +592 -0
  33. package/dist/cjs/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +385 -0
  34. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/providers/index.js +1 -1
  35. package/dist/cjs/nestjs-config-aws/src/integration/services/async-config-helper.service.js +366 -0
  36. package/dist/cjs/nestjs-config-aws/src/integration/services/error-handler.service.js +267 -0
  37. package/dist/cjs/nestjs-config-aws/src/integration/services/factory-registration.service.js +517 -0
  38. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/services/index.js +1 -1
  39. package/dist/cjs/nestjs-config-aws/src/integration/services/integration-state.service.js +81 -0
  40. package/dist/cjs/nestjs-config-aws/src/integration/services/namespace-handler.service.js +465 -0
  41. package/dist/cjs/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +318 -0
  42. package/dist/cjs/nestjs-config-aws/src/integration/services/precedence-handler.service.js +292 -0
  43. package/dist/cjs/nestjs-config-aws/src/integration/services/validation-integration.service.js +595 -0
  44. package/dist/cjs/nestjs-config-aws/src/integration/utils/config-integration.util.js +283 -0
  45. package/dist/cjs/{integration → nestjs-config-aws/src/integration}/utils/index.js +1 -1
  46. package/dist/cjs/nestjs-config-aws/src/interfaces/config-service.interface.js +11 -0
  47. package/dist/cjs/nestjs-config-aws/src/interfaces/default-schema.interface.js +63 -0
  48. package/dist/cjs/nestjs-config-aws/src/interfaces/index.js +30 -0
  49. package/dist/cjs/nestjs-config-aws/src/interfaces/module-options.interface.js +3 -0
  50. package/dist/cjs/nestjs-config-aws/src/services/config.service.js +142 -0
  51. package/dist/esm/config-aws/src/config-manager.js +362 -0
  52. package/dist/esm/config-aws/src/errors/index.js +69 -0
  53. package/dist/esm/config-aws/src/index.js +21 -0
  54. package/dist/esm/config-aws/src/interfaces/config-loader.interface.js +2 -0
  55. package/dist/esm/config-aws/src/interfaces/config-manager.interface.js +2 -0
  56. package/dist/esm/config-aws/src/interfaces/env-file-loader.interface.js +2 -0
  57. package/dist/esm/config-aws/src/interfaces/environment-loader.interface.js +2 -0
  58. package/dist/esm/config-aws/src/interfaces/s3-loader.interface.js +2 -0
  59. package/dist/esm/config-aws/src/interfaces/secrets-manager-loader.interface.js +2 -0
  60. package/dist/esm/config-aws/src/interfaces/ssm-parameter-store-loader.interface.js +2 -0
  61. package/dist/esm/config-aws/src/loaders/env-file.loader.js +132 -0
  62. package/dist/esm/config-aws/src/loaders/environment.loader.js +81 -0
  63. package/dist/esm/config-aws/src/loaders/s3.loader.js +141 -0
  64. package/dist/esm/config-aws/src/loaders/secrets-manager.loader.js +165 -0
  65. package/dist/esm/config-aws/src/loaders/ssm-parameter-store.loader.js +195 -0
  66. package/dist/esm/config-aws/src/utils/env-file-parser.util.js +94 -0
  67. package/dist/esm/config-aws/src/utils/validation.util.js +112 -0
  68. package/dist/esm/nestjs-config-aws/src/config.module.js +172 -0
  69. package/dist/esm/nestjs-config-aws/src/index.js +23 -0
  70. package/dist/esm/nestjs-config-aws/src/integration/index.js +7 -0
  71. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.js +2 -0
  72. package/dist/esm/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.js +2 -0
  73. package/dist/esm/nestjs-config-aws/src/integration/interfaces/index.js +10 -0
  74. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-options.interface.js +2 -0
  75. package/dist/esm/nestjs-config-aws/src/integration/interfaces/integration-state.interface.js +2 -0
  76. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.js +64 -0
  77. package/dist/esm/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.js +2 -0
  78. package/dist/esm/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.js +3 -0
  79. package/dist/esm/nestjs-config-aws/src/integration/interfaces/utility-types.interface.js +44 -0
  80. package/dist/esm/nestjs-config-aws/src/integration/nestjs-config-integration.module.js +121 -0
  81. package/dist/esm/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.js +589 -0
  82. package/dist/esm/nestjs-config-aws/src/integration/providers/configuration-factory.provider.js +382 -0
  83. package/dist/esm/nestjs-config-aws/src/integration/providers/index.js +4 -0
  84. package/dist/esm/nestjs-config-aws/src/integration/services/async-config-helper.service.js +363 -0
  85. package/dist/esm/nestjs-config-aws/src/integration/services/error-handler.service.js +264 -0
  86. package/dist/esm/nestjs-config-aws/src/integration/services/factory-registration.service.js +514 -0
  87. package/dist/esm/nestjs-config-aws/src/integration/services/index.js +10 -0
  88. package/dist/esm/nestjs-config-aws/src/integration/services/integration-state.service.js +78 -0
  89. package/dist/esm/nestjs-config-aws/src/integration/services/namespace-handler.service.js +462 -0
  90. package/dist/esm/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.js +315 -0
  91. package/dist/esm/nestjs-config-aws/src/integration/services/precedence-handler.service.js +289 -0
  92. package/dist/esm/nestjs-config-aws/src/integration/services/validation-integration.service.js +589 -0
  93. package/dist/esm/nestjs-config-aws/src/integration/utils/config-integration.util.js +240 -0
  94. package/dist/esm/nestjs-config-aws/src/integration/utils/index.js +3 -0
  95. package/dist/esm/nestjs-config-aws/src/interfaces/config-service.interface.js +7 -0
  96. package/dist/esm/nestjs-config-aws/src/interfaces/default-schema.interface.js +59 -0
  97. package/dist/esm/nestjs-config-aws/src/interfaces/index.js +8 -0
  98. package/dist/esm/nestjs-config-aws/src/interfaces/module-options.interface.js +2 -0
  99. package/dist/esm/nestjs-config-aws/src/services/config.service.js +139 -0
  100. package/dist/types/config-aws/src/config-manager.d.ts +119 -0
  101. package/dist/types/config-aws/src/config-manager.d.ts.map +1 -0
  102. package/dist/types/config-aws/src/errors/index.d.ts +43 -0
  103. package/dist/types/config-aws/src/errors/index.d.ts.map +1 -0
  104. package/dist/types/config-aws/src/index.d.ts +24 -0
  105. package/dist/types/config-aws/src/index.d.ts.map +1 -0
  106. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts +33 -0
  107. package/dist/types/config-aws/src/interfaces/config-loader.interface.d.ts.map +1 -0
  108. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts +86 -0
  109. package/dist/types/config-aws/src/interfaces/config-manager.interface.d.ts.map +1 -0
  110. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts +12 -0
  111. package/dist/types/config-aws/src/interfaces/env-file-loader.interface.d.ts.map +1 -0
  112. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts +10 -0
  113. package/dist/types/config-aws/src/interfaces/environment-loader.interface.d.ts.map +1 -0
  114. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts +14 -0
  115. package/dist/types/config-aws/src/interfaces/s3-loader.interface.d.ts.map +1 -0
  116. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts +12 -0
  117. package/dist/types/config-aws/src/interfaces/secrets-manager-loader.interface.d.ts.map +1 -0
  118. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts +14 -0
  119. package/dist/types/config-aws/src/interfaces/ssm-parameter-store-loader.interface.d.ts.map +1 -0
  120. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts +69 -0
  121. package/dist/types/config-aws/src/loaders/env-file.loader.d.ts.map +1 -0
  122. package/dist/types/config-aws/src/loaders/environment.loader.d.ts +46 -0
  123. package/dist/types/config-aws/src/loaders/environment.loader.d.ts.map +1 -0
  124. package/dist/types/config-aws/src/loaders/s3.loader.d.ts +62 -0
  125. package/dist/types/config-aws/src/loaders/s3.loader.d.ts.map +1 -0
  126. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts +68 -0
  127. package/dist/types/config-aws/src/loaders/secrets-manager.loader.d.ts.map +1 -0
  128. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts +78 -0
  129. package/dist/types/config-aws/src/loaders/ssm-parameter-store.loader.d.ts.map +1 -0
  130. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts +45 -0
  131. package/dist/types/config-aws/src/utils/env-file-parser.util.d.ts.map +1 -0
  132. package/dist/types/{utils → config-aws/src/utils}/validation.util.d.ts +10 -10
  133. package/dist/types/config-aws/src/utils/validation.util.d.ts.map +1 -0
  134. package/dist/types/{config.module.d.ts → nestjs-config-aws/src/config.module.d.ts} +1 -0
  135. package/dist/types/nestjs-config-aws/src/config.module.d.ts.map +1 -0
  136. package/dist/types/{index.d.ts → nestjs-config-aws/src/index.d.ts} +2 -4
  137. package/dist/types/nestjs-config-aws/src/index.d.ts.map +1 -0
  138. package/dist/types/nestjs-config-aws/src/integration/index.d.ts.map +1 -0
  139. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-factory.interface.d.ts.map +1 -0
  140. package/dist/types/nestjs-config-aws/src/integration/interfaces/configuration-source.interface.d.ts.map +1 -0
  141. package/dist/types/nestjs-config-aws/src/integration/interfaces/index.d.ts.map +1 -0
  142. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-options.interface.d.ts.map +1 -0
  143. package/dist/types/nestjs-config-aws/src/integration/interfaces/integration-state.interface.d.ts.map +1 -0
  144. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +1 -0
  145. package/dist/types/nestjs-config-aws/src/integration/interfaces/nestjs-config-integration.interface.d.ts.map +1 -0
  146. package/dist/types/nestjs-config-aws/src/integration/interfaces/typed-configuration.interface.d.ts.map +1 -0
  147. package/dist/types/nestjs-config-aws/src/integration/interfaces/utility-types.interface.d.ts.map +1 -0
  148. package/dist/types/nestjs-config-aws/src/integration/nestjs-config-integration.module.d.ts.map +1 -0
  149. package/dist/types/nestjs-config-aws/src/integration/providers/aws-configuration-loader.service.d.ts.map +1 -0
  150. package/dist/types/nestjs-config-aws/src/integration/providers/configuration-factory.provider.d.ts.map +1 -0
  151. package/dist/types/nestjs-config-aws/src/integration/providers/index.d.ts.map +1 -0
  152. package/dist/types/nestjs-config-aws/src/integration/services/async-config-helper.service.d.ts.map +1 -0
  153. package/dist/types/nestjs-config-aws/src/integration/services/error-handler.service.d.ts.map +1 -0
  154. package/dist/types/nestjs-config-aws/src/integration/services/factory-registration.service.d.ts.map +1 -0
  155. package/dist/types/nestjs-config-aws/src/integration/services/index.d.ts.map +1 -0
  156. package/dist/types/nestjs-config-aws/src/integration/services/integration-state.service.d.ts.map +1 -0
  157. package/dist/types/nestjs-config-aws/src/integration/services/namespace-handler.service.d.ts.map +1 -0
  158. package/dist/types/nestjs-config-aws/src/integration/services/nestjs-config-integration.service.d.ts.map +1 -0
  159. package/dist/types/nestjs-config-aws/src/integration/services/precedence-handler.service.d.ts.map +1 -0
  160. package/dist/types/nestjs-config-aws/src/integration/services/validation-integration.service.d.ts.map +1 -0
  161. package/dist/types/nestjs-config-aws/src/integration/utils/config-integration.util.d.ts.map +1 -0
  162. package/dist/types/nestjs-config-aws/src/integration/utils/index.d.ts.map +1 -0
  163. package/dist/types/nestjs-config-aws/src/interfaces/config-service.interface.d.ts.map +1 -0
  164. package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/default-schema.interface.d.ts +28 -28
  165. package/dist/types/nestjs-config-aws/src/interfaces/default-schema.interface.d.ts.map +1 -0
  166. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts +5 -0
  167. package/dist/types/nestjs-config-aws/src/interfaces/index.d.ts.map +1 -0
  168. package/dist/types/nestjs-config-aws/src/interfaces/module-options.interface.d.ts.map +1 -0
  169. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts +88 -0
  170. package/dist/types/nestjs-config-aws/src/services/config.service.d.ts.map +1 -0
  171. package/package.json +20 -27
  172. package/LICENSE +0 -21
  173. package/dist/cjs/config.module.js +0 -178
  174. package/dist/cjs/config.module.js.map +0 -1
  175. package/dist/cjs/index.js +0 -47
  176. package/dist/cjs/index.js.map +0 -1
  177. package/dist/cjs/integration/index.js.map +0 -1
  178. package/dist/cjs/integration/interfaces/configuration-factory.interface.js +0 -3
  179. package/dist/cjs/integration/interfaces/configuration-factory.interface.js.map +0 -1
  180. package/dist/cjs/integration/interfaces/configuration-source.interface.js +0 -3
  181. package/dist/cjs/integration/interfaces/configuration-source.interface.js.map +0 -1
  182. package/dist/cjs/integration/interfaces/index.js.map +0 -1
  183. package/dist/cjs/integration/interfaces/integration-options.interface.js +0 -3
  184. package/dist/cjs/integration/interfaces/integration-options.interface.js.map +0 -1
  185. package/dist/cjs/integration/interfaces/integration-state.interface.js +0 -3
  186. package/dist/cjs/integration/interfaces/integration-state.interface.js.map +0 -1
  187. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js +0 -73
  188. package/dist/cjs/integration/interfaces/nestjs-config-compatibility.interface.js.map +0 -1
  189. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js +0 -3
  190. package/dist/cjs/integration/interfaces/nestjs-config-integration.interface.js.map +0 -1
  191. package/dist/cjs/integration/interfaces/typed-configuration.interface.js +0 -4
  192. package/dist/cjs/integration/interfaces/typed-configuration.interface.js.map +0 -1
  193. package/dist/cjs/integration/interfaces/utility-types.interface.js +0 -52
  194. package/dist/cjs/integration/interfaces/utility-types.interface.js.map +0 -1
  195. package/dist/cjs/integration/nestjs-config-integration.module.js +0 -124
  196. package/dist/cjs/integration/nestjs-config-integration.module.js.map +0 -1
  197. package/dist/cjs/integration/providers/aws-configuration-loader.service.js +0 -591
  198. package/dist/cjs/integration/providers/aws-configuration-loader.service.js.map +0 -1
  199. package/dist/cjs/integration/providers/configuration-factory.provider.js +0 -383
  200. package/dist/cjs/integration/providers/configuration-factory.provider.js.map +0 -1
  201. package/dist/cjs/integration/providers/index.js.map +0 -1
  202. package/dist/cjs/integration/services/async-config-helper.service.js +0 -356
  203. package/dist/cjs/integration/services/async-config-helper.service.js.map +0 -1
  204. package/dist/cjs/integration/services/error-handler.service.js +0 -265
  205. package/dist/cjs/integration/services/error-handler.service.js.map +0 -1
  206. package/dist/cjs/integration/services/factory-registration.service.js +0 -512
  207. package/dist/cjs/integration/services/factory-registration.service.js.map +0 -1
  208. package/dist/cjs/integration/services/index.js.map +0 -1
  209. package/dist/cjs/integration/services/integration-state.service.js +0 -83
  210. package/dist/cjs/integration/services/integration-state.service.js.map +0 -1
  211. package/dist/cjs/integration/services/namespace-handler.service.js +0 -467
  212. package/dist/cjs/integration/services/namespace-handler.service.js.map +0 -1
  213. package/dist/cjs/integration/services/nestjs-config-integration.service.js +0 -316
  214. package/dist/cjs/integration/services/nestjs-config-integration.service.js.map +0 -1
  215. package/dist/cjs/integration/services/precedence-handler.service.js +0 -294
  216. package/dist/cjs/integration/services/precedence-handler.service.js.map +0 -1
  217. package/dist/cjs/integration/services/validation-integration.service.js +0 -591
  218. package/dist/cjs/integration/services/validation-integration.service.js.map +0 -1
  219. package/dist/cjs/integration/utils/config-integration.util.js +0 -283
  220. package/dist/cjs/integration/utils/config-integration.util.js.map +0 -1
  221. package/dist/cjs/integration/utils/index.js.map +0 -1
  222. package/dist/cjs/interfaces/config-loader.interface.js +0 -3
  223. package/dist/cjs/interfaces/config-loader.interface.js.map +0 -1
  224. package/dist/cjs/interfaces/config-service.interface.js +0 -11
  225. package/dist/cjs/interfaces/config-service.interface.js.map +0 -1
  226. package/dist/cjs/interfaces/default-schema.interface.js +0 -63
  227. package/dist/cjs/interfaces/default-schema.interface.js.map +0 -1
  228. package/dist/cjs/interfaces/errors.interface.js +0 -77
  229. package/dist/cjs/interfaces/errors.interface.js.map +0 -1
  230. package/dist/cjs/interfaces/index.js +0 -25
  231. package/dist/cjs/interfaces/index.js.map +0 -1
  232. package/dist/cjs/interfaces/module-options.interface.js +0 -3
  233. package/dist/cjs/interfaces/module-options.interface.js.map +0 -1
  234. package/dist/cjs/loaders/environment.loader.js +0 -59
  235. package/dist/cjs/loaders/environment.loader.js.map +0 -1
  236. package/dist/cjs/loaders/secrets-manager.loader.js +0 -122
  237. package/dist/cjs/loaders/secrets-manager.loader.js.map +0 -1
  238. package/dist/cjs/loaders/ssm-parameter-store.loader.js +0 -146
  239. package/dist/cjs/loaders/ssm-parameter-store.loader.js.map +0 -1
  240. package/dist/cjs/services/config.service.js +0 -297
  241. package/dist/cjs/services/config.service.js.map +0 -1
  242. package/dist/cjs/utils/validation.util.js +0 -114
  243. package/dist/cjs/utils/validation.util.js.map +0 -1
  244. package/dist/esm/config.module.js +0 -175
  245. package/dist/esm/config.module.js.map +0 -1
  246. package/dist/esm/index.js +0 -18
  247. package/dist/esm/index.js.map +0 -1
  248. package/dist/esm/integration/index.js +0 -7
  249. package/dist/esm/integration/index.js.map +0 -1
  250. package/dist/esm/integration/interfaces/configuration-factory.interface.js +0 -2
  251. package/dist/esm/integration/interfaces/configuration-factory.interface.js.map +0 -1
  252. package/dist/esm/integration/interfaces/configuration-source.interface.js +0 -2
  253. package/dist/esm/integration/interfaces/configuration-source.interface.js.map +0 -1
  254. package/dist/esm/integration/interfaces/index.js +0 -10
  255. package/dist/esm/integration/interfaces/index.js.map +0 -1
  256. package/dist/esm/integration/interfaces/integration-options.interface.js +0 -2
  257. package/dist/esm/integration/interfaces/integration-options.interface.js.map +0 -1
  258. package/dist/esm/integration/interfaces/integration-state.interface.js +0 -2
  259. package/dist/esm/integration/interfaces/integration-state.interface.js.map +0 -1
  260. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js +0 -64
  261. package/dist/esm/integration/interfaces/nestjs-config-compatibility.interface.js.map +0 -1
  262. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js +0 -2
  263. package/dist/esm/integration/interfaces/nestjs-config-integration.interface.js.map +0 -1
  264. package/dist/esm/integration/interfaces/typed-configuration.interface.js +0 -3
  265. package/dist/esm/integration/interfaces/typed-configuration.interface.js.map +0 -1
  266. package/dist/esm/integration/interfaces/utility-types.interface.js +0 -44
  267. package/dist/esm/integration/interfaces/utility-types.interface.js.map +0 -1
  268. package/dist/esm/integration/nestjs-config-integration.module.js +0 -121
  269. package/dist/esm/integration/nestjs-config-integration.module.js.map +0 -1
  270. package/dist/esm/integration/providers/aws-configuration-loader.service.js +0 -588
  271. package/dist/esm/integration/providers/aws-configuration-loader.service.js.map +0 -1
  272. package/dist/esm/integration/providers/configuration-factory.provider.js +0 -380
  273. package/dist/esm/integration/providers/configuration-factory.provider.js.map +0 -1
  274. package/dist/esm/integration/providers/index.js +0 -4
  275. package/dist/esm/integration/providers/index.js.map +0 -1
  276. package/dist/esm/integration/services/async-config-helper.service.js +0 -353
  277. package/dist/esm/integration/services/async-config-helper.service.js.map +0 -1
  278. package/dist/esm/integration/services/error-handler.service.js +0 -262
  279. package/dist/esm/integration/services/error-handler.service.js.map +0 -1
  280. package/dist/esm/integration/services/factory-registration.service.js +0 -509
  281. package/dist/esm/integration/services/factory-registration.service.js.map +0 -1
  282. package/dist/esm/integration/services/index.js +0 -10
  283. package/dist/esm/integration/services/index.js.map +0 -1
  284. package/dist/esm/integration/services/integration-state.service.js +0 -80
  285. package/dist/esm/integration/services/integration-state.service.js.map +0 -1
  286. package/dist/esm/integration/services/namespace-handler.service.js +0 -464
  287. package/dist/esm/integration/services/namespace-handler.service.js.map +0 -1
  288. package/dist/esm/integration/services/nestjs-config-integration.service.js +0 -313
  289. package/dist/esm/integration/services/nestjs-config-integration.service.js.map +0 -1
  290. package/dist/esm/integration/services/precedence-handler.service.js +0 -291
  291. package/dist/esm/integration/services/precedence-handler.service.js.map +0 -1
  292. package/dist/esm/integration/services/validation-integration.service.js +0 -585
  293. package/dist/esm/integration/services/validation-integration.service.js.map +0 -1
  294. package/dist/esm/integration/utils/config-integration.util.js +0 -240
  295. package/dist/esm/integration/utils/config-integration.util.js.map +0 -1
  296. package/dist/esm/integration/utils/index.js +0 -3
  297. package/dist/esm/integration/utils/index.js.map +0 -1
  298. package/dist/esm/interfaces/config-loader.interface.js +0 -2
  299. package/dist/esm/interfaces/config-loader.interface.js.map +0 -1
  300. package/dist/esm/interfaces/config-service.interface.js +0 -7
  301. package/dist/esm/interfaces/config-service.interface.js.map +0 -1
  302. package/dist/esm/interfaces/default-schema.interface.js +0 -59
  303. package/dist/esm/interfaces/default-schema.interface.js.map +0 -1
  304. package/dist/esm/interfaces/errors.interface.js +0 -69
  305. package/dist/esm/interfaces/errors.interface.js.map +0 -1
  306. package/dist/esm/interfaces/index.js +0 -9
  307. package/dist/esm/interfaces/index.js.map +0 -1
  308. package/dist/esm/interfaces/module-options.interface.js +0 -2
  309. package/dist/esm/interfaces/module-options.interface.js.map +0 -1
  310. package/dist/esm/loaders/environment.loader.js +0 -55
  311. package/dist/esm/loaders/environment.loader.js.map +0 -1
  312. package/dist/esm/loaders/secrets-manager.loader.js +0 -118
  313. package/dist/esm/loaders/secrets-manager.loader.js.map +0 -1
  314. package/dist/esm/loaders/ssm-parameter-store.loader.js +0 -142
  315. package/dist/esm/loaders/ssm-parameter-store.loader.js.map +0 -1
  316. package/dist/esm/services/config.service.js +0 -261
  317. package/dist/esm/services/config.service.js.map +0 -1
  318. package/dist/esm/utils/validation.util.js +0 -110
  319. package/dist/esm/utils/validation.util.js.map +0 -1
  320. package/dist/types/config.module.d.ts.map +0 -1
  321. package/dist/types/index.d.ts.map +0 -1
  322. package/dist/types/integration/index.d.ts.map +0 -1
  323. package/dist/types/integration/interfaces/configuration-factory.interface.d.ts.map +0 -1
  324. package/dist/types/integration/interfaces/configuration-source.interface.d.ts.map +0 -1
  325. package/dist/types/integration/interfaces/index.d.ts.map +0 -1
  326. package/dist/types/integration/interfaces/integration-options.interface.d.ts.map +0 -1
  327. package/dist/types/integration/interfaces/integration-state.interface.d.ts.map +0 -1
  328. package/dist/types/integration/interfaces/nestjs-config-compatibility.interface.d.ts.map +0 -1
  329. package/dist/types/integration/interfaces/nestjs-config-integration.interface.d.ts.map +0 -1
  330. package/dist/types/integration/interfaces/typed-configuration.interface.d.ts.map +0 -1
  331. package/dist/types/integration/interfaces/utility-types.interface.d.ts.map +0 -1
  332. package/dist/types/integration/nestjs-config-integration.module.d.ts.map +0 -1
  333. package/dist/types/integration/providers/aws-configuration-loader.service.d.ts.map +0 -1
  334. package/dist/types/integration/providers/configuration-factory.provider.d.ts.map +0 -1
  335. package/dist/types/integration/providers/index.d.ts.map +0 -1
  336. package/dist/types/integration/services/async-config-helper.service.d.ts.map +0 -1
  337. package/dist/types/integration/services/error-handler.service.d.ts.map +0 -1
  338. package/dist/types/integration/services/factory-registration.service.d.ts.map +0 -1
  339. package/dist/types/integration/services/index.d.ts.map +0 -1
  340. package/dist/types/integration/services/integration-state.service.d.ts.map +0 -1
  341. package/dist/types/integration/services/namespace-handler.service.d.ts.map +0 -1
  342. package/dist/types/integration/services/nestjs-config-integration.service.d.ts.map +0 -1
  343. package/dist/types/integration/services/precedence-handler.service.d.ts.map +0 -1
  344. package/dist/types/integration/services/validation-integration.service.d.ts.map +0 -1
  345. package/dist/types/integration/utils/config-integration.util.d.ts.map +0 -1
  346. package/dist/types/integration/utils/index.d.ts.map +0 -1
  347. package/dist/types/interfaces/config-loader.interface.d.ts +0 -22
  348. package/dist/types/interfaces/config-loader.interface.d.ts.map +0 -1
  349. package/dist/types/interfaces/config-service.interface.d.ts.map +0 -1
  350. package/dist/types/interfaces/default-schema.interface.d.ts.map +0 -1
  351. package/dist/types/interfaces/errors.interface.d.ts +0 -38
  352. package/dist/types/interfaces/errors.interface.d.ts.map +0 -1
  353. package/dist/types/interfaces/index.d.ts +0 -6
  354. package/dist/types/interfaces/index.d.ts.map +0 -1
  355. package/dist/types/interfaces/module-options.interface.d.ts.map +0 -1
  356. package/dist/types/loaders/environment.loader.d.ts +0 -26
  357. package/dist/types/loaders/environment.loader.d.ts.map +0 -1
  358. package/dist/types/loaders/secrets-manager.loader.d.ts +0 -52
  359. package/dist/types/loaders/secrets-manager.loader.d.ts.map +0 -1
  360. package/dist/types/loaders/ssm-parameter-store.loader.d.ts +0 -68
  361. package/dist/types/loaders/ssm-parameter-store.loader.d.ts.map +0 -1
  362. package/dist/types/services/config.service.d.ts +0 -94
  363. package/dist/types/services/config.service.d.ts.map +0 -1
  364. package/dist/types/utils/validation.util.d.ts.map +0 -1
  365. /package/dist/types/{integration → nestjs-config-aws/src/integration}/index.d.ts +0 -0
  366. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/configuration-factory.interface.d.ts +0 -0
  367. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/configuration-source.interface.d.ts +0 -0
  368. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/index.d.ts +0 -0
  369. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/integration-options.interface.d.ts +0 -0
  370. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/integration-state.interface.d.ts +0 -0
  371. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/nestjs-config-compatibility.interface.d.ts +0 -0
  372. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/nestjs-config-integration.interface.d.ts +0 -0
  373. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/typed-configuration.interface.d.ts +0 -0
  374. /package/dist/types/{integration → nestjs-config-aws/src/integration}/interfaces/utility-types.interface.d.ts +0 -0
  375. /package/dist/types/{integration → nestjs-config-aws/src/integration}/nestjs-config-integration.module.d.ts +0 -0
  376. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/aws-configuration-loader.service.d.ts +0 -0
  377. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/configuration-factory.provider.d.ts +0 -0
  378. /package/dist/types/{integration → nestjs-config-aws/src/integration}/providers/index.d.ts +0 -0
  379. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/async-config-helper.service.d.ts +0 -0
  380. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/error-handler.service.d.ts +0 -0
  381. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/factory-registration.service.d.ts +0 -0
  382. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/index.d.ts +0 -0
  383. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/integration-state.service.d.ts +0 -0
  384. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/namespace-handler.service.d.ts +0 -0
  385. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/nestjs-config-integration.service.d.ts +0 -0
  386. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/precedence-handler.service.d.ts +0 -0
  387. /package/dist/types/{integration → nestjs-config-aws/src/integration}/services/validation-integration.service.d.ts +0 -0
  388. /package/dist/types/{integration → nestjs-config-aws/src/integration}/utils/config-integration.util.d.ts +0 -0
  389. /package/dist/types/{integration → nestjs-config-aws/src/integration}/utils/index.d.ts +0 -0
  390. /package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/config-service.interface.d.ts +0 -0
  391. /package/dist/types/{interfaces → nestjs-config-aws/src/interfaces}/module-options.interface.d.ts +0 -0
@@ -1,509 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- var FactoryRegistrationService_1;
14
- import { Injectable, Logger, Inject, Optional } from '@nestjs/common';
15
- import { ConfigurationFactoryProviderImpl } from '../providers/configuration-factory.provider';
16
- import { AwsConfigurationLoaderService } from '../providers/aws-configuration-loader.service';
17
- import { NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS } from '../nestjs-config-integration.module';
18
- import { NamespaceHandlerService } from './namespace-handler.service';
19
- import { ValidationIntegrationService } from './validation-integration.service';
20
- /**
21
- * Service responsible for registering configuration factories with @nestjs/config.
22
- * This service creates and manages the bridge between AWS-loaded configuration
23
- * and the standard @nestjs/config module.
24
- */
25
- let FactoryRegistrationService = FactoryRegistrationService_1 = class FactoryRegistrationService {
26
- constructor(configurationFactoryProvider, awsConfigurationLoader, namespaceHandler, validationService, options = {}) {
27
- this.configurationFactoryProvider = configurationFactoryProvider;
28
- this.awsConfigurationLoader = awsConfigurationLoader;
29
- this.namespaceHandler = namespaceHandler;
30
- this.validationService = validationService;
31
- this.options = options;
32
- this.logger = new Logger(FactoryRegistrationService_1.name);
33
- this.registeredFactories = new Map();
34
- this.isInitialized = false;
35
- }
36
- /**
37
- * Register configuration factories with @nestjs/config based on AWS-loaded configuration.
38
- * This method loads configuration from AWS sources and creates factories that can be
39
- * consumed by @nestjs/config.
40
- *
41
- * @returns Promise resolving to array of registered configuration factories
42
- */
43
- async registerFactories() {
44
- if (this.isInitialized) {
45
- this.logger.debug('Factories already registered, returning cached factories');
46
- return Array.from(this.registeredFactories.values());
47
- }
48
- try {
49
- this.logger.debug('Starting factory registration process');
50
- // Load configuration from AWS sources
51
- const awsConfig = await this.loadAwsConfiguration();
52
- // Create configuration factories based on options
53
- const factories = await this.createConfigurationFactories(awsConfig);
54
- // Register factories and track them
55
- this.registerFactoriesInternal(factories);
56
- this.isInitialized = true;
57
- this.logger.log(`Successfully registered ${factories.length} configuration factories`);
58
- return factories;
59
- }
60
- catch (error) {
61
- const registrationError = error instanceof Error ? error : new Error(String(error));
62
- this.logger.error('Failed to register configuration factories:', registrationError);
63
- // Handle registration failure based on options
64
- if (this.options.failOnAwsError) {
65
- throw registrationError;
66
- }
67
- // Return empty factories array if fallback is enabled
68
- if (this.options.fallbackToLocal) {
69
- this.logger.warn('Falling back to empty configuration factories due to AWS error');
70
- return [];
71
- }
72
- throw registrationError;
73
- }
74
- }
75
- /**
76
- * Register configuration factories asynchronously.
77
- * This method is designed to work with @nestjs/config's forRootAsync pattern.
78
- *
79
- * @returns Promise resolving to array of configuration factories
80
- */
81
- async registerFactoriesAsync() {
82
- this.logger.debug('Starting async factory registration');
83
- try {
84
- // Ensure AWS services are available before proceeding
85
- const isAwsAvailable = await this.awsConfigurationLoader.isAvailable();
86
- if (!isAwsAvailable && this.options.failOnAwsError) {
87
- throw new Error('AWS services are not available and failOnAwsError is enabled');
88
- }
89
- if (!isAwsAvailable) {
90
- this.logger.warn('AWS services not available, registering empty factories');
91
- return [];
92
- }
93
- // Load configuration asynchronously
94
- const factories = await this.registerFactories();
95
- this.logger.debug(`Async factory registration completed with ${factories.length} factories`);
96
- return factories;
97
- }
98
- catch (error) {
99
- const asyncError = error instanceof Error ? error : new Error(String(error));
100
- this.logger.error('Async factory registration failed:', asyncError);
101
- // Handle async registration failure
102
- if (this.options.fallbackToLocal) {
103
- this.logger.warn('Falling back to empty factories for async registration');
104
- return [];
105
- }
106
- throw asyncError;
107
- }
108
- }
109
- /**
110
- * Create a single configuration factory for immediate use.
111
- * This method can be used for synchronous factory creation.
112
- *
113
- * @param namespace - Optional namespace for the factory
114
- * @param config - Configuration data to use for the factory
115
- * @returns Configuration factory
116
- */
117
- createSyncFactory(namespace, config) {
118
- this.logger.debug(`Creating synchronous factory for namespace: ${namespace || 'default'}`);
119
- // Use provided config or create empty config
120
- const factoryConfig = config || {};
121
- // Create factory using the configuration factory provider
122
- const factory = this.configurationFactoryProvider.createFactory(namespace || '', factoryConfig);
123
- // Track the factory
124
- const factoryKey = namespace || 'default';
125
- this.registeredFactories.set(factoryKey, factory);
126
- this.logger.debug(`Created synchronous factory: ${factoryKey}`);
127
- return factory;
128
- }
129
- /**
130
- * Register factories for specific namespaces.
131
- * This method allows selective registration of configuration for specific namespaces.
132
- *
133
- * @param namespaces - Array of namespace names to register
134
- * @returns Promise resolving to array of namespace-specific factories
135
- */
136
- async registerNamespacedFactories(namespaces) {
137
- this.logger.debug(`Registering factories for namespaces: ${namespaces.join(', ')}`);
138
- try {
139
- // Load namespaced configuration from AWS
140
- const namespacedConfig = await this.awsConfigurationLoader.loadNamespacedConfiguration(namespaces);
141
- // Create factories for each namespace
142
- const factories = [];
143
- for (const namespace of namespaces) {
144
- const namespaceConfig = namespacedConfig[namespace];
145
- if (namespaceConfig && Object.keys(namespaceConfig).length > 0) {
146
- const factory = this.configurationFactoryProvider.createFactory(namespace, namespaceConfig);
147
- factories.push(factory);
148
- // Track the factory
149
- this.registeredFactories.set(namespace, factory);
150
- this.logger.debug(`Created factory for namespace: ${namespace}`);
151
- }
152
- else {
153
- this.logger.warn(`No configuration found for namespace: ${namespace}`);
154
- }
155
- }
156
- this.logger.log(`Successfully registered ${factories.length} namespaced factories`);
157
- return factories;
158
- }
159
- catch (error) {
160
- const namespacedError = error instanceof Error ? error : new Error(String(error));
161
- this.logger.error('Failed to register namespaced factories:', namespacedError);
162
- if (this.options.failOnAwsError) {
163
- throw namespacedError;
164
- }
165
- // Return empty factories if fallback is enabled
166
- return [];
167
- }
168
- }
169
- /**
170
- * Get all registered factories.
171
- * @returns Map of factory names to configuration factories
172
- */
173
- getRegisteredFactories() {
174
- return new Map(this.registeredFactories);
175
- }
176
- /**
177
- * Get a specific registered factory by name.
178
- * @param name - Name of the factory to retrieve
179
- * @returns Configuration factory or undefined if not found
180
- */
181
- getFactory(name) {
182
- return this.registeredFactories.get(name);
183
- }
184
- /**
185
- * Check if factories have been initialized.
186
- * @returns Whether factories have been registered
187
- */
188
- isFactoriesInitialized() {
189
- return this.isInitialized;
190
- }
191
- /**
192
- * Register validated namespace factories with schema validation.
193
- * This method creates factories that validate configuration using Joi, class-validator, or custom functions.
194
- *
195
- * @param namespaces - Array of namespace names to register
196
- * @param validationSchemas - Validation schemas for each namespace
197
- * @param validationType - Type of validation to use
198
- * @returns Promise resolving to array of validated namespace factories
199
- */
200
- async registerValidatedNamespaceFactories(namespaces, validationSchemas, validationType = 'custom') {
201
- this.logger.debug(`Registering validated factories for namespaces: ${namespaces.join(', ')} with ${validationType} validation`);
202
- try {
203
- // Load namespaced configuration from AWS
204
- const namespacedConfig = await this.awsConfigurationLoader.loadNamespacedConfiguration(namespaces);
205
- const sources = await this.awsConfigurationLoader.getAvailableSources();
206
- // Create validated factories for each namespace
207
- const factories = [];
208
- for (const namespace of namespaces) {
209
- const namespaceConfig = namespacedConfig[namespace];
210
- const validationSchema = validationSchemas[namespace];
211
- if (namespaceConfig && Object.keys(namespaceConfig).length > 0 && validationSchema) {
212
- try {
213
- // Create validated factory using the validation service
214
- const factory = this.validationService.createValidatedFactory(namespace, namespaceConfig, validationSchema, validationType, sources.filter(s => s.namespace === namespace || s.data[namespace]));
215
- factories.push(factory);
216
- // Track the factory
217
- this.registeredFactories.set(namespace, factory);
218
- this.logger.debug(`Created validated factory for namespace: ${namespace}`);
219
- }
220
- catch (error) {
221
- this.logger.error(`Failed to create validated factory for namespace ${namespace}:`, error);
222
- if (this.options.failOnAwsError) {
223
- throw error;
224
- }
225
- }
226
- }
227
- else {
228
- if (!namespaceConfig || Object.keys(namespaceConfig).length === 0) {
229
- this.logger.warn(`No configuration found for namespace: ${namespace}`);
230
- }
231
- if (!validationSchema) {
232
- this.logger.warn(`No validation schema provided for namespace: ${namespace}`);
233
- }
234
- }
235
- }
236
- this.logger.log(`Successfully registered ${factories.length} validated namespace factories`);
237
- return factories;
238
- }
239
- catch (error) {
240
- const validatedError = error instanceof Error ? error : new Error(String(error));
241
- this.logger.error('Failed to register validated namespace factories:', validatedError);
242
- if (this.options.failOnAwsError) {
243
- throw validatedError;
244
- }
245
- // Return empty factories if fallback is enabled
246
- return [];
247
- }
248
- }
249
- /**
250
- * Create enhanced namespace factories using the namespace handler service.
251
- * This method provides improved namespace support with better configuration extraction.
252
- *
253
- * @param namespaces - Array of namespace names to create factories for
254
- * @returns Promise resolving to array of enhanced namespace factories
255
- */
256
- async createEnhancedNamespaceFactories(namespaces) {
257
- this.logger.debug(`Creating enhanced namespace factories for: ${namespaces.join(', ')}`);
258
- try {
259
- // Load configuration from AWS sources
260
- const awsConfig = await this.awsConfigurationLoader.loadConfiguration();
261
- const sources = await this.awsConfigurationLoader.getAvailableSources();
262
- // Organize configuration by namespaces using the namespace handler
263
- const organizedConfig = this.namespaceHandler.organizeConfigByNamespaces(awsConfig, namespaces);
264
- // Create namespace factories using the namespace handler
265
- const factories = this.namespaceHandler.createMultipleNamespaceFactories(organizedConfig, sources);
266
- // Track the factories
267
- for (const factory of factories) {
268
- const namespace = factory.__namespace;
269
- if (namespace) {
270
- this.registeredFactories.set(namespace, factory);
271
- }
272
- }
273
- this.logger.log(`Successfully created ${factories.length} enhanced namespace factories`);
274
- return factories;
275
- }
276
- catch (error) {
277
- const enhancedError = error instanceof Error ? error : new Error(String(error));
278
- this.logger.error('Failed to create enhanced namespace factories:', enhancedError);
279
- if (this.options.failOnAwsError) {
280
- throw enhancedError;
281
- }
282
- return [];
283
- }
284
- }
285
- /**
286
- * Get validation recommendations for current configuration.
287
- * This method analyzes the loaded configuration and provides validation recommendations.
288
- *
289
- * @returns Promise resolving to validation recommendations
290
- */
291
- async getValidationRecommendations() {
292
- try {
293
- const awsConfig = await this.awsConfigurationLoader.loadConfiguration();
294
- return this.validationService.getValidationRecommendations(awsConfig);
295
- }
296
- catch (error) {
297
- this.logger.error('Failed to get validation recommendations:', error);
298
- return {
299
- recommendedProvider: 'custom',
300
- reasons: ['Unable to analyze configuration'],
301
- examples: {}
302
- };
303
- }
304
- }
305
- /**
306
- * Validate namespace access patterns for current configuration.
307
- * This method checks if namespace configurations are properly structured for @nestjs/config access.
308
- *
309
- * @param namespaces - Namespaces to validate
310
- * @returns Promise resolving to validation results
311
- */
312
- async validateNamespaceAccess(namespaces) {
313
- try {
314
- const namespacedConfig = await this.awsConfigurationLoader.loadNamespacedConfiguration(namespaces);
315
- const results = {};
316
- for (const [namespace, config] of Object.entries(namespacedConfig)) {
317
- results[namespace] = this.namespaceHandler.validateNamespaceAccess(namespace, config);
318
- }
319
- return results;
320
- }
321
- catch (error) {
322
- this.logger.error('Failed to validate namespace access:', error);
323
- return {};
324
- }
325
- }
326
- /**
327
- * Reset the factory registration state.
328
- * This method clears all registered factories and resets the initialization state.
329
- */
330
- reset() {
331
- this.logger.debug('Resetting factory registration state');
332
- this.registeredFactories.clear();
333
- this.isInitialized = false;
334
- }
335
- /**
336
- * Load configuration from AWS sources with error handling.
337
- * @returns Promise resolving to AWS configuration data
338
- */
339
- async loadAwsConfiguration() {
340
- try {
341
- // Check if namespaces are specified for targeted loading
342
- if (this.options.namespaces && this.options.namespaces.length > 0) {
343
- this.logger.debug(`Loading configuration for namespaces: ${this.options.namespaces.join(', ')}`);
344
- const namespacedConfig = await this.awsConfigurationLoader.loadNamespacedConfiguration(this.options.namespaces);
345
- // Flatten namespaced configuration for factory creation
346
- const flattenedConfig = {};
347
- for (const [namespace, config] of Object.entries(namespacedConfig)) {
348
- flattenedConfig[namespace] = config;
349
- }
350
- return flattenedConfig;
351
- }
352
- else {
353
- // Load all available configuration
354
- this.logger.debug('Loading all available AWS configuration');
355
- return await this.awsConfigurationLoader.loadConfiguration();
356
- }
357
- }
358
- catch (error) {
359
- const loadError = error instanceof Error ? error : new Error(String(error));
360
- this.logger.error('Failed to load AWS configuration:', loadError);
361
- // Handle AWS unavailability
362
- if (this.options.fallbackToLocal) {
363
- this.logger.warn('AWS configuration loading failed, using empty configuration');
364
- return {};
365
- }
366
- throw loadError;
367
- }
368
- }
369
- /**
370
- * Create configuration factories based on loaded AWS configuration.
371
- * @param awsConfig - Configuration data loaded from AWS
372
- * @returns Promise resolving to array of configuration factories
373
- */
374
- async createConfigurationFactories(awsConfig) {
375
- const factories = [];
376
- try {
377
- // Get configuration sources for metadata
378
- const sources = await this.awsConfigurationLoader.getAvailableSources();
379
- if (this.options.namespaces && this.options.namespaces.length > 0) {
380
- // Create namespaced factories
381
- factories.push(...this.createNamespacedFactoriesFromConfig(awsConfig, sources));
382
- }
383
- else {
384
- // Create a single factory with all configuration
385
- const factory = this.createSingleFactoryFromConfig(awsConfig, sources);
386
- if (factory) {
387
- factories.push(factory);
388
- }
389
- }
390
- this.logger.debug(`Created ${factories.length} configuration factories`);
391
- return factories;
392
- }
393
- catch (error) {
394
- const factoryError = error instanceof Error ? error : new Error(String(error));
395
- this.logger.error('Failed to create configuration factories:', factoryError);
396
- throw factoryError;
397
- }
398
- }
399
- /**
400
- * Create namespaced factories from configuration data.
401
- * @param config - Configuration data organized by namespace
402
- * @param sources - Configuration sources metadata
403
- * @returns Array of namespaced configuration factories
404
- */
405
- createNamespacedFactoriesFromConfig(config, sources) {
406
- const factories = [];
407
- for (const [namespace, namespaceConfig] of Object.entries(config)) {
408
- if (this.isValidNamespaceConfig(namespace, namespaceConfig)) {
409
- try {
410
- const factory = this.configurationFactoryProvider.createAwsConfigurationFactory(namespace, namespaceConfig, sources.filter(s => s.namespace === namespace || s.data[namespace]), this.options.precedence || 'aws-first');
411
- factories.push(factory);
412
- this.logger.debug(`Created namespaced factory: ${namespace}`);
413
- }
414
- catch (error) {
415
- this.logger.error(`Failed to create factory for namespace ${namespace}:`, error);
416
- }
417
- }
418
- }
419
- return factories;
420
- }
421
- /**
422
- * Create a single factory from all configuration data.
423
- * @param config - All configuration data
424
- * @param sources - Configuration sources metadata
425
- * @returns Single configuration factory or null if no valid configuration
426
- */
427
- createSingleFactoryFromConfig(config, sources) {
428
- if (!config || Object.keys(config).length === 0) {
429
- this.logger.warn('No configuration data available for factory creation');
430
- return null;
431
- }
432
- try {
433
- const factory = this.configurationFactoryProvider.createAwsConfigurationFactory(undefined, config, sources, this.options.precedence || 'aws-first');
434
- this.logger.debug('Created single configuration factory');
435
- return factory;
436
- }
437
- catch (error) {
438
- this.logger.error('Failed to create single configuration factory:', error);
439
- return null;
440
- }
441
- }
442
- /**
443
- * Register factories internally and track them.
444
- * @param factories - Array of factories to register
445
- */
446
- registerFactoriesInternal(factories) {
447
- for (const factory of factories) {
448
- // Determine factory name/key
449
- const factoryKey = this.getFactoryKey(factory);
450
- // Track the factory
451
- this.registeredFactories.set(factoryKey, factory);
452
- this.logger.debug(`Registered factory: ${factoryKey}`);
453
- }
454
- }
455
- /**
456
- * Get a unique key for a factory for tracking purposes.
457
- * @param factory - Configuration factory
458
- * @returns Unique key for the factory
459
- */
460
- getFactoryKey(factory) {
461
- // Check if it's an AWS configuration factory with namespace
462
- if ('namespace' in factory && factory.namespace) {
463
- return factory.namespace;
464
- }
465
- // Generate a unique key based on factory properties
466
- const factoryString = factory.toString();
467
- const hash = this.simpleHash(factoryString);
468
- return `factory_${hash}`;
469
- }
470
- /**
471
- * Generate a simple hash for factory identification.
472
- * @param str - String to hash
473
- * @returns Simple hash value
474
- */
475
- simpleHash(str) {
476
- let hash = 0;
477
- for (let i = 0; i < str.length; i++) {
478
- const char = str.charCodeAt(i);
479
- hash = ((hash << 5) - hash) + char;
480
- hash = hash & hash; // Convert to 32-bit integer
481
- }
482
- return Math.abs(hash).toString(36);
483
- }
484
- /**
485
- * Validate if a namespace configuration is valid.
486
- * @param namespace - The namespace name
487
- * @param config - The configuration data
488
- * @returns True if valid, false otherwise
489
- */
490
- isValidNamespaceConfig(namespace, config) {
491
- return typeof namespace === 'string' &&
492
- namespace.trim() !== '' &&
493
- config !== null &&
494
- config !== undefined &&
495
- typeof config === 'object' &&
496
- !Array.isArray(config);
497
- }
498
- };
499
- FactoryRegistrationService = FactoryRegistrationService_1 = __decorate([
500
- Injectable(),
501
- __param(4, Optional()),
502
- __param(4, Inject(NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS)),
503
- __metadata("design:paramtypes", [ConfigurationFactoryProviderImpl,
504
- AwsConfigurationLoaderService,
505
- NamespaceHandlerService,
506
- ValidationIntegrationService, Object])
507
- ], FactoryRegistrationService);
508
- export { FactoryRegistrationService };
509
- //# sourceMappingURL=factory-registration.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory-registration.service.js","sourceRoot":"","sources":["../../../../src/integration/services/factory-registration.service.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- // Integration services exports
2
- export * from './integration-state.service';
3
- export * from './error-handler.service';
4
- export * from './precedence-handler.service';
5
- export * from './factory-registration.service';
6
- export * from './nestjs-config-integration.service';
7
- export * from './async-config-helper.service';
8
- export * from './namespace-handler.service';
9
- export * from './validation-integration.service';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/integration/services/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
@@ -1,80 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { Injectable } from '@nestjs/common';
8
- /**
9
- * Service for managing the state of the integration module.
10
- */
11
- let IntegrationStateService = class IntegrationStateService {
12
- constructor() {
13
- this.state = {
14
- isInitialized: false,
15
- awsAvailable: false,
16
- loadedSources: [],
17
- registeredFactories: [],
18
- errors: [],
19
- };
20
- }
21
- /**
22
- * Get the current integration state.
23
- */
24
- getState() {
25
- return { ...this.state };
26
- }
27
- /**
28
- * Mark the integration as initialized.
29
- */
30
- setInitialized(initialized) {
31
- this.state.isInitialized = initialized;
32
- }
33
- /**
34
- * Set AWS availability status.
35
- */
36
- setAwsAvailable(available) {
37
- this.state.awsAvailable = available;
38
- }
39
- /**
40
- * Add a loaded configuration source.
41
- */
42
- addLoadedSource(source) {
43
- this.state.loadedSources.push(source);
44
- }
45
- /**
46
- * Add a registered factory name.
47
- */
48
- addRegisteredFactory(factoryName) {
49
- this.state.registeredFactories.push(factoryName);
50
- }
51
- /**
52
- * Add an error to the state.
53
- */
54
- addError(error) {
55
- this.state.errors.push(error);
56
- }
57
- /**
58
- * Clear all errors.
59
- */
60
- clearErrors() {
61
- this.state.errors = [];
62
- }
63
- /**
64
- * Reset the integration state.
65
- */
66
- reset() {
67
- this.state = {
68
- isInitialized: false,
69
- awsAvailable: false,
70
- loadedSources: [],
71
- registeredFactories: [],
72
- errors: [],
73
- };
74
- }
75
- };
76
- IntegrationStateService = __decorate([
77
- Injectable()
78
- ], IntegrationStateService);
79
- export { IntegrationStateService };
80
- //# sourceMappingURL=integration-state.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration-state.service.js","sourceRoot":"","sources":["../../../../src/integration/services/integration-state.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C;;GAEG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAA7B;QACG,UAAK,GAAqB;YAChC,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,EAAE;YACjB,mBAAmB,EAAE,EAAE;YACvB,MAAM,EAAE,EAAE;SACX,CAAC;IA+DJ,CAAC;IA7DC;;OAEG;IACH,QAAQ;QACN,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,WAAoB;QACjC,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,WAAW,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,SAAkB;QAChC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,MAA2B;QACzC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,WAAmB;QACtC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,EAAE;YACjB,mBAAmB,EAAE,EAAE;YACvB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AAtEY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAsEnC"}