@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
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Utility types for enhanced TypeScript support in nest-config-aws integration.
3
+ */
4
+ /**
5
+ * Type guard for AWS configuration sources.
6
+ */
7
+ export const isAwsSource = (source) => {
8
+ return source === 'secrets-manager' || source === 'ssm';
9
+ };
10
+ /**
11
+ * Type guard for local configuration sources.
12
+ */
13
+ export const isLocalSource = (source) => {
14
+ return source === 'environment' || source === 'local-file';
15
+ };
16
+ /**
17
+ * Type guard for configuration with metadata.
18
+ */
19
+ export const hasMetadata = (config) => {
20
+ return config && typeof config === 'object' && '__metadata' in config;
21
+ };
22
+ /**
23
+ * Type guard for validation result.
24
+ */
25
+ export const isValidationResult = (result) => {
26
+ return (result &&
27
+ typeof result === 'object' &&
28
+ 'isValid' in result &&
29
+ typeof result.isValid === 'boolean' &&
30
+ 'errors' in result &&
31
+ Array.isArray(result.errors));
32
+ };
33
+ /**
34
+ * Type guard for cache entry.
35
+ */
36
+ export const isCacheEntry = (entry) => {
37
+ return (entry &&
38
+ typeof entry === 'object' &&
39
+ 'key' in entry &&
40
+ 'value' in entry &&
41
+ 'timestamp' in entry &&
42
+ entry.timestamp instanceof Date);
43
+ };
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS10eXBlcy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vaW50ZXJmYWNlcy91dGlsaXR5LXR5cGVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQW1TSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQXVCLEVBQTZCLEVBQUU7SUFDaEYsT0FBTyxNQUFNLEtBQUssaUJBQWlCLElBQUksTUFBTSxLQUFLLEtBQUssQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQXVCLEVBQStCLEVBQUU7SUFDcEYsT0FBTyxNQUFNLEtBQUssYUFBYSxJQUFJLE1BQU0sS0FBSyxZQUFZLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDekIsTUFBVyxFQUN1QixFQUFFO0lBQ3BDLE9BQU8sTUFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxZQUFZLElBQUksTUFBTSxDQUFDO0FBQ3hFLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBSSxNQUFXLEVBQWlDLEVBQUU7SUFDbEYsT0FBTyxDQUNMLE1BQU07UUFDTixPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQzFCLFNBQVMsSUFBSSxNQUFNO1FBQ25CLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTO1FBQ25DLFFBQVEsSUFBSSxNQUFNO1FBQ2xCLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBSSxLQUFVLEVBQTBCLEVBQUU7SUFDcEUsT0FBTyxDQUNMLEtBQUs7UUFDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLEtBQUssSUFBSSxLQUFLO1FBQ2QsT0FBTyxJQUFJLEtBQUs7UUFDaEIsV0FBVyxJQUFJLEtBQUs7UUFDcEIsS0FBSyxDQUFDLFNBQVMsWUFBWSxJQUFJLENBQ2hDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXRpbGl0eSB0eXBlcyBmb3IgZW5oYW5jZWQgVHlwZVNjcmlwdCBzdXBwb3J0IGluIG5lc3QtY29uZmlnLWF3cyBpbnRlZ3JhdGlvbi5cclxuICovXHJcblxyXG4vKipcclxuICogRGVlcCByZWFkb25seSB0eXBlIGZvciBjb25maWd1cmF0aW9uIG9iamVjdHMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBEZWVwUmVhZG9ubHk8VD4gPSB7XHJcbiAgcmVhZG9ubHkgW1AgaW4ga2V5b2YgVF06IFRbUF0gZXh0ZW5kcyAoaW5mZXIgVSlbXVxyXG4gICAgPyBEZWVwUmVhZG9ubHlBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IERlZXBSZWFkb25seTxUW1BdPlxyXG4gICAgOiBUW1BdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERlZXAgcmVhZG9ubHkgYXJyYXkgdHlwZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVlcFJlYWRvbmx5QXJyYXk8VD4gZXh0ZW5kcyBSZWFkb25seUFycmF5PERlZXBSZWFkb25seTxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBQYXJ0aWFsIGRlZXAgdHlwZSBmb3IgY29uZmlndXJhdGlvbiBvYmplY3RzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUGFydGlhbERlZXA8VD4gPSB7XHJcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUGFydGlhbERlZXBBcnJheTxVPlxyXG4gICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XHJcbiAgICA/IFBhcnRpYWxEZWVwPFRbUF0+XHJcbiAgICA6IFRbUF07XHJcbn07XHJcblxyXG4vKipcclxuICogUGFydGlhbCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxEZWVwQXJyYXk8VD4gZXh0ZW5kcyBBcnJheTxQYXJ0aWFsRGVlcDxUPj4ge31cclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIHR5cGUgZm9yIGNvbmZpZ3VyYXRpb24gb2JqZWN0cy5cclxuICovXHJcbmV4cG9ydCB0eXBlIFJlcXVpcmVkRGVlcDxUPiA9IHtcclxuICBbUCBpbiBrZXlvZiBUXS0/OiBUW1BdIGV4dGVuZHMgKGluZmVyIFUpW11cclxuICAgID8gUmVxdWlyZWREZWVwQXJyYXk8VT5cclxuICAgIDogVFtQXSBleHRlbmRzIG9iamVjdFxyXG4gICAgPyBSZXF1aXJlZERlZXA8VFtQXT5cclxuICAgIDogVFtQXTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXF1aXJlZCBkZWVwIGFycmF5IHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkRGVlcEFycmF5PFQ+IGV4dGVuZHMgQXJyYXk8UmVxdWlyZWREZWVwPFQ+PiB7fVxyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gcGF0aCB0eXBlIGZvciBkb3Qgbm90YXRpb24gYWNjZXNzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnUGF0aDxULCBLIGV4dGVuZHMga2V5b2YgVCA9IGtleW9mIFQ+ID0gSyBleHRlbmRzIHN0cmluZ1xyXG4gID8gVFtLXSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT5cclxuICAgID8gYCR7S31gIHwgYCR7S30uJHtDb25maWdQYXRoPFRbS10+fWBcclxuICAgIDogYCR7S31gXHJcbiAgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHZhbHVlIHR5cGUgZm9yIGEgZ2l2ZW4gcGF0aC5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ZhbHVlPFQsIFAgZXh0ZW5kcyBzdHJpbmc+ID0gUCBleHRlbmRzIGAke2luZmVyIEt9LiR7aW5mZXIgUmVzdH1gXHJcbiAgPyBLIGV4dGVuZHMga2V5b2YgVFxyXG4gICAgPyBDb25maWdWYWx1ZTxUW0tdLCBSZXN0PlxyXG4gICAgOiBuZXZlclxyXG4gIDogUCBleHRlbmRzIGtleW9mIFRcclxuICA/IFRbUF1cclxuICA6IG5ldmVyO1xyXG5cclxuLyoqXHJcbiAqIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQXdzQ29uZmlnU291cmNlID0gJ3NlY3JldHMtbWFuYWdlcicgfCAnc3NtJztcclxuXHJcbi8qKlxyXG4gKiBMb2NhbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgTG9jYWxDb25maWdTb3VyY2UgPSAnZW52aXJvbm1lbnQnIHwgJ2xvY2FsLWZpbGUnO1xyXG5cclxuLyoqXHJcbiAqIEFsbCBjb25maWd1cmF0aW9uIHNvdXJjZSB1bmlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQWxsQ29uZmlnU291cmNlID0gQXdzQ29uZmlnU291cmNlIHwgTG9jYWxDb25maWdTb3VyY2U7XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBzb3VyY2UgbWV0YWRhdGEuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdTb3VyY2VNZXRhZGF0YTxUIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IHtcclxuICBzb3VyY2U6IFQ7XHJcbiAgaXNBd3M6IFQgZXh0ZW5kcyBBd3NDb25maWdTb3VyY2UgPyB0cnVlIDogZmFsc2U7XHJcbiAgcHJpb3JpdHk6IG51bWJlcjtcclxuICBsb2FkZWRBdDogRGF0ZTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIHdpdGggc291cmNlIG1ldGFkYXRhLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2l0aFNvdXJjZTxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPiA9IFQgJiB7XHJcbiAgX19tZXRhZGF0YTogQ29uZmlnU291cmNlTWV0YWRhdGE8Uz47XHJcbn07XHJcblxyXG4vKipcclxuICogRXh0cmFjdCBjb25maWd1cmF0aW9uIHR5cGUgZnJvbSBhIGNvbmZpZ3VyYXRpb24gZmFjdG9yeS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWc8VD4gPSBUIGV4dGVuZHMgKCkgPT4gaW5mZXIgVSA/IFUgOiBuZXZlcjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZhY3RvcnkgbWFwIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdGYWN0b3J5TWFwID0gUmVjb3JkPHN0cmluZywgKCkgPT4gYW55PjtcclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0IGFsbCBjb25maWd1cmF0aW9uIHR5cGVzIGZyb20gYSBmYWN0b3J5IG1hcC5cclxuICovXHJcbmV4cG9ydCB0eXBlIEV4dHJhY3RDb25maWdNYXA8VCBleHRlbmRzIENvbmZpZ0ZhY3RvcnlNYXA+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBFeHRyYWN0Q29uZmlnPFRbS10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBOYW1lc3BhY2VDb25maWc8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBUW0tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIE11bHRpLW5hbWVzcGFjZSBjb25maWd1cmF0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBNdWx0aU5hbWVzcGFjZUNvbmZpZzxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYW55Pj4+ID0ge1xyXG4gIFtLIGluIGtleW9mIFRdOiBOYW1lc3BhY2VDb25maWc8VFtLXT47XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIHJlc3VsdC5cclxuICovXHJcbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSB7XHJcbiAgaXNWYWxpZDogYm9vbGVhbjtcclxuICBkYXRhPzogVDtcclxuICBlcnJvcnM6IHN0cmluZ1tdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiByZXN1bHQuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY1ZhbGlkYXRpb25SZXN1bHQ8VCA9IGFueT4gPSBQcm9taXNlPFZhbGlkYXRpb25SZXN1bHQ8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1RyYW5zZm9ybWVyRm48VElucHV0LCBUT3V0cHV0PiA9IChpbnB1dDogVElucHV0KSA9PiBUT3V0cHV0O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGNvbmZpZ3VyYXRpb24gdHJhbnNmb3JtZXIgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnVHJhbnNmb3JtZXJGbjxUSW5wdXQsIFRPdXRwdXQ+ID0gKGlucHV0OiBUSW5wdXQpID0+IFByb21pc2U8VE91dHB1dD47XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ1ByZWRpY2F0ZTxUPiA9IChjb25maWc6IFQpID0+IGJvb2xlYW47XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBwcmVkaWNhdGUgZnVuY3Rpb24gdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFzeW5jQ29uZmlnUHJlZGljYXRlPFQ+ID0gKGNvbmZpZzogVCkgPT4gUHJvbWlzZTxib29sZWFuPjtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGtleSBleHRyYWN0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0tleUV4dHJhY3RvcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZ1tdO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gdmFsdWUgZXh0cmFjdG9yIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdWYWx1ZUV4dHJhY3RvcjxULCBVPiA9IChjb25maWc6IFQsIGtleTogc3RyaW5nKSA9PiBVIHwgdW5kZWZpbmVkO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gbWVyZ2VyIGZ1bmN0aW9uIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdNZXJnZXI8VD4gPSAocHJpbWFyeTogVCwgc2Vjb25kYXJ5OiBUKSA9PiBUO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnU2VyaWFsaXplcjxUPiA9IChjb25maWc6IFQpID0+IHN0cmluZztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGRlc2VyaWFsaXplciBmdW5jdGlvbiB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRGVzZXJpYWxpemVyPFQ+ID0gKHNlcmlhbGl6ZWQ6IHN0cmluZykgPT4gVDtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIGtleSBnZW5lcmF0b3IgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlS2V5R2VuZXJhdG9yPFQ+ID0gKGNvbmZpZzogVCkgPT4gc3RyaW5nO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gY2FjaGUgZW50cnkgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENhY2hlRW50cnk8VD4gPSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IFQ7XHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG4gIHR0bD86IG51bWJlcjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGNhY2hlIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBDb25maWdDYWNoZTxUPiA9IE1hcDxzdHJpbmcsIENhY2hlRW50cnk8VD4+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgdHlwZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0V2ZW50VHlwZSA9ICdsb2FkZWQnIHwgJ3VwZGF0ZWQnIHwgJ2Vycm9yJyB8ICd2YWxpZGF0ZWQnO1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gZXZlbnQgaGFuZGxlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnRXZlbnRIYW5kbGVyPFQgPSBhbnk+ID0gKGV2ZW50OiBDb25maWdFdmVudFR5cGUsIGRhdGE6IFQpID0+IHZvaWQ7XHJcblxyXG4vKipcclxuICogQXN5bmMgY29uZmlndXJhdGlvbiBldmVudCBoYW5kbGVyIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBc3luY0NvbmZpZ0V2ZW50SGFuZGxlcjxUID0gYW55PiA9IChldmVudDogQ29uZmlnRXZlbnRUeXBlLCBkYXRhOiBUKSA9PiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ3VyYXRpb24gd2F0Y2hlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29uZmlnV2F0Y2hlcjxUPiA9IHtcclxuICB3YXRjaDogKGhhbmRsZXI6IENvbmZpZ0V2ZW50SGFuZGxlcjxUPikgPT4gdm9pZDtcclxuICB1bndhdGNoOiAoaGFuZGxlcjogQ29uZmlnRXZlbnRIYW5kbGVyPFQ+KSA9PiB2b2lkO1xyXG4gIHN0b3A6ICgpID0+IHZvaWQ7XHJcbn07XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBidWlsZGVyIHBhdHRlcm4gaW50ZXJmYWNlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWdCdWlsZGVyPFQ+IHtcclxuICAvKipcclxuICAgKiBBZGQgYSBjb25maWd1cmF0aW9uIHNvdXJjZS5cclxuICAgKi9cclxuICBhZGRTb3VyY2Uoc291cmNlOiBBbGxDb25maWdTb3VyY2UsIGNvbmZpZzogYW55KTogQ29uZmlnQnVpbGRlcjxUPjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHByZWNlZGVuY2UgcnVsZS5cclxuICAgKi9cclxuICBzZXRQcmVjZWRlbmNlKHJ1bGU6ICdhd3MtZmlyc3QnIHwgJ2xvY2FsLWZpcnN0JyB8ICdtZXJnZScpOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBBZGQgbmFtZXNwYWNlLlxyXG4gICAqL1xyXG4gIGFkZE5hbWVzcGFjZShuYW1lc3BhY2U6IHN0cmluZyk6IENvbmZpZ0J1aWxkZXI8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB2YWxpZGF0aW9uLlxyXG4gICAqL1xyXG4gIGFkZFZhbGlkYXRpb24odmFsaWRhdG9yOiAoY29uZmlnOiBhbnkpID0+IGJvb2xlYW4pOiBDb25maWdCdWlsZGVyPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBCdWlsZCB0aGUgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBidWlsZCgpOiBUO1xyXG59XHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmbHVlbnQgQVBJIGludGVyZmFjZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnRmx1ZW50QVBJPFQ+IHtcclxuICAvKipcclxuICAgKiBGaWx0ZXIgY29uZmlndXJhdGlvbiBieSBwcmVkaWNhdGUuXHJcbiAgICovXHJcbiAgZmlsdGVyKHByZWRpY2F0ZTogQ29uZmlnUHJlZGljYXRlPFQ+KTogQ29uZmlnRmx1ZW50QVBJPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBUcmFuc2Zvcm0gY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBtYXA8VT4odHJhbnNmb3JtZXI6IENvbmZpZ1RyYW5zZm9ybWVyRm48VCwgVT4pOiBDb25maWdGbHVlbnRBUEk8VT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRlIGNvbmZpZ3VyYXRpb24uXHJcbiAgICovXHJcbiAgdmFsaWRhdGUodmFsaWRhdG9yOiBDb25maWdQcmVkaWNhdGU8VD4pOiBDb25maWdGbHVlbnRBUEk8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZmluYWwgY29uZmlndXJhdGlvbi5cclxuICAgKi9cclxuICBnZXQoKTogVDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIEFXUyBjb25maWd1cmF0aW9uIHNvdXJjZXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNBd3NTb3VyY2UgPSAoc291cmNlOiBBbGxDb25maWdTb3VyY2UpOiBzb3VyY2UgaXMgQXdzQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnc2VjcmV0cy1tYW5hZ2VyJyB8fCBzb3VyY2UgPT09ICdzc20nO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGxvY2FsIGNvbmZpZ3VyYXRpb24gc291cmNlcy5cclxuICovXHJcbmV4cG9ydCBjb25zdCBpc0xvY2FsU291cmNlID0gKHNvdXJjZTogQWxsQ29uZmlnU291cmNlKTogc291cmNlIGlzIExvY2FsQ29uZmlnU291cmNlID0+IHtcclxuICByZXR1cm4gc291cmNlID09PSAnZW52aXJvbm1lbnQnIHx8IHNvdXJjZSA9PT0gJ2xvY2FsLWZpbGUnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIGNvbmZpZ3VyYXRpb24gd2l0aCBtZXRhZGF0YS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBoYXNNZXRhZGF0YSA9IDxULCBTIGV4dGVuZHMgQWxsQ29uZmlnU291cmNlPihcclxuICBjb25maWc6IGFueVxyXG4pOiBjb25maWcgaXMgQ29uZmlnV2l0aFNvdXJjZTxULCBTPiA9PiB7XHJcbiAgcmV0dXJuIGNvbmZpZyAmJiB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiAnX19tZXRhZGF0YScgaW4gY29uZmlnO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgZ3VhcmQgZm9yIHZhbGlkYXRpb24gcmVzdWx0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGlzVmFsaWRhdGlvblJlc3VsdCA9IDxUPihyZXN1bHQ6IGFueSk6IHJlc3VsdCBpcyBWYWxpZGF0aW9uUmVzdWx0PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgcmVzdWx0ICYmXHJcbiAgICB0eXBlb2YgcmVzdWx0ID09PSAnb2JqZWN0JyAmJlxyXG4gICAgJ2lzVmFsaWQnIGluIHJlc3VsdCAmJlxyXG4gICAgdHlwZW9mIHJlc3VsdC5pc1ZhbGlkID09PSAnYm9vbGVhbicgJiZcclxuICAgICdlcnJvcnMnIGluIHJlc3VsdCAmJlxyXG4gICAgQXJyYXkuaXNBcnJheShyZXN1bHQuZXJyb3JzKVxyXG4gICk7XHJcbn07XHJcblxyXG4vKipcclxuICogVHlwZSBndWFyZCBmb3IgY2FjaGUgZW50cnkuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgaXNDYWNoZUVudHJ5ID0gPFQ+KGVudHJ5OiBhbnkpOiBlbnRyeSBpcyBDYWNoZUVudHJ5PFQ+ID0+IHtcclxuICByZXR1cm4gKFxyXG4gICAgZW50cnkgJiZcclxuICAgIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcgJiZcclxuICAgICdrZXknIGluIGVudHJ5ICYmXHJcbiAgICAndmFsdWUnIGluIGVudHJ5ICYmXHJcbiAgICAndGltZXN0YW1wJyBpbiBlbnRyeSAmJlxyXG4gICAgZW50cnkudGltZXN0YW1wIGluc3RhbmNlb2YgRGF0ZVxyXG4gICk7XHJcbn07Il19
@@ -0,0 +1,121 @@
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 NestConfigAwsIntegrationModule_1;
8
+ import { Global, Module } from '@nestjs/common';
9
+ import { ConfigurationFactoryProviderImpl } from './providers/configuration-factory.provider';
10
+ import { AwsConfigurationLoaderService } from './providers/aws-configuration-loader.service';
11
+ import { IntegrationStateService } from './services/integration-state.service';
12
+ import { FactoryRegistrationService } from './services/factory-registration.service';
13
+ import { NestjsConfigIntegrationService } from './services/nestjs-config-integration.service';
14
+ import { PrecedenceHandlerService } from './services/precedence-handler.service';
15
+ import { AsyncConfigHelperService } from './services/async-config-helper.service';
16
+ import { NamespaceHandlerService } from './services/namespace-handler.service';
17
+ import { ValidationIntegrationService } from './services/validation-integration.service';
18
+ /**
19
+ * Token for injecting integration options
20
+ */
21
+ export const NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS = 'NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS';
22
+ /**
23
+ * NestJS module for integrating nestjs-config-aws with @nestjs/config.
24
+ * This module provides AWS-sourced configuration values to the standard @nestjs/config module.
25
+ */
26
+ let NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule_1 = class NestConfigAwsIntegrationModule {
27
+ /**
28
+ * Create a synchronous integration module with provided options.
29
+ *
30
+ * @param options - Integration options for the module
31
+ * @returns Dynamic module configuration
32
+ */
33
+ static forRoot(options = {}) {
34
+ const providers = this.createProviders(options);
35
+ return {
36
+ module: NestConfigAwsIntegrationModule_1,
37
+ providers: [
38
+ {
39
+ provide: NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS,
40
+ useValue: options,
41
+ },
42
+ ...providers,
43
+ ],
44
+ exports: [
45
+ ConfigurationFactoryProviderImpl,
46
+ AwsConfigurationLoaderService,
47
+ IntegrationStateService,
48
+ FactoryRegistrationService,
49
+ NestjsConfigIntegrationService,
50
+ AsyncConfigHelperService,
51
+ NamespaceHandlerService,
52
+ ValidationIntegrationService,
53
+ ],
54
+ global: options.registerGlobally !== false,
55
+ };
56
+ }
57
+ /**
58
+ * Create an asynchronous integration module with factory-based options.
59
+ * Useful when integration options depend on other services or async operations.
60
+ *
61
+ * @param options - Async integration options with factory function
62
+ * @returns Dynamic module configuration
63
+ */
64
+ static forRootAsync(options) {
65
+ const asyncProviders = this.createAsyncProviders(options);
66
+ const providers = this.createProviders();
67
+ return {
68
+ module: NestConfigAwsIntegrationModule_1,
69
+ imports: options.imports || [],
70
+ providers: [
71
+ ...asyncProviders,
72
+ ...providers,
73
+ ],
74
+ exports: [
75
+ ConfigurationFactoryProviderImpl,
76
+ AwsConfigurationLoaderService,
77
+ IntegrationStateService,
78
+ FactoryRegistrationService,
79
+ NestjsConfigIntegrationService,
80
+ AsyncConfigHelperService,
81
+ NamespaceHandlerService,
82
+ ValidationIntegrationService,
83
+ ],
84
+ global: true, // Default to global for async modules
85
+ };
86
+ }
87
+ /**
88
+ * Create the standard providers for the integration module.
89
+ */
90
+ static createProviders(_options) {
91
+ return [
92
+ ConfigurationFactoryProviderImpl,
93
+ AwsConfigurationLoaderService,
94
+ IntegrationStateService,
95
+ PrecedenceHandlerService,
96
+ FactoryRegistrationService,
97
+ NestjsConfigIntegrationService,
98
+ AsyncConfigHelperService,
99
+ NamespaceHandlerService,
100
+ ValidationIntegrationService,
101
+ ];
102
+ }
103
+ /**
104
+ * Create providers for asynchronous module registration.
105
+ */
106
+ static createAsyncProviders(options) {
107
+ return [
108
+ {
109
+ provide: NESTJS_CONFIG_AWS_INTEGRATION_OPTIONS,
110
+ useFactory: options.useFactory,
111
+ inject: options.inject || [],
112
+ },
113
+ ];
114
+ }
115
+ };
116
+ NestConfigAwsIntegrationModule = NestConfigAwsIntegrationModule_1 = __decorate([
117
+ Global(),
118
+ Module({})
119
+ ], NestConfigAwsIntegrationModule);
120
+ export { NestConfigAwsIntegrationModule };
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vbmVzdGpzLWNvbmZpZy1pbnRlZ3JhdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE9BQU8sRUFBaUIsTUFBTSxFQUFFLE1BQU0sRUFBWSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRXpGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsdUNBQXVDLENBQUM7QUFFN0Y7OztHQUdHO0FBR0ksSUFBTSw4QkFBOEIsc0NBQXBDLE1BQU0sOEJBQThCO0lBQ3pDOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUE4QixFQUFFO1FBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFaEQsT0FBTztZQUNMLE1BQU0sRUFBRSxnQ0FBOEI7WUFDdEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxxQ0FBcUM7b0JBQzlDLFFBQVEsRUFBRSxPQUFPO2lCQUNsQjtnQkFDRCxHQUFHLFNBQVM7YUFDYjtZQUNELE9BQU8sRUFBRTtnQkFDUCxnQ0FBZ0M7Z0JBQ2hDLDZCQUE2QjtnQkFDN0IsdUJBQXVCO2dCQUN2QiwwQkFBMEI7Z0JBQzFCLDhCQUE4QjtnQkFDOUIsd0JBQXdCO2dCQUN4Qix1QkFBdUI7Z0JBQ3ZCLDRCQUE0QjthQUM3QjtZQUNELE1BQU0sRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEtBQUssS0FBSztTQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBZ0M7UUFDbEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV6QyxPQUFPO1lBQ0wsTUFBTSxFQUFFLGdDQUE4QjtZQUN0QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsU0FBUzthQUNiO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLGdDQUFnQztnQkFDaEMsNkJBQTZCO2dCQUM3Qix1QkFBdUI7Z0JBQ3ZCLDBCQUEwQjtnQkFDMUIsOEJBQThCO2dCQUM5Qix3QkFBd0I7Z0JBQ3hCLHVCQUF1QjtnQkFDdkIsNEJBQTRCO2FBQzdCO1lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxzQ0FBc0M7U0FDckQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNLLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBNkI7UUFDMUQsT0FBTztZQUNMLGdDQUFnQztZQUNoQyw2QkFBNkI7WUFDN0IsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4QiwwQkFBMEI7WUFDMUIsOEJBQThCO1lBQzlCLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsNEJBQTRCO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBZ0M7UUFDbEUsT0FBTztZQUNMO2dCQUNFLE9BQU8sRUFBRSxxQ0FBcUM7Z0JBQzlDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtnQkFDOUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRTthQUM3QjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YsQ0FBQTtBQTlGWSw4QkFBOEI7SUFGMUMsTUFBTSxFQUFFO0lBQ1IsTUFBTSxDQUFDLEVBQUUsQ0FBQztHQUNFLDhCQUE4QixDQThGMUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljTW9kdWxlLCBHbG9iYWwsIE1vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcbmltcG9ydCB7IEludGVncmF0aW9uT3B0aW9ucywgQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMvaW50ZWdyYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCB9IGZyb20gJy4vcHJvdmlkZXJzL2NvbmZpZ3VyYXRpb24tZmFjdG9yeS5wcm92aWRlcic7XHJcbmltcG9ydCB7IEF3c0NvbmZpZ3VyYXRpb25Mb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9wcm92aWRlcnMvYXdzLWNvbmZpZ3VyYXRpb24tbG9hZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbnRlZ3JhdGlvblN0YXRlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW50ZWdyYXRpb24tc3RhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mYWN0b3J5LXJlZ2lzdHJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcmVjZWRlbmNlSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByZWNlZGVuY2UtaGFuZGxlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hc3luYy1jb25maWctaGVscGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbmFtZXNwYWNlLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ZhbGlkYXRpb24taW50ZWdyYXRpb24uc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVG9rZW4gZm9yIGluamVjdGluZyBpbnRlZ3JhdGlvbiBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTkVTVEpTX0NPTkZJR19BV1NfSU5URUdSQVRJT05fT1BUSU9OUyA9ICdORVNUSlNfQ09ORklHX0FXU19JTlRFR1JBVElPTl9PUFRJT05TJztcclxuXHJcbi8qKlxyXG4gKiBOZXN0SlMgbW9kdWxlIGZvciBpbnRlZ3JhdGluZyBuZXN0anMtY29uZmlnLWF3cyB3aXRoIEBuZXN0anMvY29uZmlnLlxyXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBBV1Mtc291cmNlZCBjb25maWd1cmF0aW9uIHZhbHVlcyB0byB0aGUgc3RhbmRhcmQgQG5lc3Rqcy9jb25maWcgbW9kdWxlLlxyXG4gKi9cclxuQEdsb2JhbCgpXHJcbkBNb2R1bGUoe30pXHJcbmV4cG9ydCBjbGFzcyBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUge1xyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBhIHN5bmNocm9ub3VzIGludGVncmF0aW9uIG1vZHVsZSB3aXRoIHByb3ZpZGVkIG9wdGlvbnMuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBJbnRlZ3JhdGlvbiBvcHRpb25zIGZvciB0aGUgbW9kdWxlXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290KG9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9ucyA9IHt9KTogRHluYW1pY01vZHVsZSB7XHJcbiAgICBjb25zdCBwcm92aWRlcnMgPSB0aGlzLmNyZWF0ZVByb3ZpZGVycyhvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBtb2R1bGU6IE5lc3RDb25maWdBd3NJbnRlZ3JhdGlvbk1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTkVTVEpTX0NPTkZJR19BV1NfSU5URUdSQVRJT05fT1BUSU9OUyxcclxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICBdLFxyXG4gICAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwsXHJcbiAgICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgSW50ZWdyYXRpb25TdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgICBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBWYWxpZGF0aW9uSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgICBnbG9iYWw6IG9wdGlvbnMucmVnaXN0ZXJHbG9iYWxseSAhPT0gZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGFuIGFzeW5jaHJvbm91cyBpbnRlZ3JhdGlvbiBtb2R1bGUgd2l0aCBmYWN0b3J5LWJhc2VkIG9wdGlvbnMuXHJcbiAgICogVXNlZnVsIHdoZW4gaW50ZWdyYXRpb24gb3B0aW9ucyBkZXBlbmQgb24gb3RoZXIgc2VydmljZXMgb3IgYXN5bmMgb3BlcmF0aW9ucy5cclxuICAgKiBcclxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEFzeW5jIGludGVncmF0aW9uIG9wdGlvbnMgd2l0aCBmYWN0b3J5IGZ1bmN0aW9uXHJcbiAgICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIHN0YXRpYyBmb3JSb290QXN5bmMob3B0aW9uczogQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMpOiBEeW5hbWljTW9kdWxlIHtcclxuICAgIGNvbnN0IGFzeW5jUHJvdmlkZXJzID0gdGhpcy5jcmVhdGVBc3luY1Byb3ZpZGVycyhvcHRpb25zKTtcclxuICAgIGNvbnN0IHByb3ZpZGVycyA9IHRoaXMuY3JlYXRlUHJvdmlkZXJzKCk7XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbW9kdWxlOiBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUsXHJcbiAgICAgIGltcG9ydHM6IG9wdGlvbnMuaW1wb3J0cyB8fCBbXSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgLi4uYXN5bmNQcm92aWRlcnMsXHJcbiAgICAgICAgLi4ucHJvdmlkZXJzLFxyXG4gICAgICBdLFxyXG4gICAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwsXHJcbiAgICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgICAgSW50ZWdyYXRpb25TdGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgTmVzdGpzQ29uZmlnSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgICBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSxcclxuICAgICAgICBWYWxpZGF0aW9uSW50ZWdyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBdLFxyXG4gICAgICBnbG9iYWw6IHRydWUsIC8vIERlZmF1bHQgdG8gZ2xvYmFsIGZvciBhc3luYyBtb2R1bGVzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBzdGFuZGFyZCBwcm92aWRlcnMgZm9yIHRoZSBpbnRlZ3JhdGlvbiBtb2R1bGUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlUHJvdmlkZXJzKF9vcHRpb25zPzogSW50ZWdyYXRpb25PcHRpb25zKTogUHJvdmlkZXJbXSB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCxcclxuICAgICAgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UsXHJcbiAgICAgIEludGVncmF0aW9uU3RhdGVTZXJ2aWNlLFxyXG4gICAgICBQcmVjZWRlbmNlSGFuZGxlclNlcnZpY2UsXHJcbiAgICAgIEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlLFxyXG4gICAgICBOZXN0anNDb25maWdJbnRlZ3JhdGlvblNlcnZpY2UsXHJcbiAgICAgIEFzeW5jQ29uZmlnSGVscGVyU2VydmljZSxcclxuICAgICAgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UsXHJcbiAgICAgIFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UsXHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHByb3ZpZGVycyBmb3IgYXN5bmNocm9ub3VzIG1vZHVsZSByZWdpc3RyYXRpb24uXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlQXN5bmNQcm92aWRlcnMob3B0aW9uczogQXN5bmNJbnRlZ3JhdGlvbk9wdGlvbnMpOiBQcm92aWRlcltdIHtcclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBORVNUSlNfQ09ORklHX0FXU19JTlRFR1JBVElPTl9PUFRJT05TLFxyXG4gICAgICAgIHVzZUZhY3Rvcnk6IG9wdGlvbnMudXNlRmFjdG9yeSxcclxuICAgICAgICBpbmplY3Q6IG9wdGlvbnMuaW5qZWN0IHx8IFtdLFxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcbn0iXX0=