@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,353 +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 AsyncConfigHelperService_1;
14
- import { Injectable, Logger, Inject, Optional } from '@nestjs/common';
15
- import { FactoryRegistrationService } from './factory-registration.service';
16
- import { NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS } from '../nestjs-config-integration.module';
17
- /**
18
- * Helper service for async configuration support with @nestjs/config.
19
- * This service provides utilities for creating async configuration factories
20
- * and managing dependency injection in async scenarios.
21
- */
22
- let AsyncConfigHelperService = AsyncConfigHelperService_1 = class AsyncConfigHelperService {
23
- constructor(factoryRegistrationService, options = {}) {
24
- this.factoryRegistrationService = factoryRegistrationService;
25
- this.options = options;
26
- this.logger = new Logger(AsyncConfigHelperService_1.name);
27
- }
28
- /**
29
- * Create an async configuration factory that loads AWS configuration.
30
- * This factory can be used with @nestjs/config's load array.
31
- *
32
- * @returns Promise resolving to configuration factory
33
- */
34
- async createAsyncConfigFactory() {
35
- this.logger.debug('Creating async configuration factory');
36
- try {
37
- // Register AWS factories and get the first one
38
- const awsFactories = await this.factoryRegistrationService.registerFactories();
39
- if (awsFactories.length === 0) {
40
- this.logger.warn('No AWS factories available, creating empty factory');
41
- return () => ({});
42
- }
43
- // Create a combined factory that merges all AWS factories
44
- const combinedFactory = () => {
45
- const combinedConfig = {};
46
- for (const factory of awsFactories) {
47
- try {
48
- const factoryConfig = factory();
49
- Object.assign(combinedConfig, factoryConfig);
50
- }
51
- catch (error) {
52
- this.logger.error(`Error executing AWS factory:`, error);
53
- }
54
- }
55
- return combinedConfig;
56
- };
57
- this.logger.debug(`Created async configuration factory with ${awsFactories.length} AWS factories`);
58
- return combinedFactory;
59
- }
60
- catch (error) {
61
- const factoryError = error instanceof Error ? error : new Error(String(error));
62
- this.logger.error('Failed to create async configuration factory:', factoryError);
63
- // Handle error based on options
64
- if (this.options.failOnAwsError) {
65
- throw factoryError;
66
- }
67
- // Return empty factory as fallback
68
- if (this.options.fallbackToLocal) {
69
- this.logger.warn('Returning empty factory due to AWS error');
70
- return () => ({});
71
- }
72
- throw factoryError;
73
- }
74
- }
75
- /**
76
- * Create multiple async configuration factories for namespaces.
77
- * This method creates separate factories for each namespace.
78
- *
79
- * @param namespaces - Array of namespace names
80
- * @returns Promise resolving to array of namespaced configuration factories
81
- */
82
- async createAsyncNamespacedFactories(namespaces) {
83
- this.logger.debug(`Creating async namespaced factories for: ${namespaces.join(', ')}`);
84
- try {
85
- const namespacedFactories = await this.factoryRegistrationService.registerNamespacedFactories(namespaces);
86
- if (namespacedFactories.length === 0) {
87
- this.logger.warn('No namespaced factories available, creating empty factories');
88
- return namespaces.map(() => () => ({}));
89
- }
90
- this.logger.debug(`Created ${namespacedFactories.length} async namespaced factories`);
91
- return namespacedFactories;
92
- }
93
- catch (error) {
94
- const namespacedError = error instanceof Error ? error : new Error(String(error));
95
- this.logger.error('Failed to create async namespaced factories:', namespacedError);
96
- // Handle error based on options
97
- if (this.options.failOnAwsError) {
98
- throw namespacedError;
99
- }
100
- // Return empty factories as fallback
101
- if (this.options.fallbackToLocal) {
102
- this.logger.warn('Returning empty namespaced factories due to AWS error');
103
- return namespaces.map(() => () => ({}));
104
- }
105
- throw namespacedError;
106
- }
107
- }
108
- /**
109
- * Create an async factory function that can be used with dependency injection.
110
- * This method creates a factory that can receive injected dependencies.
111
- *
112
- * @param dependencies - Array of dependency tokens to inject
113
- * @returns Async factory function
114
- */
115
- createAsyncFactoryWithDependencies(dependencies = []) {
116
- this.logger.debug(`Creating async factory with ${dependencies.length} dependencies`);
117
- return async (..._injectedDependencies) => {
118
- try {
119
- this.logger.debug('Executing async factory with dependencies');
120
- // Create AWS configuration factory
121
- const awsFactory = await this.createAsyncConfigFactory();
122
- // Create enhanced configuration options
123
- const configOptions = {
124
- load: [awsFactory],
125
- isGlobal: this.options.registerGlobally ?? true,
126
- cache: this.options.factoryOptions?.cache ?? true,
127
- expandVariables: this.options.factoryOptions?.expandVariables ?? true,
128
- };
129
- this.logger.debug('Async factory with dependencies executed successfully');
130
- return configOptions;
131
- }
132
- catch (error) {
133
- const dependencyError = error instanceof Error ? error : new Error(String(error));
134
- this.logger.error('Failed to execute async factory with dependencies:', dependencyError);
135
- // Handle error based on options
136
- if (this.options.failOnAwsError) {
137
- throw dependencyError;
138
- }
139
- // Return basic configuration as fallback
140
- if (this.options.fallbackToLocal) {
141
- this.logger.warn('Returning basic configuration due to dependency error');
142
- return {
143
- load: [],
144
- isGlobal: this.options.registerGlobally ?? true,
145
- cache: this.options.factoryOptions?.cache ?? true,
146
- expandVariables: this.options.factoryOptions?.expandVariables ?? true,
147
- };
148
- }
149
- throw dependencyError;
150
- }
151
- };
152
- }
153
- /**
154
- * Create an async factory that merges with existing configuration.
155
- * This method creates a factory that can be combined with other configuration sources.
156
- *
157
- * @param existingFactory - Existing configuration factory to merge with
158
- * @returns Promise resolving to merged configuration factory
159
- */
160
- async createMergedAsyncFactory(existingFactory) {
161
- this.logger.debug('Creating merged async configuration factory');
162
- try {
163
- // Create AWS configuration factory
164
- const awsFactory = await this.createAsyncConfigFactory();
165
- // If no existing factory, return AWS factory
166
- if (!existingFactory) {
167
- return awsFactory;
168
- }
169
- // Create merged factory
170
- const mergedFactory = () => {
171
- const awsConfig = awsFactory();
172
- const existingConfig = existingFactory();
173
- // Merge configurations based on precedence
174
- const precedence = this.options.precedence || 'aws-first';
175
- if (precedence === 'aws-first') {
176
- return { ...existingConfig, ...awsConfig };
177
- }
178
- else if (precedence === 'local-first') {
179
- return { ...awsConfig, ...existingConfig };
180
- }
181
- else {
182
- // merge - deep merge both configurations
183
- return this.deepMerge(existingConfig, awsConfig);
184
- }
185
- };
186
- this.logger.debug('Created merged async configuration factory');
187
- return mergedFactory;
188
- }
189
- catch (error) {
190
- const mergeError = error instanceof Error ? error : new Error(String(error));
191
- this.logger.error('Failed to create merged async factory:', mergeError);
192
- // Handle error based on options
193
- if (this.options.failOnAwsError) {
194
- throw mergeError;
195
- }
196
- // Return existing factory or empty factory as fallback
197
- if (this.options.fallbackToLocal) {
198
- this.logger.warn('Returning existing factory due to merge error');
199
- return existingFactory || (() => ({}));
200
- }
201
- throw mergeError;
202
- }
203
- }
204
- /**
205
- * Create configuration options for async module setup.
206
- * This method creates options that can be used with ConfigModule.forRoot().
207
- *
208
- * @param baseOptions - Base configuration options to enhance
209
- * @returns Promise resolving to enhanced configuration options
210
- */
211
- async createAsyncConfigOptions(baseOptions = {}) {
212
- this.logger.debug('Creating async configuration options');
213
- try {
214
- // Create AWS configuration factory
215
- const awsFactory = await this.createAsyncConfigFactory();
216
- // Merge with existing load array
217
- const existingLoad = baseOptions.load || [];
218
- const enhancedLoad = [...existingLoad, awsFactory];
219
- // Create enhanced options
220
- const enhancedOptions = {
221
- ...baseOptions,
222
- load: enhancedLoad,
223
- isGlobal: baseOptions.isGlobal !== undefined ? baseOptions.isGlobal : (this.options.registerGlobally ?? true),
224
- cache: baseOptions.cache !== undefined ? baseOptions.cache : (this.options.factoryOptions?.cache ?? true),
225
- expandVariables: baseOptions.expandVariables !== undefined ? baseOptions.expandVariables : (this.options.factoryOptions?.expandVariables ?? true),
226
- };
227
- this.logger.debug('Created async configuration options');
228
- return enhancedOptions;
229
- }
230
- catch (error) {
231
- const optionsError = error instanceof Error ? error : new Error(String(error));
232
- this.logger.error('Failed to create async configuration options:', optionsError);
233
- // Handle error based on options
234
- if (this.options.failOnAwsError) {
235
- throw optionsError;
236
- }
237
- // Return base options as fallback
238
- if (this.options.fallbackToLocal) {
239
- this.logger.warn('Returning base options due to async error');
240
- return baseOptions;
241
- }
242
- throw optionsError;
243
- }
244
- }
245
- /**
246
- * Check if AWS configuration is available for async loading.
247
- * This method can be used to determine if AWS integration should be enabled.
248
- *
249
- * @returns Promise resolving to availability status
250
- */
251
- async checkAsyncAvailability() {
252
- this.logger.debug('Checking async configuration availability');
253
- const status = {
254
- isAvailable: false,
255
- factoriesCount: 0,
256
- errors: []
257
- };
258
- try {
259
- // Try to register factories to check availability
260
- const factories = await this.factoryRegistrationService.registerFactories();
261
- status.isAvailable = factories.length > 0;
262
- status.factoriesCount = factories.length;
263
- this.logger.debug(`Async availability check: available=${status.isAvailable}, factories=${status.factoriesCount}`);
264
- }
265
- catch (error) {
266
- const availabilityError = error instanceof Error ? error : new Error(String(error));
267
- status.errors.push(availabilityError.message);
268
- this.logger.error('Async availability check failed:', availabilityError);
269
- }
270
- return status;
271
- }
272
- /**
273
- * Create a factory that loads configuration on-demand.
274
- * This factory delays AWS configuration loading until it's actually needed.
275
- *
276
- * @returns Configuration factory with lazy loading
277
- */
278
- createLazyAsyncFactory() {
279
- this.logger.debug('Creating lazy async configuration factory');
280
- let cachedConfig = null;
281
- let loadingPromise = null;
282
- return () => {
283
- // Return cached config if available
284
- if (cachedConfig !== null) {
285
- return cachedConfig;
286
- }
287
- // If already loading, wait for the promise
288
- if (loadingPromise) {
289
- // For synchronous factory, we can't wait for async operations
290
- // Return empty config and let the promise resolve in background
291
- this.logger.warn('Lazy factory called while loading, returning empty config');
292
- return {};
293
- }
294
- // Start loading configuration
295
- loadingPromise = this.loadConfigurationLazily();
296
- // Return empty config for now (will be populated on next call)
297
- this.logger.debug('Started lazy loading, returning empty config');
298
- return {};
299
- };
300
- }
301
- /**
302
- * Load configuration lazily for the lazy factory.
303
- * @returns Promise resolving to configuration data
304
- */
305
- async loadConfigurationLazily() {
306
- try {
307
- this.logger.debug('Loading configuration lazily');
308
- const awsFactory = await this.createAsyncConfigFactory();
309
- const config = awsFactory();
310
- // Cache the configuration
311
- const cachedConfig = config;
312
- this.logger.debug('Lazy configuration loading completed');
313
- return cachedConfig;
314
- }
315
- catch (error) {
316
- const lazyError = error instanceof Error ? error : new Error(String(error));
317
- this.logger.error('Lazy configuration loading failed:', lazyError);
318
- // Return empty config on error
319
- return {};
320
- }
321
- }
322
- /**
323
- * Deep merge two configuration objects.
324
- * @param target - Target object
325
- * @param source - Source object
326
- * @returns Merged object
327
- */
328
- deepMerge(target, source) {
329
- const result = { ...target };
330
- for (const [key, value] of Object.entries(source)) {
331
- if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
332
- if (result[key] && typeof result[key] === 'object' && !Array.isArray(result[key])) {
333
- result[key] = this.deepMerge(result[key], value);
334
- }
335
- else {
336
- result[key] = { ...value };
337
- }
338
- }
339
- else {
340
- result[key] = value;
341
- }
342
- }
343
- return result;
344
- }
345
- };
346
- AsyncConfigHelperService = AsyncConfigHelperService_1 = __decorate([
347
- Injectable(),
348
- __param(1, Optional()),
349
- __param(1, Inject(NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS)),
350
- __metadata("design:paramtypes", [FactoryRegistrationService, Object])
351
- ], AsyncConfigHelperService);
352
- export { AsyncConfigHelperService };
353
- //# sourceMappingURL=async-config-helper.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"async-config-helper.service.js","sourceRoot":"","sources":["../../../../src/integration/services/async-config-helper.service.ts"],"names":[],"mappings":"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"}
@@ -1,262 +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 ErrorHandlerService_1;
11
- import { Injectable, Logger } from '@nestjs/common';
12
- import { ConfigurationError } from '../../interfaces/errors.interface';
13
- /**
14
- * Service for handling errors and implementing graceful degradation strategies
15
- * in the AWS configuration integration.
16
- */
17
- let ErrorHandlerService = ErrorHandlerService_1 = class ErrorHandlerService {
18
- constructor(options) {
19
- this.options = options;
20
- this.logger = new Logger(ErrorHandlerService_1.name);
21
- // Set default error handling strategy
22
- this.errorHandling = {
23
- onAwsUnavailable: 'warn',
24
- onConfigurationError: 'warn',
25
- onValidationError: 'fail',
26
- enableDetailedLogging: true,
27
- ...options.errorHandling,
28
- };
29
- }
30
- /**
31
- * Handle AWS service unavailability.
32
- * @param serviceName - Name of the AWS service that's unavailable
33
- * @param error - The error that occurred
34
- * @returns Whether to continue processing
35
- */
36
- handleAwsUnavailable(serviceName, error) {
37
- const message = `AWS service '${serviceName}' is unavailable${error ? `: ${error.message}` : ''}`;
38
- switch (this.errorHandling.onAwsUnavailable) {
39
- case 'fail':
40
- this.logger.error(message);
41
- throw new ConfigurationError(`AWS service unavailable: ${serviceName}`, error);
42
- case 'warn':
43
- this.logger.warn(message);
44
- this.logger.warn('Continuing with available configuration sources');
45
- return true;
46
- case 'silent':
47
- if (this.errorHandling.enableDetailedLogging) {
48
- this.logger.debug(message);
49
- }
50
- return true;
51
- default:
52
- this.logger.warn(message);
53
- return true;
54
- }
55
- }
56
- /**
57
- * Handle configuration loading errors.
58
- * @param source - Name of the configuration source
59
- * @param error - The error that occurred
60
- * @returns Whether to continue processing
61
- */
62
- handleConfigurationError(source, error) {
63
- const message = `Configuration error from '${source}': ${error.message}`;
64
- switch (this.errorHandling.onConfigurationError) {
65
- case 'fail':
66
- this.logger.error(message);
67
- throw new ConfigurationError(`Configuration loading failed: ${source}`, error);
68
- case 'warn':
69
- this.logger.warn(message);
70
- this.logger.warn('Continuing with other configuration sources');
71
- return true;
72
- case 'use-default':
73
- this.logger.warn(message);
74
- this.logger.warn('Using default configuration values');
75
- return true;
76
- default:
77
- this.logger.warn(message);
78
- return true;
79
- }
80
- }
81
- /**
82
- * Handle validation errors.
83
- * @param field - The field that failed validation
84
- * @param error - The validation error
85
- * @returns Whether to continue processing
86
- */
87
- handleValidationError(field, error) {
88
- const message = `Validation error for field '${field}': ${error.message}`;
89
- switch (this.errorHandling.onValidationError) {
90
- case 'fail':
91
- this.logger.error(message);
92
- throw new ConfigurationError(`Validation failed: ${field}`, error);
93
- case 'warn':
94
- this.logger.warn(message);
95
- this.logger.warn('Continuing with invalid configuration value');
96
- return true;
97
- case 'skip-invalid':
98
- this.logger.warn(message);
99
- this.logger.warn('Skipping invalid configuration value');
100
- return false;
101
- default:
102
- this.logger.error(message);
103
- throw new ConfigurationError(`Validation failed: ${field}`, error);
104
- }
105
- }
106
- /**
107
- * Handle network connectivity issues.
108
- * @param service - The service experiencing connectivity issues
109
- * @param error - The network error
110
- * @returns Whether to retry or continue
111
- */
112
- handleNetworkError(service, error) {
113
- const message = `Network error connecting to '${service}': ${error.message}`;
114
- if (this.errorHandling.enableDetailedLogging) {
115
- this.logger.error(message);
116
- this.logger.error('Stack trace:', error.stack);
117
- }
118
- else {
119
- this.logger.error(message);
120
- }
121
- // For network errors, we generally don't retry immediately but continue with other sources
122
- return {
123
- shouldRetry: false,
124
- shouldContinue: true,
125
- };
126
- }
127
- /**
128
- * Handle permission denied errors.
129
- * @param service - The service that denied access
130
- * @param resource - The resource that was accessed
131
- * @param error - The permission error
132
- * @returns Whether to continue processing
133
- */
134
- handlePermissionError(service, resource, error) {
135
- const message = `Permission denied accessing '${resource}' in '${service}': ${error.message}`;
136
- this.logger.error(message);
137
- this.logger.error('Please check AWS credentials and IAM permissions');
138
- if (this.errorHandling.enableDetailedLogging) {
139
- this.logger.error('Stack trace:', error.stack);
140
- }
141
- // Permission errors are usually configuration issues, so we continue with other sources
142
- return this.handleConfigurationError(service, error);
143
- }
144
- /**
145
- * Handle resource not found errors.
146
- * @param service - The service where the resource was not found
147
- * @param resource - The resource that was not found
148
- * @param error - The not found error
149
- * @returns Whether to continue processing
150
- */
151
- handleResourceNotFound(service, resource, error) {
152
- const message = `Resource '${resource}' not found in '${service}'${error ? `: ${error.message}` : ''}`;
153
- if (this.errorHandling.enableDetailedLogging) {
154
- this.logger.debug(message);
155
- this.logger.debug('This may be expected if the resource is not configured for this environment');
156
- }
157
- // Resource not found is often expected in different environments
158
- return true;
159
- }
160
- /**
161
- * Log detailed error information for troubleshooting.
162
- * @param context - The context where the error occurred
163
- * @param error - The error to log
164
- * @param additionalInfo - Additional information to include
165
- */
166
- logDetailedError(context, error, additionalInfo) {
167
- if (!this.errorHandling.enableDetailedLogging) {
168
- return;
169
- }
170
- this.logger.error(`Detailed error in ${context}:`);
171
- this.logger.error(`Error name: ${error.name}`);
172
- this.logger.error(`Error message: ${error.message}`);
173
- if (error.stack) {
174
- this.logger.error(`Stack trace: ${error.stack}`);
175
- }
176
- if (additionalInfo) {
177
- this.logger.error(`Additional info: ${JSON.stringify(additionalInfo, null, 2)}`);
178
- }
179
- // Log environment information that might be relevant
180
- this.logger.error('Environment context:');
181
- this.logger.error(`NODE_ENV: ${process.env['NODE_ENV'] || 'undefined'}`);
182
- this.logger.error(`APP_ENV: ${process.env['APP_ENV'] || 'undefined'}`);
183
- this.logger.error(`AWS_REGION: ${process.env['AWS_REGION'] || 'undefined'}`);
184
- this.logger.error(`AWS_PROFILE: ${process.env['AWS_PROFILE'] || 'undefined'}`);
185
- }
186
- /**
187
- * Create a fallback configuration when AWS sources fail.
188
- * @param namespace - Optional namespace for the fallback config
189
- * @returns Fallback configuration object
190
- */
191
- createFallbackConfiguration(namespace) {
192
- const fallbackConfig = {};
193
- if (this.options.fallbackToLocal) {
194
- this.logger.warn('Creating fallback configuration from environment variables');
195
- // Extract environment variables that might be configuration
196
- for (const [key, value] of Object.entries(process.env)) {
197
- if (value !== undefined) {
198
- // If namespace is specified, only include keys that match
199
- if (namespace) {
200
- const upperNamespace = namespace.toUpperCase();
201
- if (key.toUpperCase().startsWith(upperNamespace)) {
202
- const namespacedKey = key.substring(namespace.length);
203
- const cleanKey = namespacedKey.startsWith('_') ? namespacedKey.substring(1) : namespacedKey;
204
- if (cleanKey) {
205
- fallbackConfig[cleanKey] = value;
206
- }
207
- }
208
- }
209
- else {
210
- fallbackConfig[key] = value;
211
- }
212
- }
213
- }
214
- }
215
- return fallbackConfig;
216
- }
217
- /**
218
- * Check if an error is retryable.
219
- * @param error - The error to check
220
- * @returns Whether the error is retryable
221
- */
222
- isRetryableError(error) {
223
- // Network errors are generally retryable
224
- if (error.name === 'NetworkingError' || error.name === 'TimeoutError') {
225
- return true;
226
- }
227
- // Throttling errors are retryable
228
- if (error.name === 'ThrottlingException' || error.name === 'TooManyRequestsException') {
229
- return true;
230
- }
231
- // Service unavailable errors are retryable
232
- if (error.name === 'ServiceUnavailableException') {
233
- return true;
234
- }
235
- // Permission and resource not found errors are not retryable
236
- if (error.name === 'AccessDeniedException' || error.name === 'ResourceNotFoundException') {
237
- return false;
238
- }
239
- // Default to not retryable for unknown errors
240
- return false;
241
- }
242
- /**
243
- * Get retry delay for retryable errors.
244
- * @param attemptNumber - The current attempt number (1-based)
245
- * @returns Delay in milliseconds
246
- */
247
- getRetryDelay(attemptNumber) {
248
- // Exponential backoff with jitter
249
- const baseDelay = 1000; // 1 second
250
- const maxDelay = 30000; // 30 seconds
251
- const delay = Math.min(baseDelay * Math.pow(2, attemptNumber - 1), maxDelay);
252
- // Add jitter (±25%)
253
- const jitter = delay * 0.25 * (Math.random() - 0.5);
254
- return Math.max(100, delay + jitter); // Minimum 100ms delay
255
- }
256
- };
257
- ErrorHandlerService = ErrorHandlerService_1 = __decorate([
258
- Injectable(),
259
- __metadata("design:paramtypes", [Object])
260
- ], ErrorHandlerService);
261
- export { ErrorHandlerService };
262
- //# sourceMappingURL=error-handler.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error-handler.service.js","sourceRoot":"","sources":["../../../../src/integration/services/error-handler.service.ts"],"names":[],"mappings":"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"}