@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,283 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createAwsConfigFactory = createAwsConfigFactory;
37
+ exports.createAwsNamespacedFactories = createAwsNamespacedFactories;
38
+ exports.createEnhancedConfigOptions = createEnhancedConfigOptions;
39
+ exports.createAwsIntegrationModule = createAwsIntegrationModule;
40
+ exports.createAsyncAwsIntegrationModule = createAsyncAwsIntegrationModule;
41
+ exports.createConfigModuleFactory = createConfigModuleFactory;
42
+ exports.createConfigModuleFactoryWithDependencies = createConfigModuleFactoryWithDependencies;
43
+ exports.checkAwsConfigAvailability = checkAwsConfigAvailability;
44
+ const nestjs_config_integration_module_1 = require("../nestjs-config-integration.module");
45
+ /**
46
+ * Utility functions for integrating nestjs-config-aws with @nestjs/config.
47
+ * These functions provide convenient ways to set up AWS configuration integration.
48
+ */
49
+ /**
50
+ * Create a configuration factory that loads from AWS sources.
51
+ * This factory can be used directly in @nestjs/config's load array.
52
+ *
53
+ * @param options - Integration options for AWS configuration
54
+ * @returns Promise resolving to configuration factory
55
+ */
56
+ async function createAwsConfigFactory(options = {}) {
57
+ // Import services dynamically to avoid circular dependencies
58
+ const { AsyncConfigHelperService } = await Promise.resolve().then(() => __importStar(require('../services/async-config-helper.service')));
59
+ const { FactoryRegistrationService } = await Promise.resolve().then(() => __importStar(require('../services/factory-registration.service')));
60
+ const { ConfigurationFactoryProviderImpl } = await Promise.resolve().then(() => __importStar(require('../providers/configuration-factory.provider')));
61
+ const { AwsConfigurationLoaderService } = await Promise.resolve().then(() => __importStar(require('../providers/aws-configuration-loader.service')));
62
+ const { PrecedenceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/precedence-handler.service')));
63
+ const { NamespaceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/namespace-handler.service')));
64
+ const { ValidationIntegrationService } = await Promise.resolve().then(() => __importStar(require('../services/validation-integration.service')));
65
+ // Create service instances
66
+ const precedenceHandler = new PrecedenceHandlerService();
67
+ const configFactoryProvider = new ConfigurationFactoryProviderImpl(precedenceHandler);
68
+ const awsLoader = new AwsConfigurationLoaderService(options);
69
+ const namespaceHandler = new NamespaceHandlerService();
70
+ const validationService = new ValidationIntegrationService();
71
+ const factoryRegistration = new FactoryRegistrationService(configFactoryProvider, awsLoader, namespaceHandler, validationService, options);
72
+ const asyncHelper = new AsyncConfigHelperService(factoryRegistration, options);
73
+ // Create and return the async factory
74
+ return await asyncHelper.createAsyncConfigFactory();
75
+ }
76
+ /**
77
+ * Create configuration factories for specific namespaces.
78
+ * This function creates separate factories for each namespace.
79
+ *
80
+ * @param namespaces - Array of namespace names
81
+ * @param options - Integration options for AWS configuration
82
+ * @returns Promise resolving to array of namespaced configuration factories
83
+ */
84
+ async function createAwsNamespacedFactories(namespaces, options = {}) {
85
+ // Import services dynamically
86
+ const { AsyncConfigHelperService } = await Promise.resolve().then(() => __importStar(require('../services/async-config-helper.service')));
87
+ const { FactoryRegistrationService } = await Promise.resolve().then(() => __importStar(require('../services/factory-registration.service')));
88
+ const { ConfigurationFactoryProviderImpl } = await Promise.resolve().then(() => __importStar(require('../providers/configuration-factory.provider')));
89
+ const { AwsConfigurationLoaderService } = await Promise.resolve().then(() => __importStar(require('../providers/aws-configuration-loader.service')));
90
+ const { PrecedenceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/precedence-handler.service')));
91
+ const { NamespaceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/namespace-handler.service')));
92
+ const { ValidationIntegrationService } = await Promise.resolve().then(() => __importStar(require('../services/validation-integration.service')));
93
+ // Create service instances
94
+ const precedenceHandler = new PrecedenceHandlerService();
95
+ const configFactoryProvider = new ConfigurationFactoryProviderImpl(precedenceHandler);
96
+ const awsLoader = new AwsConfigurationLoaderService(options);
97
+ const namespaceHandler = new NamespaceHandlerService();
98
+ const validationService = new ValidationIntegrationService();
99
+ const factoryRegistration = new FactoryRegistrationService(configFactoryProvider, awsLoader, namespaceHandler, validationService, options);
100
+ const asyncHelper = new AsyncConfigHelperService(factoryRegistration, options);
101
+ // Create and return the namespaced factories
102
+ return await asyncHelper.createAsyncNamespacedFactories(namespaces);
103
+ }
104
+ /**
105
+ * Create enhanced ConfigModule options with AWS integration.
106
+ * This function enhances existing ConfigModule options with AWS-sourced configuration.
107
+ *
108
+ * @param baseOptions - Base ConfigModule options to enhance
109
+ * @param integrationOptions - Integration options for AWS configuration
110
+ * @returns Promise resolving to enhanced ConfigModule options
111
+ */
112
+ async function createEnhancedConfigOptions(baseOptions = {}, integrationOptions = {}) {
113
+ // Import services dynamically
114
+ const { AsyncConfigHelperService } = await Promise.resolve().then(() => __importStar(require('../services/async-config-helper.service')));
115
+ const { FactoryRegistrationService } = await Promise.resolve().then(() => __importStar(require('../services/factory-registration.service')));
116
+ const { ConfigurationFactoryProviderImpl } = await Promise.resolve().then(() => __importStar(require('../providers/configuration-factory.provider')));
117
+ const { AwsConfigurationLoaderService } = await Promise.resolve().then(() => __importStar(require('../providers/aws-configuration-loader.service')));
118
+ const { PrecedenceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/precedence-handler.service')));
119
+ const { NamespaceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/namespace-handler.service')));
120
+ const { ValidationIntegrationService } = await Promise.resolve().then(() => __importStar(require('../services/validation-integration.service')));
121
+ // Create service instances
122
+ const precedenceHandler = new PrecedenceHandlerService();
123
+ const configFactoryProvider = new ConfigurationFactoryProviderImpl(precedenceHandler);
124
+ const awsLoader = new AwsConfigurationLoaderService(integrationOptions);
125
+ const namespaceHandler = new NamespaceHandlerService();
126
+ const validationService = new ValidationIntegrationService();
127
+ const factoryRegistration = new FactoryRegistrationService(configFactoryProvider, awsLoader, namespaceHandler, validationService, integrationOptions);
128
+ const asyncHelper = new AsyncConfigHelperService(factoryRegistration, integrationOptions);
129
+ // Create and return enhanced options
130
+ return await asyncHelper.createAsyncConfigOptions(baseOptions);
131
+ }
132
+ /**
133
+ * Create a complete integration module for use with @nestjs/config.
134
+ * This function returns a module that can be imported alongside ConfigModule.
135
+ *
136
+ * @param options - Integration options for AWS configuration
137
+ * @returns Dynamic module for AWS integration
138
+ */
139
+ function createAwsIntegrationModule(options = {}) {
140
+ return nestjs_config_integration_module_1.NestConfigAwsIntegrationModule.forRoot(options);
141
+ }
142
+ /**
143
+ * Create an async integration module for use with @nestjs/config.
144
+ * This function returns a module that can be imported alongside ConfigModule for async scenarios.
145
+ *
146
+ * @param useFactory - Factory function to create integration options
147
+ * @param inject - Dependencies to inject into the factory function
148
+ * @param imports - Modules to import for the factory function
149
+ * @returns Dynamic module for async AWS integration
150
+ */
151
+ function createAsyncAwsIntegrationModule(useFactory, inject = [], imports = []) {
152
+ return nestjs_config_integration_module_1.NestConfigAwsIntegrationModule.forRootAsync({
153
+ useFactory,
154
+ inject,
155
+ imports,
156
+ });
157
+ }
158
+ /**
159
+ * Create a factory function that can be used with ConfigModule.forRoot().
160
+ * This factory function loads AWS configuration and merges it with local configuration.
161
+ *
162
+ * @param integrationOptions - Integration options for AWS configuration
163
+ * @returns Factory function for use with ConfigModule
164
+ */
165
+ function createConfigModuleFactory(integrationOptions = {}) {
166
+ return async () => {
167
+ try {
168
+ // Create AWS configuration factory
169
+ const awsFactory = await createAwsConfigFactory(integrationOptions);
170
+ // Return ConfigModule options with AWS factory
171
+ return {
172
+ load: [awsFactory],
173
+ isGlobal: integrationOptions.registerGlobally ?? true,
174
+ cache: integrationOptions.factoryOptions?.cache ?? true,
175
+ expandVariables: integrationOptions.factoryOptions?.expandVariables ?? true,
176
+ };
177
+ }
178
+ catch (error) {
179
+ // Handle error based on integration options
180
+ if (integrationOptions.failOnAwsError) {
181
+ throw error;
182
+ }
183
+ // Return basic options as fallback
184
+ if (integrationOptions.fallbackToLocal) {
185
+ return {
186
+ load: [],
187
+ isGlobal: integrationOptions.registerGlobally ?? true,
188
+ cache: integrationOptions.factoryOptions?.cache ?? true,
189
+ expandVariables: integrationOptions.factoryOptions?.expandVariables ?? true,
190
+ };
191
+ }
192
+ throw error;
193
+ }
194
+ };
195
+ }
196
+ /**
197
+ * Create a factory function with dependency injection support.
198
+ * This factory function can receive injected dependencies and use them to configure AWS integration.
199
+ *
200
+ * @param integrationOptions - Integration options for AWS configuration
201
+ * @param dependencies - Array of dependency tokens to inject
202
+ * @returns Factory function with dependency injection support
203
+ */
204
+ function createConfigModuleFactoryWithDependencies(integrationOptions = {}, dependencies = []) {
205
+ return async (...injectedDependencies) => {
206
+ try {
207
+ // Import services dynamically
208
+ const { AsyncConfigHelperService } = await Promise.resolve().then(() => __importStar(require('../services/async-config-helper.service')));
209
+ const { FactoryRegistrationService } = await Promise.resolve().then(() => __importStar(require('../services/factory-registration.service')));
210
+ const { ConfigurationFactoryProviderImpl } = await Promise.resolve().then(() => __importStar(require('../providers/configuration-factory.provider')));
211
+ const { AwsConfigurationLoaderService } = await Promise.resolve().then(() => __importStar(require('../providers/aws-configuration-loader.service')));
212
+ const { PrecedenceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/precedence-handler.service')));
213
+ const { NamespaceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/namespace-handler.service')));
214
+ const { ValidationIntegrationService } = await Promise.resolve().then(() => __importStar(require('../services/validation-integration.service')));
215
+ // Create service instances
216
+ const precedenceHandler = new PrecedenceHandlerService();
217
+ const configFactoryProvider = new ConfigurationFactoryProviderImpl(precedenceHandler);
218
+ const awsLoader = new AwsConfigurationLoaderService(integrationOptions);
219
+ const namespaceHandler = new NamespaceHandlerService();
220
+ const validationService = new ValidationIntegrationService();
221
+ const factoryRegistration = new FactoryRegistrationService(configFactoryProvider, awsLoader, namespaceHandler, validationService, integrationOptions);
222
+ const asyncHelper = new AsyncConfigHelperService(factoryRegistration, integrationOptions);
223
+ // Create factory with dependencies
224
+ const factoryWithDeps = asyncHelper.createAsyncFactoryWithDependencies(dependencies);
225
+ // Execute factory with injected dependencies
226
+ return await factoryWithDeps(...injectedDependencies);
227
+ }
228
+ catch (error) {
229
+ // Handle error based on integration options
230
+ if (integrationOptions.failOnAwsError) {
231
+ throw error;
232
+ }
233
+ // Return basic options as fallback
234
+ if (integrationOptions.fallbackToLocal) {
235
+ return {
236
+ load: [],
237
+ isGlobal: integrationOptions.registerGlobally ?? true,
238
+ cache: integrationOptions.factoryOptions?.cache ?? true,
239
+ expandVariables: integrationOptions.factoryOptions?.expandVariables ?? true,
240
+ };
241
+ }
242
+ throw error;
243
+ }
244
+ };
245
+ }
246
+ /**
247
+ * Check if AWS configuration is available for integration.
248
+ * This function can be used to determine if AWS integration should be enabled.
249
+ *
250
+ * @param options - Integration options for AWS configuration
251
+ * @returns Promise resolving to availability status
252
+ */
253
+ async function checkAwsConfigAvailability(options = {}) {
254
+ try {
255
+ // Import services dynamically
256
+ const { AsyncConfigHelperService } = await Promise.resolve().then(() => __importStar(require('../services/async-config-helper.service')));
257
+ const { FactoryRegistrationService } = await Promise.resolve().then(() => __importStar(require('../services/factory-registration.service')));
258
+ const { ConfigurationFactoryProviderImpl } = await Promise.resolve().then(() => __importStar(require('../providers/configuration-factory.provider')));
259
+ const { AwsConfigurationLoaderService } = await Promise.resolve().then(() => __importStar(require('../providers/aws-configuration-loader.service')));
260
+ const { PrecedenceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/precedence-handler.service')));
261
+ const { NamespaceHandlerService } = await Promise.resolve().then(() => __importStar(require('../services/namespace-handler.service')));
262
+ const { ValidationIntegrationService } = await Promise.resolve().then(() => __importStar(require('../services/validation-integration.service')));
263
+ // Create service instances
264
+ const precedenceHandler = new PrecedenceHandlerService();
265
+ const configFactoryProvider = new ConfigurationFactoryProviderImpl(precedenceHandler);
266
+ const awsLoader = new AwsConfigurationLoaderService(options);
267
+ const namespaceHandler = new NamespaceHandlerService();
268
+ const validationService = new ValidationIntegrationService();
269
+ const factoryRegistration = new FactoryRegistrationService(configFactoryProvider, awsLoader, namespaceHandler, validationService, options);
270
+ const asyncHelper = new AsyncConfigHelperService(factoryRegistration, options);
271
+ // Check availability
272
+ return await asyncHelper.checkAsyncAvailability();
273
+ }
274
+ catch (error) {
275
+ const availabilityError = error instanceof Error ? error : new Error(String(error));
276
+ return {
277
+ isAvailable: false,
278
+ factoriesCount: 0,
279
+ errors: [availabilityError.message],
280
+ };
281
+ }
282
+ }
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWludGVncmF0aW9uLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vdXRpbHMvY29uZmlnLWludGVncmF0aW9uLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkEsd0RBMkJDO0FBVUQsb0VBOEJDO0FBVUQsa0VBOEJDO0FBU0QsZ0VBRUM7QUFXRCwwRUFVQztBQVNELDhEQWtDQztBQVVELDhGQXNEQztBQVNELGdFQTJDQztBQXhURCwwRkFBcUY7QUFFckY7OztHQUdHO0FBRUg7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLHNCQUFzQixDQUFDLFVBQThCLEVBQUU7SUFDM0UsNkRBQTZEO0lBQzdELE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLHdEQUFhLHlDQUF5QyxHQUFDLENBQUM7SUFDN0YsTUFBTSxFQUFFLDBCQUEwQixFQUFFLEdBQUcsd0RBQWEsMENBQTBDLEdBQUMsQ0FBQztJQUNoRyxNQUFNLEVBQUUsZ0NBQWdDLEVBQUUsR0FBRyx3REFBYSw2Q0FBNkMsR0FBQyxDQUFDO0lBQ3pHLE1BQU0sRUFBRSw2QkFBNkIsRUFBRSxHQUFHLHdEQUFhLCtDQUErQyxHQUFDLENBQUM7SUFDeEcsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsd0RBQWEsd0NBQXdDLEdBQUMsQ0FBQztJQUM1RixNQUFNLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyx3REFBYSx1Q0FBdUMsR0FBQyxDQUFDO0lBQzFGLE1BQU0sRUFBRSw0QkFBNEIsRUFBRSxHQUFHLHdEQUFhLDRDQUE0QyxHQUFDLENBQUM7SUFFcEcsMkJBQTJCO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3pELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxnQ0FBZ0MsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sU0FBUyxHQUFHLElBQUksNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDBCQUEwQixDQUN4RCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsT0FBTyxDQUNSLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdCQUF3QixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRS9FLHNDQUFzQztJQUN0QyxPQUFPLE1BQU0sV0FBVyxDQUFDLHdCQUF3QixFQUFFLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSSxLQUFLLFVBQVUsNEJBQTRCLENBQ2hELFVBQW9CLEVBQ3BCLFVBQThCLEVBQUU7SUFFaEMsOEJBQThCO0lBQzlCLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLHdEQUFhLHlDQUF5QyxHQUFDLENBQUM7SUFDN0YsTUFBTSxFQUFFLDBCQUEwQixFQUFFLEdBQUcsd0RBQWEsMENBQTBDLEdBQUMsQ0FBQztJQUNoRyxNQUFNLEVBQUUsZ0NBQWdDLEVBQUUsR0FBRyx3REFBYSw2Q0FBNkMsR0FBQyxDQUFDO0lBQ3pHLE1BQU0sRUFBRSw2QkFBNkIsRUFBRSxHQUFHLHdEQUFhLCtDQUErQyxHQUFDLENBQUM7SUFDeEcsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsd0RBQWEsd0NBQXdDLEdBQUMsQ0FBQztJQUM1RixNQUFNLEVBQUUsdUJBQXVCLEVBQUUsR0FBRyx3REFBYSx1Q0FBdUMsR0FBQyxDQUFDO0lBQzFGLE1BQU0sRUFBRSw0QkFBNEIsRUFBRSxHQUFHLHdEQUFhLDRDQUE0QyxHQUFDLENBQUM7SUFFcEcsMkJBQTJCO0lBQzNCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO0lBQ3pELE1BQU0scUJBQXFCLEdBQUcsSUFBSSxnQ0FBZ0MsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RGLE1BQU0sU0FBUyxHQUFHLElBQUksNkJBQTZCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDBCQUEwQixDQUN4RCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsT0FBTyxDQUNSLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdCQUF3QixDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRS9FLDZDQUE2QztJQUM3QyxPQUFPLE1BQU0sV0FBVyxDQUFDLDhCQUE4QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLDJCQUEyQixDQUMvQyxjQUFtQyxFQUFFLEVBQ3JDLHFCQUF5QyxFQUFFO0lBRTNDLDhCQUE4QjtJQUM5QixNQUFNLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyx3REFBYSx5Q0FBeUMsR0FBQyxDQUFDO0lBQzdGLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxHQUFHLHdEQUFhLDBDQUEwQyxHQUFDLENBQUM7SUFDaEcsTUFBTSxFQUFFLGdDQUFnQyxFQUFFLEdBQUcsd0RBQWEsNkNBQTZDLEdBQUMsQ0FBQztJQUN6RyxNQUFNLEVBQUUsNkJBQTZCLEVBQUUsR0FBRyx3REFBYSwrQ0FBK0MsR0FBQyxDQUFDO0lBQ3hHLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLHdEQUFhLHdDQUF3QyxHQUFDLENBQUM7SUFDNUYsTUFBTSxFQUFFLHVCQUF1QixFQUFFLEdBQUcsd0RBQWEsdUNBQXVDLEdBQUMsQ0FBQztJQUMxRixNQUFNLEVBQUUsNEJBQTRCLEVBQUUsR0FBRyx3REFBYSw0Q0FBNEMsR0FBQyxDQUFDO0lBRXBHLDJCQUEyQjtJQUMzQixNQUFNLGlCQUFpQixHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztJQUN6RCxNQUFNLHFCQUFxQixHQUFHLElBQUksZ0NBQWdDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN0RixNQUFNLFNBQVMsR0FBRyxJQUFJLDZCQUE2QixDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7SUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDBCQUEwQixDQUN4RCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLENBQ25CLENBQUM7SUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdCQUF3QixDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFMUYscUNBQXFDO0lBQ3JDLE9BQU8sTUFBTSxXQUFXLENBQUMsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLDBCQUEwQixDQUFDLFVBQThCLEVBQUU7SUFDekUsT0FBTyxpRUFBOEIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsK0JBQStCLENBQzdDLFVBQWdGLEVBQ2hGLFNBQWdCLEVBQUUsRUFDbEIsVUFBaUIsRUFBRTtJQUVuQixPQUFPLGlFQUE4QixDQUFDLFlBQVksQ0FBQztRQUNqRCxVQUFVO1FBQ1YsTUFBTTtRQUNOLE9BQU87S0FDUixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IseUJBQXlCLENBQ3ZDLHFCQUF5QyxFQUFFO0lBRTNDLE9BQU8sS0FBSyxJQUFrQyxFQUFFO1FBQzlDLElBQUksQ0FBQztZQUNILG1DQUFtQztZQUNuQyxNQUFNLFVBQVUsR0FBRyxNQUFNLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFFcEUsK0NBQStDO1lBQy9DLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO2dCQUNsQixRQUFRLEVBQUUsa0JBQWtCLENBQUMsZ0JBQWdCLElBQUksSUFBSTtnQkFDckQsS0FBSyxFQUFFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxLQUFLLElBQUksSUFBSTtnQkFDdkQsZUFBZSxFQUFFLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxlQUFlLElBQUksSUFBSTthQUM1RSxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiw0Q0FBNEM7WUFDNUMsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxLQUFLLENBQUM7WUFDZCxDQUFDO1lBRUQsbUNBQW1DO1lBQ25DLElBQUksa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLGtCQUFrQixDQUFDLGdCQUFnQixJQUFJLElBQUk7b0JBQ3JELEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLElBQUk7b0JBQ3ZELGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxJQUFJLElBQUk7aUJBQzVFLENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQix5Q0FBeUMsQ0FDdkQscUJBQXlDLEVBQUUsRUFDM0MsZUFBc0IsRUFBRTtJQUV4QixPQUFPLEtBQUssRUFBRSxHQUFHLG9CQUEyQixFQUFnQyxFQUFFO1FBQzVFLElBQUksQ0FBQztZQUNILDhCQUE4QjtZQUM5QixNQUFNLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyx3REFBYSx5Q0FBeUMsR0FBQyxDQUFDO1lBQzdGLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxHQUFHLHdEQUFhLDBDQUEwQyxHQUFDLENBQUM7WUFDaEcsTUFBTSxFQUFFLGdDQUFnQyxFQUFFLEdBQUcsd0RBQWEsNkNBQTZDLEdBQUMsQ0FBQztZQUN6RyxNQUFNLEVBQUUsNkJBQTZCLEVBQUUsR0FBRyx3REFBYSwrQ0FBK0MsR0FBQyxDQUFDO1lBQ3hHLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLHdEQUFhLHdDQUF3QyxHQUFDLENBQUM7WUFDNUYsTUFBTSxFQUFFLHVCQUF1QixFQUFFLEdBQUcsd0RBQWEsdUNBQXVDLEdBQUMsQ0FBQztZQUMxRixNQUFNLEVBQUUsNEJBQTRCLEVBQUUsR0FBRyx3REFBYSw0Q0FBNEMsR0FBQyxDQUFDO1lBRXBHLDJCQUEyQjtZQUMzQixNQUFNLGlCQUFpQixHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztZQUN6RCxNQUFNLHFCQUFxQixHQUFHLElBQUksZ0NBQWdDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN0RixNQUFNLFNBQVMsR0FBRyxJQUFJLDZCQUE2QixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDdkQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7WUFDN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLDBCQUEwQixDQUN4RCxxQkFBcUIsRUFDckIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsa0JBQWtCLENBQ25CLENBQUM7WUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLHdCQUF3QixDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFFMUYsbUNBQW1DO1lBQ25DLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQ0FBa0MsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVyRiw2Q0FBNkM7WUFDN0MsT0FBTyxNQUFNLGVBQWUsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZiw0Q0FBNEM7WUFDNUMsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxLQUFLLENBQUM7WUFDZCxDQUFDO1lBRUQsbUNBQW1DO1lBQ25DLElBQUksa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsUUFBUSxFQUFFLGtCQUFrQixDQUFDLGdCQUFnQixJQUFJLElBQUk7b0JBQ3JELEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLElBQUk7b0JBQ3ZELGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsZUFBZSxJQUFJLElBQUk7aUJBQzVFLENBQUM7WUFDSixDQUFDO1lBRUQsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSwwQkFBMEIsQ0FDOUMsVUFBOEIsRUFBRTtJQU1oQyxJQUFJLENBQUM7UUFDSCw4QkFBOEI7UUFDOUIsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsd0RBQWEseUNBQXlDLEdBQUMsQ0FBQztRQUM3RixNQUFNLEVBQUUsMEJBQTBCLEVBQUUsR0FBRyx3REFBYSwwQ0FBMEMsR0FBQyxDQUFDO1FBQ2hHLE1BQU0sRUFBRSxnQ0FBZ0MsRUFBRSxHQUFHLHdEQUFhLDZDQUE2QyxHQUFDLENBQUM7UUFDekcsTUFBTSxFQUFFLDZCQUE2QixFQUFFLEdBQUcsd0RBQWEsK0NBQStDLEdBQUMsQ0FBQztRQUN4RyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyx3REFBYSx3Q0FBd0MsR0FBQyxDQUFDO1FBQzVGLE1BQU0sRUFBRSx1QkFBdUIsRUFBRSxHQUFHLHdEQUFhLHVDQUF1QyxHQUFDLENBQUM7UUFDMUYsTUFBTSxFQUFFLDRCQUE0QixFQUFFLEdBQUcsd0RBQWEsNENBQTRDLEdBQUMsQ0FBQztRQUVwRywyQkFBMkI7UUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFDekQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGdDQUFnQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEYsTUFBTSxTQUFTLEdBQUcsSUFBSSw2QkFBNkIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxNQUFNLGdCQUFnQixHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUN2RCxNQUFNLGlCQUFpQixHQUFHLElBQUksNEJBQTRCLEVBQUUsQ0FBQztRQUM3RCxNQUFNLG1CQUFtQixHQUFHLElBQUksMEJBQTBCLENBQ3hELHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixPQUFPLENBQ1IsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLElBQUksd0JBQXdCLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFL0UscUJBQXFCO1FBQ3JCLE9BQU8sTUFBTSxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVwRixPQUFPO1lBQ0wsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO1NBQ3BDLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ0ZhY3RvcnksIENvbmZpZ01vZHVsZU9wdGlvbnMgfSBmcm9tICdAbmVzdGpzL2NvbmZpZyc7XHJcbmltcG9ydCB7IER5bmFtaWNNb2R1bGUgfSBmcm9tICdAbmVzdGpzL2NvbW1vbic7XHJcbmltcG9ydCB7IEludGVncmF0aW9uT3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW50ZWdyYXRpb24tb3B0aW9ucy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUgfSBmcm9tICcuLi9uZXN0anMtY29uZmlnLWludGVncmF0aW9uLm1vZHVsZSc7XHJcblxyXG4vKipcclxuICogVXRpbGl0eSBmdW5jdGlvbnMgZm9yIGludGVncmF0aW5nIG5lc3Rqcy1jb25maWctYXdzIHdpdGggQG5lc3Rqcy9jb25maWcuXHJcbiAqIFRoZXNlIGZ1bmN0aW9ucyBwcm92aWRlIGNvbnZlbmllbnQgd2F5cyB0byBzZXQgdXAgQVdTIGNvbmZpZ3VyYXRpb24gaW50ZWdyYXRpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhIGNvbmZpZ3VyYXRpb24gZmFjdG9yeSB0aGF0IGxvYWRzIGZyb20gQVdTIHNvdXJjZXMuXHJcbiAqIFRoaXMgZmFjdG9yeSBjYW4gYmUgdXNlZCBkaXJlY3RseSBpbiBAbmVzdGpzL2NvbmZpZydzIGxvYWQgYXJyYXkuXHJcbiAqIFxyXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEludGVncmF0aW9uIG9wdGlvbnMgZm9yIEFXUyBjb25maWd1cmF0aW9uXHJcbiAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIGNvbmZpZ3VyYXRpb24gZmFjdG9yeVxyXG4gKi9cclxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUF3c0NvbmZpZ0ZhY3Rvcnkob3B0aW9uczogSW50ZWdyYXRpb25PcHRpb25zID0ge30pOiBQcm9taXNlPENvbmZpZ0ZhY3Rvcnk+IHtcclxuICAvLyBJbXBvcnQgc2VydmljZXMgZHluYW1pY2FsbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzXHJcbiAgY29uc3QgeyBBc3luY0NvbmZpZ0hlbHBlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvYXN5bmMtY29uZmlnLWhlbHBlci5zZXJ2aWNlJyk7XHJcbiAgY29uc3QgeyBGYWN0b3J5UmVnaXN0cmF0aW9uU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy9mYWN0b3J5LXJlZ2lzdHJhdGlvbi5zZXJ2aWNlJyk7XHJcbiAgY29uc3QgeyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvY29uZmlndXJhdGlvbi1mYWN0b3J5LnByb3ZpZGVyJyk7XHJcbiAgY29uc3QgeyBBd3NDb25maWd1cmF0aW9uTG9hZGVyU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvYXdzLWNvbmZpZ3VyYXRpb24tbG9hZGVyLnNlcnZpY2UnKTtcclxuICBjb25zdCB7IFByZWNlZGVuY2VIYW5kbGVyU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy9wcmVjZWRlbmNlLWhhbmRsZXIuc2VydmljZScpO1xyXG4gIGNvbnN0IHsgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvbmFtZXNwYWNlLWhhbmRsZXIuc2VydmljZScpO1xyXG4gIGNvbnN0IHsgVmFsaWRhdGlvbkludGVncmF0aW9uU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy92YWxpZGF0aW9uLWludGVncmF0aW9uLnNlcnZpY2UnKTtcclxuXHJcbiAgLy8gQ3JlYXRlIHNlcnZpY2UgaW5zdGFuY2VzXHJcbiAgY29uc3QgcHJlY2VkZW5jZUhhbmRsZXIgPSBuZXcgUHJlY2VkZW5jZUhhbmRsZXJTZXJ2aWNlKCk7XHJcbiAgY29uc3QgY29uZmlnRmFjdG9yeVByb3ZpZGVyID0gbmV3IENvbmZpZ3VyYXRpb25GYWN0b3J5UHJvdmlkZXJJbXBsKHByZWNlZGVuY2VIYW5kbGVyKTtcclxuICBjb25zdCBhd3NMb2FkZXIgPSBuZXcgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2Uob3B0aW9ucyk7XHJcbiAgY29uc3QgbmFtZXNwYWNlSGFuZGxlciA9IG5ldyBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSgpO1xyXG4gIGNvbnN0IHZhbGlkYXRpb25TZXJ2aWNlID0gbmV3IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UoKTtcclxuICBjb25zdCBmYWN0b3J5UmVnaXN0cmF0aW9uID0gbmV3IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlKFxyXG4gICAgY29uZmlnRmFjdG9yeVByb3ZpZGVyLFxyXG4gICAgYXdzTG9hZGVyLFxyXG4gICAgbmFtZXNwYWNlSGFuZGxlcixcclxuICAgIHZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgb3B0aW9uc1xyXG4gICk7XHJcbiAgY29uc3QgYXN5bmNIZWxwZXIgPSBuZXcgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlKGZhY3RvcnlSZWdpc3RyYXRpb24sIG9wdGlvbnMpO1xyXG5cclxuICAvLyBDcmVhdGUgYW5kIHJldHVybiB0aGUgYXN5bmMgZmFjdG9yeVxyXG4gIHJldHVybiBhd2FpdCBhc3luY0hlbHBlci5jcmVhdGVBc3luY0NvbmZpZ0ZhY3RvcnkoKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBjb25maWd1cmF0aW9uIGZhY3RvcmllcyBmb3Igc3BlY2lmaWMgbmFtZXNwYWNlcy5cclxuICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIHNlcGFyYXRlIGZhY3RvcmllcyBmb3IgZWFjaCBuYW1lc3BhY2UuXHJcbiAqIFxyXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIEFycmF5IG9mIG5hbWVzcGFjZSBuYW1lc1xyXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEludGVncmF0aW9uIG9wdGlvbnMgZm9yIEFXUyBjb25maWd1cmF0aW9uXHJcbiAqIEByZXR1cm5zIFByb21pc2UgcmVzb2x2aW5nIHRvIGFycmF5IG9mIG5hbWVzcGFjZWQgY29uZmlndXJhdGlvbiBmYWN0b3JpZXNcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVBd3NOYW1lc3BhY2VkRmFjdG9yaWVzKFxyXG4gIG5hbWVzcGFjZXM6IHN0cmluZ1tdLFxyXG4gIG9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9ucyA9IHt9XHJcbik6IFByb21pc2U8Q29uZmlnRmFjdG9yeVtdPiB7XHJcbiAgLy8gSW1wb3J0IHNlcnZpY2VzIGR5bmFtaWNhbGx5XHJcbiAgY29uc3QgeyBBc3luY0NvbmZpZ0hlbHBlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvYXN5bmMtY29uZmlnLWhlbHBlci5zZXJ2aWNlJyk7XHJcbiAgY29uc3QgeyBGYWN0b3J5UmVnaXN0cmF0aW9uU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy9mYWN0b3J5LXJlZ2lzdHJhdGlvbi5zZXJ2aWNlJyk7XHJcbiAgY29uc3QgeyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvY29uZmlndXJhdGlvbi1mYWN0b3J5LnByb3ZpZGVyJyk7XHJcbiAgY29uc3QgeyBBd3NDb25maWd1cmF0aW9uTG9hZGVyU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvYXdzLWNvbmZpZ3VyYXRpb24tbG9hZGVyLnNlcnZpY2UnKTtcclxuICBjb25zdCB7IFByZWNlZGVuY2VIYW5kbGVyU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy9wcmVjZWRlbmNlLWhhbmRsZXIuc2VydmljZScpO1xyXG4gIGNvbnN0IHsgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvbmFtZXNwYWNlLWhhbmRsZXIuc2VydmljZScpO1xyXG4gIGNvbnN0IHsgVmFsaWRhdGlvbkludGVncmF0aW9uU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy92YWxpZGF0aW9uLWludGVncmF0aW9uLnNlcnZpY2UnKTtcclxuXHJcbiAgLy8gQ3JlYXRlIHNlcnZpY2UgaW5zdGFuY2VzXHJcbiAgY29uc3QgcHJlY2VkZW5jZUhhbmRsZXIgPSBuZXcgUHJlY2VkZW5jZUhhbmRsZXJTZXJ2aWNlKCk7XHJcbiAgY29uc3QgY29uZmlnRmFjdG9yeVByb3ZpZGVyID0gbmV3IENvbmZpZ3VyYXRpb25GYWN0b3J5UHJvdmlkZXJJbXBsKHByZWNlZGVuY2VIYW5kbGVyKTtcclxuICBjb25zdCBhd3NMb2FkZXIgPSBuZXcgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2Uob3B0aW9ucyk7XHJcbiAgY29uc3QgbmFtZXNwYWNlSGFuZGxlciA9IG5ldyBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSgpO1xyXG4gIGNvbnN0IHZhbGlkYXRpb25TZXJ2aWNlID0gbmV3IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UoKTtcclxuICBjb25zdCBmYWN0b3J5UmVnaXN0cmF0aW9uID0gbmV3IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlKFxyXG4gICAgY29uZmlnRmFjdG9yeVByb3ZpZGVyLFxyXG4gICAgYXdzTG9hZGVyLFxyXG4gICAgbmFtZXNwYWNlSGFuZGxlcixcclxuICAgIHZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgb3B0aW9uc1xyXG4gICk7XHJcbiAgY29uc3QgYXN5bmNIZWxwZXIgPSBuZXcgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlKGZhY3RvcnlSZWdpc3RyYXRpb24sIG9wdGlvbnMpO1xyXG5cclxuICAvLyBDcmVhdGUgYW5kIHJldHVybiB0aGUgbmFtZXNwYWNlZCBmYWN0b3JpZXNcclxuICByZXR1cm4gYXdhaXQgYXN5bmNIZWxwZXIuY3JlYXRlQXN5bmNOYW1lc3BhY2VkRmFjdG9yaWVzKG5hbWVzcGFjZXMpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGVuaGFuY2VkIENvbmZpZ01vZHVsZSBvcHRpb25zIHdpdGggQVdTIGludGVncmF0aW9uLlxyXG4gKiBUaGlzIGZ1bmN0aW9uIGVuaGFuY2VzIGV4aXN0aW5nIENvbmZpZ01vZHVsZSBvcHRpb25zIHdpdGggQVdTLXNvdXJjZWQgY29uZmlndXJhdGlvbi5cclxuICogXHJcbiAqIEBwYXJhbSBiYXNlT3B0aW9ucyAtIEJhc2UgQ29uZmlnTW9kdWxlIG9wdGlvbnMgdG8gZW5oYW5jZVxyXG4gKiBAcGFyYW0gaW50ZWdyYXRpb25PcHRpb25zIC0gSW50ZWdyYXRpb24gb3B0aW9ucyBmb3IgQVdTIGNvbmZpZ3VyYXRpb25cclxuICogQHJldHVybnMgUHJvbWlzZSByZXNvbHZpbmcgdG8gZW5oYW5jZWQgQ29uZmlnTW9kdWxlIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVFbmhhbmNlZENvbmZpZ09wdGlvbnMoXHJcbiAgYmFzZU9wdGlvbnM6IENvbmZpZ01vZHVsZU9wdGlvbnMgPSB7fSxcclxuICBpbnRlZ3JhdGlvbk9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9ucyA9IHt9XHJcbik6IFByb21pc2U8Q29uZmlnTW9kdWxlT3B0aW9ucz4ge1xyXG4gIC8vIEltcG9ydCBzZXJ2aWNlcyBkeW5hbWljYWxseVxyXG4gIGNvbnN0IHsgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL2FzeW5jLWNvbmZpZy1oZWxwZXIuc2VydmljZScpO1xyXG4gIGNvbnN0IHsgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvZmFjdG9yeS1yZWdpc3RyYXRpb24uc2VydmljZScpO1xyXG4gIGNvbnN0IHsgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwgfSA9IGF3YWl0IGltcG9ydCgnLi4vcHJvdmlkZXJzL2NvbmZpZ3VyYXRpb24tZmFjdG9yeS5wcm92aWRlcicpO1xyXG4gIGNvbnN0IHsgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vcHJvdmlkZXJzL2F3cy1jb25maWd1cmF0aW9uLWxvYWRlci5zZXJ2aWNlJyk7XHJcbiAgY29uc3QgeyBQcmVjZWRlbmNlSGFuZGxlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvcHJlY2VkZW5jZS1oYW5kbGVyLnNlcnZpY2UnKTtcclxuICBjb25zdCB7IE5hbWVzcGFjZUhhbmRsZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL25hbWVzcGFjZS1oYW5kbGVyLnNlcnZpY2UnKTtcclxuICBjb25zdCB7IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvdmFsaWRhdGlvbi1pbnRlZ3JhdGlvbi5zZXJ2aWNlJyk7XHJcblxyXG4gIC8vIENyZWF0ZSBzZXJ2aWNlIGluc3RhbmNlc1xyXG4gIGNvbnN0IHByZWNlZGVuY2VIYW5kbGVyID0gbmV3IFByZWNlZGVuY2VIYW5kbGVyU2VydmljZSgpO1xyXG4gIGNvbnN0IGNvbmZpZ0ZhY3RvcnlQcm92aWRlciA9IG5ldyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbChwcmVjZWRlbmNlSGFuZGxlcik7XHJcbiAgY29uc3QgYXdzTG9hZGVyID0gbmV3IEF3c0NvbmZpZ3VyYXRpb25Mb2FkZXJTZXJ2aWNlKGludGVncmF0aW9uT3B0aW9ucyk7XHJcbiAgY29uc3QgbmFtZXNwYWNlSGFuZGxlciA9IG5ldyBOYW1lc3BhY2VIYW5kbGVyU2VydmljZSgpO1xyXG4gIGNvbnN0IHZhbGlkYXRpb25TZXJ2aWNlID0gbmV3IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UoKTtcclxuICBjb25zdCBmYWN0b3J5UmVnaXN0cmF0aW9uID0gbmV3IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlKFxyXG4gICAgY29uZmlnRmFjdG9yeVByb3ZpZGVyLFxyXG4gICAgYXdzTG9hZGVyLFxyXG4gICAgbmFtZXNwYWNlSGFuZGxlcixcclxuICAgIHZhbGlkYXRpb25TZXJ2aWNlLFxyXG4gICAgaW50ZWdyYXRpb25PcHRpb25zXHJcbiAgKTtcclxuICBjb25zdCBhc3luY0hlbHBlciA9IG5ldyBBc3luY0NvbmZpZ0hlbHBlclNlcnZpY2UoZmFjdG9yeVJlZ2lzdHJhdGlvbiwgaW50ZWdyYXRpb25PcHRpb25zKTtcclxuXHJcbiAgLy8gQ3JlYXRlIGFuZCByZXR1cm4gZW5oYW5jZWQgb3B0aW9uc1xyXG4gIHJldHVybiBhd2FpdCBhc3luY0hlbHBlci5jcmVhdGVBc3luY0NvbmZpZ09wdGlvbnMoYmFzZU9wdGlvbnMpO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGEgY29tcGxldGUgaW50ZWdyYXRpb24gbW9kdWxlIGZvciB1c2Ugd2l0aCBAbmVzdGpzL2NvbmZpZy5cclxuICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgbW9kdWxlIHRoYXQgY2FuIGJlIGltcG9ydGVkIGFsb25nc2lkZSBDb25maWdNb2R1bGUuXHJcbiAqIFxyXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEludGVncmF0aW9uIG9wdGlvbnMgZm9yIEFXUyBjb25maWd1cmF0aW9uXHJcbiAqIEByZXR1cm5zIER5bmFtaWMgbW9kdWxlIGZvciBBV1MgaW50ZWdyYXRpb25cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBd3NJbnRlZ3JhdGlvbk1vZHVsZShvcHRpb25zOiBJbnRlZ3JhdGlvbk9wdGlvbnMgPSB7fSk6IER5bmFtaWNNb2R1bGUge1xyXG4gIHJldHVybiBOZXN0Q29uZmlnQXdzSW50ZWdyYXRpb25Nb2R1bGUuZm9yUm9vdChvcHRpb25zKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZSBhbiBhc3luYyBpbnRlZ3JhdGlvbiBtb2R1bGUgZm9yIHVzZSB3aXRoIEBuZXN0anMvY29uZmlnLlxyXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBtb2R1bGUgdGhhdCBjYW4gYmUgaW1wb3J0ZWQgYWxvbmdzaWRlIENvbmZpZ01vZHVsZSBmb3IgYXN5bmMgc2NlbmFyaW9zLlxyXG4gKiBcclxuICogQHBhcmFtIHVzZUZhY3RvcnkgLSBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBpbnRlZ3JhdGlvbiBvcHRpb25zXHJcbiAqIEBwYXJhbSBpbmplY3QgLSBEZXBlbmRlbmNpZXMgdG8gaW5qZWN0IGludG8gdGhlIGZhY3RvcnkgZnVuY3Rpb25cclxuICogQHBhcmFtIGltcG9ydHMgLSBNb2R1bGVzIHRvIGltcG9ydCBmb3IgdGhlIGZhY3RvcnkgZnVuY3Rpb25cclxuICogQHJldHVybnMgRHluYW1pYyBtb2R1bGUgZm9yIGFzeW5jIEFXUyBpbnRlZ3JhdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFzeW5jQXdzSW50ZWdyYXRpb25Nb2R1bGUoXHJcbiAgdXNlRmFjdG9yeTogKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPEludGVncmF0aW9uT3B0aW9ucz4gfCBJbnRlZ3JhdGlvbk9wdGlvbnMsXHJcbiAgaW5qZWN0OiBhbnlbXSA9IFtdLFxyXG4gIGltcG9ydHM6IGFueVtdID0gW11cclxuKTogRHluYW1pY01vZHVsZSB7XHJcbiAgcmV0dXJuIE5lc3RDb25maWdBd3NJbnRlZ3JhdGlvbk1vZHVsZS5mb3JSb290QXN5bmMoe1xyXG4gICAgdXNlRmFjdG9yeSxcclxuICAgIGluamVjdCxcclxuICAgIGltcG9ydHMsXHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBDb25maWdNb2R1bGUuZm9yUm9vdCgpLlxyXG4gKiBUaGlzIGZhY3RvcnkgZnVuY3Rpb24gbG9hZHMgQVdTIGNvbmZpZ3VyYXRpb24gYW5kIG1lcmdlcyBpdCB3aXRoIGxvY2FsIGNvbmZpZ3VyYXRpb24uXHJcbiAqIFxyXG4gKiBAcGFyYW0gaW50ZWdyYXRpb25PcHRpb25zIC0gSW50ZWdyYXRpb24gb3B0aW9ucyBmb3IgQVdTIGNvbmZpZ3VyYXRpb25cclxuICogQHJldHVybnMgRmFjdG9yeSBmdW5jdGlvbiBmb3IgdXNlIHdpdGggQ29uZmlnTW9kdWxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZmlnTW9kdWxlRmFjdG9yeShcclxuICBpbnRlZ3JhdGlvbk9wdGlvbnM6IEludGVncmF0aW9uT3B0aW9ucyA9IHt9XHJcbik6ICgpID0+IFByb21pc2U8Q29uZmlnTW9kdWxlT3B0aW9ucz4ge1xyXG4gIHJldHVybiBhc3luYyAoKTogUHJvbWlzZTxDb25maWdNb2R1bGVPcHRpb25zPiA9PiB7XHJcbiAgICB0cnkge1xyXG4gICAgICAvLyBDcmVhdGUgQVdTIGNvbmZpZ3VyYXRpb24gZmFjdG9yeVxyXG4gICAgICBjb25zdCBhd3NGYWN0b3J5ID0gYXdhaXQgY3JlYXRlQXdzQ29uZmlnRmFjdG9yeShpbnRlZ3JhdGlvbk9wdGlvbnMpO1xyXG4gICAgICBcclxuICAgICAgLy8gUmV0dXJuIENvbmZpZ01vZHVsZSBvcHRpb25zIHdpdGggQVdTIGZhY3RvcnlcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBsb2FkOiBbYXdzRmFjdG9yeV0sXHJcbiAgICAgICAgaXNHbG9iYWw6IGludGVncmF0aW9uT3B0aW9ucy5yZWdpc3Rlckdsb2JhbGx5ID8/IHRydWUsXHJcbiAgICAgICAgY2FjaGU6IGludGVncmF0aW9uT3B0aW9ucy5mYWN0b3J5T3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZSxcclxuICAgICAgICBleHBhbmRWYXJpYWJsZXM6IGludGVncmF0aW9uT3B0aW9ucy5mYWN0b3J5T3B0aW9ucz8uZXhwYW5kVmFyaWFibGVzID8/IHRydWUsXHJcbiAgICAgIH07XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAvLyBIYW5kbGUgZXJyb3IgYmFzZWQgb24gaW50ZWdyYXRpb24gb3B0aW9uc1xyXG4gICAgICBpZiAoaW50ZWdyYXRpb25PcHRpb25zLmZhaWxPbkF3c0Vycm9yKSB7XHJcbiAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIC8vIFJldHVybiBiYXNpYyBvcHRpb25zIGFzIGZhbGxiYWNrXHJcbiAgICAgIGlmIChpbnRlZ3JhdGlvbk9wdGlvbnMuZmFsbGJhY2tUb0xvY2FsKSB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGxvYWQ6IFtdLFxyXG4gICAgICAgICAgaXNHbG9iYWw6IGludGVncmF0aW9uT3B0aW9ucy5yZWdpc3Rlckdsb2JhbGx5ID8/IHRydWUsXHJcbiAgICAgICAgICBjYWNoZTogaW50ZWdyYXRpb25PcHRpb25zLmZhY3RvcnlPcHRpb25zPy5jYWNoZSA/PyB0cnVlLFxyXG4gICAgICAgICAgZXhwYW5kVmFyaWFibGVzOiBpbnRlZ3JhdGlvbk9wdGlvbnMuZmFjdG9yeU9wdGlvbnM/LmV4cGFuZFZhcmlhYmxlcyA/PyB0cnVlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIHRocm93IGVycm9yO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYSBmYWN0b3J5IGZ1bmN0aW9uIHdpdGggZGVwZW5kZW5jeSBpbmplY3Rpb24gc3VwcG9ydC5cclxuICogVGhpcyBmYWN0b3J5IGZ1bmN0aW9uIGNhbiByZWNlaXZlIGluamVjdGVkIGRlcGVuZGVuY2llcyBhbmQgdXNlIHRoZW0gdG8gY29uZmlndXJlIEFXUyBpbnRlZ3JhdGlvbi5cclxuICogXHJcbiAqIEBwYXJhbSBpbnRlZ3JhdGlvbk9wdGlvbnMgLSBJbnRlZ3JhdGlvbiBvcHRpb25zIGZvciBBV1MgY29uZmlndXJhdGlvblxyXG4gKiBAcGFyYW0gZGVwZW5kZW5jaWVzIC0gQXJyYXkgb2YgZGVwZW5kZW5jeSB0b2tlbnMgdG8gaW5qZWN0XHJcbiAqIEByZXR1cm5zIEZhY3RvcnkgZnVuY3Rpb24gd2l0aCBkZXBlbmRlbmN5IGluamVjdGlvbiBzdXBwb3J0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29uZmlnTW9kdWxlRmFjdG9yeVdpdGhEZXBlbmRlbmNpZXMoXHJcbiAgaW50ZWdyYXRpb25PcHRpb25zOiBJbnRlZ3JhdGlvbk9wdGlvbnMgPSB7fSxcclxuICBkZXBlbmRlbmNpZXM6IGFueVtdID0gW11cclxuKTogKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPENvbmZpZ01vZHVsZU9wdGlvbnM+IHtcclxuICByZXR1cm4gYXN5bmMgKC4uLmluamVjdGVkRGVwZW5kZW5jaWVzOiBhbnlbXSk6IFByb21pc2U8Q29uZmlnTW9kdWxlT3B0aW9ucz4gPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgLy8gSW1wb3J0IHNlcnZpY2VzIGR5bmFtaWNhbGx5XHJcbiAgICAgIGNvbnN0IHsgQXN5bmNDb25maWdIZWxwZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL2FzeW5jLWNvbmZpZy1oZWxwZXIuc2VydmljZScpO1xyXG4gICAgICBjb25zdCB7IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL2ZhY3RvcnktcmVnaXN0cmF0aW9uLnNlcnZpY2UnKTtcclxuICAgICAgY29uc3QgeyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbCB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvY29uZmlndXJhdGlvbi1mYWN0b3J5LnByb3ZpZGVyJyk7XHJcbiAgICAgIGNvbnN0IHsgQXdzQ29uZmlndXJhdGlvbkxvYWRlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vcHJvdmlkZXJzL2F3cy1jb25maWd1cmF0aW9uLWxvYWRlci5zZXJ2aWNlJyk7XHJcbiAgICAgIGNvbnN0IHsgUHJlY2VkZW5jZUhhbmRsZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL3ByZWNlZGVuY2UtaGFuZGxlci5zZXJ2aWNlJyk7XHJcbiAgICAgIGNvbnN0IHsgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvbmFtZXNwYWNlLWhhbmRsZXIuc2VydmljZScpO1xyXG4gICAgICBjb25zdCB7IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvdmFsaWRhdGlvbi1pbnRlZ3JhdGlvbi5zZXJ2aWNlJyk7XHJcblxyXG4gICAgICAvLyBDcmVhdGUgc2VydmljZSBpbnN0YW5jZXNcclxuICAgICAgY29uc3QgcHJlY2VkZW5jZUhhbmRsZXIgPSBuZXcgUHJlY2VkZW5jZUhhbmRsZXJTZXJ2aWNlKCk7XHJcbiAgICAgIGNvbnN0IGNvbmZpZ0ZhY3RvcnlQcm92aWRlciA9IG5ldyBDb25maWd1cmF0aW9uRmFjdG9yeVByb3ZpZGVySW1wbChwcmVjZWRlbmNlSGFuZGxlcik7XHJcbiAgICAgIGNvbnN0IGF3c0xvYWRlciA9IG5ldyBBd3NDb25maWd1cmF0aW9uTG9hZGVyU2VydmljZShpbnRlZ3JhdGlvbk9wdGlvbnMpO1xyXG4gICAgICBjb25zdCBuYW1lc3BhY2VIYW5kbGVyID0gbmV3IE5hbWVzcGFjZUhhbmRsZXJTZXJ2aWNlKCk7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25TZXJ2aWNlID0gbmV3IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UoKTtcclxuICAgICAgY29uc3QgZmFjdG9yeVJlZ2lzdHJhdGlvbiA9IG5ldyBGYWN0b3J5UmVnaXN0cmF0aW9uU2VydmljZShcclxuICAgICAgICBjb25maWdGYWN0b3J5UHJvdmlkZXIsXHJcbiAgICAgICAgYXdzTG9hZGVyLFxyXG4gICAgICAgIG5hbWVzcGFjZUhhbmRsZXIsXHJcbiAgICAgICAgdmFsaWRhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgaW50ZWdyYXRpb25PcHRpb25zXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IGFzeW5jSGVscGVyID0gbmV3IEFzeW5jQ29uZmlnSGVscGVyU2VydmljZShmYWN0b3J5UmVnaXN0cmF0aW9uLCBpbnRlZ3JhdGlvbk9wdGlvbnMpO1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIGZhY3Rvcnkgd2l0aCBkZXBlbmRlbmNpZXNcclxuICAgICAgY29uc3QgZmFjdG9yeVdpdGhEZXBzID0gYXN5bmNIZWxwZXIuY3JlYXRlQXN5bmNGYWN0b3J5V2l0aERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpO1xyXG4gICAgICBcclxuICAgICAgLy8gRXhlY3V0ZSBmYWN0b3J5IHdpdGggaW5qZWN0ZWQgZGVwZW5kZW5jaWVzXHJcbiAgICAgIHJldHVybiBhd2FpdCBmYWN0b3J5V2l0aERlcHMoLi4uaW5qZWN0ZWREZXBlbmRlbmNpZXMpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgLy8gSGFuZGxlIGVycm9yIGJhc2VkIG9uIGludGVncmF0aW9uIG9wdGlvbnNcclxuICAgICAgaWYgKGludGVncmF0aW9uT3B0aW9ucy5mYWlsT25Bd3NFcnJvcikge1xyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAvLyBSZXR1cm4gYmFzaWMgb3B0aW9ucyBhcyBmYWxsYmFja1xyXG4gICAgICBpZiAoaW50ZWdyYXRpb25PcHRpb25zLmZhbGxiYWNrVG9Mb2NhbCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBsb2FkOiBbXSxcclxuICAgICAgICAgIGlzR2xvYmFsOiBpbnRlZ3JhdGlvbk9wdGlvbnMucmVnaXN0ZXJHbG9iYWxseSA/PyB0cnVlLFxyXG4gICAgICAgICAgY2FjaGU6IGludGVncmF0aW9uT3B0aW9ucy5mYWN0b3J5T3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZSxcclxuICAgICAgICAgIGV4cGFuZFZhcmlhYmxlczogaW50ZWdyYXRpb25PcHRpb25zLmZhY3RvcnlPcHRpb25zPy5leHBhbmRWYXJpYWJsZXMgPz8gdHJ1ZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICB0aHJvdyBlcnJvcjtcclxuICAgIH1cclxuICB9O1xyXG59XHJcblxyXG4vKipcclxuICogQ2hlY2sgaWYgQVdTIGNvbmZpZ3VyYXRpb24gaXMgYXZhaWxhYmxlIGZvciBpbnRlZ3JhdGlvbi5cclxuICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBkZXRlcm1pbmUgaWYgQVdTIGludGVncmF0aW9uIHNob3VsZCBiZSBlbmFibGVkLlxyXG4gKiBcclxuICogQHBhcmFtIG9wdGlvbnMgLSBJbnRlZ3JhdGlvbiBvcHRpb25zIGZvciBBV1MgY29uZmlndXJhdGlvblxyXG4gKiBAcmV0dXJucyBQcm9taXNlIHJlc29sdmluZyB0byBhdmFpbGFiaWxpdHkgc3RhdHVzXHJcbiAqL1xyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2hlY2tBd3NDb25maWdBdmFpbGFiaWxpdHkoXHJcbiAgb3B0aW9uczogSW50ZWdyYXRpb25PcHRpb25zID0ge31cclxuKTogUHJvbWlzZTx7XHJcbiAgaXNBdmFpbGFibGU6IGJvb2xlYW47XHJcbiAgZmFjdG9yaWVzQ291bnQ6IG51bWJlcjtcclxuICBlcnJvcnM6IHN0cmluZ1tdO1xyXG59PiB7XHJcbiAgdHJ5IHtcclxuICAgIC8vIEltcG9ydCBzZXJ2aWNlcyBkeW5hbWljYWxseVxyXG4gICAgY29uc3QgeyBBc3luY0NvbmZpZ0hlbHBlclNlcnZpY2UgfSA9IGF3YWl0IGltcG9ydCgnLi4vc2VydmljZXMvYXN5bmMtY29uZmlnLWhlbHBlci5zZXJ2aWNlJyk7XHJcbiAgICBjb25zdCB7IEZhY3RvcnlSZWdpc3RyYXRpb25TZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL2ZhY3RvcnktcmVnaXN0cmF0aW9uLnNlcnZpY2UnKTtcclxuICAgIGNvbnN0IHsgQ29uZmlndXJhdGlvbkZhY3RvcnlQcm92aWRlckltcGwgfSA9IGF3YWl0IGltcG9ydCgnLi4vcHJvdmlkZXJzL2NvbmZpZ3VyYXRpb24tZmFjdG9yeS5wcm92aWRlcicpO1xyXG4gICAgY29uc3QgeyBBd3NDb25maWd1cmF0aW9uTG9hZGVyU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9wcm92aWRlcnMvYXdzLWNvbmZpZ3VyYXRpb24tbG9hZGVyLnNlcnZpY2UnKTtcclxuICAgIGNvbnN0IHsgUHJlY2VkZW5jZUhhbmRsZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL3ByZWNlZGVuY2UtaGFuZGxlci5zZXJ2aWNlJyk7XHJcbiAgICBjb25zdCB7IE5hbWVzcGFjZUhhbmRsZXJTZXJ2aWNlIH0gPSBhd2FpdCBpbXBvcnQoJy4uL3NlcnZpY2VzL25hbWVzcGFjZS1oYW5kbGVyLnNlcnZpY2UnKTtcclxuICAgIGNvbnN0IHsgVmFsaWRhdGlvbkludGVncmF0aW9uU2VydmljZSB9ID0gYXdhaXQgaW1wb3J0KCcuLi9zZXJ2aWNlcy92YWxpZGF0aW9uLWludGVncmF0aW9uLnNlcnZpY2UnKTtcclxuXHJcbiAgICAvLyBDcmVhdGUgc2VydmljZSBpbnN0YW5jZXNcclxuICAgIGNvbnN0IHByZWNlZGVuY2VIYW5kbGVyID0gbmV3IFByZWNlZGVuY2VIYW5kbGVyU2VydmljZSgpO1xyXG4gICAgY29uc3QgY29uZmlnRmFjdG9yeVByb3ZpZGVyID0gbmV3IENvbmZpZ3VyYXRpb25GYWN0b3J5UHJvdmlkZXJJbXBsKHByZWNlZGVuY2VIYW5kbGVyKTtcclxuICAgIGNvbnN0IGF3c0xvYWRlciA9IG5ldyBBd3NDb25maWd1cmF0aW9uTG9hZGVyU2VydmljZShvcHRpb25zKTtcclxuICAgIGNvbnN0IG5hbWVzcGFjZUhhbmRsZXIgPSBuZXcgTmFtZXNwYWNlSGFuZGxlclNlcnZpY2UoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRpb25TZXJ2aWNlID0gbmV3IFZhbGlkYXRpb25JbnRlZ3JhdGlvblNlcnZpY2UoKTtcclxuICAgIGNvbnN0IGZhY3RvcnlSZWdpc3RyYXRpb24gPSBuZXcgRmFjdG9yeVJlZ2lzdHJhdGlvblNlcnZpY2UoXHJcbiAgICAgIGNvbmZpZ0ZhY3RvcnlQcm92aWRlcixcclxuICAgICAgYXdzTG9hZGVyLFxyXG4gICAgICBuYW1lc3BhY2VIYW5kbGVyLFxyXG4gICAgICB2YWxpZGF0aW9uU2VydmljZSxcclxuICAgICAgb3B0aW9uc1xyXG4gICAgKTtcclxuICAgIGNvbnN0IGFzeW5jSGVscGVyID0gbmV3IEFzeW5jQ29uZmlnSGVscGVyU2VydmljZShmYWN0b3J5UmVnaXN0cmF0aW9uLCBvcHRpb25zKTtcclxuXHJcbiAgICAvLyBDaGVjayBhdmFpbGFiaWxpdHlcclxuICAgIHJldHVybiBhd2FpdCBhc3luY0hlbHBlci5jaGVja0FzeW5jQXZhaWxhYmlsaXR5KCk7XHJcbiAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgIGNvbnN0IGF2YWlsYWJpbGl0eUVycm9yID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yIDogbmV3IEVycm9yKFN0cmluZyhlcnJvcikpO1xyXG4gICAgXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpc0F2YWlsYWJsZTogZmFsc2UsXHJcbiAgICAgIGZhY3Rvcmllc0NvdW50OiAwLFxyXG4gICAgICBlcnJvcnM6IFthdmFpbGFiaWxpdHlFcnJvci5tZXNzYWdlXSxcclxuICAgIH07XHJcbiAgfVxyXG59Il19
@@ -16,4 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  // Integration utilities exports
18
18
  __exportStar(require("./config-integration.util"), exports);
19
- //# sourceMappingURL=index.js.map
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvaW50ZWdyYXRpb24vdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFnQztBQUNoQyw0REFBMEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBJbnRlZ3JhdGlvbiB1dGlsaXRpZXMgZXhwb3J0c1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy1pbnRlZ3JhdGlvbi51dGlsJzsiXX0=
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfigService = void 0;
4
+ /**
5
+ * Abstract ConfigService interface for dependency injection.
6
+ * Provides type-safe access to configuration values with generic type support.
7
+ */
8
+ class ConfigService {
9
+ }
10
+ exports.ConfigService = ConfigService;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNlcnZpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVyZmFjZXMvY29uZmlnLXNlcnZpY2UuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7R0FHRztBQUNILE1BQXNCLGFBQWE7Q0FtQmxDO0FBbkJELHNDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBBYnN0cmFjdCBDb25maWdTZXJ2aWNlIGludGVyZmFjZSBmb3IgZGVwZW5kZW5jeSBpbmplY3Rpb24uXHJcbiAqIFByb3ZpZGVzIHR5cGUtc2FmZSBhY2Nlc3MgdG8gY29uZmlndXJhdGlvbiB2YWx1ZXMgd2l0aCBnZW5lcmljIHR5cGUgc3VwcG9ydC5cclxuICovXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb25maWdTZXJ2aWNlPFQgPSBhbnk+IHtcclxuICAvKipcclxuICAgKiBHZXQgYSBjb25maWd1cmF0aW9uIHZhbHVlIGJ5IGtleSB3aXRoIHR5cGUgc2FmZXR5LlxyXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUgY29uZmlndXJhdGlvbiBrZXkgdG8gcmV0cmlldmVcclxuICAgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSB3aXRoIHByb3BlciB0eXBpbmdcclxuICAgKi9cclxuICBhYnN0cmFjdCBnZXQ8SyBleHRlbmRzIGtleW9mIFQ+KGtleTogSyk6IFRbS107XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrIGlmIHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXHJcbiAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgc2VydmljZSBpcyByZWFkeSB0byBzZXJ2ZSBjb25maWd1cmF0aW9uIHZhbHVlc1xyXG4gICAqL1xyXG4gIGFic3RyYWN0IGlzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IGFsbCBjb25maWd1cmF0aW9uIHZhbHVlcy5cclxuICAgKiBAcmV0dXJucyBUaGUgY29tcGxldGUgY29uZmlndXJhdGlvbiBvYmplY3RcclxuICAgKi9cclxuICBhYnN0cmFjdCBnZXRBbGwoKTogVDtcclxufVxyXG4iXX0=
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appEnvSchema = exports.environmentSchemas = exports.defaultConfigSchema = void 0;
4
+ exports.getSchemaForEnvironment = getSchemaForEnvironment;
5
+ const zod_1 = require("zod");
6
+ /**
7
+ * Default configuration schema using Zod.
8
+ * Provides a flexible base schema that can be extended by applications.
9
+ */
10
+ exports.defaultConfigSchema = zod_1.z.object({
11
+ /** Node.js environment */
12
+ NODE_ENV: zod_1.z.enum(['production', 'development', 'test']).optional(),
13
+ /** Application environment (mirrors NODE_ENV with 'local' default) */
14
+ APP_ENV: zod_1.z.enum(['production', 'test', 'development', 'local']).default('local'),
15
+ /** AWS region for services */
16
+ AWS_REGION: zod_1.z.string().optional(),
17
+ /** AWS profile for local development */
18
+ AWS_PROFILE: zod_1.z.string().optional(),
19
+ /** Application port */
20
+ PORT: zod_1.z.coerce.number().positive().optional(),
21
+ /** Application host */
22
+ HOST: zod_1.z.string().optional(),
23
+ /** Log level */
24
+ LOG_LEVEL: zod_1.z.enum(['error', 'warn', 'info', 'debug', 'verbose']).optional(),
25
+ /** Database URL */
26
+ DATABASE_URL: zod_1.z.string().url().optional(),
27
+ /** Redis URL */
28
+ REDIS_URL: zod_1.z.string().url().optional(),
29
+ });
30
+ /**
31
+ * Environment-specific validation schemas.
32
+ */
33
+ exports.environmentSchemas = {
34
+ local: exports.defaultConfigSchema.extend({
35
+ // Local environment may have fewer required fields
36
+ AWS_REGION: zod_1.z.string().optional(),
37
+ }),
38
+ development: exports.defaultConfigSchema.extend({
39
+ // Development environment requirements
40
+ AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in development'),
41
+ }),
42
+ test: exports.defaultConfigSchema.extend({
43
+ // Test environment requirements
44
+ AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in test'),
45
+ }),
46
+ production: exports.defaultConfigSchema.extend({
47
+ // Production environment requirements
48
+ AWS_REGION: zod_1.z.string().min(1, 'AWS_REGION is required in production'),
49
+ LOG_LEVEL: zod_1.z.enum(['error', 'warn', 'info']).default('info'),
50
+ }),
51
+ };
52
+ /**
53
+ * Helper function to get the appropriate schema for the current environment.
54
+ */
55
+ function getSchemaForEnvironment(appEnv) {
56
+ const env = appEnv;
57
+ return exports.environmentSchemas[env] || exports.defaultConfigSchema;
58
+ }
59
+ /**
60
+ * Validation helper for APP_ENV values.
61
+ */
62
+ exports.appEnvSchema = zod_1.z.enum(['production', 'test', 'development', 'local']);
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zY2hlbWEuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVyZmFjZXMvZGVmYXVsdC1zY2hlbWEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXFFQSwwREFHQztBQXhFRCw2QkFBd0I7QUFFeEI7OztHQUdHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFDLDBCQUEwQjtJQUMxQixRQUFRLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFFbEUsc0VBQXNFO0lBQ3RFLE9BQU8sRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRWhGLDhCQUE4QjtJQUM5QixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUVqQyx3Q0FBd0M7SUFDeEMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFbEMsdUJBQXVCO0lBQ3ZCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUU3Qyx1QkFBdUI7SUFDdkIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFFM0IsZ0JBQWdCO0lBQ2hCLFNBQVMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBRTNFLG1CQUFtQjtJQUNuQixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUV6QyxnQkFBZ0I7SUFDaEIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDdkMsQ0FBQyxDQUFDO0FBT0g7O0dBRUc7QUFDVSxRQUFBLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDaEMsbURBQW1EO1FBQ25ELFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ2xDLENBQUM7SUFFRixXQUFXLEVBQUUsMkJBQW1CLENBQUMsTUFBTSxDQUFDO1FBQ3RDLHVDQUF1QztRQUN2QyxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsdUNBQXVDLENBQUM7S0FDdkUsQ0FBQztJQUVGLElBQUksRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDL0IsZ0NBQWdDO1FBQ2hDLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsQ0FBQztLQUNoRSxDQUFDO0lBRUYsVUFBVSxFQUFFLDJCQUFtQixDQUFDLE1BQU0sQ0FBQztRQUNyQyxzQ0FBc0M7UUFDdEMsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxDQUFDO1FBQ3JFLFNBQVMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDN0QsQ0FBQztDQUNILENBQUM7QUFFRjs7R0FFRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLE1BQWM7SUFDcEQsTUFBTSxHQUFHLEdBQUcsTUFBeUMsQ0FBQztJQUN0RCxPQUFPLDBCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLDJCQUFtQixDQUFDO0FBQ3hELENBQUM7QUFFRDs7R0FFRztBQUNVLFFBQUEsWUFBWSxHQUFHLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XHJcblxyXG4vKipcclxuICogRGVmYXVsdCBjb25maWd1cmF0aW9uIHNjaGVtYSB1c2luZyBab2QuXHJcbiAqIFByb3ZpZGVzIGEgZmxleGlibGUgYmFzZSBzY2hlbWEgdGhhdCBjYW4gYmUgZXh0ZW5kZWQgYnkgYXBwbGljYXRpb25zLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XHJcbiAgLyoqIE5vZGUuanMgZW52aXJvbm1lbnQgKi9cclxuICBOT0RFX0VOVjogei5lbnVtKFsncHJvZHVjdGlvbicsICdkZXZlbG9wbWVudCcsICd0ZXN0J10pLm9wdGlvbmFsKCksXHJcbiAgXHJcbiAgLyoqIEFwcGxpY2F0aW9uIGVudmlyb25tZW50IChtaXJyb3JzIE5PREVfRU5WIHdpdGggJ2xvY2FsJyBkZWZhdWx0KSAqL1xyXG4gIEFQUF9FTlY6IHouZW51bShbJ3Byb2R1Y3Rpb24nLCAndGVzdCcsICdkZXZlbG9wbWVudCcsICdsb2NhbCddKS5kZWZhdWx0KCdsb2NhbCcpLFxyXG4gIFxyXG4gIC8qKiBBV1MgcmVnaW9uIGZvciBzZXJ2aWNlcyAqL1xyXG4gIEFXU19SRUdJT046IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQVdTIHByb2ZpbGUgZm9yIGxvY2FsIGRldmVsb3BtZW50ICovXHJcbiAgQVdTX1BST0ZJTEU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQXBwbGljYXRpb24gcG9ydCAqL1xyXG4gIFBPUlQ6IHouY29lcmNlLm51bWJlcigpLnBvc2l0aXZlKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogQXBwbGljYXRpb24gaG9zdCAqL1xyXG4gIEhPU1Q6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogTG9nIGxldmVsICovXHJcbiAgTE9HX0xFVkVMOiB6LmVudW0oWydlcnJvcicsICd3YXJuJywgJ2luZm8nLCAnZGVidWcnLCAndmVyYm9zZSddKS5vcHRpb25hbCgpLFxyXG4gIFxyXG4gIC8qKiBEYXRhYmFzZSBVUkwgKi9cclxuICBEQVRBQkFTRV9VUkw6IHouc3RyaW5nKCkudXJsKCkub3B0aW9uYWwoKSxcclxuICBcclxuICAvKiogUmVkaXMgVVJMICovXHJcbiAgUkVESVNfVVJMOiB6LnN0cmluZygpLnVybCgpLm9wdGlvbmFsKCksXHJcbn0pO1xyXG5cclxuLyoqXHJcbiAqIFR5cGUgaW5mZXJlbmNlIGZvciB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHNjaGVtYS5cclxuICovXHJcbmV4cG9ydCB0eXBlIERlZmF1bHRDb25maWdTY2hlbWEgPSB6LmluZmVyPHR5cGVvZiBkZWZhdWx0Q29uZmlnU2NoZW1hPjtcclxuXHJcbi8qKlxyXG4gKiBFbnZpcm9ubWVudC1zcGVjaWZpYyB2YWxpZGF0aW9uIHNjaGVtYXMuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTY2hlbWFzID0ge1xyXG4gIGxvY2FsOiBkZWZhdWx0Q29uZmlnU2NoZW1hLmV4dGVuZCh7XHJcbiAgICAvLyBMb2NhbCBlbnZpcm9ubWVudCBtYXkgaGF2ZSBmZXdlciByZXF1aXJlZCBmaWVsZHNcclxuICAgIEFXU19SRUdJT046IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcclxuICB9KSxcclxuICBcclxuICBkZXZlbG9wbWVudDogZGVmYXVsdENvbmZpZ1NjaGVtYS5leHRlbmQoe1xyXG4gICAgLy8gRGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgcmVxdWlyZW1lbnRzXHJcbiAgICBBV1NfUkVHSU9OOiB6LnN0cmluZygpLm1pbigxLCAnQVdTX1JFR0lPTiBpcyByZXF1aXJlZCBpbiBkZXZlbG9wbWVudCcpLFxyXG4gIH0pLFxyXG4gIFxyXG4gIHRlc3Q6IGRlZmF1bHRDb25maWdTY2hlbWEuZXh0ZW5kKHtcclxuICAgIC8vIFRlc3QgZW52aXJvbm1lbnQgcmVxdWlyZW1lbnRzXHJcbiAgICBBV1NfUkVHSU9OOiB6LnN0cmluZygpLm1pbigxLCAnQVdTX1JFR0lPTiBpcyByZXF1aXJlZCBpbiB0ZXN0JyksXHJcbiAgfSksXHJcbiAgXHJcbiAgcHJvZHVjdGlvbjogZGVmYXVsdENvbmZpZ1NjaGVtYS5leHRlbmQoe1xyXG4gICAgLy8gUHJvZHVjdGlvbiBlbnZpcm9ubWVudCByZXF1aXJlbWVudHNcclxuICAgIEFXU19SRUdJT046IHouc3RyaW5nKCkubWluKDEsICdBV1NfUkVHSU9OIGlzIHJlcXVpcmVkIGluIHByb2R1Y3Rpb24nKSxcclxuICAgIExPR19MRVZFTDogei5lbnVtKFsnZXJyb3InLCAnd2FybicsICdpbmZvJ10pLmRlZmF1bHQoJ2luZm8nKSxcclxuICB9KSxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBhcHByb3ByaWF0ZSBzY2hlbWEgZm9yIHRoZSBjdXJyZW50IGVudmlyb25tZW50LlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjaGVtYUZvckVudmlyb25tZW50KGFwcEVudjogc3RyaW5nKTogei5ab2RTY2hlbWEge1xyXG4gIGNvbnN0IGVudiA9IGFwcEVudiBhcyBrZXlvZiB0eXBlb2YgZW52aXJvbm1lbnRTY2hlbWFzO1xyXG4gIHJldHVybiBlbnZpcm9ubWVudFNjaGVtYXNbZW52XSB8fCBkZWZhdWx0Q29uZmlnU2NoZW1hO1xyXG59XHJcblxyXG4vKipcclxuICogVmFsaWRhdGlvbiBoZWxwZXIgZm9yIEFQUF9FTlYgdmFsdWVzLlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IGFwcEVudlNjaGVtYSA9IHouZW51bShbJ3Byb2R1Y3Rpb24nLCAndGVzdCcsICdkZXZlbG9wbWVudCcsICdsb2NhbCddKTtcclxuXHJcbi8qKlxyXG4gKiBUeXBlIGZvciB2YWxpZCBBUFBfRU5WIHZhbHVlcy5cclxuICovXHJcbmV4cG9ydCB0eXBlIEFwcEVudiA9IHouaW5mZXI8dHlwZW9mIGFwcEVudlNjaGVtYT47XHJcbiJdfQ==
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MissingConfigurationError = exports.ConfigurationLoadError = exports.AWSServiceError = exports.ValidationError = exports.ConfigurationError = void 0;
18
+ // Core interfaces
19
+ __exportStar(require("./config-service.interface"), exports);
20
+ __exportStar(require("./module-options.interface"), exports);
21
+ // Error classes - re-export from core for backward compatibility
22
+ var config_aws_1 = require("@dyanet/config-aws");
23
+ Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return config_aws_1.ConfigurationError; } });
24
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return config_aws_1.ValidationError; } });
25
+ Object.defineProperty(exports, "AWSServiceError", { enumerable: true, get: function () { return config_aws_1.AWSServiceError; } });
26
+ Object.defineProperty(exports, "ConfigurationLoadError", { enumerable: true, get: function () { return config_aws_1.ConfigurationLoadError; } });
27
+ Object.defineProperty(exports, "MissingConfigurationError", { enumerable: true, get: function () { return config_aws_1.MissingConfigurationError; } });
28
+ // Default schema and types
29
+ __exportStar(require("./default-schema.interface"), exports);
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtCQUFrQjtBQUNsQiw2REFBMkM7QUFDM0MsNkRBQTJDO0FBRTNDLGlFQUFpRTtBQUNqRSxpREFNNEI7QUFMMUIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsNkdBQUEsZUFBZSxPQUFBO0FBQ2YsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysb0hBQUEsc0JBQXNCLE9BQUE7QUFDdEIsdUhBQUEseUJBQXlCLE9BQUE7QUFHM0IsMkJBQTJCO0FBQzNCLDZEQUEyQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgaW50ZXJmYWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy1zZXJ2aWNlLmludGVyZmFjZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlJztcclxuXHJcbi8vIEVycm9yIGNsYXNzZXMgLSByZS1leHBvcnQgZnJvbSBjb3JlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XHJcbmV4cG9ydCB7XHJcbiAgQ29uZmlndXJhdGlvbkVycm9yLFxyXG4gIFZhbGlkYXRpb25FcnJvcixcclxuICBBV1NTZXJ2aWNlRXJyb3IsXHJcbiAgQ29uZmlndXJhdGlvbkxvYWRFcnJvcixcclxuICBNaXNzaW5nQ29uZmlndXJhdGlvbkVycm9yLFxyXG59IGZyb20gJ0BkeWFuZXQvY29uZmlnLWF3cyc7XHJcblxyXG4vLyBEZWZhdWx0IHNjaGVtYSBhbmQgdHlwZXNcclxuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXNjaGVtYS5pbnRlcmZhY2UnO1xyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2ludGVyZmFjZXMvbW9kdWxlLW9wdGlvbnMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBab2RUeXBlIH0gZnJvbSAnem9kJztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBBV1MgU2VjcmV0cyBNYW5hZ2VyIGludGVncmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTZWNyZXRzTWFuYWdlckNvbmZpZyB7XHJcbiAgLyoqIEFXUyByZWdpb24gZm9yIFNlY3JldHMgTWFuYWdlciAqL1xyXG4gIHJlZ2lvbj86IHN0cmluZztcclxuICAvKiogQmFzZSBwYXRoIGZvciBzZWNyZXRzIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMgKi9cclxuICBwYXRocz86IHtcclxuICAgIGRldmVsb3BtZW50Pzogc3RyaW5nO1xyXG4gICAgdGVzdD86IHN0cmluZztcclxuICAgIHByb2R1Y3Rpb24/OiBzdHJpbmc7XHJcbiAgfTtcclxuICAvKiogV2hldGhlciB0byBlbmFibGUgU2VjcmV0cyBNYW5hZ2VyIGludGVncmF0aW9uICovXHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBBV1MgU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZSBpbnRlZ3JhdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU1NNQ29uZmlnIHtcclxuICAvKiogQVdTIHJlZ2lvbiBmb3IgU1NNIFBhcmFtZXRlciBTdG9yZSAqL1xyXG4gIHJlZ2lvbj86IHN0cmluZztcclxuICAvKiogQmFzZSBwYXRoIGZvciBwYXJhbWV0ZXJzIGluIGRpZmZlcmVudCBlbnZpcm9ubWVudHMgKi9cclxuICBwYXRocz86IHtcclxuICAgIGRldmVsb3BtZW50Pzogc3RyaW5nO1xyXG4gICAgdGVzdD86IHN0cmluZztcclxuICAgIHByb2R1Y3Rpb24/OiBzdHJpbmc7XHJcbiAgfTtcclxuICAvKiogV2hldGhlciB0byBlbmFibGUgU1NNIFBhcmFtZXRlciBTdG9yZSBpbnRlZ3JhdGlvbiAqL1xyXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKiBXaGV0aGVyIHRvIGRlY3J5cHQgU2VjdXJlU3RyaW5nIHBhcmFtZXRlcnMgKi9cclxuICBkZWNyeXB0PzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBOZXN0SlMgQVdTIENvbmZpZ3VyYXRpb24gbW9kdWxlLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBOZXN0Q29uZmlnQXdzTW9kdWxlT3B0aW9uczxUID0gYW55PiB7XHJcbiAgLyoqIFpvZCBzY2hlbWEgZm9yIGNvbmZpZ3VyYXRpb24gdmFsaWRhdGlvbiAqL1xyXG4gIHNjaGVtYT86IFpvZFR5cGU8VD47XHJcbiAgXHJcbiAgLyoqIENvbmZpZ3VyYXRpb24gZm9yIEFXUyBTZWNyZXRzIE1hbmFnZXIgaW50ZWdyYXRpb24gKi9cclxuICBzZWNyZXRzTWFuYWdlckNvbmZpZz86IFNlY3JldHNNYW5hZ2VyQ29uZmlnO1xyXG4gIFxyXG4gIC8qKiBDb25maWd1cmF0aW9uIGZvciBBV1MgU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZSBpbnRlZ3JhdGlvbiAqL1xyXG4gIHNzbUNvbmZpZz86IFNTTUNvbmZpZztcclxuICBcclxuICAvKiogUHJlZml4IGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgKGUuZy4sICdBUFBfJykgKi9cclxuICBlbnZQcmVmaXg/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIFdoZXRoZXIgdG8gaWdub3JlIHZhbGlkYXRpb24gZXJyb3JzIGFuZCBjb250aW51ZSB3aXRoIHBhcnRpYWwgY29uZmlnICovXHJcbiAgaWdub3JlVmFsaWRhdGlvbkVycm9ycz86IGJvb2xlYW47XHJcbiAgXHJcbiAgLyoqIEN1c3RvbSBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lIGZvciBBUFBfRU5WIChkZWZhdWx0cyB0byAnQVBQX0VOVicpICovXHJcbiAgYXBwRW52VmFyaWFibGU/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIFdoZXRoZXIgdG8gbG9hZCBjb25maWd1cmF0aW9uIHN5bmNocm9ub3VzbHkgZHVyaW5nIG1vZHVsZSBpbml0aWFsaXphdGlvbiAqL1xyXG4gIGxvYWRTeW5jPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFzeW5jIGZhY3Rvcnkgb3B0aW9ucyBmb3IgZHluYW1pYyBtb2R1bGUgY29uZmlndXJhdGlvbi5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTmVzdENvbmZpZ0F3c01vZHVsZUFzeW5jT3B0aW9uczxUID0gYW55PiB7XHJcbiAgLyoqIEZhY3RvcnkgZnVuY3Rpb24gdG8gY3JlYXRlIG1vZHVsZSBvcHRpb25zICovXHJcbiAgdXNlRmFjdG9yeTogKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zPFQ+PiB8IE5lc3RDb25maWdBd3NNb2R1bGVPcHRpb25zPFQ+O1xyXG4gIFxyXG4gIC8qKiBEZXBlbmRlbmNpZXMgdG8gaW5qZWN0IGludG8gdGhlIGZhY3RvcnkgZnVuY3Rpb24gKi9cclxuICBpbmplY3Q/OiBhbnlbXTtcclxuICBcclxuICAvKiogSW1wb3J0cyByZXF1aXJlZCBmb3IgdGhlIGZhY3RvcnkgZnVuY3Rpb24gKi9cclxuICBpbXBvcnRzPzogYW55W107XHJcbn1cclxuIl19