@aws-cdk/toolkit-lib 0.3.2 → 0.3.3

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 (361) hide show
  1. package/build-info.json +2 -2
  2. package/lib/actions/bootstrap/index.d.ts +1 -1
  3. package/lib/actions/bootstrap/index.js +5 -5
  4. package/lib/actions/deploy/index.d.ts +1 -1
  5. package/lib/actions/deploy/index.js +1 -1
  6. package/lib/actions/deploy/private/deploy-options.d.ts +1 -1
  7. package/lib/actions/deploy/private/deploy-options.js +1 -1
  8. package/lib/actions/deploy/private/helpers.d.ts +3 -2
  9. package/lib/actions/deploy/private/helpers.js +3 -3
  10. package/lib/actions/diff/private/helpers.d.ts +5 -9
  11. package/lib/actions/diff/private/helpers.js +6 -23
  12. package/lib/api/aws-auth/account-cache.d.ts +41 -0
  13. package/lib/api/aws-auth/account-cache.js +108 -0
  14. package/lib/api/aws-auth/awscli-compatible.d.ts +70 -0
  15. package/lib/api/aws-auth/awscli-compatible.js +250 -0
  16. package/lib/api/aws-auth/cached.d.ts +11 -0
  17. package/lib/api/aws-auth/cached.js +26 -0
  18. package/lib/api/aws-auth/credential-plugins.d.ts +38 -0
  19. package/lib/api/aws-auth/credential-plugins.js +154 -0
  20. package/lib/api/aws-auth/private/index.d.ts +11 -0
  21. package/lib/api/aws-auth/private/index.js +37 -0
  22. package/lib/api/aws-auth/provider-caching.d.ts +13 -0
  23. package/lib/api/aws-auth/provider-caching.js +24 -0
  24. package/lib/api/aws-auth/proxy-agent.d.ts +13 -0
  25. package/lib/api/aws-auth/proxy-agent.js +54 -0
  26. package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
  27. package/lib/api/aws-auth/sdk-logger.js +128 -0
  28. package/lib/api/aws-auth/sdk-provider.d.ts +195 -0
  29. package/lib/api/aws-auth/sdk-provider.js +373 -0
  30. package/lib/api/aws-auth/sdk.d.ts +235 -0
  31. package/lib/api/aws-auth/sdk.js +391 -0
  32. package/lib/api/aws-auth/tracing.d.ts +11 -0
  33. package/lib/api/aws-auth/tracing.js +60 -0
  34. package/lib/api/aws-auth/user-agent.d.ts +7 -0
  35. package/lib/api/aws-auth/user-agent.js +20 -0
  36. package/lib/api/aws-auth/util.d.ts +6 -0
  37. package/lib/api/aws-auth/util.js +21 -0
  38. package/lib/api/bootstrap/bootstrap-environment.d.ts +35 -0
  39. package/lib/api/bootstrap/bootstrap-environment.js +323 -0
  40. package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
  41. package/lib/api/bootstrap/bootstrap-props.js +14 -0
  42. package/lib/api/bootstrap/deploy-bootstrap.d.ts +39 -0
  43. package/lib/api/bootstrap/deploy-bootstrap.js +147 -0
  44. package/lib/api/bootstrap/index.d.ts +3 -0
  45. package/lib/api/bootstrap/index.js +23 -0
  46. package/lib/api/bootstrap/legacy-template.d.ts +2 -0
  47. package/lib/api/bootstrap/legacy-template.js +82 -0
  48. package/lib/api/cloud-assembly/environment.d.ts +43 -0
  49. package/lib/api/cloud-assembly/environment.js +127 -0
  50. package/lib/api/cloud-assembly/index.d.ts +1 -1
  51. package/lib/api/cloud-assembly/index.js +3 -3
  52. package/lib/api/cloud-assembly/private/context-aware-source.d.ts +1 -1
  53. package/lib/api/cloud-assembly/private/context-aware-source.js +5 -5
  54. package/lib/api/cloud-assembly/private/prepare-source.d.ts +2 -1
  55. package/lib/api/cloud-assembly/private/prepare-source.js +14 -12
  56. package/lib/api/cloud-assembly/private/readable-assembly.d.ts +1 -1
  57. package/lib/api/cloud-assembly/private/readable-assembly.js +1 -1
  58. package/lib/api/cloud-assembly/private/source-builder.js +8 -6
  59. package/lib/api/cloud-assembly/private/stack-assembly.d.ts +2 -1
  60. package/lib/api/cloud-assembly/private/stack-assembly.js +10 -9
  61. package/lib/api/cloud-assembly/stack-assembly.d.ts +55 -0
  62. package/lib/api/cloud-assembly/stack-assembly.js +139 -0
  63. package/lib/api/cloud-assembly/stack-collection.d.ts +27 -0
  64. package/lib/api/cloud-assembly/stack-collection.js +112 -0
  65. package/lib/api/cloud-assembly/stack-selector.d.ts +81 -2
  66. package/lib/api/cloud-assembly/stack-selector.js +62 -5
  67. package/lib/api/cloudformation/evaluate-cloudformation-template.d.ts +85 -0
  68. package/lib/api/cloudformation/evaluate-cloudformation-template.js +456 -0
  69. package/lib/api/cloudformation/index.d.ts +4 -0
  70. package/lib/api/cloudformation/index.js +21 -0
  71. package/lib/api/cloudformation/nested-stack-helpers.d.ts +25 -0
  72. package/lib/api/cloudformation/nested-stack-helpers.js +86 -0
  73. package/lib/api/cloudformation/stack-helpers.d.ts +96 -0
  74. package/lib/api/cloudformation/stack-helpers.js +163 -0
  75. package/lib/api/cloudformation/template-body-parameter.d.ts +22 -0
  76. package/lib/api/cloudformation/template-body-parameter.js +104 -0
  77. package/lib/api/context.d.ts +40 -0
  78. package/lib/api/context.js +84 -0
  79. package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
  80. package/lib/api/deployments/asset-manifest-builder.js +33 -0
  81. package/lib/api/deployments/asset-publishing.d.ts +60 -0
  82. package/lib/api/deployments/asset-publishing.js +144 -0
  83. package/lib/api/deployments/assets.d.ts +11 -0
  84. package/lib/api/deployments/assets.js +109 -0
  85. package/lib/api/deployments/cfn-api.d.ts +145 -0
  86. package/lib/api/deployments/cfn-api.js +444 -0
  87. package/lib/api/deployments/checks.d.ts +9 -0
  88. package/lib/api/deployments/checks.js +72 -0
  89. package/lib/api/deployments/deploy-stack.d.ts +164 -0
  90. package/lib/api/deployments/deploy-stack.js +490 -0
  91. package/lib/api/deployments/deployment-method.d.ts +24 -0
  92. package/lib/api/deployments/deployment-method.js +3 -0
  93. package/lib/api/deployments/deployment-result.d.ts +21 -0
  94. package/lib/api/deployments/deployment-result.js +10 -0
  95. package/lib/api/deployments/deployments.d.ts +289 -0
  96. package/lib/api/deployments/deployments.js +355 -0
  97. package/lib/api/deployments/index.d.ts +6 -0
  98. package/lib/api/deployments/index.js +27 -0
  99. package/lib/api/diff/diff-formatter.d.ts +147 -0
  100. package/lib/api/diff/diff-formatter.js +225 -0
  101. package/lib/api/diff/index.d.ts +1 -0
  102. package/lib/api/diff/index.js +18 -0
  103. package/lib/api/environment/environment-access.d.ts +139 -0
  104. package/lib/api/environment/environment-access.js +205 -0
  105. package/lib/api/environment/environment-resources.d.ts +75 -0
  106. package/lib/api/environment/environment-resources.js +213 -0
  107. package/lib/api/environment/index.d.ts +3 -0
  108. package/lib/api/environment/index.js +20 -0
  109. package/lib/api/environment/placeholders.d.ts +10 -0
  110. package/lib/api/environment/placeholders.js +23 -0
  111. package/lib/api/garbage-collection/garbage-collector.d.ts +158 -0
  112. package/lib/api/garbage-collection/garbage-collector.js +614 -0
  113. package/lib/api/garbage-collection/index.d.ts +3 -0
  114. package/lib/api/garbage-collection/index.js +21 -0
  115. package/lib/api/garbage-collection/progress-printer.d.ts +23 -0
  116. package/lib/api/garbage-collection/progress-printer.js +80 -0
  117. package/lib/api/garbage-collection/stack-refresh.d.ts +49 -0
  118. package/lib/api/garbage-collection/stack-refresh.js +152 -0
  119. package/lib/api/hotswap/appsync-mapping-templates.d.ts +4 -0
  120. package/lib/api/hotswap/appsync-mapping-templates.js +162 -0
  121. package/lib/api/hotswap/code-build-projects.d.ts +4 -0
  122. package/lib/api/hotswap/code-build-projects.js +62 -0
  123. package/lib/api/hotswap/common.d.ts +89 -0
  124. package/lib/api/hotswap/common.js +137 -0
  125. package/lib/api/hotswap/ecs-services.d.ts +4 -0
  126. package/lib/api/hotswap/ecs-services.js +159 -0
  127. package/lib/api/hotswap/hotswap-deployments.d.ts +17 -0
  128. package/lib/api/hotswap/hotswap-deployments.js +441 -0
  129. package/lib/api/hotswap/index.d.ts +2 -0
  130. package/lib/api/hotswap/index.js +19 -0
  131. package/lib/api/hotswap/lambda-functions.d.ts +4 -0
  132. package/lib/api/hotswap/lambda-functions.js +297 -0
  133. package/lib/api/hotswap/s3-bucket-deployments.d.ts +5 -0
  134. package/lib/api/hotswap/s3-bucket-deployments.js +117 -0
  135. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +4 -0
  136. package/lib/api/hotswap/stepfunctions-state-machines.js +48 -0
  137. package/lib/api/index.d.ts +25 -0
  138. package/lib/api/index.js +42 -0
  139. package/lib/api/io/index.d.ts +3 -1
  140. package/lib/api/io/index.js +18 -1
  141. package/lib/api/io/io-host.d.ts +15 -0
  142. package/lib/api/io/io-host.js +3 -0
  143. package/lib/api/io/io-message.d.ts +76 -0
  144. package/lib/api/io/io-message.js +3 -0
  145. package/lib/api/io/private/index.d.ts +7 -1
  146. package/lib/api/io/private/index.js +8 -5
  147. package/lib/api/io/private/io-default-messages.d.ts +21 -0
  148. package/lib/api/io/private/io-default-messages.js +59 -0
  149. package/lib/api/io/private/io-helper.d.ts +32 -0
  150. package/lib/api/io/private/io-helper.js +51 -0
  151. package/lib/api/io/private/level-priority.d.ts +11 -0
  152. package/lib/api/io/private/level-priority.js +33 -0
  153. package/lib/api/io/private/message-maker.d.ts +89 -0
  154. package/lib/api/io/private/message-maker.js +60 -0
  155. package/lib/api/io/private/messages.d.ts +178 -0
  156. package/lib/api/io/private/messages.js +534 -0
  157. package/lib/api/io/private/span.d.ts +93 -0
  158. package/lib/api/io/private/span.js +87 -0
  159. package/lib/api/io/private/testing/fake-io-host.d.ts +28 -0
  160. package/lib/api/io/private/testing/fake-io-host.js +41 -0
  161. package/lib/api/io/private/testing/index.d.ts +2 -0
  162. package/lib/api/io/private/testing/index.js +19 -0
  163. package/lib/api/io/private/testing/test-io-host.d.ts +27 -0
  164. package/lib/api/io/private/testing/test-io-host.js +61 -0
  165. package/lib/api/io/private/types.d.ts +4 -0
  166. package/lib/api/io/private/types.js +3 -0
  167. package/lib/api/io/toolkit-action.d.ts +4 -0
  168. package/lib/api/io/toolkit-action.js +3 -0
  169. package/lib/api/logs-monitor/find-cloudwatch-logs.d.ts +25 -0
  170. package/lib/api/logs-monitor/find-cloudwatch-logs.js +95 -0
  171. package/lib/api/logs-monitor/index.d.ts +2 -0
  172. package/lib/api/logs-monitor/index.js +19 -0
  173. package/lib/api/logs-monitor/logs-monitor.d.ts +76 -0
  174. package/lib/api/logs-monitor/logs-monitor.js +194 -0
  175. package/lib/api/notices.d.ts +210 -0
  176. package/lib/api/notices.js +430 -0
  177. package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
  178. package/lib/api/plugin/context-provider-plugin.js +7 -0
  179. package/lib/api/plugin/index.d.ts +3 -0
  180. package/lib/api/plugin/index.js +20 -0
  181. package/lib/api/plugin/mode.d.ts +4 -0
  182. package/lib/api/plugin/mode.js +9 -0
  183. package/lib/api/plugin/plugin.d.ts +72 -0
  184. package/lib/api/plugin/plugin.js +132 -0
  185. package/lib/api/private.d.ts +1 -0
  186. package/lib/api/private.js +18 -0
  187. package/lib/api/refactoring/cloudformation.d.ts +15 -0
  188. package/lib/api/refactoring/cloudformation.js +3 -0
  189. package/lib/api/refactoring/digest.d.ts +26 -0
  190. package/lib/api/refactoring/digest.js +175 -0
  191. package/lib/api/refactoring/index.d.ts +51 -0
  192. package/lib/api/refactoring/index.js +223 -0
  193. package/lib/api/require-approval.d.ts +17 -0
  194. package/lib/api/require-approval.js +22 -0
  195. package/lib/api/resource-import/importer.d.ts +216 -0
  196. package/lib/api/resource-import/importer.js +331 -0
  197. package/lib/api/resource-import/index.d.ts +2 -0
  198. package/lib/api/resource-import/index.js +19 -0
  199. package/lib/api/resource-import/migrator.d.ts +26 -0
  200. package/lib/api/resource-import/migrator.js +73 -0
  201. package/lib/api/resource-metadata/index.d.ts +1 -0
  202. package/lib/api/resource-metadata/index.js +18 -0
  203. package/lib/api/resource-metadata/resource-metadata.d.ts +24 -0
  204. package/lib/api/resource-metadata/resource-metadata.js +42 -0
  205. package/lib/api/rwlock.d.ts +60 -0
  206. package/lib/api/rwlock.js +204 -0
  207. package/lib/api/settings.d.ts +26 -0
  208. package/lib/api/settings.js +107 -0
  209. package/lib/api/shared-private.d.ts +8 -6
  210. package/lib/api/shared-private.js +2838 -9213
  211. package/lib/api/shared-private.js.map +4 -4
  212. package/lib/api/shared-public.d.ts +18 -38
  213. package/lib/api/shared-public.js +2187 -25
  214. package/lib/api/shared-public.js.map +4 -4
  215. package/lib/api/stack-events/index.d.ts +4 -0
  216. package/lib/api/stack-events/index.js +23 -0
  217. package/lib/api/stack-events/stack-activity-monitor.d.ts +100 -0
  218. package/lib/api/stack-events/stack-activity-monitor.js +164 -0
  219. package/lib/api/stack-events/stack-event-poller.d.ts +69 -0
  220. package/lib/api/stack-events/stack-event-poller.js +130 -0
  221. package/lib/api/stack-events/stack-progress-monitor.d.ts +48 -0
  222. package/lib/api/stack-events/stack-progress-monitor.js +98 -0
  223. package/lib/api/stack-events/stack-status.d.ts +42 -0
  224. package/lib/api/stack-events/stack-status.js +90 -0
  225. package/lib/api/streams.d.ts +7 -0
  226. package/lib/api/streams.js +24 -0
  227. package/lib/api/tags.d.ts +9 -0
  228. package/lib/api/tags.js +10 -0
  229. package/lib/api/toolkit-error.d.ts +86 -0
  230. package/lib/api/toolkit-error.js +132 -0
  231. package/lib/api/toolkit-info.d.ts +52 -0
  232. package/lib/api/toolkit-info.js +157 -0
  233. package/lib/api/tree.d.ts +31 -0
  234. package/lib/api/tree.js +37 -0
  235. package/lib/api/work-graph/index.d.ts +3 -0
  236. package/lib/api/work-graph/index.js +20 -0
  237. package/lib/api/work-graph/work-graph-builder.d.ts +34 -0
  238. package/lib/api/work-graph/work-graph-builder.js +172 -0
  239. package/lib/api/work-graph/work-graph-types.d.ts +50 -0
  240. package/lib/api/work-graph/work-graph-types.js +13 -0
  241. package/lib/api/work-graph/work-graph.d.ts +72 -0
  242. package/lib/api/work-graph/work-graph.js +349 -0
  243. package/lib/context-providers/ami.d.ts +13 -0
  244. package/lib/context-providers/ami.js +52 -0
  245. package/lib/context-providers/availability-zones.d.ts +13 -0
  246. package/lib/context-providers/availability-zones.js +29 -0
  247. package/lib/context-providers/cc-api-provider.d.ts +30 -0
  248. package/lib/context-providers/cc-api-provider.js +145 -0
  249. package/lib/context-providers/endpoint-service-availability-zones.d.ts +13 -0
  250. package/lib/context-providers/endpoint-service-availability-zones.js +35 -0
  251. package/lib/context-providers/hosted-zones.d.ts +12 -0
  252. package/lib/context-providers/hosted-zones.js +69 -0
  253. package/lib/context-providers/index.d.ts +44 -0
  254. package/lib/context-providers/index.js +128 -0
  255. package/lib/context-providers/keys.d.ts +13 -0
  256. package/lib/context-providers/keys.js +54 -0
  257. package/lib/context-providers/load-balancers.d.ts +20 -0
  258. package/lib/context-providers/load-balancers.js +161 -0
  259. package/lib/context-providers/security-groups.d.ts +9 -0
  260. package/lib/context-providers/security-groups.js +69 -0
  261. package/lib/context-providers/ssm-parameters.d.ts +25 -0
  262. package/lib/context-providers/ssm-parameters.js +61 -0
  263. package/lib/context-providers/vpcs.d.ts +13 -0
  264. package/lib/context-providers/vpcs.js +291 -0
  265. package/lib/index.d.ts +1 -0
  266. package/lib/index.js +2 -1
  267. package/lib/payloads/bootstrap-environment-progress.d.ts +17 -0
  268. package/lib/payloads/bootstrap-environment-progress.js +3 -0
  269. package/lib/payloads/context.d.ts +9 -0
  270. package/lib/payloads/context.js +3 -0
  271. package/lib/payloads/deploy.d.ts +43 -0
  272. package/lib/payloads/deploy.js +3 -0
  273. package/lib/payloads/destroy.d.ts +23 -0
  274. package/lib/payloads/destroy.js +3 -0
  275. package/lib/payloads/diff.d.ts +31 -0
  276. package/lib/payloads/diff.js +22 -0
  277. package/lib/payloads/hotswap.d.ts +211 -0
  278. package/lib/payloads/hotswap.js +43 -0
  279. package/lib/payloads/index.d.ts +17 -0
  280. package/lib/payloads/index.js +34 -0
  281. package/lib/payloads/list.d.ts +4 -0
  282. package/lib/payloads/list.js +3 -0
  283. package/lib/payloads/logs-monitor.d.ts +33 -0
  284. package/lib/payloads/logs-monitor.js +3 -0
  285. package/lib/payloads/progress.d.ts +14 -0
  286. package/lib/payloads/progress.js +3 -0
  287. package/lib/payloads/refactor.d.ts +14 -0
  288. package/lib/payloads/refactor.js +3 -0
  289. package/lib/payloads/rollback.d.ts +17 -0
  290. package/lib/payloads/rollback.js +3 -0
  291. package/lib/payloads/sdk-trace.d.ts +20 -0
  292. package/lib/payloads/sdk-trace.js +3 -0
  293. package/lib/payloads/stack-activity.d.ts +53 -0
  294. package/lib/payloads/stack-activity.js +3 -0
  295. package/lib/payloads/stack-details.d.ts +17 -0
  296. package/lib/payloads/stack-details.js +3 -0
  297. package/lib/payloads/synth.d.ts +7 -0
  298. package/lib/payloads/synth.js +3 -0
  299. package/lib/payloads/types.d.ts +95 -0
  300. package/lib/payloads/types.js +3 -0
  301. package/lib/payloads/watch.d.ts +27 -0
  302. package/lib/payloads/watch.js +3 -0
  303. package/lib/private/activity-printer/base.d.ts +50 -0
  304. package/lib/private/activity-printer/base.js +120 -0
  305. package/lib/private/activity-printer/current.d.ts +26 -0
  306. package/lib/private/activity-printer/current.js +122 -0
  307. package/lib/private/activity-printer/display.d.ts +13 -0
  308. package/lib/private/activity-printer/display.js +81 -0
  309. package/lib/private/activity-printer/history.d.ts +32 -0
  310. package/lib/private/activity-printer/history.js +109 -0
  311. package/lib/private/activity-printer/index.d.ts +3 -0
  312. package/lib/private/activity-printer/index.js +20 -0
  313. package/lib/private/index.d.ts +1 -0
  314. package/lib/private/index.js +18 -0
  315. package/lib/private/util.d.ts +1 -1
  316. package/lib/private/util.js +22 -22
  317. package/lib/private/util.js.map +2 -2
  318. package/lib/toolkit/private/index.d.ts +2 -1
  319. package/lib/toolkit/private/index.js +1 -1
  320. package/lib/toolkit/toolkit.js +142 -124
  321. package/lib/toolkit/types.d.ts +0 -55
  322. package/lib/toolkit/types.js +1 -1
  323. package/lib/util/archive.d.ts +1 -0
  324. package/lib/util/archive.js +86 -0
  325. package/lib/util/arrays.d.ts +14 -0
  326. package/lib/util/arrays.js +36 -0
  327. package/lib/util/bool.d.ts +7 -0
  328. package/lib/util/bool.js +13 -0
  329. package/lib/util/bytes.d.ts +8 -0
  330. package/lib/util/bytes.js +21 -0
  331. package/lib/util/cloudformation.d.ts +16 -0
  332. package/lib/util/cloudformation.js +36 -0
  333. package/lib/util/content-hash.d.ts +5 -0
  334. package/lib/util/content-hash.js +43 -0
  335. package/lib/util/directories.d.ts +22 -0
  336. package/lib/util/directories.js +59 -0
  337. package/lib/util/format-error.d.ts +9 -0
  338. package/lib/util/format-error.js +22 -0
  339. package/lib/util/index.d.ts +18 -0
  340. package/lib/util/index.js +35 -0
  341. package/lib/util/json.d.ts +48 -0
  342. package/lib/util/json.js +68 -0
  343. package/lib/util/objects.d.ts +65 -0
  344. package/lib/util/objects.js +230 -0
  345. package/lib/util/package-info.d.ts +3 -0
  346. package/lib/util/package-info.js +22 -0
  347. package/lib/util/parallel.d.ts +6 -0
  348. package/lib/util/parallel.js +48 -0
  349. package/lib/util/serialize.d.ts +27 -0
  350. package/lib/util/serialize.js +86 -0
  351. package/lib/util/string-manipulation.d.ts +18 -0
  352. package/lib/util/string-manipulation.js +46 -0
  353. package/lib/util/type-brands.d.ts +39 -0
  354. package/lib/util/type-brands.js +39 -0
  355. package/lib/util/types.d.ts +27 -0
  356. package/lib/util/types.js +25 -0
  357. package/lib/util/version-range.d.ts +2 -0
  358. package/lib/util/version-range.js +36 -0
  359. package/lib/util/yaml-cfn.d.ts +15 -0
  360. package/lib/util/yaml-cfn.js +58 -0
  361. package/package.json +3 -4
@@ -0,0 +1,42 @@
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
+ __exportStar(require("./aws-auth"), exports);
18
+ __exportStar(require("./bootstrap"), exports);
19
+ __exportStar(require("./cloud-assembly"), exports);
20
+ __exportStar(require("./cloudformation"), exports);
21
+ __exportStar(require("./context"), exports);
22
+ __exportStar(require("./deployments"), exports);
23
+ __exportStar(require("./diff"), exports);
24
+ __exportStar(require("./environment"), exports);
25
+ __exportStar(require("./garbage-collection"), exports);
26
+ __exportStar(require("./hotswap"), exports);
27
+ __exportStar(require("./io"), exports);
28
+ __exportStar(require("./logs-monitor"), exports);
29
+ __exportStar(require("./notices"), exports);
30
+ __exportStar(require("./plugin"), exports);
31
+ __exportStar(require("./refactoring"), exports);
32
+ __exportStar(require("./require-approval"), exports);
33
+ __exportStar(require("./resource-import"), exports);
34
+ __exportStar(require("./rwlock"), exports);
35
+ __exportStar(require("./settings"), exports);
36
+ __exportStar(require("./stack-events"), exports);
37
+ __exportStar(require("./toolkit-error"), exports);
38
+ __exportStar(require("./toolkit-info"), exports);
39
+ __exportStar(require("./work-graph"), exports);
40
+ __exportStar(require("./tree"), exports);
41
+ __exportStar(require("./tags"), exports);
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQixnREFBOEI7QUFDOUIseUNBQXVCO0FBQ3ZCLGdEQUE4QjtBQUM5Qix1REFBcUM7QUFDckMsNENBQTBCO0FBQzFCLHVDQUFxQjtBQUNyQixpREFBK0I7QUFDL0IsNENBQTBCO0FBQzFCLDJDQUF5QjtBQUN6QixnREFBOEI7QUFDOUIscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQywyQ0FBeUI7QUFDekIsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQixrREFBZ0M7QUFDaEMsaURBQStCO0FBQy9CLCtDQUE2QjtBQUM3Qix5Q0FBdUI7QUFDdkIseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hd3MtYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2Jvb3RzdHJhcCc7XG5leHBvcnQgKiBmcm9tICcuL2Nsb3VkLWFzc2VtYmx5JztcbmV4cG9ydCAqIGZyb20gJy4vY2xvdWRmb3JtYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZGVwbG95bWVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWZmJztcbmV4cG9ydCAqIGZyb20gJy4vZW52aXJvbm1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nYXJiYWdlLWNvbGxlY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9ob3Rzd2FwJztcbmV4cG9ydCAqIGZyb20gJy4vaW8nO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dzLW1vbml0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luJztcbmV4cG9ydCAqIGZyb20gJy4vcmVmYWN0b3JpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1aXJlLWFwcHJvdmFsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzb3VyY2UtaW1wb3J0JztcbmV4cG9ydCAqIGZyb20gJy4vcndsb2NrJztcbmV4cG9ydCAqIGZyb20gJy4vc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFjay1ldmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sa2l0LWVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGtpdC1pbmZvJztcbmV4cG9ydCAqIGZyb20gJy4vd29yay1ncmFwaCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdzJztcbiJdfQ==
@@ -1 +1,3 @@
1
- export type { IoMessageLevel, IoMessageCode, IIoHost, IoMessage, IoRequest } from '../shared-public';
1
+ export * from './io-host';
2
+ export * from './io-message';
3
+ export * from './toolkit-action';
@@ -1,3 +1,20 @@
1
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
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgeyBJb01lc3NhZ2VMZXZlbCwgSW9NZXNzYWdlQ29kZSwgSUlvSG9zdCwgSW9NZXNzYWdlLCBJb1JlcXVlc3QgfSBmcm9tICcuLi9zaGFyZWQtcHVibGljJztcbiJdfQ==
17
+ __exportStar(require("./io-host"), exports);
18
+ __exportStar(require("./io-message"), exports);
19
+ __exportStar(require("./toolkit-action"), exports);
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNENBQTBCO0FBQzFCLCtDQUE2QjtBQUM3QixtREFBaUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lvLWhvc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1tZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGtpdC1hY3Rpb24nO1xuIl19
@@ -0,0 +1,15 @@
1
+ import type { IoMessage, IoRequest } from './io-message';
2
+ export interface IIoHost {
3
+ /**
4
+ * Notifies the host of a message.
5
+ * The caller waits until the notification completes.
6
+ */
7
+ notify(msg: IoMessage<unknown>): Promise<void>;
8
+ /**
9
+ * Notifies the host of a message that requires a response.
10
+ *
11
+ * If the host does not return a response the suggested
12
+ * default response from the input message will be used.
13
+ */
14
+ requestResponse<T, U>(msg: IoRequest<T, U>): Promise<U>;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8taG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLWhvc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW9NZXNzYWdlLCBJb1JlcXVlc3QgfSBmcm9tICcuL2lvLW1lc3NhZ2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElJb0hvc3Qge1xuICAvKipcbiAgICogTm90aWZpZXMgdGhlIGhvc3Qgb2YgYSBtZXNzYWdlLlxuICAgKiBUaGUgY2FsbGVyIHdhaXRzIHVudGlsIHRoZSBub3RpZmljYXRpb24gY29tcGxldGVzLlxuICAgKi9cbiAgbm90aWZ5KG1zZzogSW9NZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogTm90aWZpZXMgdGhlIGhvc3Qgb2YgYSBtZXNzYWdlIHRoYXQgcmVxdWlyZXMgYSByZXNwb25zZS5cbiAgICpcbiAgICogSWYgdGhlIGhvc3QgZG9lcyBub3QgcmV0dXJuIGEgcmVzcG9uc2UgdGhlIHN1Z2dlc3RlZFxuICAgKiBkZWZhdWx0IHJlc3BvbnNlIGZyb20gdGhlIGlucHV0IG1lc3NhZ2Ugd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVxdWVzdFJlc3BvbnNlPFQsIFU+KG1zZzogSW9SZXF1ZXN0PFQsIFU+KTogUHJvbWlzZTxVPjtcbn1cbiJdfQ==
@@ -0,0 +1,76 @@
1
+ import type { ToolkitAction } from './toolkit-action';
2
+ /**
3
+ * The reporting level of the message.
4
+ * All messages are always reported, it's up to the IoHost to decide what to log.
5
+ */
6
+ export type IoMessageLevel = 'error' | 'result' | 'warn' | 'info' | 'debug' | 'trace';
7
+ /**
8
+ * A valid message code.
9
+ */
10
+ export type IoMessageCode = `CDK_${string}_${'E' | 'W' | 'I'}${number}${number}${number}${number}`;
11
+ /**
12
+ * An IO message emitted.
13
+ */
14
+ export interface IoMessage<T> {
15
+ /**
16
+ * The time the message was emitted.
17
+ */
18
+ readonly time: Date;
19
+ /**
20
+ * The recommended log level of the message.
21
+ *
22
+ * This is an indicative level and should not be used to explicitly match messages, instead match the `code`.
23
+ * The level of a message may change without notice.
24
+ */
25
+ readonly level: IoMessageLevel;
26
+ /**
27
+ * The action that triggered the message.
28
+ */
29
+ readonly action: ToolkitAction;
30
+ /**
31
+ * A short message code uniquely identifying a message type using the format CDK_[CATEGORY]_[E/W/I][0000-9999].
32
+ *
33
+ * The level indicator follows these rules:
34
+ * - 'E' for error level messages
35
+ * - 'W' for warning level messages
36
+ * - 'I' for info/debug/trace level messages
37
+ *
38
+ * Codes ending in 000 0 are generic messages, while codes ending in 0001-9999 are specific to a particular message.
39
+ * The following are examples of valid and invalid message codes:
40
+ * ```ts
41
+ * 'CDK_ASSETS_I0000' // valid: generic assets info message
42
+ * 'CDK_TOOLKIT_E0002' // valid: specific toolkit error message
43
+ * 'CDK_SDK_W0023' // valid: specific sdk warning message
44
+ * ```
45
+ *
46
+ * @see https://github.com/aws/aws-cdk-cli/blob/main/packages/%40aws-cdk/toolkit-lib/CODE_REGISTRY.md
47
+ */
48
+ readonly code: IoMessageCode;
49
+ /**
50
+ * The message text.
51
+ * This is safe to print to an end-user.
52
+ */
53
+ readonly message: string;
54
+ /**
55
+ * Identifies the message span, this message belongs to.
56
+ *
57
+ * A message span, groups multiple messages together that semantically related to the same operation.
58
+ * This is an otherwise meaningless identifier.
59
+ *
60
+ * A message without a `spanId`, does not belong to a span.
61
+ */
62
+ readonly span?: string;
63
+ /**
64
+ * The data attached to the message.
65
+ */
66
+ readonly data: T;
67
+ }
68
+ /**
69
+ * An IO request emitted.
70
+ */
71
+ export interface IoRequest<T, U> extends IoMessage<T> {
72
+ /**
73
+ * The default response that will be used if no data is returned.
74
+ */
75
+ readonly defaultResponse: U;
76
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tbWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLW1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVG9vbGtpdEFjdGlvbiB9IGZyb20gJy4vdG9vbGtpdC1hY3Rpb24nO1xuXG4vKipcbiAqIFRoZSByZXBvcnRpbmcgbGV2ZWwgb2YgdGhlIG1lc3NhZ2UuXG4gKiBBbGwgbWVzc2FnZXMgYXJlIGFsd2F5cyByZXBvcnRlZCwgaXQncyB1cCB0byB0aGUgSW9Ib3N0IHRvIGRlY2lkZSB3aGF0IHRvIGxvZy5cbiAqL1xuZXhwb3J0IHR5cGUgSW9NZXNzYWdlTGV2ZWwgPSAnZXJyb3InfCAncmVzdWx0JyB8ICd3YXJuJyB8ICdpbmZvJyB8ICdkZWJ1ZycgfCAndHJhY2UnO1xuXG4vKipcbiAqIEEgdmFsaWQgbWVzc2FnZSBjb2RlLlxuICovXG5leHBvcnQgdHlwZSBJb01lc3NhZ2VDb2RlID0gYENES18ke3N0cmluZ31fJHsnRScgfCAnVycgfCAnSSd9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9JHtudW1iZXJ9YDtcblxuLyoqXG4gKiBBbiBJTyBtZXNzYWdlIGVtaXR0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW9NZXNzYWdlPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRoZSBtZXNzYWdlIHdhcyBlbWl0dGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZTogRGF0ZTtcblxuICAvKipcbiAgICogVGhlIHJlY29tbWVuZGVkIGxvZyBsZXZlbCBvZiB0aGUgbWVzc2FnZS5cbiAgICpcbiAgICogVGhpcyBpcyBhbiBpbmRpY2F0aXZlIGxldmVsIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgdG8gZXhwbGljaXRseSBtYXRjaCBtZXNzYWdlcywgaW5zdGVhZCBtYXRjaCB0aGUgYGNvZGVgLlxuICAgKiBUaGUgbGV2ZWwgb2YgYSBtZXNzYWdlIG1heSBjaGFuZ2Ugd2l0aG91dCBub3RpY2UuXG4gICAqL1xuICByZWFkb25seSBsZXZlbDogSW9NZXNzYWdlTGV2ZWw7XG5cbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdGhhdCB0cmlnZ2VyZWQgdGhlIG1lc3NhZ2UuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb246IFRvb2xraXRBY3Rpb247XG5cbiAgLyoqXG4gICAqIEEgc2hvcnQgbWVzc2FnZSBjb2RlIHVuaXF1ZWx5IGlkZW50aWZ5aW5nIGEgbWVzc2FnZSB0eXBlIHVzaW5nIHRoZSBmb3JtYXQgQ0RLX1tDQVRFR09SWV1fW0UvVy9JXVswMDAwLTk5OTldLlxuICAgKlxuICAgKiBUaGUgbGV2ZWwgaW5kaWNhdG9yIGZvbGxvd3MgdGhlc2UgcnVsZXM6XG4gICAqIC0gJ0UnIGZvciBlcnJvciBsZXZlbCBtZXNzYWdlc1xuICAgKiAtICdXJyBmb3Igd2FybmluZyBsZXZlbCBtZXNzYWdlc1xuICAgKiAtICdJJyBmb3IgaW5mby9kZWJ1Zy90cmFjZSBsZXZlbCBtZXNzYWdlc1xuICAgKlxuICAgKiBDb2RlcyBlbmRpbmcgaW4gMDAwIDAgYXJlIGdlbmVyaWMgbWVzc2FnZXMsIHdoaWxlIGNvZGVzIGVuZGluZyBpbiAwMDAxLTk5OTkgYXJlIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBtZXNzYWdlLlxuICAgKiBUaGUgZm9sbG93aW5nIGFyZSBleGFtcGxlcyBvZiB2YWxpZCBhbmQgaW52YWxpZCBtZXNzYWdlIGNvZGVzOlxuICAgKiBgYGB0c1xuICAgKiAnQ0RLX0FTU0VUU19JMDAwMCcgICAgICAgLy8gdmFsaWQ6IGdlbmVyaWMgYXNzZXRzIGluZm8gbWVzc2FnZVxuICAgKiAnQ0RLX1RPT0xLSVRfRTAwMDInICAgICAgLy8gdmFsaWQ6IHNwZWNpZmljIHRvb2xraXQgZXJyb3IgbWVzc2FnZVxuICAgKiAnQ0RLX1NES19XMDAyMycgICAgICAgICAgLy8gdmFsaWQ6IHNwZWNpZmljIHNkayB3YXJuaW5nIG1lc3NhZ2VcbiAgICogYGBgXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrLWNsaS9ibG9iL21haW4vcGFja2FnZXMvJTQwYXdzLWNkay90b29sa2l0LWxpYi9DT0RFX1JFR0lTVFJZLm1kXG4gICAqL1xuICByZWFkb25seSBjb2RlOiBJb01lc3NhZ2VDb2RlO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0ZXh0LlxuICAgKiBUaGlzIGlzIHNhZmUgdG8gcHJpbnQgdG8gYW4gZW5kLXVzZXIuXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIG1lc3NhZ2Ugc3BhbiwgdGhpcyBtZXNzYWdlIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEEgbWVzc2FnZSBzcGFuLCBncm91cHMgbXVsdGlwbGUgbWVzc2FnZXMgdG9nZXRoZXIgdGhhdCBzZW1hbnRpY2FsbHkgcmVsYXRlZCB0byB0aGUgc2FtZSBvcGVyYXRpb24uXG4gICAqIFRoaXMgaXMgYW4gb3RoZXJ3aXNlIG1lYW5pbmdsZXNzIGlkZW50aWZpZXIuXG4gICAqXG4gICAqIEEgbWVzc2FnZSB3aXRob3V0IGEgYHNwYW5JZGAsIGRvZXMgbm90IGJlbG9uZyB0byBhIHNwYW4uXG4gICAqL1xuICByZWFkb25seSBzcGFuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YSBhdHRhY2hlZCB0byB0aGUgbWVzc2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGE6IFQ7XG59XG5cbi8qKlxuICogQW4gSU8gcmVxdWVzdCBlbWl0dGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElvUmVxdWVzdDxULCBVPiBleHRlbmRzIElvTWVzc2FnZTxUPiB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCByZXNwb25zZSB0aGF0IHdpbGwgYmUgdXNlZCBpZiBubyBkYXRhIGlzIHJldHVybmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJlc3BvbnNlOiBVO1xufVxuIl19
@@ -1,3 +1,9 @@
1
- export { IO, SPAN } from '../../shared-private';
2
1
  export * from './io-host-wrappers';
3
2
  export * from './sdk-logger';
3
+ export * from './io-helper';
4
+ export * from './level-priority';
5
+ export * from './span';
6
+ export * from './message-maker';
7
+ export * from './messages';
8
+ export * from './types';
9
+ export * from './io-default-messages';
@@ -14,10 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SPAN = exports.IO = void 0;
18
- var shared_private_1 = require("../../shared-private");
19
- Object.defineProperty(exports, "IO", { enumerable: true, get: function () { return shared_private_1.IO; } });
20
- Object.defineProperty(exports, "SPAN", { enumerable: true, get: function () { return shared_private_1.SPAN; } });
21
17
  __exportStar(require("./io-host-wrappers"), exports);
22
18
  __exportStar(require("./sdk-logger"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFnRDtBQUF2QyxvR0FBQSxFQUFFLE9BQUE7QUFBRSxzR0FBQSxJQUFJLE9BQUE7QUFDakIscURBQW1DO0FBQ25DLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IElPLCBTUEFOIH0gZnJvbSAnLi4vLi4vc2hhcmVkLXByaXZhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1ob3N0LXdyYXBwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc2RrLWxvZ2dlcic7XG5cbiJdfQ==
19
+ __exportStar(require("./io-helper"), exports);
20
+ __exportStar(require("./level-priority"), exports);
21
+ __exportStar(require("./span"), exports);
22
+ __exportStar(require("./message-maker"), exports);
23
+ __exportStar(require("./messages"), exports);
24
+ __exportStar(require("./types"), exports);
25
+ __exportStar(require("./io-default-messages"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscURBQW1DO0FBQ25DLCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsbURBQWlDO0FBQ2pDLHlDQUF1QjtBQUN2QixrREFBZ0M7QUFDaEMsNkNBQTJCO0FBQzNCLDBDQUF3QjtBQUN4Qix3REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2lvLWhvc3Qtd3JhcHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZGstbG9nZ2VyJztcbmV4cG9ydCAqIGZyb20gJy4vaW8taGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbGV2ZWwtcHJpb3JpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFuJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1tYWtlcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pby1kZWZhdWx0LW1lc3NhZ2VzJztcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import type { ActionLessMessage, ActionLessRequest, IoHelper } from './io-helper';
2
+ /**
3
+ * Helper class to emit standard log messages to an IoHost
4
+ *
5
+ * It wraps an `IoHelper`, and adds convenience methods to emit default messages
6
+ * for the various log levels.
7
+ */
8
+ export declare class IoDefaultMessages {
9
+ private readonly ioHelper;
10
+ constructor(ioHelper: IoHelper);
11
+ notify(msg: ActionLessMessage<unknown>): Promise<void>;
12
+ requestResponse<T, U>(msg: ActionLessRequest<T, U>): Promise<U>;
13
+ error(input: string, ...args: unknown[]): void;
14
+ warn(input: string, ...args: unknown[]): void;
15
+ warning(input: string, ...args: unknown[]): void;
16
+ info(input: string, ...args: unknown[]): void;
17
+ debug(input: string, ...args: unknown[]): void;
18
+ trace(input: string, ...args: unknown[]): void;
19
+ result(input: string, ...args: unknown[]): void;
20
+ private emitMessage;
21
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoDefaultMessages = void 0;
4
+ const util = require("util");
5
+ const messages_1 = require("./messages");
6
+ /**
7
+ * Helper class to emit standard log messages to an IoHost
8
+ *
9
+ * It wraps an `IoHelper`, and adds convenience methods to emit default messages
10
+ * for the various log levels.
11
+ */
12
+ class IoDefaultMessages {
13
+ ioHelper;
14
+ constructor(ioHelper) {
15
+ this.ioHelper = ioHelper;
16
+ }
17
+ notify(msg) {
18
+ return this.ioHelper.notify(msg);
19
+ }
20
+ requestResponse(msg) {
21
+ return this.ioHelper.requestResponse(msg);
22
+ }
23
+ error(input, ...args) {
24
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_ERROR, input, ...args);
25
+ }
26
+ warn(input, ...args) {
27
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_WARN, input, ...args);
28
+ }
29
+ warning(input, ...args) {
30
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_WARN, input, ...args);
31
+ }
32
+ info(input, ...args) {
33
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_INFO, input, ...args);
34
+ }
35
+ debug(input, ...args) {
36
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_DEBUG, input, ...args);
37
+ }
38
+ trace(input, ...args) {
39
+ this.emitMessage(messages_1.IO.DEFAULT_TOOLKIT_TRACE, input, ...args);
40
+ }
41
+ result(input, ...args) {
42
+ const message = args.length > 0 ? util.format(input, ...args) : input;
43
+ // This is just the default "info" message but with a level of "result"
44
+ void this.ioHelper.notify({
45
+ time: new Date(),
46
+ code: messages_1.IO.DEFAULT_TOOLKIT_INFO.code,
47
+ level: 'result',
48
+ message,
49
+ data: undefined,
50
+ });
51
+ }
52
+ emitMessage(maker, input, ...args) {
53
+ // Format message if args are provided
54
+ const message = args.length > 0 ? util.format(input, ...args) : input;
55
+ void this.ioHelper.notify(maker.msg(message));
56
+ }
57
+ }
58
+ exports.IoDefaultMessages = IoDefaultMessages;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8tZGVmYXVsdC1tZXNzYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImlvLWRlZmF1bHQtbWVzc2FnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRzdCLHlDQUFnQztBQUVoQzs7Ozs7R0FLRztBQUNILE1BQWEsaUJBQWlCO0lBQ0M7SUFBN0IsWUFBNkIsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMvQyxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQStCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLGVBQWUsQ0FBTyxHQUE0QjtRQUN2RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQUUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFFLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFlO1FBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBRSxDQUFDLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxJQUFJLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQUUsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDNUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFFLENBQUMscUJBQXFCLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFlO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBRSxDQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYSxFQUFFLEdBQUcsSUFBZTtRQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3RFLHVFQUF1RTtRQUN2RSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3hCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNoQixJQUFJLEVBQUUsYUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUk7WUFDbEMsS0FBSyxFQUFFLFFBQVE7WUFDZixPQUFPO1lBQ1AsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUEyQixFQUFFLEtBQWEsRUFBRSxHQUFHLElBQWU7UUFDaEYsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBckRELDhDQXFEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgdHlwZSB7IEFjdGlvbkxlc3NNZXNzYWdlLCBBY3Rpb25MZXNzUmVxdWVzdCwgSW9IZWxwZXIgfSBmcm9tICcuL2lvLWhlbHBlcic7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZU1ha2VyIH0gZnJvbSAnLi9tZXNzYWdlLW1ha2VyJztcbmltcG9ydCB7IElPIH0gZnJvbSAnLi9tZXNzYWdlcyc7XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIHRvIGVtaXQgc3RhbmRhcmQgbG9nIG1lc3NhZ2VzIHRvIGFuIElvSG9zdFxuICpcbiAqIEl0IHdyYXBzIGFuIGBJb0hlbHBlcmAsIGFuZCBhZGRzIGNvbnZlbmllbmNlIG1ldGhvZHMgdG8gZW1pdCBkZWZhdWx0IG1lc3NhZ2VzXG4gKiBmb3IgdGhlIHZhcmlvdXMgbG9nIGxldmVscy5cbiAqL1xuZXhwb3J0IGNsYXNzIElvRGVmYXVsdE1lc3NhZ2VzIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpb0hlbHBlcjogSW9IZWxwZXIpIHtcbiAgfVxuXG4gIHB1YmxpYyBub3RpZnkobXNnOiBBY3Rpb25MZXNzTWVzc2FnZTx1bmtub3duPik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmlvSGVscGVyLm5vdGlmeShtc2cpO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3RSZXNwb25zZTxULCBVPihtc2c6IEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+KTogUHJvbWlzZTxVPiB7XG4gICAgcmV0dXJuIHRoaXMuaW9IZWxwZXIucmVxdWVzdFJlc3BvbnNlKG1zZyk7XG4gIH1cblxuICBwdWJsaWMgZXJyb3IoaW5wdXQ6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKSB7XG4gICAgdGhpcy5lbWl0TWVzc2FnZShJTy5ERUZBVUxUX1RPT0xLSVRfRVJST1IsIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXJuKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1dBUk4sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyB3YXJuaW5nKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1dBUk4sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmZvKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX0lORk8sIGlucHV0LCAuLi5hcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWJ1ZyhpbnB1dDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICB0aGlzLmVtaXRNZXNzYWdlKElPLkRFRkFVTFRfVE9PTEtJVF9ERUJVRywgaW5wdXQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgcHVibGljIHRyYWNlKGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIHRoaXMuZW1pdE1lc3NhZ2UoSU8uREVGQVVMVF9UT09MS0lUX1RSQUNFLCBpbnB1dCwgLi4uYXJncyk7XG4gIH1cblxuICBwdWJsaWMgcmVzdWx0KGlucHV0OiBzdHJpbmcsIC4uLmFyZ3M6IHVua25vd25bXSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDAgPyB1dGlsLmZvcm1hdChpbnB1dCwgLi4uYXJncykgOiBpbnB1dDtcbiAgICAvLyBUaGlzIGlzIGp1c3QgdGhlIGRlZmF1bHQgXCJpbmZvXCIgbWVzc2FnZSBidXQgd2l0aCBhIGxldmVsIG9mIFwicmVzdWx0XCJcbiAgICB2b2lkIHRoaXMuaW9IZWxwZXIubm90aWZ5KHtcbiAgICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgICBjb2RlOiBJTy5ERUZBVUxUX1RPT0xLSVRfSU5GTy5jb2RlLFxuICAgICAgbGV2ZWw6ICdyZXN1bHQnLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIGRhdGE6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdE1lc3NhZ2UobWFrZXI6IElvTWVzc2FnZU1ha2VyPHZvaWQ+LCBpbnB1dDogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pIHtcbiAgICAvLyBGb3JtYXQgbWVzc2FnZSBpZiBhcmdzIGFyZSBwcm92aWRlZFxuICAgIGNvbnN0IG1lc3NhZ2UgPSBhcmdzLmxlbmd0aCA+IDAgPyB1dGlsLmZvcm1hdChpbnB1dCwgLi4uYXJncykgOiBpbnB1dDtcbiAgICB2b2lkIHRoaXMuaW9IZWxwZXIubm90aWZ5KG1ha2VyLm1zZyhtZXNzYWdlKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import type { IIoHost } from '../io-host';
2
+ import type { IoMessage, IoRequest } from '../io-message';
3
+ import type { ToolkitAction } from '../toolkit-action';
4
+ import type { SpanEnd, SpanDefinition } from './span';
5
+ import { SpanMaker } from './span';
6
+ export type ActionLessMessage<T> = Omit<IoMessage<T>, 'action'>;
7
+ export type ActionLessRequest<T, U> = Omit<IoRequest<T, U>, 'action'>;
8
+ /**
9
+ * A class containing helper tools to interact with IoHost
10
+ */
11
+ export declare class IoHelper implements IIoHost {
12
+ static fromIoHost(ioHost: IIoHost, action: ToolkitAction): IoHelper;
13
+ private readonly ioHost;
14
+ private readonly action;
15
+ private constructor();
16
+ /**
17
+ * Forward a message to the IoHost, while injection the current action
18
+ */
19
+ notify(msg: ActionLessMessage<unknown>): Promise<void>;
20
+ /**
21
+ * Forward a request to the IoHost, while injection the current action
22
+ */
23
+ requestResponse<T, U>(msg: ActionLessRequest<T, U>): Promise<U>;
24
+ /**
25
+ * Create a new marker from a given registry entry
26
+ */
27
+ span<S extends object, E extends SpanEnd>(definition: SpanDefinition<S, E>): SpanMaker<S, E>;
28
+ }
29
+ /**
30
+ * Wraps an IoHost and creates an IoHelper from it
31
+ */
32
+ export declare function asIoHelper(ioHost: IIoHost, action: ToolkitAction): IoHelper;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoHelper = void 0;
4
+ exports.asIoHelper = asIoHelper;
5
+ const span_1 = require("./span");
6
+ /**
7
+ * A class containing helper tools to interact with IoHost
8
+ */
9
+ class IoHelper {
10
+ static fromIoHost(ioHost, action) {
11
+ return new IoHelper(ioHost, action);
12
+ }
13
+ ioHost;
14
+ action;
15
+ constructor(ioHost, action) {
16
+ this.ioHost = ioHost;
17
+ this.action = action;
18
+ }
19
+ /**
20
+ * Forward a message to the IoHost, while injection the current action
21
+ */
22
+ notify(msg) {
23
+ return this.ioHost.notify({
24
+ ...msg,
25
+ action: this.action,
26
+ });
27
+ }
28
+ /**
29
+ * Forward a request to the IoHost, while injection the current action
30
+ */
31
+ requestResponse(msg) {
32
+ return this.ioHost.requestResponse({
33
+ ...msg,
34
+ action: this.action,
35
+ });
36
+ }
37
+ /**
38
+ * Create a new marker from a given registry entry
39
+ */
40
+ span(definition) {
41
+ return new span_1.SpanMaker(this, definition);
42
+ }
43
+ }
44
+ exports.IoHelper = IoHelper;
45
+ /**
46
+ * Wraps an IoHost and creates an IoHelper from it
47
+ */
48
+ function asIoHelper(ioHost, action) {
49
+ return IoHelper.fromIoHost(ioHost, action);
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW8taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdEQSxnQ0FFQztBQXRERCxpQ0FBbUM7QUFLbkM7O0dBRUc7QUFDSCxNQUFhLFFBQVE7SUFDWixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWUsRUFBRSxNQUFxQjtRQUM3RCxPQUFPLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRWdCLE1BQU0sQ0FBVTtJQUNoQixNQUFNLENBQWdCO0lBRXZDLFlBQW9CLE1BQWUsRUFBRSxNQUFxQjtRQUN4RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBK0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUN4QixHQUFHLEdBQUc7WUFDTixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksZUFBZSxDQUFPLEdBQTRCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDakMsR0FBRyxHQUFHO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUksQ0FBc0MsVUFBZ0M7UUFDL0UsT0FBTyxJQUFJLGdCQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQXZDRCw0QkF1Q0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxNQUFlLEVBQUUsTUFBcUI7SUFDL0QsT0FBTyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJSW9Ib3N0IH0gZnJvbSAnLi4vaW8taG9zdCc7XG5pbXBvcnQgdHlwZSB7IElvTWVzc2FnZSwgSW9SZXF1ZXN0IH0gZnJvbSAnLi4vaW8tbWVzc2FnZSc7XG5pbXBvcnQgdHlwZSB7IFRvb2xraXRBY3Rpb24gfSBmcm9tICcuLi90b29sa2l0LWFjdGlvbic7XG5pbXBvcnQgdHlwZSB7IFNwYW5FbmQsIFNwYW5EZWZpbml0aW9uIH0gZnJvbSAnLi9zcGFuJztcbmltcG9ydCB7IFNwYW5NYWtlciB9IGZyb20gJy4vc3Bhbic7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkxlc3NNZXNzYWdlPFQ+ID0gT21pdDxJb01lc3NhZ2U8VD4sICdhY3Rpb24nPjtcbmV4cG9ydCB0eXBlIEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+ID0gT21pdDxJb1JlcXVlc3Q8VCwgVT4sICdhY3Rpb24nPjtcblxuLyoqXG4gKiBBIGNsYXNzIGNvbnRhaW5pbmcgaGVscGVyIHRvb2xzIHRvIGludGVyYWN0IHdpdGggSW9Ib3N0XG4gKi9cbmV4cG9ydCBjbGFzcyBJb0hlbHBlciBpbXBsZW1lbnRzIElJb0hvc3Qge1xuICBwdWJsaWMgc3RhdGljIGZyb21Jb0hvc3QoaW9Ib3N0OiBJSW9Ib3N0LCBhY3Rpb246IFRvb2xraXRBY3Rpb24pIHtcbiAgICByZXR1cm4gbmV3IElvSGVscGVyKGlvSG9zdCwgYWN0aW9uKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW9Ib3N0OiBJSW9Ib3N0O1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbjogVG9vbGtpdEFjdGlvbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGlvSG9zdDogSUlvSG9zdCwgYWN0aW9uOiBUb29sa2l0QWN0aW9uKSB7XG4gICAgdGhpcy5pb0hvc3QgPSBpb0hvc3Q7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogRm9yd2FyZCBhIG1lc3NhZ2UgdG8gdGhlIElvSG9zdCwgd2hpbGUgaW5qZWN0aW9uIHRoZSBjdXJyZW50IGFjdGlvblxuICAgKi9cbiAgcHVibGljIG5vdGlmeShtc2c6IEFjdGlvbkxlc3NNZXNzYWdlPHVua25vd24+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaW9Ib3N0Lm5vdGlmeSh7XG4gICAgICAuLi5tc2csXG4gICAgICBhY3Rpb246IHRoaXMuYWN0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmQgYSByZXF1ZXN0IHRvIHRoZSBJb0hvc3QsIHdoaWxlIGluamVjdGlvbiB0aGUgY3VycmVudCBhY3Rpb25cbiAgICovXG4gIHB1YmxpYyByZXF1ZXN0UmVzcG9uc2U8VCwgVT4obXNnOiBBY3Rpb25MZXNzUmVxdWVzdDxULCBVPik6IFByb21pc2U8VT4ge1xuICAgIHJldHVybiB0aGlzLmlvSG9zdC5yZXF1ZXN0UmVzcG9uc2Uoe1xuICAgICAgLi4ubXNnLFxuICAgICAgYWN0aW9uOiB0aGlzLmFjdGlvbixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgbWFya2VyIGZyb20gYSBnaXZlbiByZWdpc3RyeSBlbnRyeVxuICAgKi9cbiAgcHVibGljIHNwYW48UyBleHRlbmRzIG9iamVjdCwgRSBleHRlbmRzIFNwYW5FbmQ+KGRlZmluaXRpb246IFNwYW5EZWZpbml0aW9uPFMsIEU+KSB7XG4gICAgcmV0dXJuIG5ldyBTcGFuTWFrZXIodGhpcywgZGVmaW5pdGlvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyBhbiBJb0hvc3QgYW5kIGNyZWF0ZXMgYW4gSW9IZWxwZXIgZnJvbSBpdFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNJb0hlbHBlcihpb0hvc3Q6IElJb0hvc3QsIGFjdGlvbjogVG9vbGtpdEFjdGlvbik6IElvSGVscGVyIHtcbiAgcmV0dXJuIElvSGVscGVyLmZyb21Jb0hvc3QoaW9Ib3N0LCBhY3Rpb24pO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ import type { IoMessageLevel } from '../';
2
+ /**
3
+ * Determines if a message is relevant for the given log level.
4
+ *
5
+ * @param msg The message to compare.
6
+ * @param level The level to compare against.
7
+ * @returns true if the message is relevant for the given level.
8
+ */
9
+ export declare function isMessageRelevantForLevel(msg: {
10
+ level: IoMessageLevel;
11
+ }, level: IoMessageLevel): boolean;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMessageRelevantForLevel = isMessageRelevantForLevel;
4
+ /**
5
+ * Keep this list ordered from most to least verbose.
6
+ * Every level "includes" all of the levels below it.
7
+ * This is used to compare levels of messages to determine what should be logged.
8
+ */
9
+ const levels = [
10
+ 'trace',
11
+ 'debug',
12
+ 'info',
13
+ 'warn',
14
+ 'result',
15
+ 'error',
16
+ ];
17
+ // compare levels helper
18
+ // helper to convert the array into a map with numbers
19
+ const orderedLevels = Object.fromEntries(Object.entries(levels).map(a => a.reverse()));
20
+ function compareFn(a, b) {
21
+ return orderedLevels[a] - orderedLevels[b];
22
+ }
23
+ /**
24
+ * Determines if a message is relevant for the given log level.
25
+ *
26
+ * @param msg The message to compare.
27
+ * @param level The level to compare against.
28
+ * @returns true if the message is relevant for the given level.
29
+ */
30
+ function isMessageRelevantForLevel(msg, level) {
31
+ return compareFn(msg.level, level) >= 0;
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV2ZWwtcHJpb3JpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsZXZlbC1wcmlvcml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQThCQSw4REFFQztBQTlCRDs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLEdBQUc7SUFDYixPQUFPO0lBQ1AsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLE9BQU87Q0FDQyxDQUFDO0FBRVgsd0JBQXdCO0FBQ3hCLHNEQUFzRDtBQUN0RCxNQUFNLGFBQWEsR0FBMEMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDOUgsU0FBUyxTQUFTLENBQUMsQ0FBaUIsRUFBRSxDQUFpQjtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLHlCQUF5QixDQUFDLEdBQTZCLEVBQUUsS0FBcUI7SUFDNUYsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi8nO1xuXG4vKipcbiAqIEtlZXAgdGhpcyBsaXN0IG9yZGVyZWQgZnJvbSBtb3N0IHRvIGxlYXN0IHZlcmJvc2UuXG4gKiBFdmVyeSBsZXZlbCBcImluY2x1ZGVzXCIgYWxsIG9mIHRoZSBsZXZlbHMgYmVsb3cgaXQuXG4gKiBUaGlzIGlzIHVzZWQgdG8gY29tcGFyZSBsZXZlbHMgb2YgbWVzc2FnZXMgdG8gZGV0ZXJtaW5lIHdoYXQgc2hvdWxkIGJlIGxvZ2dlZC5cbiAqL1xuY29uc3QgbGV2ZWxzID0gW1xuICAndHJhY2UnLFxuICAnZGVidWcnLFxuICAnaW5mbycsXG4gICd3YXJuJyxcbiAgJ3Jlc3VsdCcsXG4gICdlcnJvcicsXG5dIGFzIGNvbnN0O1xuXG4vLyBjb21wYXJlIGxldmVscyBoZWxwZXJcbi8vIGhlbHBlciB0byBjb252ZXJ0IHRoZSBhcnJheSBpbnRvIGEgbWFwIHdpdGggbnVtYmVyc1xuY29uc3Qgb3JkZXJlZExldmVsczogUmVjb3JkPHR5cGVvZiBsZXZlbHNbbnVtYmVyXSwgbnVtYmVyPiA9IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhsZXZlbHMpLm1hcChhID0+IGEucmV2ZXJzZSgpKSk7XG5mdW5jdGlvbiBjb21wYXJlRm4oYTogSW9NZXNzYWdlTGV2ZWwsIGI6IElvTWVzc2FnZUxldmVsKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9yZGVyZWRMZXZlbHNbYV0gLSBvcmRlcmVkTGV2ZWxzW2JdO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBtZXNzYWdlIGlzIHJlbGV2YW50IGZvciB0aGUgZ2l2ZW4gbG9nIGxldmVsLlxuICpcbiAqIEBwYXJhbSBtc2cgVGhlIG1lc3NhZ2UgdG8gY29tcGFyZS5cbiAqIEBwYXJhbSBsZXZlbCBUaGUgbGV2ZWwgdG8gY29tcGFyZSBhZ2FpbnN0LlxuICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgbWVzc2FnZSBpcyByZWxldmFudCBmb3IgdGhlIGdpdmVuIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNNZXNzYWdlUmVsZXZhbnRGb3JMZXZlbChtc2c6IHsgbGV2ZWw6IElvTWVzc2FnZUxldmVsfSwgbGV2ZWw6IElvTWVzc2FnZUxldmVsKTogYm9vbGVhbiB7XG4gIHJldHVybiBjb21wYXJlRm4obXNnLmxldmVsLCBsZXZlbCkgPj0gMDtcbn1cblxuIl19
@@ -0,0 +1,89 @@
1
+ import type { IoMessage, IoMessageCode, IoMessageLevel } from '../io-message';
2
+ import type { ActionLessMessage, ActionLessRequest } from './io-helper';
3
+ /**
4
+ * Information for each IO Message Code.
5
+ */
6
+ interface CodeInfo {
7
+ /**
8
+ * The message code.
9
+ */
10
+ readonly code: IoMessageCode;
11
+ /**
12
+ * A brief description of the meaning of this IO Message.
13
+ */
14
+ readonly description: string;
15
+ /**
16
+ * The name of the payload interface, if applicable.
17
+ * Some Io Messages include a payload, with a specific interface. The name of
18
+ * the interface is specified here so that it can be linked with the message
19
+ * when documentation is generated.
20
+ *
21
+ * The interface _must_ be exposed directly from toolkit-lib, so that it will
22
+ * have a documentation page generated (that can be linked to).
23
+ */
24
+ readonly interface?: string;
25
+ }
26
+ /**
27
+ * Information for each IO Message
28
+ */
29
+ interface MessageInfo extends CodeInfo {
30
+ /**
31
+ * The message level
32
+ */
33
+ readonly level: IoMessageLevel;
34
+ }
35
+ /**
36
+ * An interface that can produce messages for a specific code.
37
+ */
38
+ export interface IoMessageMaker<T> extends MessageInfo {
39
+ /**
40
+ * Create a message for this code, with or without payload.
41
+ */
42
+ msg: [T] extends [AbsentData] ? (message: string) => ActionLessMessage<AbsentData> : (message: string, data: T) => ActionLessMessage<T>;
43
+ /**
44
+ * Returns whether the given `IoMessage` instance matches the current message definition
45
+ */
46
+ is(x: IoMessage<unknown>): x is IoMessage<T>;
47
+ }
48
+ /**
49
+ * A type that is impossible for a user to replicate
50
+ * This is used to ensure that results always have a proper type generic declared.
51
+ */
52
+ declare const privateKey: unique symbol;
53
+ export type ImpossibleType = {
54
+ readonly [privateKey]: typeof privateKey;
55
+ };
56
+ type CodeInfoMaybeInterface<T> = [T] extends [AbsentData] ? Omit<CodeInfo, 'interface'> : Required<CodeInfo>;
57
+ /**
58
+ * The type we use to represent an absent data field
59
+ *
60
+ * This is here to make it easy to change between `undefined`, `void`
61
+ * and `never`.
62
+ *
63
+ * Not a lot of difference between `undefined` and `void`, but `void`
64
+ * reads better.
65
+ */
66
+ type AbsentData = void;
67
+ export declare const trace: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
68
+ export declare const debug: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
69
+ export declare const info: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
70
+ export declare const warn: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
71
+ export declare const error: <T = void>(details: CodeInfoMaybeInterface<T>) => IoMessageMaker<T>;
72
+ export declare const result: <T extends object = ImpossibleType>(details: Required<CodeInfo>) => IoMessageMaker<T>;
73
+ interface RequestInfo<U> extends CodeInfo {
74
+ readonly defaultResponse: U;
75
+ }
76
+ /**
77
+ * An interface that can produce requests for a specific code.
78
+ */
79
+ export interface IoRequestMaker<T, U> extends MessageInfo {
80
+ /**
81
+ * Create a message for this code, with or without payload.
82
+ */
83
+ req: [T] extends [AbsentData] ? (message: string) => ActionLessMessage<AbsentData> : (message: string, data: T) => ActionLessRequest<T, U>;
84
+ }
85
+ /**
86
+ * A request that is a simple yes/no question, with the expectation that 'yes' is the default.
87
+ */
88
+ export declare const confirm: <T extends object = ImpossibleType>(details: Required<Omit<RequestInfo<boolean>, "defaultResponse">>) => IoRequestMaker<T, boolean>;
89
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.confirm = exports.result = exports.error = exports.warn = exports.info = exports.debug = exports.trace = void 0;
4
+ /**
5
+ * Produce an IoMessageMaker for the provided level and code info.
6
+ */
7
+ function message(level, details) {
8
+ const maker = (text, data) => ({
9
+ time: new Date(),
10
+ level,
11
+ code: details.code,
12
+ message: text,
13
+ data,
14
+ });
15
+ return {
16
+ ...details,
17
+ level,
18
+ msg: maker,
19
+ is: (m) => m.code === details.code,
20
+ };
21
+ }
22
+ const trace = (details) => message('trace', details);
23
+ exports.trace = trace;
24
+ const debug = (details) => message('debug', details);
25
+ exports.debug = debug;
26
+ const info = (details) => message('info', details);
27
+ exports.info = info;
28
+ const warn = (details) => message('warn', details);
29
+ exports.warn = warn;
30
+ const error = (details) => message('error', details);
31
+ exports.error = error;
32
+ const result = (details) => message('result', details);
33
+ exports.result = result;
34
+ /**
35
+ * Produce an IoRequestMaker for the provided level and request info.
36
+ */
37
+ function request(level, details) {
38
+ const maker = (text, data) => ({
39
+ time: new Date(),
40
+ level,
41
+ code: details.code,
42
+ message: text,
43
+ data,
44
+ defaultResponse: details.defaultResponse,
45
+ });
46
+ return {
47
+ ...details,
48
+ level,
49
+ req: maker,
50
+ };
51
+ }
52
+ /**
53
+ * A request that is a simple yes/no question, with the expectation that 'yes' is the default.
54
+ */
55
+ const confirm = (details) => request('info', {
56
+ ...details,
57
+ defaultResponse: true,
58
+ });
59
+ exports.confirm = confirm;
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1tYWtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1lc3NhZ2UtbWFrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBc0RBOztHQUVHO0FBQ0gsU0FBUyxPQUFPLENBQWlCLEtBQXFCLEVBQUUsT0FBaUI7SUFDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtRQUNoQixLQUFLO1FBQ0wsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSTtLQUNvQixDQUFBLENBQUM7SUFFM0IsT0FBTztRQUNMLEdBQUcsT0FBTztRQUNWLEtBQUs7UUFDTCxHQUFHLEVBQUUsS0FBWTtRQUNqQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQXFCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJO0tBQ3RELENBQUM7QUFDSixDQUFDO0FBeUJNLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sSUFBSSxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0YsUUFBQSxJQUFJLFFBQXVGO0FBQ2pHLE1BQU0sSUFBSSxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0YsUUFBQSxJQUFJLFFBQXVGO0FBQ2pHLE1BQU0sS0FBSyxHQUFHLENBQWlCLE9BQWtDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBN0YsUUFBQSxLQUFLLFNBQXdGO0FBQ25HLE1BQU0sTUFBTSxHQUFHLENBQW9DLE9BQTJCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBSSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFBM0csUUFBQSxNQUFNLFVBQXFHO0FBZ0J4SDs7R0FFRztBQUNILFNBQVMsT0FBTyxDQUFxQyxLQUFxQixFQUFFLE9BQXVCO0lBQ2pHLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7UUFDaEIsS0FBSztRQUNMLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNsQixPQUFPLEVBQUUsSUFBSTtRQUNiLElBQUk7UUFDSixlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWU7S0FDYixDQUFBLENBQUM7SUFFOUIsT0FBTztRQUNMLEdBQUcsT0FBTztRQUNWLEtBQUs7UUFDTCxHQUFHLEVBQUUsS0FBWTtLQUNsQixDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBb0MsT0FBZ0UsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFhLE1BQU0sRUFBRTtJQUMxSixHQUFHLE9BQU87SUFDVixlQUFlLEVBQUUsSUFBSTtDQUN0QixDQUFDLENBQUM7QUFIVSxRQUFBLE9BQU8sV0FHakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElvTWVzc2FnZSwgSW9NZXNzYWdlQ29kZSwgSW9NZXNzYWdlTGV2ZWwgfSBmcm9tICcuLi9pby1tZXNzYWdlJztcbmltcG9ydCB0eXBlIHsgQWN0aW9uTGVzc01lc3NhZ2UsIEFjdGlvbkxlc3NSZXF1ZXN0IH0gZnJvbSAnLi9pby1oZWxwZXInO1xuXG4vKipcbiAqIEluZm9ybWF0aW9uIGZvciBlYWNoIElPIE1lc3NhZ2UgQ29kZS5cbiAqL1xuaW50ZXJmYWNlIENvZGVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIGNvZGUuXG4gICAqL1xuICByZWFkb25seSBjb2RlOiBJb01lc3NhZ2VDb2RlO1xuXG4gIC8qKlxuICAgKiBBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBtZWFuaW5nIG9mIHRoaXMgSU8gTWVzc2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXlsb2FkIGludGVyZmFjZSwgaWYgYXBwbGljYWJsZS5cbiAgICogU29tZSBJbyBNZXNzYWdlcyBpbmNsdWRlIGEgcGF5bG9hZCwgd2l0aCBhIHNwZWNpZmljIGludGVyZmFjZS4gVGhlIG5hbWUgb2ZcbiAgICogdGhlIGludGVyZmFjZSBpcyBzcGVjaWZpZWQgaGVyZSBzbyB0aGF0IGl0IGNhbiBiZSBsaW5rZWQgd2l0aCB0aGUgbWVzc2FnZVxuICAgKiB3aGVuIGRvY3VtZW50YXRpb24gaXMgZ2VuZXJhdGVkLlxuICAgKlxuICAgKiBUaGUgaW50ZXJmYWNlIF9tdXN0XyBiZSBleHBvc2VkIGRpcmVjdGx5IGZyb20gdG9vbGtpdC1saWIsIHNvIHRoYXQgaXQgd2lsbFxuICAgKiBoYXZlIGEgZG9jdW1lbnRhdGlvbiBwYWdlIGdlbmVyYXRlZCAodGhhdCBjYW4gYmUgbGlua2VkIHRvKS5cbiAgICovXG4gIHJlYWRvbmx5IGludGVyZmFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBmb3IgZWFjaCBJTyBNZXNzYWdlXG4gKi9cbmludGVyZmFjZSBNZXNzYWdlSW5mbyBleHRlbmRzIENvZGVJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIGxldmVsXG4gICAqL1xuICByZWFkb25seSBsZXZlbDogSW9NZXNzYWdlTGV2ZWw7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIHRoYXQgY2FuIHByb2R1Y2UgbWVzc2FnZXMgZm9yIGEgc3BlY2lmaWMgY29kZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJb01lc3NhZ2VNYWtlcjxUPiBleHRlbmRzIE1lc3NhZ2VJbmZvIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG1lc3NhZ2UgZm9yIHRoaXMgY29kZSwgd2l0aCBvciB3aXRob3V0IHBheWxvYWQuXG4gICAqL1xuICBtc2c6IFtUXSBleHRlbmRzIFtBYnNlbnREYXRhXSA/IChtZXNzYWdlOiBzdHJpbmcpID0+IEFjdGlvbkxlc3NNZXNzYWdlPEFic2VudERhdGE+IDogKG1lc3NhZ2U6IHN0cmluZywgZGF0YTogVCkgPT4gQWN0aW9uTGVzc01lc3NhZ2U8VD47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYElvTWVzc2FnZWAgaW5zdGFuY2UgbWF0Y2hlcyB0aGUgY3VycmVudCBtZXNzYWdlIGRlZmluaXRpb25cbiAgICovXG4gIGlzKHg6IElvTWVzc2FnZTx1bmtub3duPik6IHggaXMgSW9NZXNzYWdlPFQ+O1xufVxuXG4vKipcbiAqIFByb2R1Y2UgYW4gSW9NZXNzYWdlTWFrZXIgZm9yIHRoZSBwcm92aWRlZCBsZXZlbCBhbmQgY29kZSBpbmZvLlxuICovXG5mdW5jdGlvbiBtZXNzYWdlPFQgPSBBYnNlbnREYXRhPihsZXZlbDogSW9NZXNzYWdlTGV2ZWwsIGRldGFpbHM6IENvZGVJbmZvKTogSW9NZXNzYWdlTWFrZXI8VD4ge1xuICBjb25zdCBtYWtlciA9ICh0ZXh0OiBzdHJpbmcsIGRhdGE6IFQpID0+ICh7XG4gICAgdGltZTogbmV3IERhdGUoKSxcbiAgICBsZXZlbCxcbiAgICBjb2RlOiBkZXRhaWxzLmNvZGUsXG4gICAgbWVzc2FnZTogdGV4dCxcbiAgICBkYXRhLFxuICB9IGFzIEFjdGlvbkxlc3NNZXNzYWdlPFQ+KTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRldGFpbHMsXG4gICAgbGV2ZWwsXG4gICAgbXNnOiBtYWtlciBhcyBhbnksXG4gICAgaXM6IChtKTogbSBpcyBJb01lc3NhZ2U8VD4gPT4gbS5jb2RlID09PSBkZXRhaWxzLmNvZGUsXG4gIH07XG59XG5cbi8qKlxuICogQSB0eXBlIHRoYXQgaXMgaW1wb3NzaWJsZSBmb3IgYSB1c2VyIHRvIHJlcGxpY2F0ZVxuICogVGhpcyBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IHJlc3VsdHMgYWx3YXlzIGhhdmUgYSBwcm9wZXIgdHlwZSBnZW5lcmljIGRlY2xhcmVkLlxuICovXG5kZWNsYXJlIGNvbnN0IHByaXZhdGVLZXk6IHVuaXF1ZSBzeW1ib2w7XG5leHBvcnQgdHlwZSBJbXBvc3NpYmxlVHlwZSA9IHtcbiAgcmVhZG9ubHkgW3ByaXZhdGVLZXldOiB0eXBlb2YgcHJpdmF0ZUtleTtcbn07XG5cbi8vIENyZWF0ZSBgSW9NZXNzYWdlTWFrZXJgcyBmb3IgYSBnaXZlbiBsZXZlbCBhbmQgdHlwZSBjaGVjayB0aGF0IGNhbGxzIHdpdGggcGF5bG9hZCBhcmUgdXNpbmcgdGhlIGNvcnJlY3QgaW50ZXJmYWNlXG50eXBlIENvZGVJbmZvTWF5YmVJbnRlcmZhY2U8VD4gPSBbVF0gZXh0ZW5kcyBbQWJzZW50RGF0YV0gPyBPbWl0PENvZGVJbmZvLCAnaW50ZXJmYWNlJz4gOiBSZXF1aXJlZDxDb2RlSW5mbz47XG5cbi8qKlxuICogVGhlIHR5cGUgd2UgdXNlIHRvIHJlcHJlc2VudCBhbiBhYnNlbnQgZGF0YSBmaWVsZFxuICpcbiAqIFRoaXMgaXMgaGVyZSB0byBtYWtlIGl0IGVhc3kgdG8gY2hhbmdlIGJldHdlZW4gYHVuZGVmaW5lZGAsIGB2b2lkYFxuICogYW5kIGBuZXZlcmAuXG4gKlxuICogTm90IGEgbG90IG9mIGRpZmZlcmVuY2UgYmV0d2VlbiBgdW5kZWZpbmVkYCBhbmQgYHZvaWRgLCBidXQgYHZvaWRgXG4gKiByZWFkcyBiZXR0ZXIuXG4gKi9cbnR5cGUgQWJzZW50RGF0YSA9IHZvaWQ7XG5cbmV4cG9ydCBjb25zdCB0cmFjZSA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPigndHJhY2UnLCBkZXRhaWxzKTtcbmV4cG9ydCBjb25zdCBkZWJ1ZyA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPignZGVidWcnLCBkZXRhaWxzKTtcbmV4cG9ydCBjb25zdCBpbmZvID0gPFQgPSBBYnNlbnREYXRhPihkZXRhaWxzOiBDb2RlSW5mb01heWJlSW50ZXJmYWNlPFQ+KSA9PiBtZXNzYWdlPFQ+KCdpbmZvJywgZGV0YWlscyk7XG5leHBvcnQgY29uc3Qgd2FybiA9IDxUID0gQWJzZW50RGF0YT4oZGV0YWlsczogQ29kZUluZm9NYXliZUludGVyZmFjZTxUPikgPT4gbWVzc2FnZTxUPignd2FybicsIGRldGFpbHMpO1xuZXhwb3J0IGNvbnN0IGVycm9yID0gPFQgPSBBYnNlbnREYXRhPihkZXRhaWxzOiBDb2RlSW5mb01heWJlSW50ZXJmYWNlPFQ+KSA9PiBtZXNzYWdlPFQ+KCdlcnJvcicsIGRldGFpbHMpO1xuZXhwb3J0IGNvbnN0IHJlc3VsdCA9IDxUIGV4dGVuZHMgb2JqZWN0ID0gSW1wb3NzaWJsZVR5cGU+KGRldGFpbHM6IFJlcXVpcmVkPENvZGVJbmZvPikgPT4gbWVzc2FnZTxUPigncmVzdWx0JywgZGV0YWlscyk7XG5cbmludGVyZmFjZSBSZXF1ZXN0SW5mbzxVPiBleHRlbmRzIENvZGVJbmZvIHtcbiAgcmVhZG9ubHkgZGVmYXVsdFJlc3BvbnNlOiBVO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSB0aGF0IGNhbiBwcm9kdWNlIHJlcXVlc3RzIGZvciBhIHNwZWNpZmljIGNvZGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW9SZXF1ZXN0TWFrZXI8VCwgVT4gZXh0ZW5kcyBNZXNzYWdlSW5mbyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBtZXNzYWdlIGZvciB0aGlzIGNvZGUsIHdpdGggb3Igd2l0aG91dCBwYXlsb2FkLlxuICAgKi9cbiAgcmVxOiBbVF0gZXh0ZW5kcyBbQWJzZW50RGF0YV0gPyAobWVzc2FnZTogc3RyaW5nKSA9PiBBY3Rpb25MZXNzTWVzc2FnZTxBYnNlbnREYXRhPiA6IChtZXNzYWdlOiBzdHJpbmcsIGRhdGE6IFQpID0+IEFjdGlvbkxlc3NSZXF1ZXN0PFQsIFU+O1xufVxuXG4vKipcbiAqIFByb2R1Y2UgYW4gSW9SZXF1ZXN0TWFrZXIgZm9yIHRoZSBwcm92aWRlZCBsZXZlbCBhbmQgcmVxdWVzdCBpbmZvLlxuICovXG5mdW5jdGlvbiByZXF1ZXN0PFQgPSBBYnNlbnREYXRhLCBVID0gSW1wb3NzaWJsZVR5cGU+KGxldmVsOiBJb01lc3NhZ2VMZXZlbCwgZGV0YWlsczogUmVxdWVzdEluZm88VT4pOiBJb1JlcXVlc3RNYWtlcjxULCBVPiB7XG4gIGNvbnN0IG1ha2VyID0gKHRleHQ6IHN0cmluZywgZGF0YTogVCkgPT4gKHtcbiAgICB0aW1lOiBuZXcgRGF0ZSgpLFxuICAgIGxldmVsLFxuICAgIGNvZGU6IGRldGFpbHMuY29kZSxcbiAgICBtZXNzYWdlOiB0ZXh0LFxuICAgIGRhdGEsXG4gICAgZGVmYXVsdFJlc3BvbnNlOiBkZXRhaWxzLmRlZmF1bHRSZXNwb25zZSxcbiAgfSBhcyBBY3Rpb25MZXNzUmVxdWVzdDxULCBVPik7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZXRhaWxzLFxuICAgIGxldmVsLFxuICAgIHJlcTogbWFrZXIgYXMgYW55LFxuICB9O1xufVxuXG4vKipcbiAqIEEgcmVxdWVzdCB0aGF0IGlzIGEgc2ltcGxlIHllcy9ubyBxdWVzdGlvbiwgd2l0aCB0aGUgZXhwZWN0YXRpb24gdGhhdCAneWVzJyBpcyB0aGUgZGVmYXVsdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpcm0gPSA8VCBleHRlbmRzIG9iamVjdCA9IEltcG9zc2libGVUeXBlPihkZXRhaWxzOiBSZXF1aXJlZDxPbWl0PFJlcXVlc3RJbmZvPGJvb2xlYW4+LCAnZGVmYXVsdFJlc3BvbnNlJz4+KSA9PiByZXF1ZXN0PFQsIGJvb2xlYW4+KCdpbmZvJywge1xuICAuLi5kZXRhaWxzLFxuICBkZWZhdWx0UmVzcG9uc2U6IHRydWUsXG59KTtcbiJdfQ==