cdk-common 0.0.68 → 2.0.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 (1016) hide show
  1. package/.gitattributes +21 -21
  2. package/.jsii +2662 -552
  3. package/API.md +27 -64
  4. package/README.md +9 -2
  5. package/lib/integ-default.d.ts +3 -3
  6. package/lib/integ-default.js +6 -5
  7. package/lib/main.d.ts +4 -4
  8. package/lib/main.js +7 -6
  9. package/node_modules/@aws-cdk/assert/BUILD.md +15 -0
  10. package/node_modules/@aws-cdk/assert/LICENSE +201 -0
  11. package/node_modules/@aws-cdk/assert/NOTICE +2 -0
  12. package/node_modules/@aws-cdk/assert/README.md +229 -0
  13. package/node_modules/@aws-cdk/assert/clone.sh +29 -0
  14. package/node_modules/@aws-cdk/assert/jest.d.ts +14 -0
  15. package/node_modules/@aws-cdk/assert/jest.js +57 -0
  16. package/node_modules/@aws-cdk/assert/lib/assertion.d.ts +17 -0
  17. package/node_modules/@aws-cdk/assert/lib/assertion.js +31 -0
  18. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.d.ts +10 -0
  19. package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.js +21 -0
  20. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.d.ts +10 -0
  21. package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.js +54 -0
  22. package/node_modules/@aws-cdk/assert/lib/assertions/exist.d.ts +3 -0
  23. package/node_modules/@aws-cdk/assert/lib/assertions/exist.js +18 -0
  24. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.d.ts +29 -0
  25. package/node_modules/@aws-cdk/assert/lib/assertions/have-output.js +78 -0
  26. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.d.ts +123 -0
  27. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.js +404 -0
  28. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.d.ts +69 -0
  29. package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.js +131 -0
  30. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.d.ts +3 -0
  31. package/node_modules/@aws-cdk/assert/lib/assertions/have-type.js +22 -0
  32. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.d.ts +19 -0
  33. package/node_modules/@aws-cdk/assert/lib/assertions/match-template.js +98 -0
  34. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.d.ts +8 -0
  35. package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.js +18 -0
  36. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.d.ts +11 -0
  37. package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.js +70 -0
  38. package/node_modules/@aws-cdk/assert/lib/expect.d.ts +4 -0
  39. package/node_modules/@aws-cdk/assert/lib/expect.js +16 -0
  40. package/node_modules/@aws-cdk/assert/lib/index.d.ts +14 -0
  41. package/node_modules/@aws-cdk/assert/lib/index.js +27 -0
  42. package/node_modules/@aws-cdk/assert/lib/inspector.d.ts +31 -0
  43. package/node_modules/@aws-cdk/assert/lib/inspector.js +69 -0
  44. package/node_modules/@aws-cdk/assert/lib/synth-utils.d.ts +30 -0
  45. package/node_modules/@aws-cdk/assert/lib/synth-utils.js +93 -0
  46. package/node_modules/@aws-cdk/assert/package.json +77 -0
  47. package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +9353 -0
  48. package/node_modules/@aws-cdk/cfnspec/LICENSE +201 -0
  49. package/node_modules/@aws-cdk/cfnspec/NOTICE +2 -0
  50. package/node_modules/@aws-cdk/cfnspec/README.md +14 -0
  51. package/node_modules/@aws-cdk/cfnspec/build-tools/build.d.ts +1 -0
  52. package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +83 -0
  53. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.d.ts +6 -0
  54. package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +308 -0
  55. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +14 -0
  56. package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +130 -0
  57. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.d.ts +12 -0
  58. package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.js +85 -0
  59. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.d.ts +1 -0
  60. package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.js +237 -0
  61. package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +201 -0
  62. package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +2 -0
  63. package/node_modules/@aws-cdk/cfnspec/build-tools/update-cfnlint.sh +18 -0
  64. package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +13 -0
  65. package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +81 -0
  66. package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -0
  67. package/node_modules/@aws-cdk/cfnspec/coverage/base.css +224 -0
  68. package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +79 -0
  69. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +126 -0
  70. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +443 -0
  71. package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +344 -0
  72. package/node_modules/@aws-cdk/cfnspec/coverage/favicon.png +0 -0
  73. package/node_modules/@aws-cdk/cfnspec/coverage/index.html +156 -0
  74. package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +31181 -0
  75. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/base.css +224 -0
  76. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +79 -0
  77. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +126 -0
  78. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +443 -0
  79. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +344 -0
  80. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/favicon.png +0 -0
  81. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +156 -0
  82. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
  83. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +111 -0
  84. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +440 -0
  85. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +126 -0
  86. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +557 -0
  87. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +371 -0
  88. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +167 -0
  89. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +186 -0
  90. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +98 -0
  91. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +965 -0
  92. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +572 -0
  93. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +248 -0
  94. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.css +1 -0
  95. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.js +2 -0
  96. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  97. package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +170 -0
  98. package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +709 -0
  99. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
  100. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +111 -0
  101. package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +440 -0
  102. package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +126 -0
  103. package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +557 -0
  104. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +371 -0
  105. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +167 -0
  106. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +186 -0
  107. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +98 -0
  108. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +965 -0
  109. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +572 -0
  110. package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +248 -0
  111. package/node_modules/@aws-cdk/cfnspec/coverage/prettify.css +1 -0
  112. package/node_modules/@aws-cdk/cfnspec/coverage/prettify.js +2 -0
  113. package/node_modules/@aws-cdk/cfnspec/coverage/sort-arrow-sprite.png +0 -0
  114. package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +170 -0
  115. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.d.ts +24 -0
  116. package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.js +3 -0
  117. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_EC2_VPNConnection.json +27 -0
  118. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_Lambda_Function.json +27 -0
  119. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBCluster.json +70 -0
  120. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBInstance.json +37 -0
  121. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SNS_Topic.json +52 -0
  122. package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SQS_Queue.json +53 -0
  123. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +163 -0
  124. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.d.ts +60 -0
  125. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.js +12 -0
  126. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +22175 -0
  127. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.d.ts +41 -0
  128. package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.js +77 -0
  129. package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +55 -0
  130. package/node_modules/@aws-cdk/cfnspec/lib/index.js +171 -0
  131. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.d.ts +87 -0
  132. package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.js +28 -0
  133. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.d.ts +14 -0
  134. package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.js +29 -0
  135. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.d.ts +13 -0
  136. package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.js +3 -0
  137. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +6 -0
  138. package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +19 -0
  139. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.d.ts +174 -0
  140. package/node_modules/@aws-cdk/cfnspec/lib/schema/property.js +161 -0
  141. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.d.ts +117 -0
  142. package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.js +99 -0
  143. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.d.ts +56 -0
  144. package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.js +11 -0
  145. package/node_modules/@aws-cdk/cfnspec/package.json +61 -0
  146. package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +34 -0
  147. package/node_modules/@aws-cdk/cfnspec/spec/specification.json +110800 -0
  148. package/node_modules/@aws-cdk/cfnspec/tsconfig.json +24 -0
  149. package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +4584 -0
  150. package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +201 -0
  151. package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +2 -0
  152. package/node_modules/@aws-cdk/cloudformation-diff/README.md +12 -0
  153. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.d.ts +9 -0
  154. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.js +94 -0
  155. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.d.ts +326 -0
  156. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.js +456 -0
  157. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.d.ts +41 -0
  158. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.js +165 -0
  159. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.d.ts +21 -0
  160. package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.js +166 -0
  161. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.d.ts +22 -0
  162. package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.js +47 -0
  163. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.d.ts +6 -0
  164. package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.js +109 -0
  165. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.d.ts +23 -0
  166. package/node_modules/@aws-cdk/cloudformation-diff/lib/format.js +414 -0
  167. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.d.ts +62 -0
  168. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.js +246 -0
  169. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.d.ts +18 -0
  170. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.js +29 -0
  171. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.d.ts +127 -0
  172. package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.js +266 -0
  173. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.d.ts +4 -0
  174. package/node_modules/@aws-cdk/cloudformation-diff/lib/index.js +18 -0
  175. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.d.ts +32 -0
  176. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.js +95 -0
  177. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.d.ts +50 -0
  178. package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.js +91 -0
  179. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.d.ts +21 -0
  180. package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.js +79 -0
  181. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.d.ts +7 -0
  182. package/node_modules/@aws-cdk/cloudformation-diff/lib/util.js +63 -0
  183. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/LICENSE +21 -0
  184. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/README.md +16 -0
  185. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/assert.d.ts +99 -0
  186. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/async_hooks.d.ts +144 -0
  187. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/base.d.ts +19 -0
  188. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/buffer.d.ts +16 -0
  189. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/child_process.d.ts +369 -0
  190. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/cluster.d.ts +260 -0
  191. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/console.d.ts +3 -0
  192. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/constants.d.ts +449 -0
  193. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/crypto.d.ts +613 -0
  194. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dgram.d.ts +97 -0
  195. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dns.d.ts +366 -0
  196. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/domain.d.ts +16 -0
  197. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/events.d.ts +30 -0
  198. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/fs.d.ts +2302 -0
  199. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/globals.d.ts +1066 -0
  200. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http.d.ts +274 -0
  201. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http2.d.ts +859 -0
  202. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/https.d.ts +51 -0
  203. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/index.d.ts +41 -0
  204. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/inspector.d.ts +3162 -0
  205. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/module.d.ts +3 -0
  206. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/net.d.ts +251 -0
  207. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/os.d.ts +254 -0
  208. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/package.json +181 -0
  209. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/path.d.ts +159 -0
  210. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/perf_hooks.d.ts +169 -0
  211. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/process.d.ts +3 -0
  212. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/punycode.d.ts +68 -0
  213. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/querystring.d.ts +17 -0
  214. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/readline.d.ts +143 -0
  215. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/repl.d.ts +380 -0
  216. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/stream.d.ts +313 -0
  217. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/string_decoder.d.ts +9 -0
  218. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/timers.d.ts +16 -0
  219. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tls.d.ts +459 -0
  220. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/trace_events.d.ts +61 -0
  221. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/assert.d.ts +73 -0
  222. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/base.d.ts +54 -0
  223. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/index.d.ts +6 -0
  224. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tty.d.ts +17 -0
  225. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/url.d.ts +104 -0
  226. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/util.d.ts +187 -0
  227. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/v8.d.ts +28 -0
  228. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/vm.d.ts +81 -0
  229. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/worker_threads.d.ts +124 -0
  230. package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/zlib.d.ts +327 -0
  231. package/node_modules/@aws-cdk/cloudformation-diff/package.json +61 -0
  232. package/node_modules/ansi-regex/index.d.ts +37 -0
  233. package/node_modules/ansi-regex/index.js +10 -0
  234. package/node_modules/ansi-regex/license +9 -0
  235. package/node_modules/ansi-regex/package.json +55 -0
  236. package/node_modules/ansi-regex/readme.md +78 -0
  237. package/node_modules/ansi-styles/index.d.ts +345 -0
  238. package/node_modules/ansi-styles/index.js +163 -0
  239. package/node_modules/ansi-styles/license +9 -0
  240. package/node_modules/ansi-styles/package.json +56 -0
  241. package/node_modules/ansi-styles/readme.md +152 -0
  242. package/node_modules/astral-regex/index.d.ts +28 -0
  243. package/node_modules/astral-regex/index.js +6 -0
  244. package/node_modules/astral-regex/license +9 -0
  245. package/node_modules/astral-regex/package.json +33 -0
  246. package/node_modules/astral-regex/readme.md +46 -0
  247. package/node_modules/at-least-node/LICENSE +6 -0
  248. package/node_modules/at-least-node/README.md +25 -0
  249. package/node_modules/at-least-node/index.js +5 -0
  250. package/node_modules/at-least-node/package.json +32 -0
  251. package/node_modules/charenc/LICENSE.mkd +27 -0
  252. package/node_modules/charenc/README.js +1 -0
  253. package/node_modules/charenc/charenc.js +33 -0
  254. package/node_modules/charenc/package.json +24 -0
  255. package/node_modules/color-convert/CHANGELOG.md +54 -0
  256. package/node_modules/color-convert/LICENSE +21 -0
  257. package/node_modules/color-convert/README.md +68 -0
  258. package/node_modules/color-convert/conversions.js +839 -0
  259. package/node_modules/color-convert/index.js +81 -0
  260. package/node_modules/color-convert/package.json +48 -0
  261. package/node_modules/color-convert/route.js +97 -0
  262. package/node_modules/color-name/LICENSE +8 -0
  263. package/node_modules/color-name/README.md +11 -0
  264. package/node_modules/color-name/index.js +152 -0
  265. package/node_modules/color-name/package.json +28 -0
  266. package/node_modules/colors/LICENSE +25 -0
  267. package/node_modules/colors/README.md +221 -0
  268. package/node_modules/colors/examples/normal-usage.js +82 -0
  269. package/node_modules/colors/examples/safe-string.js +79 -0
  270. package/node_modules/colors/index.d.ts +136 -0
  271. package/node_modules/colors/lib/colors.js +211 -0
  272. package/node_modules/colors/lib/custom/trap.js +46 -0
  273. package/node_modules/colors/lib/custom/zalgo.js +110 -0
  274. package/node_modules/colors/lib/extendStringPrototype.js +110 -0
  275. package/node_modules/colors/lib/index.js +13 -0
  276. package/node_modules/colors/lib/maps/america.js +10 -0
  277. package/node_modules/colors/lib/maps/rainbow.js +12 -0
  278. package/node_modules/colors/lib/maps/random.js +11 -0
  279. package/node_modules/colors/lib/maps/zebra.js +5 -0
  280. package/node_modules/colors/lib/styles.js +95 -0
  281. package/node_modules/colors/lib/system/has-flag.js +35 -0
  282. package/node_modules/colors/lib/system/supports-colors.js +151 -0
  283. package/node_modules/colors/package.json +45 -0
  284. package/node_modules/colors/safe.d.ts +48 -0
  285. package/node_modules/colors/safe.js +10 -0
  286. package/node_modules/colors/themes/generic-logging.js +12 -0
  287. package/node_modules/crypt/LICENSE.mkd +27 -0
  288. package/node_modules/crypt/README.mkd +1 -0
  289. package/node_modules/crypt/crypt.js +96 -0
  290. package/node_modules/crypt/package.json +22 -0
  291. package/node_modules/diff/CONTRIBUTING.md +39 -0
  292. package/node_modules/diff/LICENSE +31 -0
  293. package/node_modules/diff/README.md +208 -0
  294. package/node_modules/diff/dist/diff.js +1582 -0
  295. package/node_modules/diff/lib/convert/dmp.js +32 -0
  296. package/node_modules/diff/lib/convert/xml.js +42 -0
  297. package/node_modules/diff/lib/diff/array.js +45 -0
  298. package/node_modules/diff/lib/diff/base.js +304 -0
  299. package/node_modules/diff/lib/diff/character.js +37 -0
  300. package/node_modules/diff/lib/diff/css.js +41 -0
  301. package/node_modules/diff/lib/diff/json.js +163 -0
  302. package/node_modules/diff/lib/diff/line.js +89 -0
  303. package/node_modules/diff/lib/diff/sentence.js +41 -0
  304. package/node_modules/diff/lib/diff/word.js +108 -0
  305. package/node_modules/diff/lib/index.es6.js +1553 -0
  306. package/node_modules/diff/lib/index.js +216 -0
  307. package/node_modules/diff/lib/index.mjs +1553 -0
  308. package/node_modules/diff/lib/patch/apply.js +238 -0
  309. package/node_modules/diff/lib/patch/create.js +267 -0
  310. package/node_modules/diff/lib/patch/merge.js +613 -0
  311. package/node_modules/diff/lib/patch/parse.js +167 -0
  312. package/node_modules/diff/lib/util/array.js +32 -0
  313. package/node_modules/diff/lib/util/distance-iterator.js +57 -0
  314. package/node_modules/diff/lib/util/params.js +24 -0
  315. package/node_modules/diff/package.json +87 -0
  316. package/node_modules/diff/release-notes.md +303 -0
  317. package/node_modules/diff/runtime.js +3 -0
  318. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  319. package/node_modules/emoji-regex/README.md +73 -0
  320. package/node_modules/emoji-regex/es2015/index.js +6 -0
  321. package/node_modules/emoji-regex/es2015/text.js +6 -0
  322. package/node_modules/emoji-regex/index.d.ts +23 -0
  323. package/node_modules/emoji-regex/index.js +6 -0
  324. package/node_modules/emoji-regex/package.json +50 -0
  325. package/node_modules/emoji-regex/text.js +6 -0
  326. package/node_modules/fast-deep-equal/LICENSE +21 -0
  327. package/node_modules/fast-deep-equal/README.md +96 -0
  328. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  329. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  330. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  331. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  332. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  333. package/node_modules/fast-deep-equal/index.js +46 -0
  334. package/node_modules/fast-deep-equal/package.json +61 -0
  335. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  336. package/node_modules/fast-deep-equal/react.js +53 -0
  337. package/node_modules/fs-extra/CHANGELOG.md +902 -0
  338. package/node_modules/fs-extra/LICENSE +15 -0
  339. package/node_modules/fs-extra/README.md +264 -0
  340. package/node_modules/fs-extra/lib/copy/copy.js +232 -0
  341. package/node_modules/fs-extra/lib/copy/index.js +6 -0
  342. package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  343. package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  344. package/node_modules/fs-extra/lib/empty/index.js +48 -0
  345. package/node_modules/fs-extra/lib/ensure/file.js +69 -0
  346. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  347. package/node_modules/fs-extra/lib/ensure/link.js +61 -0
  348. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  349. package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  350. package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  351. package/node_modules/fs-extra/lib/fs/index.js +130 -0
  352. package/node_modules/fs-extra/lib/index.js +27 -0
  353. package/node_modules/fs-extra/lib/json/index.js +16 -0
  354. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  355. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  356. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  357. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  358. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  359. package/node_modules/fs-extra/lib/move/index.js +6 -0
  360. package/node_modules/fs-extra/lib/move/move.js +65 -0
  361. package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  362. package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  363. package/node_modules/fs-extra/lib/output/index.js +40 -0
  364. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  365. package/node_modules/fs-extra/lib/remove/index.js +9 -0
  366. package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  367. package/node_modules/fs-extra/lib/util/stat.js +139 -0
  368. package/node_modules/fs-extra/lib/util/utimes.js +26 -0
  369. package/node_modules/fs-extra/package.json +70 -0
  370. package/node_modules/graceful-fs/LICENSE +15 -0
  371. package/node_modules/graceful-fs/README.md +143 -0
  372. package/node_modules/graceful-fs/clone.js +23 -0
  373. package/node_modules/graceful-fs/graceful-fs.js +429 -0
  374. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  375. package/node_modules/graceful-fs/package.json +50 -0
  376. package/node_modules/graceful-fs/polyfills.js +346 -0
  377. package/node_modules/is-buffer/LICENSE +21 -0
  378. package/node_modules/is-buffer/README.md +53 -0
  379. package/node_modules/is-buffer/index.js +21 -0
  380. package/node_modules/is-buffer/package.json +51 -0
  381. package/node_modules/is-buffer/test/basic.js +24 -0
  382. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  383. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  384. package/node_modules/is-fullwidth-code-point/license +9 -0
  385. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  386. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  387. package/node_modules/jsonfile/CHANGELOG.md +171 -0
  388. package/node_modules/jsonfile/LICENSE +15 -0
  389. package/node_modules/jsonfile/README.md +230 -0
  390. package/node_modules/jsonfile/index.js +88 -0
  391. package/node_modules/jsonfile/package.json +40 -0
  392. package/node_modules/jsonfile/utils.js +14 -0
  393. package/node_modules/lodash.truncate/LICENSE +47 -0
  394. package/node_modules/lodash.truncate/README.md +18 -0
  395. package/node_modules/lodash.truncate/index.js +632 -0
  396. package/node_modules/lodash.truncate/package.json +17 -0
  397. package/node_modules/md5/.travis.yml +7 -0
  398. package/node_modules/md5/LICENSE +27 -0
  399. package/node_modules/md5/README.md +111 -0
  400. package/node_modules/md5/demo/index.html +48 -0
  401. package/node_modules/md5/dist/md5.min.js +7 -0
  402. package/node_modules/md5/md5.js +160 -0
  403. package/node_modules/md5/package.json +38 -0
  404. package/node_modules/md5/test.js +75 -0
  405. package/node_modules/md5/webpack.config.js +13 -0
  406. package/node_modules/punycode/LICENSE-MIT.txt +20 -0
  407. package/node_modules/punycode/README.md +122 -0
  408. package/node_modules/punycode/package.json +58 -0
  409. package/node_modules/punycode/punycode.es6.js +441 -0
  410. package/node_modules/punycode/punycode.js +440 -0
  411. package/node_modules/require-from-string/index.js +34 -0
  412. package/node_modules/require-from-string/license +21 -0
  413. package/node_modules/require-from-string/package.json +28 -0
  414. package/node_modules/require-from-string/readme.md +56 -0
  415. package/node_modules/slice-ansi/index.js +103 -0
  416. package/node_modules/slice-ansi/license +10 -0
  417. package/node_modules/slice-ansi/package.json +52 -0
  418. package/node_modules/slice-ansi/readme.md +66 -0
  419. package/node_modules/string-width/index.d.ts +29 -0
  420. package/node_modules/string-width/index.js +47 -0
  421. package/node_modules/string-width/license +9 -0
  422. package/node_modules/string-width/package.json +56 -0
  423. package/node_modules/string-width/readme.md +50 -0
  424. package/node_modules/strip-ansi/index.d.ts +17 -0
  425. package/node_modules/strip-ansi/index.js +4 -0
  426. package/node_modules/strip-ansi/license +9 -0
  427. package/node_modules/strip-ansi/package.json +54 -0
  428. package/node_modules/strip-ansi/readme.md +46 -0
  429. package/node_modules/table/LICENSE +24 -0
  430. package/node_modules/table/README.md +759 -0
  431. package/node_modules/table/dist/src/alignString.d.ts +6 -0
  432. package/node_modules/table/dist/src/alignString.js +60 -0
  433. package/node_modules/table/dist/src/alignTableData.d.ts +2 -0
  434. package/node_modules/table/dist/src/alignTableData.js +14 -0
  435. package/node_modules/table/dist/src/calculateCellHeight.d.ts +4 -0
  436. package/node_modules/table/dist/src/calculateCellHeight.js +12 -0
  437. package/node_modules/table/dist/src/calculateCellWidths.d.ts +5 -0
  438. package/node_modules/table/dist/src/calculateCellWidths.js +17 -0
  439. package/node_modules/table/dist/src/calculateColumnWidths.d.ts +6 -0
  440. package/node_modules/table/dist/src/calculateColumnWidths.js +17 -0
  441. package/node_modules/table/dist/src/calculateRowHeights.d.ts +5 -0
  442. package/node_modules/table/dist/src/calculateRowHeights.js +19 -0
  443. package/node_modules/table/dist/src/createStream.d.ts +2 -0
  444. package/node_modules/table/dist/src/createStream.js +73 -0
  445. package/node_modules/table/dist/src/drawBorder.d.ts +26 -0
  446. package/node_modules/table/dist/src/drawBorder.js +101 -0
  447. package/node_modules/table/dist/src/drawContent.d.ts +9 -0
  448. package/node_modules/table/dist/src/drawContent.js +27 -0
  449. package/node_modules/table/dist/src/drawHeader.d.ts +2 -0
  450. package/node_modules/table/dist/src/drawHeader.js +30 -0
  451. package/node_modules/table/dist/src/drawRow.d.ts +6 -0
  452. package/node_modules/table/dist/src/drawRow.js +21 -0
  453. package/node_modules/table/dist/src/drawTable.d.ts +2 -0
  454. package/node_modules/table/dist/src/drawTable.js +39 -0
  455. package/node_modules/table/dist/src/generated/validators.d.ts +13 -0
  456. package/node_modules/table/dist/src/generated/validators.js +2171 -0
  457. package/node_modules/table/dist/src/getBorderCharacters.d.ts +2 -0
  458. package/node_modules/table/dist/src/getBorderCharacters.js +89 -0
  459. package/node_modules/table/dist/src/index.d.ts +5 -0
  460. package/node_modules/table/dist/src/index.js +21 -0
  461. package/node_modules/table/dist/src/makeStreamConfig.d.ts +7 -0
  462. package/node_modules/table/dist/src/makeStreamConfig.js +43 -0
  463. package/node_modules/table/dist/src/makeTableConfig.d.ts +7 -0
  464. package/node_modules/table/dist/src/makeTableConfig.js +65 -0
  465. package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +2 -0
  466. package/node_modules/table/dist/src/mapDataUsingRowHeights.js +45 -0
  467. package/node_modules/table/dist/src/padTableData.d.ts +3 -0
  468. package/node_modules/table/dist/src/padTableData.js +17 -0
  469. package/node_modules/table/dist/src/stringifyTableData.d.ts +2 -0
  470. package/node_modules/table/dist/src/stringifyTableData.js +13 -0
  471. package/node_modules/table/dist/src/table.d.ts +2 -0
  472. package/node_modules/table/dist/src/table.js +27 -0
  473. package/node_modules/table/dist/src/truncateTableData.d.ts +6 -0
  474. package/node_modules/table/dist/src/truncateTableData.js +24 -0
  475. package/node_modules/table/dist/src/types/api.d.ts +114 -0
  476. package/node_modules/table/dist/src/types/api.js +3 -0
  477. package/node_modules/table/dist/src/types/internal.d.ts +1 -0
  478. package/node_modules/table/dist/src/types/internal.js +3 -0
  479. package/node_modules/table/dist/src/utils.d.ts +1 -0
  480. package/node_modules/table/dist/src/utils.js +93 -0
  481. package/node_modules/table/dist/src/validateConfig.d.ts +2 -0
  482. package/node_modules/table/dist/src/validateConfig.js +27 -0
  483. package/node_modules/table/dist/src/validateTableData.d.ts +1 -0
  484. package/node_modules/table/dist/src/validateTableData.js +32 -0
  485. package/node_modules/table/dist/src/wrapCell.d.ts +8 -0
  486. package/node_modules/table/dist/src/wrapCell.js +33 -0
  487. package/node_modules/table/dist/src/wrapString.d.ts +9 -0
  488. package/node_modules/table/dist/src/wrapString.js +27 -0
  489. package/node_modules/table/dist/src/wrapWord.d.ts +1 -0
  490. package/node_modules/table/dist/src/wrapWord.js +42 -0
  491. package/node_modules/table/node_modules/ajv/.runkit_example.js +23 -0
  492. package/node_modules/table/node_modules/ajv/LICENSE +22 -0
  493. package/node_modules/table/node_modules/ajv/README.md +192 -0
  494. package/node_modules/table/node_modules/ajv/dist/2019.d.ts +17 -0
  495. package/node_modules/table/node_modules/ajv/dist/2019.js +55 -0
  496. package/node_modules/table/node_modules/ajv/dist/2019.js.map +1 -0
  497. package/node_modules/table/node_modules/ajv/dist/2020.d.ts +17 -0
  498. package/node_modules/table/node_modules/ajv/dist/2020.js +49 -0
  499. package/node_modules/table/node_modules/ajv/dist/2020.js.map +1 -0
  500. package/node_modules/table/node_modules/ajv/dist/ajv.d.ts +16 -0
  501. package/node_modules/table/node_modules/ajv/dist/ajv.js +44 -0
  502. package/node_modules/table/node_modules/ajv/dist/ajv.js.map +1 -0
  503. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.d.ts +39 -0
  504. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js +147 -0
  505. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  506. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  507. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  508. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  509. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  510. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  511. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  512. package/node_modules/table/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  513. package/node_modules/table/node_modules/ajv/dist/compile/errors.js +123 -0
  514. package/node_modules/table/node_modules/ajv/dist/compile/errors.js.map +1 -0
  515. package/node_modules/table/node_modules/ajv/dist/compile/index.d.ts +80 -0
  516. package/node_modules/table/node_modules/ajv/dist/compile/index.js +243 -0
  517. package/node_modules/table/node_modules/ajv/dist/compile/index.js.map +1 -0
  518. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  519. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  520. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  521. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  522. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js +218 -0
  523. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  524. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  525. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  526. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  527. package/node_modules/table/node_modules/ajv/dist/compile/names.d.ts +20 -0
  528. package/node_modules/table/node_modules/ajv/dist/compile/names.js +28 -0
  529. package/node_modules/table/node_modules/ajv/dist/compile/names.js.map +1 -0
  530. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.d.ts +5 -0
  531. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js +12 -0
  532. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  533. package/node_modules/table/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  534. package/node_modules/table/node_modules/ajv/dist/compile/resolve.js +153 -0
  535. package/node_modules/table/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  536. package/node_modules/table/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  537. package/node_modules/table/node_modules/ajv/dist/compile/rules.js +26 -0
  538. package/node_modules/table/node_modules/ajv/dist/compile/rules.js.map +1 -0
  539. package/node_modules/table/node_modules/ajv/dist/compile/util.d.ts +40 -0
  540. package/node_modules/table/node_modules/ajv/dist/compile/util.js +178 -0
  541. package/node_modules/table/node_modules/ajv/dist/compile/util.js.map +1 -0
  542. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  543. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  544. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  545. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  546. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  547. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  548. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  549. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js +202 -0
  550. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  551. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  552. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  553. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  554. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  555. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js +510 -0
  556. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  557. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  558. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  559. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  560. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  561. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  562. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  563. package/node_modules/table/node_modules/ajv/dist/core.d.ts +171 -0
  564. package/node_modules/table/node_modules/ajv/dist/core.js +614 -0
  565. package/node_modules/table/node_modules/ajv/dist/core.js.map +1 -0
  566. package/node_modules/table/node_modules/ajv/dist/jtd.d.ts +45 -0
  567. package/node_modules/table/node_modules/ajv/dist/jtd.js +66 -0
  568. package/node_modules/table/node_modules/ajv/dist/jtd.js.map +1 -0
  569. package/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
  570. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  571. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  572. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  573. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  574. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  575. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  576. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  577. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  578. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  579. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  580. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  581. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  582. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  583. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  584. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  585. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  586. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  587. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  588. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  589. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  590. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  591. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  592. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  593. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  594. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  595. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  596. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  597. package/node_modules/table/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  598. package/node_modules/table/node_modules/ajv/dist/runtime/equal.js +7 -0
  599. package/node_modules/table/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  600. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  601. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js +184 -0
  602. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  603. package/node_modules/table/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  604. package/node_modules/table/node_modules/ajv/dist/runtime/quote.js +30 -0
  605. package/node_modules/table/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  606. package/node_modules/table/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  607. package/node_modules/table/node_modules/ajv/dist/runtime/re2.js +6 -0
  608. package/node_modules/table/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  609. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  610. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  611. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  612. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  613. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  614. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  615. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  616. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  617. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  618. package/node_modules/table/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  619. package/node_modules/table/node_modules/ajv/dist/standalone/index.js +83 -0
  620. package/node_modules/table/node_modules/ajv/dist/standalone/index.js.map +1 -0
  621. package/node_modules/table/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  622. package/node_modules/table/node_modules/ajv/dist/standalone/instance.js +35 -0
  623. package/node_modules/table/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  624. package/node_modules/table/node_modules/ajv/dist/types/index.d.ts +177 -0
  625. package/node_modules/table/node_modules/ajv/dist/types/index.js +3 -0
  626. package/node_modules/table/node_modules/ajv/dist/types/index.js.map +1 -0
  627. package/node_modules/table/node_modules/ajv/dist/types/json-schema.d.ts +124 -0
  628. package/node_modules/table/node_modules/ajv/dist/types/json-schema.js +3 -0
  629. package/node_modules/table/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  630. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.d.ts +168 -0
  631. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  632. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  633. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  634. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  635. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  636. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  637. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  638. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  639. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  640. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  641. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  642. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  643. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  644. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  645. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  646. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  647. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  648. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  649. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  650. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  651. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  652. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  653. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  654. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  655. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  656. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  657. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  658. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  659. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  660. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  661. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  662. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  663. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  664. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  665. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  666. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  667. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  668. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  669. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  670. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  671. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  672. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  673. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  674. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  675. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  676. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  677. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  678. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  679. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  680. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  681. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  682. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  683. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  684. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  685. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  686. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  687. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  688. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js +131 -0
  689. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  690. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  691. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  692. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  693. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  694. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  695. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  696. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  697. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  698. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  699. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  700. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js +93 -0
  701. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  702. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  703. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  704. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  705. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  706. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  707. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  708. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  709. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  710. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  711. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  712. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  713. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  714. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  715. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  716. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  717. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  718. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  719. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  720. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  721. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  722. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  723. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  724. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  725. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  726. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  727. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  728. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  729. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  730. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  731. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  732. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  733. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  734. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  735. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  736. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  737. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  738. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  739. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  740. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  741. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  742. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  743. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  744. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  745. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  746. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  747. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  748. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  749. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  750. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  751. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  752. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  753. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  754. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  755. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  756. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  757. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  758. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  759. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  760. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js +146 -0
  761. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  762. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  763. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js +66 -0
  764. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  765. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  766. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  767. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  768. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  769. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  770. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  771. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  772. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js +48 -0
  773. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  774. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  775. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  776. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  777. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  778. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js +8 -0
  779. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  780. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  781. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  782. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  783. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  784. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  785. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  786. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  787. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  788. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  789. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  790. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  791. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  792. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  793. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  794. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  795. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  796. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js +47 -0
  797. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  798. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  799. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  800. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  801. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  802. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  803. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  804. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  805. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  806. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  807. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  808. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  809. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  810. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  811. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  812. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  813. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  814. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  815. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  816. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  817. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  818. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  819. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  820. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  821. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  822. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  823. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  824. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  825. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  826. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  827. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  828. package/node_modules/table/node_modules/ajv/lib/2019.ts +78 -0
  829. package/node_modules/table/node_modules/ajv/lib/2020.ts +72 -0
  830. package/node_modules/table/node_modules/ajv/lib/ajv.ts +67 -0
  831. package/node_modules/table/node_modules/ajv/lib/compile/codegen/code.ts +160 -0
  832. package/node_modules/table/node_modules/ajv/lib/compile/codegen/index.ts +832 -0
  833. package/node_modules/table/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  834. package/node_modules/table/node_modules/ajv/lib/compile/errors.ts +184 -0
  835. package/node_modules/table/node_modules/ajv/lib/compile/index.ts +324 -0
  836. package/node_modules/table/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  837. package/node_modules/table/node_modules/ajv/lib/compile/jtd/serialize.ts +260 -0
  838. package/node_modules/table/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  839. package/node_modules/table/node_modules/ajv/lib/compile/names.ts +27 -0
  840. package/node_modules/table/node_modules/ajv/lib/compile/ref_error.ts +12 -0
  841. package/node_modules/table/node_modules/ajv/lib/compile/resolve.ts +146 -0
  842. package/node_modules/table/node_modules/ajv/lib/compile/rules.ts +50 -0
  843. package/node_modules/table/node_modules/ajv/lib/compile/util.ts +213 -0
  844. package/node_modules/table/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  845. package/node_modules/table/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  846. package/node_modules/table/node_modules/ajv/lib/compile/validate/dataType.ts +229 -0
  847. package/node_modules/table/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  848. package/node_modules/table/node_modules/ajv/lib/compile/validate/index.ts +573 -0
  849. package/node_modules/table/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  850. package/node_modules/table/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  851. package/node_modules/table/node_modules/ajv/lib/core.ts +880 -0
  852. package/node_modules/table/node_modules/ajv/lib/jtd.ts +129 -0
  853. package/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
  854. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  855. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  856. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  857. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  858. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  859. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  860. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  861. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  862. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  863. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  864. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  865. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  866. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  867. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  868. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  869. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  870. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  871. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  872. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  873. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  874. package/node_modules/table/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  875. package/node_modules/table/node_modules/ajv/lib/runtime/equal.ts +7 -0
  876. package/node_modules/table/node_modules/ajv/lib/runtime/parseJson.ts +176 -0
  877. package/node_modules/table/node_modules/ajv/lib/runtime/quote.ts +31 -0
  878. package/node_modules/table/node_modules/ajv/lib/runtime/re2.ts +6 -0
  879. package/node_modules/table/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  880. package/node_modules/table/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  881. package/node_modules/table/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  882. package/node_modules/table/node_modules/ajv/lib/standalone/index.ts +93 -0
  883. package/node_modules/table/node_modules/ajv/lib/standalone/instance.ts +36 -0
  884. package/node_modules/table/node_modules/ajv/lib/types/index.ts +233 -0
  885. package/node_modules/table/node_modules/ajv/lib/types/json-schema.ts +189 -0
  886. package/node_modules/table/node_modules/ajv/lib/types/jtd-schema.ts +264 -0
  887. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  888. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  889. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  890. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  891. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  892. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  893. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  894. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  895. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  896. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  897. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  898. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  899. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  900. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  901. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  902. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  903. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  904. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  905. package/node_modules/table/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  906. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  907. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  908. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  909. package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/index.ts +102 -0
  910. package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  911. package/node_modules/table/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  912. package/node_modules/table/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  913. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  914. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  915. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  916. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  917. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  918. package/node_modules/table/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  919. package/node_modules/table/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  920. package/node_modules/table/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  921. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  922. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  923. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  924. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  925. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  926. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  927. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  928. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  929. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/properties.ts +177 -0
  930. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/ref.ts +74 -0
  931. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  932. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  933. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/values.ts +55 -0
  934. package/node_modules/table/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  935. package/node_modules/table/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  936. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  937. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  938. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  939. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  940. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  941. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/enum.ts +52 -0
  942. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  943. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  944. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  945. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  946. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  947. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  948. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  949. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
  950. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  951. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  952. package/node_modules/table/node_modules/ajv/package.json +124 -0
  953. package/node_modules/table/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  954. package/node_modules/table/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  955. package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  956. package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  957. package/node_modules/table/node_modules/json-schema-traverse/LICENSE +21 -0
  958. package/node_modules/table/node_modules/json-schema-traverse/README.md +95 -0
  959. package/node_modules/table/node_modules/json-schema-traverse/index.d.ts +40 -0
  960. package/node_modules/table/node_modules/json-schema-traverse/index.js +93 -0
  961. package/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
  962. package/node_modules/table/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  963. package/node_modules/table/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  964. package/node_modules/table/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  965. package/node_modules/table/package.json +78 -0
  966. package/node_modules/universalify/LICENSE +20 -0
  967. package/node_modules/universalify/README.md +76 -0
  968. package/node_modules/universalify/index.js +24 -0
  969. package/node_modules/universalify/package.json +34 -0
  970. package/node_modules/uri-js/LICENSE +11 -0
  971. package/node_modules/uri-js/README.md +203 -0
  972. package/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
  973. package/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
  974. package/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
  975. package/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
  976. package/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
  977. package/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
  978. package/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
  979. package/node_modules/uri-js/dist/esnext/index.js +17 -0
  980. package/node_modules/uri-js/dist/esnext/index.js.map +1 -0
  981. package/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
  982. package/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
  983. package/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
  984. package/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
  985. package/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
  986. package/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
  987. package/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
  988. package/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
  989. package/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
  990. package/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
  991. package/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
  992. package/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
  993. package/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
  994. package/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
  995. package/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
  996. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
  997. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
  998. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
  999. package/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
  1000. package/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
  1001. package/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
  1002. package/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
  1003. package/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
  1004. package/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
  1005. package/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
  1006. package/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
  1007. package/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
  1008. package/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
  1009. package/node_modules/uri-js/dist/esnext/uri.js +480 -0
  1010. package/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
  1011. package/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
  1012. package/node_modules/uri-js/dist/esnext/util.js +36 -0
  1013. package/node_modules/uri-js/dist/esnext/util.js.map +1 -0
  1014. package/node_modules/uri-js/package.json +77 -0
  1015. package/node_modules/uri-js/yarn.lock +2558 -0
  1016. package/package.json +8 -14
@@ -0,0 +1,229 @@
1
+ # Testing utilities and assertions for CDK libraries
2
+ <!--BEGIN STABILITY BANNER-->
3
+
4
+ ---
5
+
6
+ ![cdk-constructs: Experimental](https://img.shields.io/badge/cdk--constructs-experimental-important.svg?style=for-the-badge)
7
+
8
+ > The APIs of higher level constructs in this module are experimental and under active development.
9
+ > They are subject to non-backward compatible changes or removal in any future version. These are
10
+ > not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
11
+ > announced in the release notes. This means that while you may use them, you may need to update
12
+ > your source code when upgrading to a newer version of this package.
13
+
14
+ If using monocdk, use [@monocdk-experiment/assert](https://www.npmjs.com/package/@monocdk-experiment/assert) instead.
15
+
16
+ ---
17
+
18
+ <!--END STABILITY BANNER-->
19
+
20
+ This library contains helpers for writing unit tests and integration tests for CDK libraries
21
+
22
+ ## Unit tests
23
+
24
+ Write your unit tests like this:
25
+
26
+ ```ts
27
+ const stack = new Stack();
28
+
29
+ new MyConstruct(stack, 'MyConstruct', {
30
+ ...
31
+ });
32
+
33
+ expect(stack).to(someExpectation(...));
34
+ ```
35
+
36
+ Here are the expectations you can use:
37
+
38
+ ## Verify (parts of) a template
39
+
40
+ Check that the synthesized stack template looks like the given template, or is a superset of it. These functions match logical IDs and all properties of a resource.
41
+
42
+ ```ts
43
+ matchTemplate(template, matchStyle)
44
+ exactlyMatchTemplate(template)
45
+ beASupersetOfTemplate(template)
46
+ ```
47
+
48
+ Example:
49
+
50
+ ```ts
51
+ expect(stack).to(beASupersetOfTemplate({
52
+ Resources: {
53
+ HostedZone674DD2B7: {
54
+ Type: "AWS::Route53::HostedZone",
55
+ Properties: {
56
+ Name: "test.private.",
57
+ VPCs: [{
58
+ VPCId: { Ref: 'VPC06C5F037' },
59
+ VPCRegion: { Ref: 'AWS::Region' }
60
+ }]
61
+ }
62
+ }
63
+ }
64
+ }));
65
+ ```
66
+
67
+
68
+ ## Check existence of a resource
69
+
70
+ If you only care that a resource of a particular type exists (regardless of its logical identifier), and that *some* of its properties are set to specific values:
71
+
72
+ ```ts
73
+ haveResource(type, subsetOfProperties)
74
+ haveResourceLike(type, subsetOfProperties)
75
+ ```
76
+
77
+ Example:
78
+
79
+ ```ts
80
+ expect(stack).to(haveResource('AWS::CertificateManager::Certificate', {
81
+ DomainName: 'test.example.com',
82
+ // Note: some properties omitted here
83
+
84
+ ShouldNotExist: ABSENT
85
+ }));
86
+ ```
87
+
88
+ The object you give to `haveResource`/`haveResourceLike` like can contain the
89
+ following values:
90
+
91
+ - **Literal values**: the given property in the resource must match the given value *exactly*.
92
+ - `ABSENT`: a magic value to assert that a particular key in an object is *not* set (or set to `undefined`).
93
+ - special matchers for inexact matching. You can use these to match values based on more lenient conditions
94
+ than the default (such as an array containing at least one element, ignoring the rest, or an inexact string
95
+ match).
96
+
97
+ The following matchers exist:
98
+
99
+ - `objectLike(O)` - the value has to be an object matching at least the keys in `O` (but may contain
100
+ more). The nested values must match exactly.
101
+ - `deepObjectLike(O)` - as `objectLike`, but nested objects are also treated as partial specifications.
102
+ - `exactValue(X)` - must match exactly the given value. Use this to escape from `deepObjectLike`'s leniency
103
+ back to exact value matching.
104
+ - `arrayWith(E, [F, ...])` - value must be an array containing the given elements (or matchers) in any order.
105
+ - `stringLike(S)` - value must be a string matching `S`. `S` may contain `*` as wildcard to match any number
106
+ of characters. Multiline strings are supported.
107
+ - `anything()` - matches any value.
108
+ - `notMatching(M)` - any value that does NOT match the given matcher (or exact value) given.
109
+ - `encodedJson(M)` - value must be a string which, when decoded as JSON, matches the given matcher or
110
+ exact value.
111
+
112
+ Slightly more complex example with array matchers:
113
+
114
+ ```ts
115
+ expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
116
+ PolicyDocument: {
117
+ Statement: arrayWith(objectLike({
118
+ Action: ['s3:GetObject'],
119
+ Resource: ['arn:my:arn'],
120
+ }})
121
+ }
122
+ }));
123
+ ```
124
+
125
+ ## Capturing values from a match
126
+
127
+ Special `Capture` matchers exist to capture values encountered during a match. These can be
128
+ used for two typical purposes:
129
+
130
+ - Apply additional assertions to the values found during a matching operation.
131
+ - Use the value found during a matching operation in a new matching operation.
132
+
133
+ `Capture` matchers take an inner matcher as an argument, and will only capture the value
134
+ if the inner matcher succeeds in matching the given value.
135
+
136
+ Here's an example which asserts that a policy for `RoleA` contains two statements
137
+ with *different* ARNs (without caring what those ARNs might be), and that
138
+ a policy for `RoleB` *also* has a statement for one of those ARNs (again, without
139
+ caring what the ARN might be):
140
+
141
+ ```ts
142
+ const arn1 = Capture.aString();
143
+ const arn2 = Capture.aString();
144
+
145
+ expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
146
+ Roles: ['RoleA'],
147
+ PolicyDocument: {
148
+ Statement: [
149
+ objectLike({
150
+ Resource: [arn1.capture()],
151
+ }),
152
+ objectLike({
153
+ Resource: [arn2.capture()],
154
+ }),
155
+ ],
156
+ },
157
+ }));
158
+
159
+ // Don't care about the values as long as they are not the same
160
+ expect(arn1.capturedValue).not.toEqual(arn2.capturedValue);
161
+
162
+ expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
163
+ Roles: ['RoleB'],
164
+ PolicyDocument: {
165
+ Statement: [
166
+ objectLike({
167
+ // This ARN must be the same as ARN1 above.
168
+ Resource: [arn1.capturedValue]
169
+ }),
170
+ ],
171
+ },
172
+ }));
173
+ ```
174
+
175
+ NOTE: `Capture` look somewhat like *bindings* in other pattern matching
176
+ libraries you might be used to, but they are far simpler and very
177
+ deterministic. In particular, they don't do unification: if the same Capture
178
+ is either used multiple times in the same structure expression or matches
179
+ multiple times, no restarting of the match is done to make them all match the
180
+ same value: the last value encountered by the `Capture` (as determined by the
181
+ behavior of the matchers around it) is stored into it and will be the one
182
+ available after the match has completed.
183
+
184
+ ## Check number of resources
185
+
186
+ If you want to assert that `n` number of resources of a particular type exist, with or without specific properties:
187
+
188
+ ```ts
189
+ countResources(type, count)
190
+ countResourcesLike(type, count, props)
191
+ ```
192
+
193
+ Example:
194
+
195
+ ```ts
196
+ expect(stack).to(countResources('AWS::ApiGateway::Method', 3));
197
+ expect(stack).to(countResourcesLike('AWS::ApiGateway::Method', 1, {
198
+ HttpMethod: 'GET',
199
+ ResourceId: {
200
+ "Ref": "MyResource01234"
201
+ }
202
+ }));
203
+ ```
204
+
205
+ ## Check existence of an output
206
+
207
+ `haveOutput` assertion can be used to check that a stack contains specific output.
208
+ Parameters to check against can be:
209
+
210
+ - `outputName`
211
+ - `outputValue`
212
+ - `exportName`
213
+
214
+ If `outputValue` is provided, at least one of `outputName`, `exportName` should be provided as well
215
+
216
+ Example
217
+
218
+ ```ts
219
+ expect(synthStack).to(haveOutput({
220
+ outputName: 'TestOutputName',
221
+ exportName: 'TestOutputExportName',
222
+ outputValue: {
223
+ 'Fn::GetAtt': [
224
+ 'TestResource',
225
+ 'Arn'
226
+ ]
227
+ }
228
+ }));
229
+ ```
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # clones tools/assert-internal into here
3
+ scriptdir=$(cd $(dirname $0) && pwd)
4
+ cd $scriptdir
5
+ set -euo pipefail
6
+ src="../assert-internal"
7
+
8
+ # Don't copy .d.ts and .js files -- otherwise tsc might not recreate
9
+ # those files after we have rewritten the .ts files (probably due to timestamps)
10
+ rsync -av $src/lib/ lib/
11
+ rsync -av $src/test/ test/
12
+
13
+ majorversion=$(node -p 'require("../../../release.json").majorVersion')
14
+
15
+ files="README.md LICENSE NOTICE .npmignore jest.ts"
16
+
17
+ for file in ${files}; do
18
+ cp $src/$file .
19
+ done
20
+
21
+ if [[ "$majorversion" = "2" ]]; then
22
+ echo "Rewriting TS files..."
23
+ npx rewrite-imports-v2 "**/*.ts"
24
+
25
+ # This forces a recompile even if this file already exists
26
+ rm -f tsconfig.tsbuildinfo
27
+
28
+ echo "Done."
29
+ fi
@@ -0,0 +1,14 @@
1
+ import { HaveOutputProperties } from './lib/assertions/have-output';
2
+ import { ResourcePart } from './lib/assertions/have-resource';
3
+ import { MatchStyle } from './lib/assertions/match-template';
4
+ declare global {
5
+ namespace jest {
6
+ interface Matchers<R, T> {
7
+ toMatchTemplate(template: any, matchStyle?: MatchStyle): R;
8
+ toHaveResource(resourceType: string, properties?: any, comparison?: ResourcePart): R;
9
+ toHaveResourceLike(resourceType: string, properties?: any, comparison?: ResourcePart): R;
10
+ toHaveOutput(props: HaveOutputProperties): R;
11
+ toCountResources(resourceType: string, count: number): R;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const lib_1 = require("./lib");
4
+ const have_output_1 = require("./lib/assertions/have-output");
5
+ const have_resource_1 = require("./lib/assertions/have-resource");
6
+ const match_template_1 = require("./lib/assertions/match-template");
7
+ const expect_1 = require("./lib/expect");
8
+ expect.extend({
9
+ toMatchTemplate(actual, template, matchStyle) {
10
+ const assertion = match_template_1.matchTemplate(template, matchStyle);
11
+ const inspector = expect_1.expect(actual);
12
+ const pass = assertion.assertUsing(inspector);
13
+ if (pass) {
14
+ return {
15
+ pass,
16
+ message: () => 'Not ' + assertion.description,
17
+ };
18
+ }
19
+ else {
20
+ return {
21
+ pass,
22
+ message: () => assertion.description,
23
+ };
24
+ }
25
+ },
26
+ toHaveResource(actual, resourceType, properties, comparison) {
27
+ const assertion = new have_resource_1.HaveResourceAssertion(resourceType, properties, comparison, false);
28
+ return applyAssertion(assertion, actual);
29
+ },
30
+ toHaveResourceLike(actual, resourceType, properties, comparison) {
31
+ const assertion = new have_resource_1.HaveResourceAssertion(resourceType, properties, comparison, true);
32
+ return applyAssertion(assertion, actual);
33
+ },
34
+ toHaveOutput(actual, props) {
35
+ return applyAssertion(have_output_1.haveOutput(props), actual);
36
+ },
37
+ toCountResources(actual, resourceType, count = 1) {
38
+ return applyAssertion(lib_1.countResources(resourceType, count), actual);
39
+ },
40
+ });
41
+ function applyAssertion(assertion, actual) {
42
+ const inspector = expect_1.expect(actual);
43
+ const pass = assertion.assertUsing(inspector);
44
+ if (pass) {
45
+ return {
46
+ pass,
47
+ message: () => 'Not ' + assertion.generateErrorMessage(),
48
+ };
49
+ }
50
+ else {
51
+ return {
52
+ pass,
53
+ message: () => assertion.generateErrorMessage(),
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwrQkFBdUM7QUFFdkMsOERBQWdGO0FBQ2hGLGtFQUFxRjtBQUNyRixvRUFBNEU7QUFDNUUseUNBQW1EO0FBMkJuRCxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ1osZUFBZSxDQUNiLE1BQXNELEVBQ3RELFFBQWEsRUFDYixVQUF1QjtRQUV2QixNQUFNLFNBQVMsR0FBRyw4QkFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLFNBQVMsR0FBRyxlQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxXQUFXO2FBQzlDLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTztnQkFDTCxJQUFJO2dCQUNKLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVzthQUNyQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUNaLE1BQXNELEVBQ3RELFlBQW9CLEVBQ3BCLFVBQWdCLEVBQ2hCLFVBQXlCO1FBRXpCLE1BQU0sU0FBUyxHQUFHLElBQUkscUNBQXFCLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekYsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsTUFBc0QsRUFDdEQsWUFBb0IsRUFDcEIsVUFBZ0IsRUFDaEIsVUFBeUI7UUFFekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBcUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RixPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQVksQ0FDVixNQUFzRCxFQUN0RCxLQUEyQjtRQUUzQixPQUFPLGNBQWMsQ0FBQyx3QkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxNQUFzRCxFQUN0RCxZQUFvQixFQUNwQixLQUFLLEdBQUcsQ0FBQztRQUVULE9BQU8sY0FBYyxDQUFDLG9CQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLGNBQWMsQ0FBQyxTQUFnRCxFQUFFLE1BQXNEO0lBQzlILE1BQU0sU0FBUyxHQUFHLGVBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLElBQUksSUFBSSxFQUFFO1FBQ1IsT0FBTztZQUNMLElBQUk7WUFDSixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRTtTQUN6RCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTCxJQUFJO1lBQ0osT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRTtTQUNoRCxDQUFDO0tBQ0g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29yZSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdhd3MtY2RrLWxpYi9jeC1hcGknO1xuaW1wb3J0IHsgY291bnRSZXNvdXJjZXMgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBKZXN0RnJpZW5kbHlBc3NlcnRpb24gfSBmcm9tICcuL2xpYi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgaGF2ZU91dHB1dCwgSGF2ZU91dHB1dFByb3BlcnRpZXMgfSBmcm9tICcuL2xpYi9hc3NlcnRpb25zL2hhdmUtb3V0cHV0JztcbmltcG9ydCB7IEhhdmVSZXNvdXJjZUFzc2VydGlvbiwgUmVzb3VyY2VQYXJ0IH0gZnJvbSAnLi9saWIvYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlJztcbmltcG9ydCB7IE1hdGNoU3R5bGUsIG1hdGNoVGVtcGxhdGUgfSBmcm9tICcuL2xpYi9hc3NlcnRpb25zL21hdGNoLXRlbXBsYXRlJztcbmltcG9ydCB7IGV4cGVjdCBhcyBvdXJFeHBlY3QgfSBmcm9tICcuL2xpYi9leHBlY3QnO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuL2xpYi9pbnNwZWN0b3InO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIG5hbWVzcGFjZSBqZXN0IHtcbiAgICBpbnRlcmZhY2UgTWF0Y2hlcnM8UiwgVD4ge1xuICAgICAgdG9NYXRjaFRlbXBsYXRlKFxuICAgICAgICB0ZW1wbGF0ZTogYW55LFxuICAgICAgICBtYXRjaFN0eWxlPzogTWF0Y2hTdHlsZSk6IFI7XG5cbiAgICAgIHRvSGF2ZVJlc291cmNlKFxuICAgICAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICAgICAgcHJvcGVydGllcz86IGFueSxcbiAgICAgICAgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCk6IFI7XG5cbiAgICAgIHRvSGF2ZVJlc291cmNlTGlrZShcbiAgICAgICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgICAgIHByb3BlcnRpZXM/OiBhbnksXG4gICAgICAgIGNvbXBhcmlzb24/OiBSZXNvdXJjZVBhcnQpOiBSO1xuXG4gICAgICB0b0hhdmVPdXRwdXQocHJvcHM6IEhhdmVPdXRwdXRQcm9wZXJ0aWVzKTogUjtcblxuICAgICAgdG9Db3VudFJlc291cmNlcyhyZXNvdXJjZVR5cGU6IHN0cmluZywgY291bnQ6IG51bWJlcik6IFI7XG4gICAgfVxuICB9XG59XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoVGVtcGxhdGUoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHRlbXBsYXRlOiBhbnksXG4gICAgbWF0Y2hTdHlsZT86IE1hdGNoU3R5bGUpIHtcblxuICAgIGNvbnN0IGFzc2VydGlvbiA9IG1hdGNoVGVtcGxhdGUodGVtcGxhdGUsIG1hdGNoU3R5bGUpO1xuICAgIGNvbnN0IGluc3BlY3RvciA9IG91ckV4cGVjdChhY3R1YWwpO1xuICAgIGNvbnN0IHBhc3MgPSBhc3NlcnRpb24uYXNzZXJ0VXNpbmcoaW5zcGVjdG9yKTtcbiAgICBpZiAocGFzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFzcyxcbiAgICAgICAgbWVzc2FnZTogKCkgPT4gJ05vdCAnICsgYXNzZXJ0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFzcyxcbiAgICAgICAgbWVzc2FnZTogKCkgPT4gYXNzZXJ0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG5cbiAgdG9IYXZlUmVzb3VyY2UoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIHByb3BlcnRpZXM/OiBhbnksXG4gICAgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCkge1xuXG4gICAgY29uc3QgYXNzZXJ0aW9uID0gbmV3IEhhdmVSZXNvdXJjZUFzc2VydGlvbihyZXNvdXJjZVR5cGUsIHByb3BlcnRpZXMsIGNvbXBhcmlzb24sIGZhbHNlKTtcbiAgICByZXR1cm4gYXBwbHlBc3NlcnRpb24oYXNzZXJ0aW9uLCBhY3R1YWwpO1xuICB9LFxuXG4gIHRvSGF2ZVJlc291cmNlTGlrZShcbiAgICBhY3R1YWw6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCB8IGNvcmUuU3RhY2ssXG4gICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgcHJvcGVydGllcz86IGFueSxcbiAgICBjb21wYXJpc29uPzogUmVzb3VyY2VQYXJ0KSB7XG5cbiAgICBjb25zdCBhc3NlcnRpb24gPSBuZXcgSGF2ZVJlc291cmNlQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgcHJvcGVydGllcywgY29tcGFyaXNvbiwgdHJ1ZSk7XG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGFzc2VydGlvbiwgYWN0dWFsKTtcbiAgfSxcblxuICB0b0hhdmVPdXRwdXQoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHByb3BzOiBIYXZlT3V0cHV0UHJvcGVydGllcykge1xuXG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGhhdmVPdXRwdXQocHJvcHMpLCBhY3R1YWwpO1xuICB9LFxuXG4gIHRvQ291bnRSZXNvdXJjZXMoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIGNvdW50ID0gMSkge1xuXG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGNvdW50UmVzb3VyY2VzKHJlc291cmNlVHlwZSwgY291bnQpLCBhY3R1YWwpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGFwcGx5QXNzZXJ0aW9uKGFzc2VydGlvbjogSmVzdEZyaWVuZGx5QXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiwgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrKSB7XG4gIGNvbnN0IGluc3BlY3RvciA9IG91ckV4cGVjdChhY3R1YWwpO1xuICBjb25zdCBwYXNzID0gYXNzZXJ0aW9uLmFzc2VydFVzaW5nKGluc3BlY3Rvcik7XG4gIGlmIChwYXNzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhc3MsXG4gICAgICBtZXNzYWdlOiAoKSA9PiAnTm90ICcgKyBhc3NlcnRpb24uZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBwYXNzLFxuICAgICAgbWVzc2FnZTogKCkgPT4gYXNzZXJ0aW9uLmdlbmVyYXRlRXJyb3JNZXNzYWdlKCksXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,17 @@
1
+ import { Inspector } from './inspector';
2
+ export declare abstract class Assertion<InspectorClass extends Inspector> {
3
+ abstract readonly description: string;
4
+ abstract assertUsing(inspector: InspectorClass): boolean;
5
+ /**
6
+ * Assert this thing and another thing
7
+ */
8
+ and(assertion: Assertion<InspectorClass>): Assertion<InspectorClass>;
9
+ assertOrThrow(inspector: InspectorClass): void;
10
+ }
11
+ export declare abstract class JestFriendlyAssertion<InspectorClass extends Inspector> extends Assertion<InspectorClass> {
12
+ /**
13
+ * Generates an error message that can be used by Jest.
14
+ */
15
+ abstract generateErrorMessage(): string;
16
+ }
17
+ export declare function not<T extends Inspector>(assertion: Assertion<T>): Assertion<T>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.not = exports.JestFriendlyAssertion = exports.Assertion = void 0;
4
+ class Assertion {
5
+ /**
6
+ * Assert this thing and another thing
7
+ */
8
+ and(assertion) {
9
+ // Needs to delegate to a function so that we can import mutually dependent classes in the right order
10
+ return and(this, assertion);
11
+ }
12
+ assertOrThrow(inspector) {
13
+ if (!this.assertUsing(inspector)) {
14
+ throw new Error(`${JSON.stringify(inspector.value, null, 2)} does not match ${this.description}`);
15
+ }
16
+ }
17
+ }
18
+ exports.Assertion = Assertion;
19
+ class JestFriendlyAssertion extends Assertion {
20
+ }
21
+ exports.JestFriendlyAssertion = JestFriendlyAssertion;
22
+ const and_assertion_1 = require("./assertions/and-assertion");
23
+ function and(left, right) {
24
+ return new and_assertion_1.AndAssertion(left, right);
25
+ }
26
+ const negated_assertion_1 = require("./assertions/negated-assertion");
27
+ function not(assertion) {
28
+ return new negated_assertion_1.NegatedAssertion(assertion);
29
+ }
30
+ exports.not = not;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQXNCLFNBQVM7SUFLN0I7O09BRUc7SUFDSSxHQUFHLENBQUMsU0FBb0M7UUFDN0Msc0dBQXNHO1FBQ3RHLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbkc7SUFDSCxDQUFDO0NBQ0Y7QUFsQkQsOEJBa0JDO0FBRUQsTUFBc0IscUJBQXdELFNBQVEsU0FBeUI7Q0FLOUc7QUFMRCxzREFLQztBQUVELDhEQUEwRDtBQUUxRCxTQUFTLEdBQUcsQ0FBc0IsSUFBa0IsRUFBRSxLQUFtQjtJQUN2RSxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELHNFQUFrRTtBQUVsRSxTQUFnQixHQUFHLENBQXNCLFNBQXVCO0lBQzlELE9BQU8sSUFBSSxvQ0FBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsa0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tICcuL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGFzc2VydFVzaW5nKGluc3BlY3RvcjogSW5zcGVjdG9yQ2xhc3MpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhpcyB0aGluZyBhbmQgYW5vdGhlciB0aGluZ1xuICAgKi9cbiAgcHVibGljIGFuZChhc3NlcnRpb246IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+IHtcbiAgICAvLyBOZWVkcyB0byBkZWxlZ2F0ZSB0byBhIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGltcG9ydCBtdXR1YWxseSBkZXBlbmRlbnQgY2xhc3NlcyBpbiB0aGUgcmlnaHQgb3JkZXJcbiAgICByZXR1cm4gYW5kKHRoaXMsIGFzc2VydGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeShpbnNwZWN0b3IudmFsdWUsIG51bGwsIDIpfSBkb2VzIG5vdCBtYXRjaCAke3RoaXMuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBKZXN0RnJpZW5kbHlBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gZXJyb3IgbWVzc2FnZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IEplc3QuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKTogc3RyaW5nO1xufVxuXG5pbXBvcnQgeyBBbmRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvYW5kLWFzc2VydGlvbic7XG5cbmZ1bmN0aW9uIGFuZDxJIGV4dGVuZHMgSW5zcGVjdG9yPihsZWZ0OiBBc3NlcnRpb248ST4sIHJpZ2h0OiBBc3NlcnRpb248ST4pOiBBc3NlcnRpb248ST4ge1xuICByZXR1cm4gbmV3IEFuZEFzc2VydGlvbihsZWZ0LCByaWdodCk7XG59XG5cbmltcG9ydCB7IE5lZ2F0ZWRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvbmVnYXRlZC1hc3NlcnRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQgZXh0ZW5kcyBJbnNwZWN0b3I+KGFzc2VydGlvbjogQXNzZXJ0aW9uPFQ+KTogQXNzZXJ0aW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBOZWdhdGVkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { Assertion } from '../assertion';
2
+ import { Inspector } from '../inspector';
3
+ export declare class AndAssertion<InspectorClass extends Inspector> extends Assertion<InspectorClass> {
4
+ private readonly first;
5
+ private readonly second;
6
+ description: string;
7
+ constructor(first: Assertion<InspectorClass>, second: Assertion<InspectorClass>);
8
+ assertUsing(_inspector: InspectorClass): boolean;
9
+ assertOrThrow(inspector: InspectorClass): void;
10
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AndAssertion = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ class AndAssertion extends assertion_1.Assertion {
6
+ constructor(first, second) {
7
+ super();
8
+ this.first = first;
9
+ this.second = second;
10
+ this.description = 'Combined assertion';
11
+ }
12
+ assertUsing(_inspector) {
13
+ throw new Error('This is never called');
14
+ }
15
+ assertOrThrow(inspector) {
16
+ this.first.assertOrThrow(inspector);
17
+ this.second.assertOrThrow(inspector);
18
+ }
19
+ }
20
+ exports.AndAssertion = AndAssertion;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kLWFzc2VydGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZC1hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQXlDO0FBR3pDLE1BQWEsWUFBK0MsU0FBUSxxQkFBeUI7SUFHM0YsWUFBNkIsS0FBZ0MsRUFBbUIsTUFBaUM7UUFDL0csS0FBSyxFQUFFLENBQUM7UUFEbUIsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFGMUcsZ0JBQVcsR0FBVyxvQkFBb0IsQ0FBQztJQUlsRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQTBCO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWZELG9DQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBBbmRBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nID0gJ0NvbWJpbmVkIGFzc2VydGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaXJzdDogQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiwgcHJpdmF0ZSByZWFkb25seSBzZWNvbmQ6IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKF9pbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIGlzIG5ldmVyIGNhbGxlZCcpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBJbnNwZWN0b3JDbGFzcykge1xuICAgIHRoaXMuZmlyc3QuYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3IpO1xuICAgIHRoaXMuc2Vjb25kLmFzc2VydE9yVGhyb3coaW5zcGVjdG9yKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,10 @@
1
+ import { Assertion, JestFriendlyAssertion } from '../assertion';
2
+ import { StackInspector } from '../inspector';
3
+ /**
4
+ * An assertion to check whether a resource of a given type and with the given properties exists, disregarding properties
5
+ */
6
+ export declare function countResources(resourceType: string, count?: number): JestFriendlyAssertion<StackInspector>;
7
+ /**
8
+ * An assertion to check whether a resource of a given type and with the given properties exists, considering properties
9
+ */
10
+ export declare function countResourcesLike(resourceType: string, count: number | undefined, props: any): Assertion<StackInspector>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.countResourcesLike = exports.countResources = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ const have_resource_1 = require("./have-resource");
6
+ /**
7
+ * An assertion to check whether a resource of a given type and with the given properties exists, disregarding properties
8
+ */
9
+ function countResources(resourceType, count = 1) {
10
+ return new CountResourcesAssertion(resourceType, count);
11
+ }
12
+ exports.countResources = countResources;
13
+ /**
14
+ * An assertion to check whether a resource of a given type and with the given properties exists, considering properties
15
+ */
16
+ function countResourcesLike(resourceType, count = 1, props) {
17
+ return new CountResourcesAssertion(resourceType, count, props);
18
+ }
19
+ exports.countResourcesLike = countResourcesLike;
20
+ class CountResourcesAssertion extends assertion_1.JestFriendlyAssertion {
21
+ constructor(resourceType, count, props = null) {
22
+ super();
23
+ this.resourceType = resourceType;
24
+ this.count = count;
25
+ this.inspected = 0;
26
+ this.props = props;
27
+ }
28
+ assertUsing(inspector) {
29
+ let counted = 0;
30
+ for (const logicalId of Object.keys(inspector.value.Resources || {})) {
31
+ const resource = inspector.value.Resources[logicalId];
32
+ if (resource.Type === this.resourceType) {
33
+ if (this.props) {
34
+ if (have_resource_1.isSuperObject(resource.Properties, this.props, [], true)) {
35
+ counted++;
36
+ this.inspected += 1;
37
+ }
38
+ }
39
+ else {
40
+ counted++;
41
+ this.inspected += 1;
42
+ }
43
+ }
44
+ }
45
+ return counted === this.count;
46
+ }
47
+ generateErrorMessage() {
48
+ return this.description;
49
+ }
50
+ get description() {
51
+ return `stack only has ${this.inspected} resource of type ${this.resourceType}${this.props ? ' with specified properties' : ''} but we expected to find ${this.count}`;
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtcmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY291bnQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFnRTtBQUVoRSxtREFBZ0Q7QUFFaEQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsWUFBb0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUM1RCxPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFGRCx3Q0FFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQVU7SUFDNUUsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUZELGdEQUVDO0FBRUQsTUFBTSx1QkFBd0IsU0FBUSxpQ0FBcUM7SUFJekUsWUFDbUIsWUFBb0IsRUFDcEIsS0FBYSxFQUM5QixRQUFhLElBQUk7UUFDakIsS0FBSyxFQUFFLENBQUM7UUFIUyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBTHhCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFRNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF5QjtRQUMxQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsSUFBSSw2QkFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQzVELE9BQU8sRUFBRSxDQUFDO3dCQUNWLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO3FCQUNyQjtpQkFDRjtxQkFBTTtvQkFDTCxPQUFPLEVBQUUsQ0FBQztvQkFDVixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztpQkFDckI7YUFDRjtTQUNGO1FBRUQsT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxTQUFTLHFCQUFxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekssQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uLCBKZXN0RnJpZW5kbHlBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuaW1wb3J0IHsgaXNTdXBlck9iamVjdCB9IGZyb20gJy4vaGF2ZS1yZXNvdXJjZSc7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlOiBzdHJpbmcsIGNvdW50ID0gMSk6IEplc3RGcmllbmRseUFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICByZXR1cm4gbmV3IENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgY291bnQpO1xufVxuXG4vKipcbiAqIEFuIGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIGEgcmVzb3VyY2Ugb2YgYSBnaXZlbiB0eXBlIGFuZCB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIGV4aXN0cywgY29uc2lkZXJpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXNMaWtlKHJlc291cmNlVHlwZTogc3RyaW5nLCBjb3VudCA9IDEsIHByb3BzOiBhbnkpOiBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBDb3VudFJlc291cmNlc0Fzc2VydGlvbihyZXNvdXJjZVR5cGUsIGNvdW50LCBwcm9wcyk7XG59XG5cbmNsYXNzIENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uIGV4dGVuZHMgSmVzdEZyaWVuZGx5QXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gIHByaXZhdGUgaW5zcGVjdGVkOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50OiBudW1iZXIsXG4gICAgcHJvcHM6IGFueSA9IG51bGwpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IFN0YWNrSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgbGV0IGNvdW50ZWQgPSAwO1xuICAgIGZvciAoY29uc3QgbG9naWNhbElkIG9mIE9iamVjdC5rZXlzKGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXMgfHwge30pKSB7XG4gICAgICBjb25zdCByZXNvdXJjZSA9IGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXNbbG9naWNhbElkXTtcbiAgICAgIGlmIChyZXNvdXJjZS5UeXBlID09PSB0aGlzLnJlc291cmNlVHlwZSkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcykge1xuICAgICAgICAgIGlmIChpc1N1cGVyT2JqZWN0KHJlc291cmNlLlByb3BlcnRpZXMsIHRoaXMucHJvcHMsIFtdLCB0cnVlKSkge1xuICAgICAgICAgICAgY291bnRlZCsrO1xuICAgICAgICAgICAgdGhpcy5pbnNwZWN0ZWQgKz0gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY291bnRlZCsrO1xuICAgICAgICAgIHRoaXMuaW5zcGVjdGVkICs9IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRlZCA9PT0gdGhpcy5jb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc3RhY2sgb25seSBoYXMgJHt0aGlzLmluc3BlY3RlZH0gcmVzb3VyY2Ugb2YgdHlwZSAke3RoaXMucmVzb3VyY2VUeXBlfSR7dGhpcy5wcm9wcyA/ICcgd2l0aCBzcGVjaWZpZWQgcHJvcGVydGllcycgOiAnJ30gYnV0IHdlIGV4cGVjdGVkIHRvIGZpbmQgJHt0aGlzLmNvdW50fWA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { Assertion } from '../assertion';
2
+ import { StackPathInspector } from '../inspector';
3
+ export declare function exist(): Assertion<StackPathInspector>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exist = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ class ExistingResourceAssertion extends assertion_1.Assertion {
6
+ constructor() {
7
+ super();
8
+ this.description = 'an existing resource';
9
+ }
10
+ assertUsing(inspector) {
11
+ return inspector.value !== undefined;
12
+ }
13
+ }
14
+ function exist() {
15
+ return new ExistingResourceAssertion();
16
+ }
17
+ exports.exist = exist;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFHekMsTUFBTSx5QkFBMEIsU0FBUSxxQkFBNkI7SUFHbkU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhILGdCQUFXLEdBQVcsc0JBQXNCLENBQUM7SUFJcEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUE2QjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELFNBQWdCLEtBQUs7SUFDbkIsT0FBTyxJQUFJLHlCQUF5QixFQUFFLENBQUM7QUFDekMsQ0FBQztBQUZELHNCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrUGF0aEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmNsYXNzIEV4aXN0aW5nUmVzb3VyY2VBc3NlcnRpb24gZXh0ZW5kcyBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nID0gJ2FuIGV4aXN0aW5nIHJlc291cmNlJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tQYXRoSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluc3BlY3Rvci52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGlzdCgpOiBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIHJldHVybiBuZXcgRXhpc3RpbmdSZXNvdXJjZUFzc2VydGlvbigpO1xufVxuIl19
@@ -0,0 +1,29 @@
1
+ import { JestFriendlyAssertion } from '../assertion';
2
+ import { StackInspector } from '../inspector';
3
+ /**
4
+ * Interface for haveOutput function properties
5
+ * NOTE that at least one of [outputName, exportName] should be provided
6
+ */
7
+ export interface HaveOutputProperties {
8
+ /**
9
+ * Logical ID of the output
10
+ * @default - the logical ID of the output will not be checked
11
+ */
12
+ outputName?: string;
13
+ /**
14
+ * Export name of the output, when it's exported for cross-stack referencing
15
+ * @default - the export name is not required and will not be checked
16
+ */
17
+ exportName?: any;
18
+ /**
19
+ * Value of the output;
20
+ * @default - the value will not be checked
21
+ */
22
+ outputValue?: any;
23
+ }
24
+ /**
25
+ * An assertion to check whether Output with particular properties is present in a stack
26
+ * @param props properties of the Output that is being asserted against.
27
+ * Check ``HaveOutputProperties`` interface to get full list of available parameters
28
+ */
29
+ export declare function haveOutput(props: HaveOutputProperties): JestFriendlyAssertion<StackInspector>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.haveOutput = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ class HaveOutputAssertion extends assertion_1.JestFriendlyAssertion {
6
+ constructor(outputName, exportName, outputValue) {
7
+ super();
8
+ this.outputName = outputName;
9
+ this.exportName = exportName;
10
+ this.outputValue = outputValue;
11
+ this.inspected = [];
12
+ if (!this.outputName && !this.exportName) {
13
+ throw new Error('At least one of [outputName, exportName] should be provided');
14
+ }
15
+ }
16
+ get description() {
17
+ const descriptionPartsArray = new Array();
18
+ if (this.outputName) {
19
+ descriptionPartsArray.push(`name '${this.outputName}'`);
20
+ }
21
+ if (this.exportName) {
22
+ descriptionPartsArray.push(`export name ${JSON.stringify(this.exportName)}`);
23
+ }
24
+ if (this.outputValue) {
25
+ descriptionPartsArray.push(`value ${JSON.stringify(this.outputValue)}`);
26
+ }
27
+ return 'output with ' + descriptionPartsArray.join(', ');
28
+ }
29
+ assertUsing(inspector) {
30
+ var _a;
31
+ if (!('Outputs' in inspector.value)) {
32
+ return false;
33
+ }
34
+ for (const [name, props] of Object.entries(inspector.value.Outputs)) {
35
+ const mismatchedFields = new Array();
36
+ if (this.outputName && name !== this.outputName) {
37
+ mismatchedFields.push('name');
38
+ }
39
+ if (this.exportName && JSON.stringify(this.exportName) !== JSON.stringify((_a = props.Export) === null || _a === void 0 ? void 0 : _a.Name)) {
40
+ mismatchedFields.push('export name');
41
+ }
42
+ if (this.outputValue && JSON.stringify(this.outputValue) !== JSON.stringify(props.Value)) {
43
+ mismatchedFields.push('value');
44
+ }
45
+ if (mismatchedFields.length === 0) {
46
+ return true;
47
+ }
48
+ this.inspected.push({
49
+ output: { [name]: props },
50
+ failureReason: `mismatched ${mismatchedFields.join(', ')}`,
51
+ });
52
+ }
53
+ return false;
54
+ }
55
+ generateErrorMessage() {
56
+ const lines = new Array();
57
+ lines.push(`None of ${this.inspected.length} outputs matches ${this.description}.`);
58
+ for (const inspected of this.inspected) {
59
+ lines.push(`- ${inspected.failureReason} in:`);
60
+ lines.push(indent(4, JSON.stringify(inspected.output, null, 2)));
61
+ }
62
+ return lines.join('\n');
63
+ }
64
+ }
65
+ /**
66
+ * An assertion to check whether Output with particular properties is present in a stack
67
+ * @param props properties of the Output that is being asserted against.
68
+ * Check ``HaveOutputProperties`` interface to get full list of available parameters
69
+ */
70
+ function haveOutput(props) {
71
+ return new HaveOutputAssertion(props.outputName, props.exportName, props.outputValue);
72
+ }
73
+ exports.haveOutput = haveOutput;
74
+ function indent(n, s) {
75
+ const prefix = ' '.repeat(n);
76
+ return prefix + s.replace(/\n/g, '\n' + prefix);
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJoYXZlLW91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBcUQ7QUFHckQsTUFBTSxtQkFBb0IsU0FBUSxpQ0FBcUM7SUFHckUsWUFBNkIsVUFBbUIsRUFBbUIsVUFBZ0IsRUFBVSxXQUFpQjtRQUM1RyxLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQU07UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBTTtRQUY3RixjQUFTLEdBQXdCLEVBQUUsQ0FBQztRQUluRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLHFCQUFxQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RTtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF5Qjs7UUFDMUMsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUE4QixDQUFDLEVBQUU7WUFDMUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDL0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO1lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLE9BQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQzdGLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0QztZQUVELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO1lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFO2dCQUN6QixhQUFhLEVBQUUsY0FBYyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7YUFDM0QsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUVsQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLG9CQUFvQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwRixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxhQUFhLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUE2QkQ7Ozs7R0FJRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUEyQjtJQUNwRCxPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRkQsZ0NBRUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUNsQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSmVzdEZyaWVuZGx5QXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrSW5zcGVjdG9yIH0gZnJvbSAnLi4vaW5zcGVjdG9yJztcblxuY2xhc3MgSGF2ZU91dHB1dEFzc2VydGlvbiBleHRlbmRzIEplc3RGcmllbmRseUFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGluc3BlY3RlZDogSW5zcGVjdGlvbkZhaWx1cmVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0TmFtZT86IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBleHBvcnROYW1lPzogYW55LCBwcml2YXRlIG91dHB1dFZhbHVlPzogYW55KSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIXRoaXMub3V0cHV0TmFtZSAmJiAhdGhpcy5leHBvcnROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBvZiBbb3V0cHV0TmFtZSwgZXhwb3J0TmFtZV0gc2hvdWxkIGJlIHByb3ZpZGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uUGFydHNBcnJheSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBpZiAodGhpcy5vdXRwdXROYW1lKSB7XG4gICAgICBkZXNjcmlwdGlvblBhcnRzQXJyYXkucHVzaChgbmFtZSAnJHt0aGlzLm91dHB1dE5hbWV9J2ApO1xuICAgIH1cbiAgICBpZiAodGhpcy5leHBvcnROYW1lKSB7XG4gICAgICBkZXNjcmlwdGlvblBhcnRzQXJyYXkucHVzaChgZXhwb3J0IG5hbWUgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmV4cG9ydE5hbWUpfWApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdXRwdXRWYWx1ZSkge1xuICAgICAgZGVzY3JpcHRpb25QYXJ0c0FycmF5LnB1c2goYHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodGhpcy5vdXRwdXRWYWx1ZSl9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICdvdXRwdXQgd2l0aCAnICsgZGVzY3JpcHRpb25QYXJ0c0FycmF5LmpvaW4oJywgJyk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgIGlmICghKCdPdXRwdXRzJyBpbiBpbnNwZWN0b3IudmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbbmFtZSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGluc3BlY3Rvci52YWx1ZS5PdXRwdXRzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pKSB7XG4gICAgICBjb25zdCBtaXNtYXRjaGVkRmllbGRzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgICAgaWYgKHRoaXMub3V0cHV0TmFtZSAmJiBuYW1lICE9PSB0aGlzLm91dHB1dE5hbWUpIHtcbiAgICAgICAgbWlzbWF0Y2hlZEZpZWxkcy5wdXNoKCduYW1lJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmV4cG9ydE5hbWUgJiYgSlNPTi5zdHJpbmdpZnkodGhpcy5leHBvcnROYW1lKSAhPT0gSlNPTi5zdHJpbmdpZnkocHJvcHMuRXhwb3J0Py5OYW1lKSkge1xuICAgICAgICBtaXNtYXRjaGVkRmllbGRzLnB1c2goJ2V4cG9ydCBuYW1lJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm91dHB1dFZhbHVlICYmIEpTT04uc3RyaW5naWZ5KHRoaXMub3V0cHV0VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShwcm9wcy5WYWx1ZSkpIHtcbiAgICAgICAgbWlzbWF0Y2hlZEZpZWxkcy5wdXNoKCd2YWx1ZScpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWlzbWF0Y2hlZEZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5zcGVjdGVkLnB1c2goe1xuICAgICAgICBvdXRwdXQ6IHsgW25hbWVdOiBwcm9wcyB9LFxuICAgICAgICBmYWlsdXJlUmVhc29uOiBgbWlzbWF0Y2hlZCAke21pc21hdGNoZWRGaWVsZHMuam9pbignLCAnKX1gLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlRXJyb3JNZXNzYWdlKCkge1xuICAgIGNvbnN0IGxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGxpbmVzLnB1c2goYE5vbmUgb2YgJHt0aGlzLmluc3BlY3RlZC5sZW5ndGh9IG91dHB1dHMgbWF0Y2hlcyAke3RoaXMuZGVzY3JpcHRpb259LmApO1xuXG4gICAgZm9yIChjb25zdCBpbnNwZWN0ZWQgb2YgdGhpcy5pbnNwZWN0ZWQpIHtcbiAgICAgIGxpbmVzLnB1c2goYC0gJHtpbnNwZWN0ZWQuZmFpbHVyZVJlYXNvbn0gaW46YCk7XG4gICAgICBsaW5lcy5wdXNoKGluZGVudCg0LCBKU09OLnN0cmluZ2lmeShpbnNwZWN0ZWQub3V0cHV0LCBudWxsLCAyKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgaGF2ZU91dHB1dCBmdW5jdGlvbiBwcm9wZXJ0aWVzXG4gKiBOT1RFIHRoYXQgYXQgbGVhc3Qgb25lIG9mIFtvdXRwdXROYW1lLCBleHBvcnROYW1lXSBzaG91bGQgYmUgcHJvdmlkZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXZlT3V0cHV0UHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBMb2dpY2FsIElEIG9mIHRoZSBvdXRwdXRcbiAgICogQGRlZmF1bHQgLSB0aGUgbG9naWNhbCBJRCBvZiB0aGUgb3V0cHV0IHdpbGwgbm90IGJlIGNoZWNrZWRcbiAgICovXG4gIG91dHB1dE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHBvcnQgbmFtZSBvZiB0aGUgb3V0cHV0LCB3aGVuIGl0J3MgZXhwb3J0ZWQgZm9yIGNyb3NzLXN0YWNrIHJlZmVyZW5jaW5nXG4gICAqIEBkZWZhdWx0IC0gdGhlIGV4cG9ydCBuYW1lIGlzIG5vdCByZXF1aXJlZCBhbmQgd2lsbCBub3QgYmUgY2hlY2tlZFxuICAgKi9cbiAgZXhwb3J0TmFtZT86IGFueTtcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBvdXRwdXQ7XG4gICAqIEBkZWZhdWx0IC0gdGhlIHZhbHVlIHdpbGwgbm90IGJlIGNoZWNrZWRcbiAgICovXG4gIG91dHB1dFZhbHVlPzogYW55O1xufVxuXG5pbnRlcmZhY2UgSW5zcGVjdGlvbkZhaWx1cmUge1xuICBvdXRwdXQ6IGFueTtcbiAgZmFpbHVyZVJlYXNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2VydGlvbiAgdG8gY2hlY2sgd2hldGhlciBPdXRwdXQgd2l0aCBwYXJ0aWN1bGFyIHByb3BlcnRpZXMgaXMgcHJlc2VudCBpbiBhIHN0YWNrXG4gKiBAcGFyYW0gcHJvcHMgIHByb3BlcnRpZXMgb2YgdGhlIE91dHB1dCB0aGF0IGlzIGJlaW5nIGFzc2VydGVkIGFnYWluc3QuXG4gKiAgICAgICAgICAgICAgIENoZWNrIGBgSGF2ZU91dHB1dFByb3BlcnRpZXNgYCBpbnRlcmZhY2UgdG8gZ2V0IGZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGF2ZU91dHB1dChwcm9wczogSGF2ZU91dHB1dFByb3BlcnRpZXMpOiBKZXN0RnJpZW5kbHlBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBIYXZlT3V0cHV0QXNzZXJ0aW9uKHByb3BzLm91dHB1dE5hbWUsIHByb3BzLmV4cG9ydE5hbWUsIHByb3BzLm91dHB1dFZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaW5kZW50KG46IG51bWJlciwgczogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9ICcgJy5yZXBlYXQobik7XG4gIHJldHVybiBwcmVmaXggKyBzLnJlcGxhY2UoL1xcbi9nLCAnXFxuJyArIHByZWZpeCk7XG59XG4iXX0=