cdk-common 0.0.67 → 2.0.2

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 (1022) hide show
  1. package/.gitattributes +23 -21
  2. package/.jsii +2662 -552
  3. package/API.md +27 -64
  4. package/README.md +19 -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/@types/concat-stream/node_modules/@types/node/README.md +1 -1
  233. package/node_modules/@types/concat-stream/node_modules/@types/node/http.d.ts +1 -1
  234. package/node_modules/@types/concat-stream/node_modules/@types/node/package.json +2 -2
  235. package/node_modules/@types/form-data/node_modules/@types/node/README.md +1 -1
  236. package/node_modules/@types/form-data/node_modules/@types/node/http.d.ts +1 -1
  237. package/node_modules/@types/form-data/node_modules/@types/node/package.json +2 -2
  238. package/node_modules/ansi-regex/index.d.ts +37 -0
  239. package/node_modules/ansi-regex/index.js +10 -0
  240. package/node_modules/ansi-regex/license +9 -0
  241. package/node_modules/ansi-regex/package.json +55 -0
  242. package/node_modules/ansi-regex/readme.md +78 -0
  243. package/node_modules/ansi-styles/index.d.ts +345 -0
  244. package/node_modules/ansi-styles/index.js +163 -0
  245. package/node_modules/ansi-styles/license +9 -0
  246. package/node_modules/ansi-styles/package.json +56 -0
  247. package/node_modules/ansi-styles/readme.md +152 -0
  248. package/node_modules/astral-regex/index.d.ts +28 -0
  249. package/node_modules/astral-regex/index.js +6 -0
  250. package/node_modules/astral-regex/license +9 -0
  251. package/node_modules/astral-regex/package.json +33 -0
  252. package/node_modules/astral-regex/readme.md +46 -0
  253. package/node_modules/at-least-node/LICENSE +6 -0
  254. package/node_modules/at-least-node/README.md +25 -0
  255. package/node_modules/at-least-node/index.js +5 -0
  256. package/node_modules/at-least-node/package.json +32 -0
  257. package/node_modules/charenc/LICENSE.mkd +27 -0
  258. package/node_modules/charenc/README.js +1 -0
  259. package/node_modules/charenc/charenc.js +33 -0
  260. package/node_modules/charenc/package.json +24 -0
  261. package/node_modules/color-convert/CHANGELOG.md +54 -0
  262. package/node_modules/color-convert/LICENSE +21 -0
  263. package/node_modules/color-convert/README.md +68 -0
  264. package/node_modules/color-convert/conversions.js +839 -0
  265. package/node_modules/color-convert/index.js +81 -0
  266. package/node_modules/color-convert/package.json +48 -0
  267. package/node_modules/color-convert/route.js +97 -0
  268. package/node_modules/color-name/LICENSE +8 -0
  269. package/node_modules/color-name/README.md +11 -0
  270. package/node_modules/color-name/index.js +152 -0
  271. package/node_modules/color-name/package.json +28 -0
  272. package/node_modules/colors/LICENSE +25 -0
  273. package/node_modules/colors/README.md +221 -0
  274. package/node_modules/colors/examples/normal-usage.js +82 -0
  275. package/node_modules/colors/examples/safe-string.js +79 -0
  276. package/node_modules/colors/index.d.ts +136 -0
  277. package/node_modules/colors/lib/colors.js +211 -0
  278. package/node_modules/colors/lib/custom/trap.js +46 -0
  279. package/node_modules/colors/lib/custom/zalgo.js +110 -0
  280. package/node_modules/colors/lib/extendStringPrototype.js +110 -0
  281. package/node_modules/colors/lib/index.js +13 -0
  282. package/node_modules/colors/lib/maps/america.js +10 -0
  283. package/node_modules/colors/lib/maps/rainbow.js +12 -0
  284. package/node_modules/colors/lib/maps/random.js +11 -0
  285. package/node_modules/colors/lib/maps/zebra.js +5 -0
  286. package/node_modules/colors/lib/styles.js +95 -0
  287. package/node_modules/colors/lib/system/has-flag.js +35 -0
  288. package/node_modules/colors/lib/system/supports-colors.js +151 -0
  289. package/node_modules/colors/package.json +45 -0
  290. package/node_modules/colors/safe.d.ts +48 -0
  291. package/node_modules/colors/safe.js +10 -0
  292. package/node_modules/colors/themes/generic-logging.js +12 -0
  293. package/node_modules/crypt/LICENSE.mkd +27 -0
  294. package/node_modules/crypt/README.mkd +1 -0
  295. package/node_modules/crypt/crypt.js +96 -0
  296. package/node_modules/crypt/package.json +22 -0
  297. package/node_modules/diff/CONTRIBUTING.md +39 -0
  298. package/node_modules/diff/LICENSE +31 -0
  299. package/node_modules/diff/README.md +208 -0
  300. package/node_modules/diff/dist/diff.js +1582 -0
  301. package/node_modules/diff/lib/convert/dmp.js +32 -0
  302. package/node_modules/diff/lib/convert/xml.js +42 -0
  303. package/node_modules/diff/lib/diff/array.js +45 -0
  304. package/node_modules/diff/lib/diff/base.js +304 -0
  305. package/node_modules/diff/lib/diff/character.js +37 -0
  306. package/node_modules/diff/lib/diff/css.js +41 -0
  307. package/node_modules/diff/lib/diff/json.js +163 -0
  308. package/node_modules/diff/lib/diff/line.js +89 -0
  309. package/node_modules/diff/lib/diff/sentence.js +41 -0
  310. package/node_modules/diff/lib/diff/word.js +108 -0
  311. package/node_modules/diff/lib/index.es6.js +1553 -0
  312. package/node_modules/diff/lib/index.js +216 -0
  313. package/node_modules/diff/lib/index.mjs +1553 -0
  314. package/node_modules/diff/lib/patch/apply.js +238 -0
  315. package/node_modules/diff/lib/patch/create.js +267 -0
  316. package/node_modules/diff/lib/patch/merge.js +613 -0
  317. package/node_modules/diff/lib/patch/parse.js +167 -0
  318. package/node_modules/diff/lib/util/array.js +32 -0
  319. package/node_modules/diff/lib/util/distance-iterator.js +57 -0
  320. package/node_modules/diff/lib/util/params.js +24 -0
  321. package/node_modules/diff/package.json +87 -0
  322. package/node_modules/diff/release-notes.md +303 -0
  323. package/node_modules/diff/runtime.js +3 -0
  324. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  325. package/node_modules/emoji-regex/README.md +73 -0
  326. package/node_modules/emoji-regex/es2015/index.js +6 -0
  327. package/node_modules/emoji-regex/es2015/text.js +6 -0
  328. package/node_modules/emoji-regex/index.d.ts +23 -0
  329. package/node_modules/emoji-regex/index.js +6 -0
  330. package/node_modules/emoji-regex/package.json +50 -0
  331. package/node_modules/emoji-regex/text.js +6 -0
  332. package/node_modules/fast-deep-equal/LICENSE +21 -0
  333. package/node_modules/fast-deep-equal/README.md +96 -0
  334. package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  335. package/node_modules/fast-deep-equal/es6/index.js +72 -0
  336. package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  337. package/node_modules/fast-deep-equal/es6/react.js +79 -0
  338. package/node_modules/fast-deep-equal/index.d.ts +4 -0
  339. package/node_modules/fast-deep-equal/index.js +46 -0
  340. package/node_modules/fast-deep-equal/package.json +61 -0
  341. package/node_modules/fast-deep-equal/react.d.ts +2 -0
  342. package/node_modules/fast-deep-equal/react.js +53 -0
  343. package/node_modules/fs-extra/CHANGELOG.md +902 -0
  344. package/node_modules/fs-extra/LICENSE +15 -0
  345. package/node_modules/fs-extra/README.md +264 -0
  346. package/node_modules/fs-extra/lib/copy/copy.js +232 -0
  347. package/node_modules/fs-extra/lib/copy/index.js +6 -0
  348. package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
  349. package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
  350. package/node_modules/fs-extra/lib/empty/index.js +48 -0
  351. package/node_modules/fs-extra/lib/ensure/file.js +69 -0
  352. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  353. package/node_modules/fs-extra/lib/ensure/link.js +61 -0
  354. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
  355. package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
  356. package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
  357. package/node_modules/fs-extra/lib/fs/index.js +130 -0
  358. package/node_modules/fs-extra/lib/index.js +27 -0
  359. package/node_modules/fs-extra/lib/json/index.js +16 -0
  360. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  361. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  362. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  363. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  364. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
  365. package/node_modules/fs-extra/lib/move/index.js +6 -0
  366. package/node_modules/fs-extra/lib/move/move.js +65 -0
  367. package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
  368. package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
  369. package/node_modules/fs-extra/lib/output/index.js +40 -0
  370. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  371. package/node_modules/fs-extra/lib/remove/index.js +9 -0
  372. package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
  373. package/node_modules/fs-extra/lib/util/stat.js +139 -0
  374. package/node_modules/fs-extra/lib/util/utimes.js +26 -0
  375. package/node_modules/fs-extra/package.json +70 -0
  376. package/node_modules/graceful-fs/LICENSE +15 -0
  377. package/node_modules/graceful-fs/README.md +143 -0
  378. package/node_modules/graceful-fs/clone.js +23 -0
  379. package/node_modules/graceful-fs/graceful-fs.js +429 -0
  380. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  381. package/node_modules/graceful-fs/package.json +50 -0
  382. package/node_modules/graceful-fs/polyfills.js +346 -0
  383. package/node_modules/is-buffer/LICENSE +21 -0
  384. package/node_modules/is-buffer/README.md +53 -0
  385. package/node_modules/is-buffer/index.js +21 -0
  386. package/node_modules/is-buffer/package.json +51 -0
  387. package/node_modules/is-buffer/test/basic.js +24 -0
  388. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  389. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  390. package/node_modules/is-fullwidth-code-point/license +9 -0
  391. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  392. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  393. package/node_modules/jsonfile/CHANGELOG.md +171 -0
  394. package/node_modules/jsonfile/LICENSE +15 -0
  395. package/node_modules/jsonfile/README.md +230 -0
  396. package/node_modules/jsonfile/index.js +88 -0
  397. package/node_modules/jsonfile/package.json +40 -0
  398. package/node_modules/jsonfile/utils.js +14 -0
  399. package/node_modules/lodash.truncate/LICENSE +47 -0
  400. package/node_modules/lodash.truncate/README.md +18 -0
  401. package/node_modules/lodash.truncate/index.js +632 -0
  402. package/node_modules/lodash.truncate/package.json +17 -0
  403. package/node_modules/md5/.travis.yml +7 -0
  404. package/node_modules/md5/LICENSE +27 -0
  405. package/node_modules/md5/README.md +111 -0
  406. package/node_modules/md5/demo/index.html +48 -0
  407. package/node_modules/md5/dist/md5.min.js +7 -0
  408. package/node_modules/md5/md5.js +160 -0
  409. package/node_modules/md5/package.json +38 -0
  410. package/node_modules/md5/test.js +75 -0
  411. package/node_modules/md5/webpack.config.js +13 -0
  412. package/node_modules/punycode/LICENSE-MIT.txt +20 -0
  413. package/node_modules/punycode/README.md +122 -0
  414. package/node_modules/punycode/package.json +58 -0
  415. package/node_modules/punycode/punycode.es6.js +441 -0
  416. package/node_modules/punycode/punycode.js +440 -0
  417. package/node_modules/require-from-string/index.js +34 -0
  418. package/node_modules/require-from-string/license +21 -0
  419. package/node_modules/require-from-string/package.json +28 -0
  420. package/node_modules/require-from-string/readme.md +56 -0
  421. package/node_modules/slice-ansi/index.js +103 -0
  422. package/node_modules/slice-ansi/license +10 -0
  423. package/node_modules/slice-ansi/package.json +52 -0
  424. package/node_modules/slice-ansi/readme.md +66 -0
  425. package/node_modules/string-width/index.d.ts +29 -0
  426. package/node_modules/string-width/index.js +47 -0
  427. package/node_modules/string-width/license +9 -0
  428. package/node_modules/string-width/package.json +56 -0
  429. package/node_modules/string-width/readme.md +50 -0
  430. package/node_modules/strip-ansi/index.d.ts +17 -0
  431. package/node_modules/strip-ansi/index.js +4 -0
  432. package/node_modules/strip-ansi/license +9 -0
  433. package/node_modules/strip-ansi/package.json +54 -0
  434. package/node_modules/strip-ansi/readme.md +46 -0
  435. package/node_modules/table/LICENSE +24 -0
  436. package/node_modules/table/README.md +759 -0
  437. package/node_modules/table/dist/src/alignString.d.ts +6 -0
  438. package/node_modules/table/dist/src/alignString.js +60 -0
  439. package/node_modules/table/dist/src/alignTableData.d.ts +2 -0
  440. package/node_modules/table/dist/src/alignTableData.js +14 -0
  441. package/node_modules/table/dist/src/calculateCellHeight.d.ts +4 -0
  442. package/node_modules/table/dist/src/calculateCellHeight.js +12 -0
  443. package/node_modules/table/dist/src/calculateCellWidths.d.ts +5 -0
  444. package/node_modules/table/dist/src/calculateCellWidths.js +17 -0
  445. package/node_modules/table/dist/src/calculateColumnWidths.d.ts +6 -0
  446. package/node_modules/table/dist/src/calculateColumnWidths.js +17 -0
  447. package/node_modules/table/dist/src/calculateRowHeights.d.ts +5 -0
  448. package/node_modules/table/dist/src/calculateRowHeights.js +19 -0
  449. package/node_modules/table/dist/src/createStream.d.ts +2 -0
  450. package/node_modules/table/dist/src/createStream.js +73 -0
  451. package/node_modules/table/dist/src/drawBorder.d.ts +26 -0
  452. package/node_modules/table/dist/src/drawBorder.js +101 -0
  453. package/node_modules/table/dist/src/drawContent.d.ts +9 -0
  454. package/node_modules/table/dist/src/drawContent.js +27 -0
  455. package/node_modules/table/dist/src/drawHeader.d.ts +2 -0
  456. package/node_modules/table/dist/src/drawHeader.js +30 -0
  457. package/node_modules/table/dist/src/drawRow.d.ts +6 -0
  458. package/node_modules/table/dist/src/drawRow.js +21 -0
  459. package/node_modules/table/dist/src/drawTable.d.ts +2 -0
  460. package/node_modules/table/dist/src/drawTable.js +39 -0
  461. package/node_modules/table/dist/src/generated/validators.d.ts +13 -0
  462. package/node_modules/table/dist/src/generated/validators.js +2171 -0
  463. package/node_modules/table/dist/src/getBorderCharacters.d.ts +2 -0
  464. package/node_modules/table/dist/src/getBorderCharacters.js +89 -0
  465. package/node_modules/table/dist/src/index.d.ts +5 -0
  466. package/node_modules/table/dist/src/index.js +21 -0
  467. package/node_modules/table/dist/src/makeStreamConfig.d.ts +7 -0
  468. package/node_modules/table/dist/src/makeStreamConfig.js +43 -0
  469. package/node_modules/table/dist/src/makeTableConfig.d.ts +7 -0
  470. package/node_modules/table/dist/src/makeTableConfig.js +65 -0
  471. package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +2 -0
  472. package/node_modules/table/dist/src/mapDataUsingRowHeights.js +45 -0
  473. package/node_modules/table/dist/src/padTableData.d.ts +3 -0
  474. package/node_modules/table/dist/src/padTableData.js +17 -0
  475. package/node_modules/table/dist/src/stringifyTableData.d.ts +2 -0
  476. package/node_modules/table/dist/src/stringifyTableData.js +13 -0
  477. package/node_modules/table/dist/src/table.d.ts +2 -0
  478. package/node_modules/table/dist/src/table.js +27 -0
  479. package/node_modules/table/dist/src/truncateTableData.d.ts +6 -0
  480. package/node_modules/table/dist/src/truncateTableData.js +24 -0
  481. package/node_modules/table/dist/src/types/api.d.ts +114 -0
  482. package/node_modules/table/dist/src/types/api.js +3 -0
  483. package/node_modules/table/dist/src/types/internal.d.ts +1 -0
  484. package/node_modules/table/dist/src/types/internal.js +3 -0
  485. package/node_modules/table/dist/src/utils.d.ts +1 -0
  486. package/node_modules/table/dist/src/utils.js +93 -0
  487. package/node_modules/table/dist/src/validateConfig.d.ts +2 -0
  488. package/node_modules/table/dist/src/validateConfig.js +27 -0
  489. package/node_modules/table/dist/src/validateTableData.d.ts +1 -0
  490. package/node_modules/table/dist/src/validateTableData.js +32 -0
  491. package/node_modules/table/dist/src/wrapCell.d.ts +8 -0
  492. package/node_modules/table/dist/src/wrapCell.js +33 -0
  493. package/node_modules/table/dist/src/wrapString.d.ts +9 -0
  494. package/node_modules/table/dist/src/wrapString.js +27 -0
  495. package/node_modules/table/dist/src/wrapWord.d.ts +1 -0
  496. package/node_modules/table/dist/src/wrapWord.js +42 -0
  497. package/node_modules/table/node_modules/ajv/.runkit_example.js +23 -0
  498. package/node_modules/table/node_modules/ajv/LICENSE +22 -0
  499. package/node_modules/table/node_modules/ajv/README.md +192 -0
  500. package/node_modules/table/node_modules/ajv/dist/2019.d.ts +17 -0
  501. package/node_modules/table/node_modules/ajv/dist/2019.js +55 -0
  502. package/node_modules/table/node_modules/ajv/dist/2019.js.map +1 -0
  503. package/node_modules/table/node_modules/ajv/dist/2020.d.ts +17 -0
  504. package/node_modules/table/node_modules/ajv/dist/2020.js +49 -0
  505. package/node_modules/table/node_modules/ajv/dist/2020.js.map +1 -0
  506. package/node_modules/table/node_modules/ajv/dist/ajv.d.ts +16 -0
  507. package/node_modules/table/node_modules/ajv/dist/ajv.js +44 -0
  508. package/node_modules/table/node_modules/ajv/dist/ajv.js.map +1 -0
  509. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.d.ts +39 -0
  510. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js +147 -0
  511. package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
  512. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
  513. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js +697 -0
  514. package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
  515. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
  516. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
  517. package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
  518. package/node_modules/table/node_modules/ajv/dist/compile/errors.d.ts +13 -0
  519. package/node_modules/table/node_modules/ajv/dist/compile/errors.js +123 -0
  520. package/node_modules/table/node_modules/ajv/dist/compile/errors.js.map +1 -0
  521. package/node_modules/table/node_modules/ajv/dist/compile/index.d.ts +80 -0
  522. package/node_modules/table/node_modules/ajv/dist/compile/index.js +243 -0
  523. package/node_modules/table/node_modules/ajv/dist/compile/index.js.map +1 -0
  524. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
  525. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
  526. package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
  527. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
  528. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js +218 -0
  529. package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
  530. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
  531. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js +14 -0
  532. package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
  533. package/node_modules/table/node_modules/ajv/dist/compile/names.d.ts +20 -0
  534. package/node_modules/table/node_modules/ajv/dist/compile/names.js +28 -0
  535. package/node_modules/table/node_modules/ajv/dist/compile/names.js.map +1 -0
  536. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.d.ts +5 -0
  537. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js +12 -0
  538. package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
  539. package/node_modules/table/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
  540. package/node_modules/table/node_modules/ajv/dist/compile/resolve.js +153 -0
  541. package/node_modules/table/node_modules/ajv/dist/compile/resolve.js.map +1 -0
  542. package/node_modules/table/node_modules/ajv/dist/compile/rules.d.ts +28 -0
  543. package/node_modules/table/node_modules/ajv/dist/compile/rules.js +26 -0
  544. package/node_modules/table/node_modules/ajv/dist/compile/rules.js.map +1 -0
  545. package/node_modules/table/node_modules/ajv/dist/compile/util.d.ts +40 -0
  546. package/node_modules/table/node_modules/ajv/dist/compile/util.js +178 -0
  547. package/node_modules/table/node_modules/ajv/dist/compile/util.js.map +1 -0
  548. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
  549. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
  550. package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
  551. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
  552. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
  553. package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
  554. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
  555. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js +202 -0
  556. package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
  557. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
  558. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
  559. package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
  560. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
  561. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js +510 -0
  562. package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
  563. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
  564. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
  565. package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
  566. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
  567. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
  568. package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
  569. package/node_modules/table/node_modules/ajv/dist/core.d.ts +171 -0
  570. package/node_modules/table/node_modules/ajv/dist/core.js +614 -0
  571. package/node_modules/table/node_modules/ajv/dist/core.js.map +1 -0
  572. package/node_modules/table/node_modules/ajv/dist/jtd.d.ts +45 -0
  573. package/node_modules/table/node_modules/ajv/dist/jtd.js +66 -0
  574. package/node_modules/table/node_modules/ajv/dist/jtd.js.map +1 -0
  575. package/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
  576. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
  577. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
  578. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
  579. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
  580. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
  581. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
  582. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
  583. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  584. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
  585. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
  586. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
  587. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  588. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
  589. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  590. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  591. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  592. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  593. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  594. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  595. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  596. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  597. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
  598. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
  599. package/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
  600. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
  601. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
  602. package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
  603. package/node_modules/table/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
  604. package/node_modules/table/node_modules/ajv/dist/runtime/equal.js +7 -0
  605. package/node_modules/table/node_modules/ajv/dist/runtime/equal.js.map +1 -0
  606. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
  607. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js +184 -0
  608. package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
  609. package/node_modules/table/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
  610. package/node_modules/table/node_modules/ajv/dist/runtime/quote.js +30 -0
  611. package/node_modules/table/node_modules/ajv/dist/runtime/quote.js.map +1 -0
  612. package/node_modules/table/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
  613. package/node_modules/table/node_modules/ajv/dist/runtime/re2.js +6 -0
  614. package/node_modules/table/node_modules/ajv/dist/runtime/re2.js.map +1 -0
  615. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
  616. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js +42 -0
  617. package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
  618. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
  619. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
  620. package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
  621. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
  622. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js +11 -0
  623. package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
  624. package/node_modules/table/node_modules/ajv/dist/standalone/index.d.ts +6 -0
  625. package/node_modules/table/node_modules/ajv/dist/standalone/index.js +83 -0
  626. package/node_modules/table/node_modules/ajv/dist/standalone/index.js.map +1 -0
  627. package/node_modules/table/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
  628. package/node_modules/table/node_modules/ajv/dist/standalone/instance.js +35 -0
  629. package/node_modules/table/node_modules/ajv/dist/standalone/instance.js.map +1 -0
  630. package/node_modules/table/node_modules/ajv/dist/types/index.d.ts +177 -0
  631. package/node_modules/table/node_modules/ajv/dist/types/index.js +3 -0
  632. package/node_modules/table/node_modules/ajv/dist/types/index.js.map +1 -0
  633. package/node_modules/table/node_modules/ajv/dist/types/json-schema.d.ts +124 -0
  634. package/node_modules/table/node_modules/ajv/dist/types/json-schema.js +3 -0
  635. package/node_modules/table/node_modules/ajv/dist/types/json-schema.js.map +1 -0
  636. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.d.ts +168 -0
  637. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js +3 -0
  638. package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
  639. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
  640. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  641. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
  642. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
  643. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
  644. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
  645. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
  646. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  647. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
  648. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
  649. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  650. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
  651. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
  652. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
  653. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
  654. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
  655. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  656. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
  657. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
  658. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  659. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
  660. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
  661. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
  662. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
  663. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
  664. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
  665. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
  666. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
  667. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
  668. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
  669. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
  670. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  671. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
  672. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
  673. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
  674. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
  675. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
  676. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  677. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
  678. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
  679. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  680. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
  681. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
  682. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  683. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
  684. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
  685. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
  686. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
  687. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
  688. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  689. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
  690. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
  691. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  692. package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
  693. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
  694. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js +131 -0
  695. package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
  696. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
  697. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
  698. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
  699. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
  700. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
  701. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
  702. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
  703. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
  704. package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
  705. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
  706. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js +93 -0
  707. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
  708. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
  709. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
  710. package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
  711. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
  712. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
  713. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
  714. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
  715. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
  716. package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
  717. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
  718. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  719. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
  720. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
  721. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  722. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
  723. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
  724. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
  725. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
  726. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
  727. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  728. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
  729. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
  730. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  731. package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
  732. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
  733. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js +3 -0
  734. package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
  735. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
  736. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
  737. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
  738. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
  739. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
  740. package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
  741. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
  742. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
  743. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
  744. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
  745. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
  746. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
  747. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
  748. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
  749. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
  750. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
  751. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
  752. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
  753. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
  754. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
  755. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
  756. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
  757. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
  758. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
  759. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
  760. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
  761. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
  762. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
  763. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
  764. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
  765. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
  766. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js +146 -0
  767. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
  768. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
  769. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js +66 -0
  770. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
  771. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
  772. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
  773. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
  774. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
  775. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
  776. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
  777. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
  778. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js +48 -0
  779. package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
  780. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
  781. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
  782. package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
  783. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
  784. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js +8 -0
  785. package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
  786. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
  787. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  788. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
  789. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
  790. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  791. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
  792. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
  793. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
  794. package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
  795. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
  796. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
  797. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
  798. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
  799. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  800. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
  801. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
  802. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js +47 -0
  803. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
  804. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
  805. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
  806. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
  807. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
  808. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  809. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
  810. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
  811. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  812. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
  813. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
  814. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  815. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
  816. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
  817. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  818. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
  819. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
  820. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  821. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
  822. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
  823. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  824. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
  825. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
  826. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
  827. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
  828. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
  829. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
  830. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
  831. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
  832. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  833. package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
  834. package/node_modules/table/node_modules/ajv/lib/2019.ts +78 -0
  835. package/node_modules/table/node_modules/ajv/lib/2020.ts +72 -0
  836. package/node_modules/table/node_modules/ajv/lib/ajv.ts +67 -0
  837. package/node_modules/table/node_modules/ajv/lib/compile/codegen/code.ts +160 -0
  838. package/node_modules/table/node_modules/ajv/lib/compile/codegen/index.ts +832 -0
  839. package/node_modules/table/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
  840. package/node_modules/table/node_modules/ajv/lib/compile/errors.ts +184 -0
  841. package/node_modules/table/node_modules/ajv/lib/compile/index.ts +324 -0
  842. package/node_modules/table/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
  843. package/node_modules/table/node_modules/ajv/lib/compile/jtd/serialize.ts +260 -0
  844. package/node_modules/table/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
  845. package/node_modules/table/node_modules/ajv/lib/compile/names.ts +27 -0
  846. package/node_modules/table/node_modules/ajv/lib/compile/ref_error.ts +12 -0
  847. package/node_modules/table/node_modules/ajv/lib/compile/resolve.ts +146 -0
  848. package/node_modules/table/node_modules/ajv/lib/compile/rules.ts +50 -0
  849. package/node_modules/table/node_modules/ajv/lib/compile/util.ts +213 -0
  850. package/node_modules/table/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
  851. package/node_modules/table/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
  852. package/node_modules/table/node_modules/ajv/lib/compile/validate/dataType.ts +229 -0
  853. package/node_modules/table/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
  854. package/node_modules/table/node_modules/ajv/lib/compile/validate/index.ts +573 -0
  855. package/node_modules/table/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
  856. package/node_modules/table/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
  857. package/node_modules/table/node_modules/ajv/lib/core.ts +880 -0
  858. package/node_modules/table/node_modules/ajv/lib/jtd.ts +129 -0
  859. package/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
  860. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
  861. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
  862. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
  863. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
  864. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
  865. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
  866. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
  867. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
  868. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
  869. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
  870. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
  871. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
  872. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  873. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  874. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  875. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
  876. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
  877. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
  878. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
  879. package/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
  880. package/node_modules/table/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
  881. package/node_modules/table/node_modules/ajv/lib/runtime/equal.ts +7 -0
  882. package/node_modules/table/node_modules/ajv/lib/runtime/parseJson.ts +176 -0
  883. package/node_modules/table/node_modules/ajv/lib/runtime/quote.ts +31 -0
  884. package/node_modules/table/node_modules/ajv/lib/runtime/re2.ts +6 -0
  885. package/node_modules/table/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
  886. package/node_modules/table/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
  887. package/node_modules/table/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
  888. package/node_modules/table/node_modules/ajv/lib/standalone/index.ts +93 -0
  889. package/node_modules/table/node_modules/ajv/lib/standalone/instance.ts +36 -0
  890. package/node_modules/table/node_modules/ajv/lib/types/index.ts +233 -0
  891. package/node_modules/table/node_modules/ajv/lib/types/json-schema.ts +189 -0
  892. package/node_modules/table/node_modules/ajv/lib/types/jtd-schema.ts +264 -0
  893. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
  894. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
  895. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
  896. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
  897. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
  898. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
  899. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
  900. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
  901. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
  902. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
  903. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
  904. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
  905. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
  906. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
  907. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
  908. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
  909. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
  910. package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
  911. package/node_modules/table/node_modules/ajv/lib/vocabularies/code.ts +168 -0
  912. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
  913. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
  914. package/node_modules/table/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
  915. package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/index.ts +102 -0
  916. package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
  917. package/node_modules/table/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
  918. package/node_modules/table/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
  919. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
  920. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
  921. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
  922. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
  923. package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
  924. package/node_modules/table/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
  925. package/node_modules/table/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
  926. package/node_modules/table/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
  927. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
  928. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
  929. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
  930. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
  931. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
  932. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
  933. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
  934. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
  935. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/properties.ts +177 -0
  936. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/ref.ts +74 -0
  937. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
  938. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
  939. package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/values.ts +55 -0
  940. package/node_modules/table/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
  941. package/node_modules/table/node_modules/ajv/lib/vocabularies/next.ts +8 -0
  942. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
  943. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
  944. package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
  945. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
  946. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
  947. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/enum.ts +52 -0
  948. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
  949. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
  950. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
  951. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
  952. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
  953. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
  954. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
  955. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
  956. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
  957. package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
  958. package/node_modules/table/node_modules/ajv/package.json +124 -0
  959. package/node_modules/table/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  960. package/node_modules/table/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
  961. package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
  962. package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
  963. package/node_modules/table/node_modules/json-schema-traverse/LICENSE +21 -0
  964. package/node_modules/table/node_modules/json-schema-traverse/README.md +95 -0
  965. package/node_modules/table/node_modules/json-schema-traverse/index.d.ts +40 -0
  966. package/node_modules/table/node_modules/json-schema-traverse/index.js +93 -0
  967. package/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
  968. package/node_modules/table/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  969. package/node_modules/table/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  970. package/node_modules/table/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  971. package/node_modules/table/package.json +78 -0
  972. package/node_modules/universalify/LICENSE +20 -0
  973. package/node_modules/universalify/README.md +76 -0
  974. package/node_modules/universalify/index.js +24 -0
  975. package/node_modules/universalify/package.json +34 -0
  976. package/node_modules/uri-js/LICENSE +11 -0
  977. package/node_modules/uri-js/README.md +203 -0
  978. package/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
  979. package/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
  980. package/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
  981. package/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
  982. package/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
  983. package/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
  984. package/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
  985. package/node_modules/uri-js/dist/esnext/index.js +17 -0
  986. package/node_modules/uri-js/dist/esnext/index.js.map +1 -0
  987. package/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
  988. package/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
  989. package/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
  990. package/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
  991. package/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
  992. package/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
  993. package/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
  994. package/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
  995. package/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
  996. package/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
  997. package/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
  998. package/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
  999. package/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
  1000. package/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
  1001. package/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
  1002. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
  1003. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
  1004. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
  1005. package/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
  1006. package/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
  1007. package/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
  1008. package/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
  1009. package/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
  1010. package/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
  1011. package/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
  1012. package/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
  1013. package/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
  1014. package/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
  1015. package/node_modules/uri-js/dist/esnext/uri.js +480 -0
  1016. package/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
  1017. package/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
  1018. package/node_modules/uri-js/dist/esnext/util.js +36 -0
  1019. package/node_modules/uri-js/dist/esnext/util.js.map +1 -0
  1020. package/node_modules/uri-js/package.json +77 -0
  1021. package/node_modules/uri-js/yarn.lock +2558 -0
  1022. package/package.json +11 -19
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSuperObject = exports.ResourcePart = exports.HaveResourceAssertion = exports.haveResourceLike = exports.haveResource = exports.ABSENT = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ const have_resource_matchers_1 = require("./have-resource-matchers");
6
+ /**
7
+ * Magic value to signify that a certain key should be absent from the property bag.
8
+ *
9
+ * The property is either not present or set to `undefined.
10
+ *
11
+ * NOTE: `ABSENT` only works with the `haveResource()` and `haveResourceLike()`
12
+ * assertions.
13
+ */
14
+ exports.ABSENT = '{{ABSENT}}';
15
+ /**
16
+ * An assertion to check whether a resource of a given type and with the given properties exists, disregarding properties
17
+ *
18
+ * @param resourceType the type of the resource that is expected to be present.
19
+ * @param properties the properties that the resource is expected to have. A function may be provided, in which case
20
+ * it will be called with the properties of candidate resources and an ``InspectionFailure``
21
+ * instance on which errors should be appended, and should return a truthy value to denote a match.
22
+ * @param comparison the entity that is being asserted against.
23
+ * @param allowValueExtension if properties is an object, tells whether values must match exactly, or if they are
24
+ * allowed to be supersets of the reference values. Meaningless if properties is a function.
25
+ */
26
+ function haveResource(resourceType, properties, comparison, allowValueExtension = false) {
27
+ return new HaveResourceAssertion(resourceType, properties, comparison, allowValueExtension);
28
+ }
29
+ exports.haveResource = haveResource;
30
+ /**
31
+ * Sugar for calling ``haveResource`` with ``allowValueExtension`` set to ``true``.
32
+ */
33
+ function haveResourceLike(resourceType, properties, comparison) {
34
+ return haveResource(resourceType, properties, comparison, true);
35
+ }
36
+ exports.haveResourceLike = haveResourceLike;
37
+ class HaveResourceAssertion extends assertion_1.JestFriendlyAssertion {
38
+ constructor(resourceType, properties, part, allowValueExtension = false) {
39
+ super();
40
+ this.resourceType = resourceType;
41
+ this.inspected = [];
42
+ this.matcher = isCallable(properties) ? properties :
43
+ properties === undefined ? have_resource_matchers_1.anything() :
44
+ allowValueExtension ? have_resource_matchers_1.deepObjectLike(properties) :
45
+ have_resource_matchers_1.objectLike(properties);
46
+ this.part = part !== null && part !== void 0 ? part : ResourcePart.Properties;
47
+ }
48
+ assertUsing(inspector) {
49
+ var _a;
50
+ for (const logicalId of Object.keys(inspector.value.Resources || {})) {
51
+ const resource = inspector.value.Resources[logicalId];
52
+ if (resource.Type === this.resourceType) {
53
+ const propsToCheck = this.part === ResourcePart.Properties ? ((_a = resource.Properties) !== null && _a !== void 0 ? _a : {}) : resource;
54
+ // Pass inspection object as 2nd argument, initialize failure with default string,
55
+ // to maintain backwards compatibility with old predicate API.
56
+ const inspection = { resource, failureReason: 'Object did not match predicate' };
57
+ if (have_resource_matchers_1.match(propsToCheck, this.matcher, inspection)) {
58
+ return true;
59
+ }
60
+ this.inspected.push(inspection);
61
+ }
62
+ }
63
+ return false;
64
+ }
65
+ generateErrorMessage() {
66
+ const lines = [];
67
+ lines.push(`None of ${this.inspected.length} resources matches ${this.description}.`);
68
+ for (const inspected of this.inspected) {
69
+ lines.push(`- ${inspected.failureReason} in:`);
70
+ lines.push(indent(4, JSON.stringify(inspected.resource, null, 2)));
71
+ }
72
+ return lines.join('\n');
73
+ }
74
+ assertOrThrow(inspector) {
75
+ if (!this.assertUsing(inspector)) {
76
+ throw new Error(this.generateErrorMessage());
77
+ }
78
+ }
79
+ get description() {
80
+ // eslint-disable-next-line max-len
81
+ return `resource '${this.resourceType}' with ${JSON.stringify(this.matcher, undefined, 2)}`;
82
+ }
83
+ }
84
+ exports.HaveResourceAssertion = HaveResourceAssertion;
85
+ function indent(n, s) {
86
+ const prefix = ' '.repeat(n);
87
+ return prefix + s.replace(/\n/g, '\n' + prefix);
88
+ }
89
+ /**
90
+ * What part of the resource to compare
91
+ */
92
+ var ResourcePart;
93
+ (function (ResourcePart) {
94
+ /**
95
+ * Only compare the resource's properties
96
+ */
97
+ ResourcePart[ResourcePart["Properties"] = 0] = "Properties";
98
+ /**
99
+ * Check the entire CloudFormation config
100
+ *
101
+ * (including UpdateConfig, DependsOn, etc.)
102
+ */
103
+ ResourcePart[ResourcePart["CompleteDefinition"] = 1] = "CompleteDefinition";
104
+ })(ResourcePart = exports.ResourcePart || (exports.ResourcePart = {}));
105
+ /**
106
+ * Whether a value is a callable
107
+ */
108
+ function isCallable(x) {
109
+ return x && {}.toString.call(x) === '[object Function]';
110
+ }
111
+ /**
112
+ * Return whether `superObj` is a super-object of `obj`.
113
+ *
114
+ * A super-object has the same or more property values, recursing into sub properties if ``allowValueExtension`` is true.
115
+ *
116
+ * At any point in the object, a value may be replaced with a function which will be used to check that particular field.
117
+ * The type of a matcher function is expected to be of type PropertyMatcher.
118
+ *
119
+ * @deprecated - Use `objectLike` or a literal object instead.
120
+ */
121
+ function isSuperObject(superObj, pattern, errors = [], allowValueExtension = false) {
122
+ const matcher = allowValueExtension ? have_resource_matchers_1.deepObjectLike(pattern) : have_resource_matchers_1.objectLike(pattern);
123
+ const inspection = { resource: superObj, failureReason: '' };
124
+ const ret = have_resource_matchers_1.match(superObj, matcher, inspection);
125
+ if (!ret) {
126
+ errors.push(inspection.failureReason);
127
+ }
128
+ return ret;
129
+ }
130
+ exports.isSuperObject = isSuperObject;
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImhhdmUtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQWdFO0FBRWhFLHFFQUF1RjtBQUV2Rjs7Ozs7OztHQU9HO0FBQ1UsUUFBQSxNQUFNLEdBQUcsWUFBWSxDQUFDO0FBRW5DOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFnQixZQUFZLENBQzFCLFlBQW9CLEVBQ3BCLFVBQWdCLEVBQ2hCLFVBQXlCLEVBQ3pCLHNCQUErQixLQUFLO0lBQ3BDLE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFORCxvQ0FNQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLFlBQW9CLEVBQ3BCLFVBQWdCLEVBQ2hCLFVBQXlCO0lBQ3pCLE9BQU8sWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFMRCw0Q0FLQztBQUlELE1BQWEscUJBQXNCLFNBQVEsaUNBQXFDO0lBSzlFLFlBQ21CLFlBQW9CLEVBQ3JDLFVBQWdCLEVBQ2hCLElBQW1CLEVBQ25CLHNCQUErQixLQUFLO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBSlMsaUJBQVksR0FBWixZQUFZLENBQVE7UUFMdEIsY0FBUyxHQUF3QixFQUFFLENBQUM7UUFXbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELFVBQVUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlDQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsdUNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNoRCxtQ0FBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUM5QyxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQXlCOztRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUU7WUFDcEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3ZDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBQyxRQUFRLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUVwRyxrRkFBa0Y7Z0JBQ2xGLDhEQUE4RDtnQkFDOUQsTUFBTSxVQUFVLEdBQUcsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGdDQUFnQyxFQUFFLENBQUM7Z0JBRWpGLElBQUksOEJBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRTtvQkFDakQsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDakM7U0FDRjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixNQUFNLEtBQUssR0FBYSxFQUFFLENBQUM7UUFDM0IsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxzQkFBc0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFdEYsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsYUFBYSxNQUFNLENBQUMsQ0FBQztZQUMvQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxTQUF5QjtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLG1DQUFtQztRQUNuQyxPQUFPLGFBQWEsSUFBSSxDQUFDLFlBQVksVUFBVSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUYsQ0FBQztDQUNGO0FBOURELHNEQThEQztBQUVELFNBQVMsTUFBTSxDQUFDLENBQVMsRUFBRSxDQUFTO0lBQ2xDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFPRDs7R0FFRztBQUNILElBQVksWUFZWDtBQVpELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILDJEQUFVLENBQUE7SUFFVjs7OztPQUlHO0lBQ0gsMkVBQWtCLENBQUE7QUFDcEIsQ0FBQyxFQVpXLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBWXZCO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxDQUFNO0lBQ3hCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLG1CQUFtQixDQUFDO0FBQzFELENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixhQUFhLENBQUMsUUFBYSxFQUFFLE9BQVksRUFBRSxTQUFtQixFQUFFLEVBQUUsc0JBQStCLEtBQUs7SUFDcEgsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLHVDQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1DQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFcEYsTUFBTSxVQUFVLEdBQXNCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDaEYsTUFBTSxHQUFHLEdBQUcsOEJBQUssQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUN2QztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQVRELHNDQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uLCBKZXN0RnJpZW5kbHlBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuaW1wb3J0IHsgYW55dGhpbmcsIGRlZXBPYmplY3RMaWtlLCBtYXRjaCwgb2JqZWN0TGlrZSB9IGZyb20gJy4vaGF2ZS1yZXNvdXJjZS1tYXRjaGVycyc7XG5cbi8qKlxuICogTWFnaWMgdmFsdWUgdG8gc2lnbmlmeSB0aGF0IGEgY2VydGFpbiBrZXkgc2hvdWxkIGJlIGFic2VudCBmcm9tIHRoZSBwcm9wZXJ0eSBiYWcuXG4gKlxuICogVGhlIHByb3BlcnR5IGlzIGVpdGhlciBub3QgcHJlc2VudCBvciBzZXQgdG8gYHVuZGVmaW5lZC5cbiAqXG4gKiBOT1RFOiBgQUJTRU5UYCBvbmx5IHdvcmtzIHdpdGggdGhlIGBoYXZlUmVzb3VyY2UoKWAgYW5kIGBoYXZlUmVzb3VyY2VMaWtlKClgXG4gKiBhc3NlcnRpb25zLlxuICovXG5leHBvcnQgY29uc3QgQUJTRU5UID0gJ3t7QUJTRU5UfX0nO1xuXG4vKipcbiAqIEFuIGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIGEgcmVzb3VyY2Ugb2YgYSBnaXZlbiB0eXBlIGFuZCB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIGV4aXN0cywgZGlzcmVnYXJkaW5nIHByb3BlcnRpZXNcbiAqXG4gKiBAcGFyYW0gcmVzb3VyY2VUeXBlIHRoZSB0eXBlIG9mIHRoZSByZXNvdXJjZSB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIHByZXNlbnQuXG4gKiBAcGFyYW0gcHJvcGVydGllcyAgIHRoZSBwcm9wZXJ0aWVzIHRoYXQgdGhlIHJlc291cmNlIGlzIGV4cGVjdGVkIHRvIGhhdmUuIEEgZnVuY3Rpb24gbWF5IGJlIHByb3ZpZGVkLCBpbiB3aGljaCBjYXNlXG4gKiAgICAgICAgICAgICAgICAgICAgIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlIHByb3BlcnRpZXMgb2YgY2FuZGlkYXRlIHJlc291cmNlcyBhbmQgYW4gYGBJbnNwZWN0aW9uRmFpbHVyZWBgXG4gKiAgICAgICAgICAgICAgICAgICAgIGluc3RhbmNlIG9uIHdoaWNoIGVycm9ycyBzaG91bGQgYmUgYXBwZW5kZWQsIGFuZCBzaG91bGQgcmV0dXJuIGEgdHJ1dGh5IHZhbHVlIHRvIGRlbm90ZSBhIG1hdGNoLlxuICogQHBhcmFtIGNvbXBhcmlzb24gICB0aGUgZW50aXR5IHRoYXQgaXMgYmVpbmcgYXNzZXJ0ZWQgYWdhaW5zdC5cbiAqIEBwYXJhbSBhbGxvd1ZhbHVlRXh0ZW5zaW9uIGlmIHByb3BlcnRpZXMgaXMgYW4gb2JqZWN0LCB0ZWxscyB3aGV0aGVyIHZhbHVlcyBtdXN0IG1hdGNoIGV4YWN0bHksIG9yIGlmIHRoZXkgYXJlXG4gKiAgICAgICAgICAgICAgICAgICAgIGFsbG93ZWQgdG8gYmUgc3VwZXJzZXRzIG9mIHRoZSByZWZlcmVuY2UgdmFsdWVzLiBNZWFuaW5nbGVzcyBpZiBwcm9wZXJ0aWVzIGlzIGEgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXZlUmVzb3VyY2UoXG4gIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICBwcm9wZXJ0aWVzPzogYW55LFxuICBjb21wYXJpc29uPzogUmVzb3VyY2VQYXJ0LFxuICBhbGxvd1ZhbHVlRXh0ZW5zaW9uOiBib29sZWFuID0gZmFsc2UpOiBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBIYXZlUmVzb3VyY2VBc3NlcnRpb24ocmVzb3VyY2VUeXBlLCBwcm9wZXJ0aWVzLCBjb21wYXJpc29uLCBhbGxvd1ZhbHVlRXh0ZW5zaW9uKTtcbn1cblxuLyoqXG4gKiBTdWdhciBmb3IgY2FsbGluZyBgYGhhdmVSZXNvdXJjZWBgIHdpdGggYGBhbGxvd1ZhbHVlRXh0ZW5zaW9uYGAgc2V0IHRvIGBgdHJ1ZWBgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGF2ZVJlc291cmNlTGlrZShcbiAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gIHByb3BlcnRpZXM/OiBhbnksXG4gIGNvbXBhcmlzb24/OiBSZXNvdXJjZVBhcnQpIHtcbiAgcmV0dXJuIGhhdmVSZXNvdXJjZShyZXNvdXJjZVR5cGUsIHByb3BlcnRpZXMsIGNvbXBhcmlzb24sIHRydWUpO1xufVxuXG5leHBvcnQgdHlwZSBQcm9wZXJ0eU1hdGNoZXIgPSAocHJvcHM6IGFueSwgaW5zcGVjdGlvbjogSW5zcGVjdGlvbkZhaWx1cmUpID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjbGFzcyBIYXZlUmVzb3VyY2VBc3NlcnRpb24gZXh0ZW5kcyBKZXN0RnJpZW5kbHlBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnNwZWN0ZWQ6IEluc3BlY3Rpb25GYWlsdXJlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXJ0OiBSZXNvdXJjZVBhcnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF0Y2hlcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgcHJvcGVydGllcz86IGFueSxcbiAgICBwYXJ0PzogUmVzb3VyY2VQYXJ0LFxuICAgIGFsbG93VmFsdWVFeHRlbnNpb246IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLm1hdGNoZXIgPSBpc0NhbGxhYmxlKHByb3BlcnRpZXMpID8gcHJvcGVydGllcyA6XG4gICAgICBwcm9wZXJ0aWVzID09PSB1bmRlZmluZWQgPyBhbnl0aGluZygpIDpcbiAgICAgICAgYWxsb3dWYWx1ZUV4dGVuc2lvbiA/IGRlZXBPYmplY3RMaWtlKHByb3BlcnRpZXMpIDpcbiAgICAgICAgICBvYmplY3RMaWtlKHByb3BlcnRpZXMpO1xuICAgIHRoaXMucGFydCA9IHBhcnQgPz8gUmVzb3VyY2VQYXJ0LlByb3BlcnRpZXM7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgIGZvciAoY29uc3QgbG9naWNhbElkIG9mIE9iamVjdC5rZXlzKGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXMgfHwge30pKSB7XG4gICAgICBjb25zdCByZXNvdXJjZSA9IGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXNbbG9naWNhbElkXTtcbiAgICAgIGlmIChyZXNvdXJjZS5UeXBlID09PSB0aGlzLnJlc291cmNlVHlwZSkge1xuICAgICAgICBjb25zdCBwcm9wc1RvQ2hlY2sgPSB0aGlzLnBhcnQgPT09IFJlc291cmNlUGFydC5Qcm9wZXJ0aWVzID8gKHJlc291cmNlLlByb3BlcnRpZXMgPz8ge30pIDogcmVzb3VyY2U7XG5cbiAgICAgICAgLy8gUGFzcyBpbnNwZWN0aW9uIG9iamVjdCBhcyAybmQgYXJndW1lbnQsIGluaXRpYWxpemUgZmFpbHVyZSB3aXRoIGRlZmF1bHQgc3RyaW5nLFxuICAgICAgICAvLyB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBwcmVkaWNhdGUgQVBJLlxuICAgICAgICBjb25zdCBpbnNwZWN0aW9uID0geyByZXNvdXJjZSwgZmFpbHVyZVJlYXNvbjogJ09iamVjdCBkaWQgbm90IG1hdGNoIHByZWRpY2F0ZScgfTtcblxuICAgICAgICBpZiAobWF0Y2gocHJvcHNUb0NoZWNrLCB0aGlzLm1hdGNoZXIsIGluc3BlY3Rpb24pKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluc3BlY3RlZC5wdXNoKGluc3BlY3Rpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUVycm9yTWVzc2FnZSgpIHtcbiAgICBjb25zdCBsaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICBsaW5lcy5wdXNoKGBOb25lIG9mICR7dGhpcy5pbnNwZWN0ZWQubGVuZ3RofSByZXNvdXJjZXMgbWF0Y2hlcyAke3RoaXMuZGVzY3JpcHRpb259LmApO1xuXG4gICAgZm9yIChjb25zdCBpbnNwZWN0ZWQgb2YgdGhpcy5pbnNwZWN0ZWQpIHtcbiAgICAgIGxpbmVzLnB1c2goYC0gJHtpbnNwZWN0ZWQuZmFpbHVyZVJlYXNvbn0gaW46YCk7XG4gICAgICBsaW5lcy5wdXNoKGluZGVudCg0LCBKU09OLnN0cmluZ2lmeShpbnNwZWN0ZWQucmVzb3VyY2UsIG51bGwsIDIpKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcikge1xuICAgIGlmICghdGhpcy5hc3NlcnRVc2luZyhpbnNwZWN0b3IpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IodGhpcy5nZW5lcmF0ZUVycm9yTWVzc2FnZSgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICByZXR1cm4gYHJlc291cmNlICcke3RoaXMucmVzb3VyY2VUeXBlfScgd2l0aCAke0pTT04uc3RyaW5naWZ5KHRoaXMubWF0Y2hlciwgdW5kZWZpbmVkLCAyKX1gO1xuICB9XG59XG5cbmZ1bmN0aW9uIGluZGVudChuOiBudW1iZXIsIHM6IHN0cmluZykge1xuICBjb25zdCBwcmVmaXggPSAnICcucmVwZWF0KG4pO1xuICByZXR1cm4gcHJlZml4ICsgcy5yZXBsYWNlKC9cXG4vZywgJ1xcbicgKyBwcmVmaXgpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluc3BlY3Rpb25GYWlsdXJlIHtcbiAgcmVzb3VyY2U6IGFueTtcbiAgZmFpbHVyZVJlYXNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoYXQgcGFydCBvZiB0aGUgcmVzb3VyY2UgdG8gY29tcGFyZVxuICovXG5leHBvcnQgZW51bSBSZXNvdXJjZVBhcnQge1xuICAvKipcbiAgICogT25seSBjb21wYXJlIHRoZSByZXNvdXJjZSdzIHByb3BlcnRpZXNcbiAgICovXG4gIFByb3BlcnRpZXMsXG5cbiAgLyoqXG4gICAqIENoZWNrIHRoZSBlbnRpcmUgQ2xvdWRGb3JtYXRpb24gY29uZmlnXG4gICAqXG4gICAqIChpbmNsdWRpbmcgVXBkYXRlQ29uZmlnLCBEZXBlbmRzT24sIGV0Yy4pXG4gICAqL1xuICBDb21wbGV0ZURlZmluaXRpb25cbn1cblxuLyoqXG4gKiBXaGV0aGVyIGEgdmFsdWUgaXMgYSBjYWxsYWJsZVxuICovXG5mdW5jdGlvbiBpc0NhbGxhYmxlKHg6IGFueSk6IHggaXMgKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XG4gIHJldHVybiB4ICYmIHt9LnRvU3RyaW5nLmNhbGwoeCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59XG5cbi8qKlxuICogUmV0dXJuIHdoZXRoZXIgYHN1cGVyT2JqYCBpcyBhIHN1cGVyLW9iamVjdCBvZiBgb2JqYC5cbiAqXG4gKiBBIHN1cGVyLW9iamVjdCBoYXMgdGhlIHNhbWUgb3IgbW9yZSBwcm9wZXJ0eSB2YWx1ZXMsIHJlY3Vyc2luZyBpbnRvIHN1YiBwcm9wZXJ0aWVzIGlmIGBgYWxsb3dWYWx1ZUV4dGVuc2lvbmBgIGlzIHRydWUuXG4gKlxuICogQXQgYW55IHBvaW50IGluIHRoZSBvYmplY3QsIGEgdmFsdWUgbWF5IGJlIHJlcGxhY2VkIHdpdGggYSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIHVzZWQgdG8gY2hlY2sgdGhhdCBwYXJ0aWN1bGFyIGZpZWxkLlxuICogVGhlIHR5cGUgb2YgYSBtYXRjaGVyIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGJlIG9mIHR5cGUgUHJvcGVydHlNYXRjaGVyLlxuICpcbiAqIEBkZXByZWNhdGVkIC0gVXNlIGBvYmplY3RMaWtlYCBvciBhIGxpdGVyYWwgb2JqZWN0IGluc3RlYWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N1cGVyT2JqZWN0KHN1cGVyT2JqOiBhbnksIHBhdHRlcm46IGFueSwgZXJyb3JzOiBzdHJpbmdbXSA9IFtdLCBhbGxvd1ZhbHVlRXh0ZW5zaW9uOiBib29sZWFuID0gZmFsc2UpOiBib29sZWFuIHtcbiAgY29uc3QgbWF0Y2hlciA9IGFsbG93VmFsdWVFeHRlbnNpb24gPyBkZWVwT2JqZWN0TGlrZShwYXR0ZXJuKSA6IG9iamVjdExpa2UocGF0dGVybik7XG5cbiAgY29uc3QgaW5zcGVjdGlvbjogSW5zcGVjdGlvbkZhaWx1cmUgPSB7IHJlc291cmNlOiBzdXBlck9iaiwgZmFpbHVyZVJlYXNvbjogJycgfTtcbiAgY29uc3QgcmV0ID0gbWF0Y2goc3VwZXJPYmosIG1hdGNoZXIsIGluc3BlY3Rpb24pO1xuICBpZiAoIXJldCkge1xuICAgIGVycm9ycy5wdXNoKGluc3BlY3Rpb24uZmFpbHVyZVJlYXNvbik7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { Assertion } from '../assertion';
2
+ import { StackPathInspector } from '../inspector';
3
+ export declare function haveType(type: string): Assertion<StackPathInspector>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.haveType = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ function haveType(type) {
6
+ return new StackPathHasTypeAssertion(type);
7
+ }
8
+ exports.haveType = haveType;
9
+ class StackPathHasTypeAssertion extends assertion_1.Assertion {
10
+ constructor(type) {
11
+ super();
12
+ this.type = type;
13
+ }
14
+ assertUsing(inspector) {
15
+ const resource = inspector.value;
16
+ return resource !== undefined && resource.Type === this.type;
17
+ }
18
+ get description() {
19
+ return `resource of type ${this.type}`;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaGF2ZS10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUF5QztBQUd6QyxTQUFnQixRQUFRLENBQUMsSUFBWTtJQUNuQyxPQUFPLElBQUkseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUZELDRCQUVDO0FBRUQsTUFBTSx5QkFBMEIsU0FBUSxxQkFBNkI7SUFDbkUsWUFBNkIsSUFBWTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQURtQixTQUFJLEdBQUosSUFBSSxDQUFRO0lBRXpDLENBQUM7SUFFTSxXQUFXLENBQUMsU0FBNkI7UUFDOUMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNqQyxPQUFPLFFBQVEsS0FBSyxTQUFTLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2VydGlvbiB9IGZyb20gJy4uL2Fzc2VydGlvbic7XG5pbXBvcnQgeyBTdGFja1BhdGhJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuXG5leHBvcnQgZnVuY3Rpb24gaGF2ZVR5cGUodHlwZTogc3RyaW5nKTogQXNzZXJ0aW9uPFN0YWNrUGF0aEluc3BlY3Rvcj4ge1xuICByZXR1cm4gbmV3IFN0YWNrUGF0aEhhc1R5cGVBc3NlcnRpb24odHlwZSk7XG59XG5cbmNsYXNzIFN0YWNrUGF0aEhhc1R5cGVBc3NlcnRpb24gZXh0ZW5kcyBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHlwZTogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IFN0YWNrUGF0aEluc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlc291cmNlID0gaW5zcGVjdG9yLnZhbHVlO1xuICAgIHJldHVybiByZXNvdXJjZSAhPT0gdW5kZWZpbmVkICYmIHJlc291cmNlLlR5cGUgPT09IHRoaXMudHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHJlc291cmNlIG9mIHR5cGUgJHt0aGlzLnR5cGV9YDtcbiAgfVxufVxuIl19
@@ -0,0 +1,19 @@
1
+ import { Assertion } from '../assertion';
2
+ import { StackInspector } from '../inspector';
3
+ export declare enum MatchStyle {
4
+ /** Requires an exact match */
5
+ EXACT = "exactly",
6
+ /** Allows any change that does not cause a resource replacement */
7
+ NO_REPLACES = "no replaces",
8
+ /** Allows additions, but no updates */
9
+ SUPERSET = "superset"
10
+ }
11
+ export declare function exactlyMatchTemplate(template: {
12
+ [key: string]: any;
13
+ }): Assertion<StackInspector>;
14
+ export declare function beASupersetOfTemplate(template: {
15
+ [key: string]: any;
16
+ }): Assertion<StackInspector>;
17
+ export declare function matchTemplate(template: {
18
+ [key: string]: any;
19
+ }, matchStyle?: MatchStyle): Assertion<StackInspector>;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchTemplate = exports.beASupersetOfTemplate = exports.exactlyMatchTemplate = exports.MatchStyle = void 0;
4
+ const cfnDiff = require("@aws-cdk/cloudformation-diff");
5
+ const assertion_1 = require("../assertion");
6
+ var MatchStyle;
7
+ (function (MatchStyle) {
8
+ /** Requires an exact match */
9
+ MatchStyle["EXACT"] = "exactly";
10
+ /** Allows any change that does not cause a resource replacement */
11
+ MatchStyle["NO_REPLACES"] = "no replaces";
12
+ /** Allows additions, but no updates */
13
+ MatchStyle["SUPERSET"] = "superset";
14
+ })(MatchStyle = exports.MatchStyle || (exports.MatchStyle = {}));
15
+ function exactlyMatchTemplate(template) {
16
+ return matchTemplate(template, MatchStyle.EXACT);
17
+ }
18
+ exports.exactlyMatchTemplate = exactlyMatchTemplate;
19
+ function beASupersetOfTemplate(template) {
20
+ return matchTemplate(template, MatchStyle.SUPERSET);
21
+ }
22
+ exports.beASupersetOfTemplate = beASupersetOfTemplate;
23
+ function matchTemplate(template, matchStyle = MatchStyle.EXACT) {
24
+ return new StackMatchesTemplateAssertion(template, matchStyle);
25
+ }
26
+ exports.matchTemplate = matchTemplate;
27
+ class StackMatchesTemplateAssertion extends assertion_1.Assertion {
28
+ constructor(template, matchStyle) {
29
+ super();
30
+ this.template = template;
31
+ this.matchStyle = matchStyle;
32
+ }
33
+ assertOrThrow(inspector) {
34
+ if (!this.assertUsing(inspector)) {
35
+ // The details have already been printed, so don't generate a huge error message
36
+ throw new Error('Template comparison produced unacceptable match');
37
+ }
38
+ }
39
+ assertUsing(inspector) {
40
+ const diff = cfnDiff.diffTemplate(this.template, inspector.value);
41
+ const acceptable = this.isDiffAcceptable(diff);
42
+ if (!acceptable) {
43
+ // Print the diff
44
+ cfnDiff.formatDifferences(process.stderr, diff);
45
+ // Print the actual template
46
+ process.stdout.write('--------------------------------------------------------------------------------------\n');
47
+ process.stdout.write(JSON.stringify(inspector.value, undefined, 2) + '\n');
48
+ }
49
+ return acceptable;
50
+ }
51
+ isDiffAcceptable(diff) {
52
+ switch (this.matchStyle) {
53
+ case MatchStyle.EXACT:
54
+ return diff.differenceCount === 0;
55
+ case MatchStyle.NO_REPLACES:
56
+ for (const change of Object.values(diff.resources.changes)) {
57
+ if (change.changeImpact === cfnDiff.ResourceImpact.MAY_REPLACE) {
58
+ return false;
59
+ }
60
+ if (change.changeImpact === cfnDiff.ResourceImpact.WILL_REPLACE) {
61
+ return false;
62
+ }
63
+ }
64
+ for (const change of Object.values(diff.parameters.changes)) {
65
+ if (change.isUpdate) {
66
+ return false;
67
+ }
68
+ }
69
+ for (const change of Object.values(diff.outputs.changes)) {
70
+ if (change.isUpdate) {
71
+ return false;
72
+ }
73
+ }
74
+ return true;
75
+ case MatchStyle.SUPERSET:
76
+ for (const change of Object.values(diff.resources.changes)) {
77
+ if (change.changeImpact !== cfnDiff.ResourceImpact.WILL_CREATE) {
78
+ return false;
79
+ }
80
+ }
81
+ for (const change of Object.values(diff.parameters.changes)) {
82
+ if (!change.isAddition) {
83
+ return false;
84
+ }
85
+ }
86
+ for (const change of Object.values(diff.outputs.changes)) {
87
+ if (!change.isAddition) {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
92
+ }
93
+ }
94
+ get description() {
95
+ return `template (${this.matchStyle}): ${JSON.stringify(this.template, null, 2)}`;
96
+ }
97
+ }
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYXRjaC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBd0Q7QUFDeEQsNENBQXlDO0FBR3pDLElBQVksVUFPWDtBQVBELFdBQVksVUFBVTtJQUNwQiw4QkFBOEI7SUFDOUIsK0JBQWlCLENBQUE7SUFDakIsbUVBQW1FO0lBQ25FLHlDQUEyQixDQUFBO0lBQzNCLHVDQUF1QztJQUN2QyxtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBUFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFPckI7QUFFRCxTQUFnQixvQkFBb0IsQ0FBQyxRQUFnQztJQUNuRSxPQUFPLGFBQWEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFGRCxvREFFQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLFFBQWdDO0lBQ3BFLE9BQU8sYUFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUZELHNEQUVDO0FBRUQsU0FBZ0IsYUFBYSxDQUMzQixRQUFnQyxFQUNoQyxhQUF5QixVQUFVLENBQUMsS0FBSztJQUN6QyxPQUFPLElBQUksNkJBQTZCLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFKRCxzQ0FJQztBQUVELE1BQU0sNkJBQThCLFNBQVEscUJBQXlCO0lBQ25FLFlBQ21CLFFBQWdDLEVBQ2hDLFVBQXNCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRlMsYUFBUSxHQUFSLFFBQVEsQ0FBd0I7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUV6QyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLGdGQUFnRjtZQUNoRixNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLFNBQXlCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixpQkFBaUI7WUFDakIsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFaEQsNEJBQTRCO1lBQzVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDBGQUEwRixDQUFDLENBQUM7WUFDakgsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUM1RTtRQUVELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUEwQjtRQUNqRCxRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsS0FBSyxVQUFVLENBQUMsS0FBSztnQkFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsQ0FBQztZQUNwQyxLQUFLLFVBQVUsQ0FBQyxXQUFXO2dCQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDMUQsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO3dCQUFFLE9BQU8sS0FBSyxDQUFDO3FCQUFFO29CQUNqRixJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssT0FBTyxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQ25GO2dCQUVELEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUMzRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQ3ZDO2dCQUVELEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUN4RCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQ3ZDO2dCQUNELE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxVQUFVLENBQUMsUUFBUTtnQkFDdEIsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzFELElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRTt3QkFBRSxPQUFPLEtBQUssQ0FBQztxQkFBRTtpQkFDbEY7Z0JBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO3dCQUFFLE9BQU8sS0FBSyxDQUFDO3FCQUFFO2lCQUMxQztnQkFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7d0JBQUUsT0FBTyxLQUFLLENBQUM7cUJBQUU7aUJBQzFDO2dCQUVELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sYUFBYSxJQUFJLENBQUMsVUFBVSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZm5EaWZmIGZyb20gJ0Bhd3MtY2RrL2Nsb3VkZm9ybWF0aW9uLWRpZmYnO1xuaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrSW5zcGVjdG9yIH0gZnJvbSAnLi4vaW5zcGVjdG9yJztcblxuZXhwb3J0IGVudW0gTWF0Y2hTdHlsZSB7XG4gIC8qKiBSZXF1aXJlcyBhbiBleGFjdCBtYXRjaCAqL1xuICBFWEFDVCA9ICdleGFjdGx5JyxcbiAgLyoqIEFsbG93cyBhbnkgY2hhbmdlIHRoYXQgZG9lcyBub3QgY2F1c2UgYSByZXNvdXJjZSByZXBsYWNlbWVudCAqL1xuICBOT19SRVBMQUNFUyA9ICdubyByZXBsYWNlcycsXG4gIC8qKiBBbGxvd3MgYWRkaXRpb25zLCBidXQgbm8gdXBkYXRlcyAqL1xuICBTVVBFUlNFVCA9ICdzdXBlcnNldCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4YWN0bHlNYXRjaFRlbXBsYXRlKHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XG4gIHJldHVybiBtYXRjaFRlbXBsYXRlKHRlbXBsYXRlLCBNYXRjaFN0eWxlLkVYQUNUKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJlQVN1cGVyc2V0T2ZUZW1wbGF0ZSh0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xuICByZXR1cm4gbWF0Y2hUZW1wbGF0ZSh0ZW1wbGF0ZSwgTWF0Y2hTdHlsZS5TVVBFUlNFVCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFRlbXBsYXRlKFxuICB0ZW1wbGF0ZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgbWF0Y2hTdHlsZTogTWF0Y2hTdHlsZSA9IE1hdGNoU3R5bGUuRVhBQ1QpOiBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBTdGFja01hdGNoZXNUZW1wbGF0ZUFzc2VydGlvbih0ZW1wbGF0ZSwgbWF0Y2hTdHlsZSk7XG59XG5cbmNsYXNzIFN0YWNrTWF0Y2hlc1RlbXBsYXRlQXNzZXJ0aW9uIGV4dGVuZHMgQXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXRjaFN0eWxlOiBNYXRjaFN0eWxlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRPclRocm93KGluc3BlY3RvcjogU3RhY2tJbnNwZWN0b3IpIHtcbiAgICBpZiAoIXRoaXMuYXNzZXJ0VXNpbmcoaW5zcGVjdG9yKSkge1xuICAgICAgLy8gVGhlIGRldGFpbHMgaGF2ZSBhbHJlYWR5IGJlZW4gcHJpbnRlZCwgc28gZG9uJ3QgZ2VuZXJhdGUgYSBodWdlIGVycm9yIG1lc3NhZ2VcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGVtcGxhdGUgY29tcGFyaXNvbiBwcm9kdWNlZCB1bmFjY2VwdGFibGUgbWF0Y2gnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGRpZmYgPSBjZm5EaWZmLmRpZmZUZW1wbGF0ZSh0aGlzLnRlbXBsYXRlLCBpbnNwZWN0b3IudmFsdWUpO1xuICAgIGNvbnN0IGFjY2VwdGFibGUgPSB0aGlzLmlzRGlmZkFjY2VwdGFibGUoZGlmZik7XG4gICAgaWYgKCFhY2NlcHRhYmxlKSB7XG4gICAgICAvLyBQcmludCB0aGUgZGlmZlxuICAgICAgY2ZuRGlmZi5mb3JtYXREaWZmZXJlbmNlcyhwcm9jZXNzLnN0ZGVyciwgZGlmZik7XG5cbiAgICAgIC8vIFByaW50IHRoZSBhY3R1YWwgdGVtcGxhdGVcbiAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcbicpO1xuICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoSlNPTi5zdHJpbmdpZnkoaW5zcGVjdG9yLnZhbHVlLCB1bmRlZmluZWQsIDIpICsgJ1xcbicpO1xuICAgIH1cblxuICAgIHJldHVybiBhY2NlcHRhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0RpZmZBY2NlcHRhYmxlKGRpZmY6IGNmbkRpZmYuVGVtcGxhdGVEaWZmKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh0aGlzLm1hdGNoU3R5bGUpIHtcbiAgICAgIGNhc2UgTWF0Y2hTdHlsZS5FWEFDVDpcbiAgICAgICAgcmV0dXJuIGRpZmYuZGlmZmVyZW5jZUNvdW50ID09PSAwO1xuICAgICAgY2FzZSBNYXRjaFN0eWxlLk5PX1JFUExBQ0VTOlxuICAgICAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBPYmplY3QudmFsdWVzKGRpZmYucmVzb3VyY2VzLmNoYW5nZXMpKSB7XG4gICAgICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VJbXBhY3QgPT09IGNmbkRpZmYuUmVzb3VyY2VJbXBhY3QuTUFZX1JFUExBQ0UpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VJbXBhY3QgPT09IGNmbkRpZmYuUmVzb3VyY2VJbXBhY3QuV0lMTF9SRVBMQUNFKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgT2JqZWN0LnZhbHVlcyhkaWZmLnBhcmFtZXRlcnMuY2hhbmdlcykpIHtcbiAgICAgICAgICBpZiAoY2hhbmdlLmlzVXBkYXRlKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGFuZ2Ugb2YgT2JqZWN0LnZhbHVlcyhkaWZmLm91dHB1dHMuY2hhbmdlcykpIHtcbiAgICAgICAgICBpZiAoY2hhbmdlLmlzVXBkYXRlKSB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBNYXRjaFN0eWxlLlNVUEVSU0VUOlxuICAgICAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBPYmplY3QudmFsdWVzKGRpZmYucmVzb3VyY2VzLmNoYW5nZXMpKSB7XG4gICAgICAgICAgaWYgKGNoYW5nZS5jaGFuZ2VJbXBhY3QgIT09IGNmbkRpZmYuUmVzb3VyY2VJbXBhY3QuV0lMTF9DUkVBVEUpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBPYmplY3QudmFsdWVzKGRpZmYucGFyYW1ldGVycy5jaGFuZ2VzKSkge1xuICAgICAgICAgIGlmICghY2hhbmdlLmlzQWRkaXRpb24pIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNoYW5nZSBvZiBPYmplY3QudmFsdWVzKGRpZmYub3V0cHV0cy5jaGFuZ2VzKSkge1xuICAgICAgICAgIGlmICghY2hhbmdlLmlzQWRkaXRpb24pIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGB0ZW1wbGF0ZSAoJHt0aGlzLm1hdGNoU3R5bGV9KTogJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRlbXBsYXRlLCBudWxsLCAyKX1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { Assertion } from '../assertion';
2
+ import { Inspector } from '../inspector';
3
+ export declare class NegatedAssertion<I extends Inspector> extends Assertion<I> {
4
+ private readonly negated;
5
+ constructor(negated: Assertion<I>);
6
+ assertUsing(inspector: I): boolean;
7
+ get description(): string;
8
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NegatedAssertion = void 0;
4
+ const assertion_1 = require("../assertion");
5
+ class NegatedAssertion extends assertion_1.Assertion {
6
+ constructor(negated) {
7
+ super();
8
+ this.negated = negated;
9
+ }
10
+ assertUsing(inspector) {
11
+ return !this.negated.assertUsing(inspector);
12
+ }
13
+ get description() {
14
+ return `not ${this.negated.description}`;
15
+ }
16
+ }
17
+ exports.NegatedAssertion = NegatedAssertion;
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVnYXRlZC1hc3NlcnRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJuZWdhdGVkLWFzc2VydGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFHekMsTUFBYSxnQkFBc0MsU0FBUSxxQkFBWTtJQUNyRSxZQUE2QixPQUFxQjtRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFjO0lBRWxELENBQUM7SUFFTSxXQUFXLENBQUMsU0FBWTtRQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0NBQ0Y7QUFaRCw0Q0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2VydGlvbiB9IGZyb20gJy4uL2Fzc2VydGlvbic7XG5pbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuXG5leHBvcnQgY2xhc3MgTmVnYXRlZEFzc2VydGlvbjxJIGV4dGVuZHMgSW5zcGVjdG9yPiBleHRlbmRzIEFzc2VydGlvbjxJPiB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbmVnYXRlZDogQXNzZXJ0aW9uPEk+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IEkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubmVnYXRlZC5hc3NlcnRVc2luZyhpbnNwZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgbm90ICR7dGhpcy5uZWdhdGVkLmRlc2NyaXB0aW9ufWA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Reduce template to a normal form where asset references have been normalized
3
+ *
4
+ * This makes it possible to compare templates if all that's different between
5
+ * them is the hashes of the asset values.
6
+ *
7
+ * Currently only handles parameterized assets, but can (and should)
8
+ * be adapted to handle convention-mode assets as well when we start using
9
+ * more of those.
10
+ */
11
+ export declare function canonicalizeTemplate(template: any): any;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalizeTemplate = void 0;
4
+ /**
5
+ * Reduce template to a normal form where asset references have been normalized
6
+ *
7
+ * This makes it possible to compare templates if all that's different between
8
+ * them is the hashes of the asset values.
9
+ *
10
+ * Currently only handles parameterized assets, but can (and should)
11
+ * be adapted to handle convention-mode assets as well when we start using
12
+ * more of those.
13
+ */
14
+ function canonicalizeTemplate(template) {
15
+ // For the weird case where we have an array of templates...
16
+ if (Array.isArray(template)) {
17
+ return template.map(canonicalizeTemplate);
18
+ }
19
+ // Find assets via parameters
20
+ const stringSubstitutions = new Array();
21
+ const paramRe = /^AssetParameters([a-zA-Z0-9]{64})(S3Bucket|S3VersionKey|ArtifactHash)([a-zA-Z0-9]{8})$/;
22
+ const assetsSeen = new Set();
23
+ for (const paramName of Object.keys((template === null || template === void 0 ? void 0 : template.Parameters) || {})) {
24
+ const m = paramRe.exec(paramName);
25
+ if (!m) {
26
+ continue;
27
+ }
28
+ if (assetsSeen.has(m[1])) {
29
+ continue;
30
+ }
31
+ assetsSeen.add(m[1]);
32
+ const ix = assetsSeen.size;
33
+ // Full parameter reference
34
+ stringSubstitutions.push([
35
+ new RegExp(`AssetParameters${m[1]}(S3Bucket|S3VersionKey|ArtifactHash)([a-zA-Z0-9]{8})`),
36
+ `Asset${ix}$1`,
37
+ ]);
38
+ // Substring asset hash reference
39
+ stringSubstitutions.push([
40
+ new RegExp(`${m[1]}`),
41
+ `Asset${ix}Hash`,
42
+ ]);
43
+ }
44
+ // Substitute them out
45
+ return substitute(template);
46
+ function substitute(what) {
47
+ if (Array.isArray(what)) {
48
+ return what.map(substitute);
49
+ }
50
+ if (typeof what === 'object' && what !== null) {
51
+ const ret = {};
52
+ for (const [k, v] of Object.entries(what)) {
53
+ ret[stringSub(k)] = substitute(v);
54
+ }
55
+ return ret;
56
+ }
57
+ if (typeof what === 'string') {
58
+ return stringSub(what);
59
+ }
60
+ return what;
61
+ }
62
+ function stringSub(x) {
63
+ for (const [re, replacement] of stringSubstitutions) {
64
+ x = x.replace(re, replacement);
65
+ }
66
+ return x;
67
+ }
68
+ }
69
+ exports.canonicalizeTemplate = canonicalizeTemplate;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fub25pY2FsaXplLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNhbm9uaWNhbGl6ZS1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsUUFBYTtJQUNoRCw0REFBNEQ7SUFDNUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBQzNDO0lBRUQsNkJBQTZCO0lBQzdCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxLQUFLLEVBQW9CLENBQUM7SUFDMUQsTUFBTSxPQUFPLEdBQUcsd0ZBQXdGLENBQUM7SUFFekcsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNyQyxLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxLQUFJLEVBQUUsQ0FBQyxFQUFFO1FBQy9ELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUFFLFNBQVM7U0FBRTtRQUNyQixJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFBRSxTQUFTO1NBQUU7UUFFdkMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBRTNCLDJCQUEyQjtRQUMzQixtQkFBbUIsQ0FBQyxJQUFJLENBQUM7WUFDdkIsSUFBSSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsc0RBQXNELENBQUM7WUFDeEYsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFDSCxpQ0FBaUM7UUFDakMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckIsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO0tBQ0o7SUFFRCxzQkFBc0I7SUFDdEIsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFNUIsU0FBUyxVQUFVLENBQUMsSUFBUztRQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtZQUM3QyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7WUFDcEIsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ3pDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkM7WUFDRCxPQUFPLEdBQUcsQ0FBQztTQUNaO1FBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUIsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxDQUFTO1FBQzFCLEtBQUssTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsSUFBSSxtQkFBbUIsRUFBRTtZQUNuRCxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7QUFDSCxDQUFDO0FBNURELG9EQTREQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVkdWNlIHRlbXBsYXRlIHRvIGEgbm9ybWFsIGZvcm0gd2hlcmUgYXNzZXQgcmVmZXJlbmNlcyBoYXZlIGJlZW4gbm9ybWFsaXplZFxuICpcbiAqIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gY29tcGFyZSB0ZW1wbGF0ZXMgaWYgYWxsIHRoYXQncyBkaWZmZXJlbnQgYmV0d2VlblxuICogdGhlbSBpcyB0aGUgaGFzaGVzIG9mIHRoZSBhc3NldCB2YWx1ZXMuXG4gKlxuICogQ3VycmVudGx5IG9ubHkgaGFuZGxlcyBwYXJhbWV0ZXJpemVkIGFzc2V0cywgYnV0IGNhbiAoYW5kIHNob3VsZClcbiAqIGJlIGFkYXB0ZWQgdG8gaGFuZGxlIGNvbnZlbnRpb24tbW9kZSBhc3NldHMgYXMgd2VsbCB3aGVuIHdlIHN0YXJ0IHVzaW5nXG4gKiBtb3JlIG9mIHRob3NlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2Fub25pY2FsaXplVGVtcGxhdGUodGVtcGxhdGU6IGFueSk6IGFueSB7XG4gIC8vIEZvciB0aGUgd2VpcmQgY2FzZSB3aGVyZSB3ZSBoYXZlIGFuIGFycmF5IG9mIHRlbXBsYXRlcy4uLlxuICBpZiAoQXJyYXkuaXNBcnJheSh0ZW1wbGF0ZSkpIHtcbiAgICByZXR1cm4gdGVtcGxhdGUubWFwKGNhbm9uaWNhbGl6ZVRlbXBsYXRlKTtcbiAgfVxuXG4gIC8vIEZpbmQgYXNzZXRzIHZpYSBwYXJhbWV0ZXJzXG4gIGNvbnN0IHN0cmluZ1N1YnN0aXR1dGlvbnMgPSBuZXcgQXJyYXk8W1JlZ0V4cCwgc3RyaW5nXT4oKTtcbiAgY29uc3QgcGFyYW1SZSA9IC9eQXNzZXRQYXJhbWV0ZXJzKFthLXpBLVowLTldezY0fSkoUzNCdWNrZXR8UzNWZXJzaW9uS2V5fEFydGlmYWN0SGFzaCkoW2EtekEtWjAtOV17OH0pJC87XG5cbiAgY29uc3QgYXNzZXRzU2VlbiA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBmb3IgKGNvbnN0IHBhcmFtTmFtZSBvZiBPYmplY3Qua2V5cyh0ZW1wbGF0ZT8uUGFyYW1ldGVycyB8fCB7fSkpIHtcbiAgICBjb25zdCBtID0gcGFyYW1SZS5leGVjKHBhcmFtTmFtZSk7XG4gICAgaWYgKCFtKSB7IGNvbnRpbnVlOyB9XG4gICAgaWYgKGFzc2V0c1NlZW4uaGFzKG1bMV0pKSB7IGNvbnRpbnVlOyB9XG5cbiAgICBhc3NldHNTZWVuLmFkZChtWzFdKTtcbiAgICBjb25zdCBpeCA9IGFzc2V0c1NlZW4uc2l6ZTtcblxuICAgIC8vIEZ1bGwgcGFyYW1ldGVyIHJlZmVyZW5jZVxuICAgIHN0cmluZ1N1YnN0aXR1dGlvbnMucHVzaChbXG4gICAgICBuZXcgUmVnRXhwKGBBc3NldFBhcmFtZXRlcnMke21bMV19KFMzQnVja2V0fFMzVmVyc2lvbktleXxBcnRpZmFjdEhhc2gpKFthLXpBLVowLTldezh9KWApLFxuICAgICAgYEFzc2V0JHtpeH0kMWAsXG4gICAgXSk7XG4gICAgLy8gU3Vic3RyaW5nIGFzc2V0IGhhc2ggcmVmZXJlbmNlXG4gICAgc3RyaW5nU3Vic3RpdHV0aW9ucy5wdXNoKFtcbiAgICAgIG5ldyBSZWdFeHAoYCR7bVsxXX1gKSxcbiAgICAgIGBBc3NldCR7aXh9SGFzaGAsXG4gICAgXSk7XG4gIH1cblxuICAvLyBTdWJzdGl0dXRlIHRoZW0gb3V0XG4gIHJldHVybiBzdWJzdGl0dXRlKHRlbXBsYXRlKTtcblxuICBmdW5jdGlvbiBzdWJzdGl0dXRlKHdoYXQ6IGFueSk6IGFueSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkod2hhdCkpIHtcbiAgICAgIHJldHVybiB3aGF0Lm1hcChzdWJzdGl0dXRlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHdoYXQgPT09ICdvYmplY3QnICYmIHdoYXQgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJldDogYW55ID0ge307XG4gICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh3aGF0KSkge1xuICAgICAgICByZXRbc3RyaW5nU3ViKGspXSA9IHN1YnN0aXR1dGUodik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2hhdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBzdHJpbmdTdWIod2hhdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdoYXQ7XG4gIH1cblxuICBmdW5jdGlvbiBzdHJpbmdTdWIoeDogc3RyaW5nKSB7XG4gICAgZm9yIChjb25zdCBbcmUsIHJlcGxhY2VtZW50XSBvZiBzdHJpbmdTdWJzdGl0dXRpb25zKSB7XG4gICAgICB4ID0geC5yZXBsYWNlKHJlLCByZXBsYWNlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiB4O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import * as api from 'aws-cdk-lib/cx-api';
3
+ import { StackInspector } from './inspector';
4
+ export declare function expect(stack: api.CloudFormationStackArtifact | cdk.Stack | Record<string, any>, skipValidation?: boolean): StackInspector;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expect = void 0;
4
+ const cdk = require("aws-cdk-lib");
5
+ const api = require("aws-cdk-lib/cx-api");
6
+ const inspector_1 = require("./inspector");
7
+ const synth_utils_1 = require("./synth-utils");
8
+ function expect(stack, skipValidation = false) {
9
+ // if this is already a synthesized stack, then just inspect it.
10
+ const artifact = stack instanceof api.CloudFormationStackArtifact ? stack
11
+ : cdk.Stack.isStack(stack) ? synth_utils_1.SynthUtils._synthesizeWithNested(stack, { skipValidation })
12
+ : stack; // This is a template already
13
+ return new inspector_1.StackInspector(artifact);
14
+ }
15
+ exports.expect = expect;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXhwZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUNuQywwQ0FBMEM7QUFDMUMsMkNBQTZDO0FBQzdDLCtDQUEyQztBQUUzQyxTQUFnQixNQUFNLENBQUMsS0FBd0UsRUFBRSxjQUFjLEdBQUcsS0FBSztJQUNySCxnRUFBZ0U7SUFDaEUsTUFBTSxRQUFRLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsS0FBSztRQUN2RSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUFVLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDdEYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLDZCQUE2QjtJQUMxQyxPQUFPLElBQUksMEJBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBTkQsd0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2N4LWFwaSc7XG5pbXBvcnQgeyBTdGFja0luc3BlY3RvciB9IGZyb20gJy4vaW5zcGVjdG9yJztcbmltcG9ydCB7IFN5bnRoVXRpbHMgfSBmcm9tICcuL3N5bnRoLXV0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdChzdGFjazogYXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCB8IGNkay5TdGFjayB8IFJlY29yZDxzdHJpbmcsIGFueT4sIHNraXBWYWxpZGF0aW9uID0gZmFsc2UpOiBTdGFja0luc3BlY3RvciB7XG4gIC8vIGlmIHRoaXMgaXMgYWxyZWFkeSBhIHN5bnRoZXNpemVkIHN0YWNrLCB0aGVuIGp1c3QgaW5zcGVjdCBpdC5cbiAgY29uc3QgYXJ0aWZhY3QgPSBzdGFjayBpbnN0YW5jZW9mIGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgPyBzdGFja1xuICAgIDogY2RrLlN0YWNrLmlzU3RhY2soc3RhY2spID8gU3ludGhVdGlscy5fc3ludGhlc2l6ZVdpdGhOZXN0ZWQoc3RhY2ssIHsgc2tpcFZhbGlkYXRpb24gfSlcbiAgICAgIDogc3RhY2s7IC8vIFRoaXMgaXMgYSB0ZW1wbGF0ZSBhbHJlYWR5XG4gIHJldHVybiBuZXcgU3RhY2tJbnNwZWN0b3IoYXJ0aWZhY3QpO1xufVxuIl19
@@ -0,0 +1,14 @@
1
+ export * from './assertion';
2
+ export * from './canonicalize-assets';
3
+ export * from './expect';
4
+ export * from './inspector';
5
+ export * from './synth-utils';
6
+ export * from './assertions/exist';
7
+ export * from './assertions/have-output';
8
+ export * from './assertions/have-resource';
9
+ export * from './assertions/have-resource-matchers';
10
+ export * from './assertions/have-type';
11
+ export * from './assertions/match-template';
12
+ export * from './assertions/and-assertion';
13
+ export * from './assertions/negated-assertion';
14
+ export * from './assertions/count-resources';
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./assertion"), exports);
14
+ __exportStar(require("./canonicalize-assets"), exports);
15
+ __exportStar(require("./expect"), exports);
16
+ __exportStar(require("./inspector"), exports);
17
+ __exportStar(require("./synth-utils"), exports);
18
+ __exportStar(require("./assertions/exist"), exports);
19
+ __exportStar(require("./assertions/have-output"), exports);
20
+ __exportStar(require("./assertions/have-resource"), exports);
21
+ __exportStar(require("./assertions/have-resource-matchers"), exports);
22
+ __exportStar(require("./assertions/have-type"), exports);
23
+ __exportStar(require("./assertions/match-template"), exports);
24
+ __exportStar(require("./assertions/and-assertion"), exports);
25
+ __exportStar(require("./assertions/negated-assertion"), exports);
26
+ __exportStar(require("./assertions/count-resources"), exports);
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsd0RBQXNDO0FBQ3RDLDJDQUF5QjtBQUN6Qiw4Q0FBNEI7QUFDNUIsZ0RBQThCO0FBRTlCLHFEQUFtQztBQUNuQywyREFBeUM7QUFDekMsNkRBQTJDO0FBQzNDLHNFQUFvRDtBQUNwRCx5REFBdUM7QUFDdkMsOERBQTRDO0FBQzVDLDZEQUEyQztBQUMzQyxpRUFBK0M7QUFDL0MsK0RBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYW5vbmljYWxpemUtYXNzZXRzJztcbmV4cG9ydCAqIGZyb20gJy4vZXhwZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vaW5zcGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc3ludGgtdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydGlvbnMvZXhpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL2hhdmUtb3V0cHV0JztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlLW1hdGNoZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9oYXZlLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NlcnRpb25zL21hdGNoLXRlbXBsYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9hbmQtYXNzZXJ0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXJ0aW9ucy9uZWdhdGVkLWFzc2VydGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2Fzc2VydGlvbnMvY291bnQtcmVzb3VyY2VzJztcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import * as api from 'aws-cdk-lib/cx-api';
2
+ import { Assertion } from './assertion';
3
+ import { MatchStyle } from './assertions/match-template';
4
+ export declare abstract class Inspector {
5
+ aroundAssert?: (cb: () => void) => any;
6
+ constructor();
7
+ to(assertion: Assertion<this>): any;
8
+ notTo(assertion: Assertion<this>): any;
9
+ abstract get value(): any;
10
+ private _to;
11
+ }
12
+ export declare class StackInspector extends Inspector {
13
+ readonly stack: api.CloudFormationStackArtifact | object;
14
+ private readonly template;
15
+ constructor(stack: api.CloudFormationStackArtifact | object);
16
+ at(path: string | string[]): StackPathInspector;
17
+ toMatch(template: {
18
+ [key: string]: any;
19
+ }, matchStyle?: MatchStyle): any;
20
+ get value(): {
21
+ [key: string]: any;
22
+ };
23
+ }
24
+ export declare class StackPathInspector extends Inspector {
25
+ readonly stack: api.CloudFormationStackArtifact;
26
+ readonly path: string;
27
+ constructor(stack: api.CloudFormationStackArtifact, path: string);
28
+ get value(): {
29
+ [key: string]: any;
30
+ } | undefined;
31
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StackPathInspector = exports.StackInspector = exports.Inspector = void 0;
4
+ const cxschema = require("aws-cdk-lib/cloud-assembly-schema");
5
+ const api = require("aws-cdk-lib/cx-api");
6
+ const assertion_1 = require("./assertion");
7
+ const match_template_1 = require("./assertions/match-template");
8
+ class Inspector {
9
+ constructor() {
10
+ this.aroundAssert = undefined;
11
+ }
12
+ to(assertion) {
13
+ return this.aroundAssert ? this.aroundAssert(() => this._to(assertion))
14
+ : this._to(assertion);
15
+ }
16
+ notTo(assertion) {
17
+ return this.to(assertion_1.not(assertion));
18
+ }
19
+ _to(assertion) {
20
+ assertion.assertOrThrow(this);
21
+ }
22
+ }
23
+ exports.Inspector = Inspector;
24
+ class StackInspector extends Inspector {
25
+ constructor(stack) {
26
+ super();
27
+ this.stack = stack;
28
+ this.template = stack instanceof api.CloudFormationStackArtifact ? stack.template : stack;
29
+ }
30
+ at(path) {
31
+ if (!(this.stack instanceof api.CloudFormationStackArtifact)) {
32
+ throw new Error('Cannot use "expect(stack).at(path)" for a raw template, only CloudFormationStackArtifact');
33
+ }
34
+ const strPath = typeof path === 'string' ? path : path.join('/');
35
+ return new StackPathInspector(this.stack, strPath);
36
+ }
37
+ toMatch(template, matchStyle = match_template_1.MatchStyle.EXACT) {
38
+ return this.to(match_template_1.matchTemplate(template, matchStyle));
39
+ }
40
+ get value() {
41
+ return this.template;
42
+ }
43
+ }
44
+ exports.StackInspector = StackInspector;
45
+ class StackPathInspector extends Inspector {
46
+ constructor(stack, path) {
47
+ super();
48
+ this.stack = stack;
49
+ this.path = path;
50
+ }
51
+ get value() {
52
+ // The names of paths in metadata in tests are very ill-defined. Try with the full path first,
53
+ // then try with the stack name preprended for backwards compat with most tests that happen to give
54
+ // their stack an ID that's the same as the stack name.
55
+ const metadata = this.stack.manifest.metadata || {};
56
+ const md = metadata[this.path] || metadata[`/${this.stack.id}${this.path}`];
57
+ if (md === undefined) {
58
+ return undefined;
59
+ }
60
+ const resourceMd = md.find(entry => entry.type === cxschema.ArtifactMetadataEntryType.LOGICAL_ID);
61
+ if (resourceMd === undefined) {
62
+ return undefined;
63
+ }
64
+ const logicalId = resourceMd.data;
65
+ return this.stack.template.Resources[logicalId];
66
+ }
67
+ }
68
+ exports.StackPathInspector = StackPathInspector;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5zcGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUE4RDtBQUM5RCwwQ0FBMEM7QUFDMUMsMkNBQTZDO0FBQzdDLGdFQUF3RTtBQUV4RSxNQUFzQixTQUFTO0lBRzdCO1FBQ0UsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVNLEVBQUUsQ0FBQyxTQUEwQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQTBCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBSU8sR0FBRyxDQUFDLFNBQTBCO1FBQ3BDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGO0FBckJELDhCQXFCQztBQUVELE1BQWEsY0FBZSxTQUFRLFNBQVM7SUFJM0MsWUFBNEIsS0FBK0M7UUFDekUsS0FBSyxFQUFFLENBQUM7UUFEa0IsVUFBSyxHQUFMLEtBQUssQ0FBMEM7UUFHekUsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLFlBQVksR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUYsQ0FBQztJQUVNLEVBQUUsQ0FBQyxJQUF1QjtRQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1lBQzVELE1BQU0sSUFBSSxLQUFLLENBQUMsMEZBQTBGLENBQUMsQ0FBQztTQUM3RztRQUVELE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxPQUFPLENBQUMsUUFBZ0MsRUFBRSxVQUFVLEdBQUcsMkJBQVUsQ0FBQyxLQUFLO1FBQzVFLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBMUJELHdDQTBCQztBQUVELE1BQWEsa0JBQW1CLFNBQVEsU0FBUztJQUMvQyxZQUE0QixLQUFzQyxFQUFrQixJQUFZO1FBQzlGLEtBQUssRUFBRSxDQUFDO1FBRGtCLFVBQUssR0FBTCxLQUFLLENBQWlDO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVE7SUFFaEcsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLDhGQUE4RjtRQUM5RixtR0FBbUc7UUFDbkcsdURBQXVEO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDcEQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO1FBQzNDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRyxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFBRSxPQUFPLFNBQVMsQ0FBQztTQUFFO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUF3QyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRjtBQWpCRCxnREFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjeHNjaGVtYSBmcm9tICdhd3MtY2RrLWxpYi9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuaW1wb3J0ICogYXMgYXBpIGZyb20gJ2F3cy1jZGstbGliL2N4LWFwaSc7XG5pbXBvcnQgeyBBc3NlcnRpb24sIG5vdCB9IGZyb20gJy4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IE1hdGNoU3R5bGUsIG1hdGNoVGVtcGxhdGUgfSBmcm9tICcuL2Fzc2VydGlvbnMvbWF0Y2gtdGVtcGxhdGUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSW5zcGVjdG9yIHtcbiAgcHVibGljIGFyb3VuZEFzc2VydD86IChjYjogKCkgPT4gdm9pZCkgPT4gYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYXJvdW5kQXNzZXJ0ID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHRvKGFzc2VydGlvbjogQXNzZXJ0aW9uPHRoaXM+KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5hcm91bmRBc3NlcnQgPyB0aGlzLmFyb3VuZEFzc2VydCgoKSA9PiB0aGlzLl90byhhc3NlcnRpb24pKVxuICAgICAgOiB0aGlzLl90byhhc3NlcnRpb24pO1xuICB9XG5cbiAgcHVibGljIG5vdFRvKGFzc2VydGlvbjogQXNzZXJ0aW9uPHRoaXM+KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy50byhub3QoYXNzZXJ0aW9uKSk7XG4gIH1cblxuICBhYnN0cmFjdCBnZXQgdmFsdWUoKTogYW55O1xuXG4gIHByaXZhdGUgX3RvKGFzc2VydGlvbjogQXNzZXJ0aW9uPHRoaXM+KTogYW55IHtcbiAgICBhc3NlcnRpb24uYXNzZXJ0T3JUaHJvdyh0aGlzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tJbnNwZWN0b3IgZXh0ZW5kcyBJbnNwZWN0b3Ige1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGVtcGxhdGU6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHN0YWNrOiBhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IHwgb2JqZWN0KSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMudGVtcGxhdGUgPSBzdGFjayBpbnN0YW5jZW9mIGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgPyBzdGFjay50ZW1wbGF0ZSA6IHN0YWNrO1xuICB9XG5cbiAgcHVibGljIGF0KHBhdGg6IHN0cmluZyB8IHN0cmluZ1tdKTogU3RhY2tQYXRoSW5zcGVjdG9yIHtcbiAgICBpZiAoISh0aGlzLnN0YWNrIGluc3RhbmNlb2YgYXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBcImV4cGVjdChzdGFjaykuYXQocGF0aClcIiBmb3IgYSByYXcgdGVtcGxhdGUsIG9ubHkgQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyUGF0aCA9IHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJyA/IHBhdGggOiBwYXRoLmpvaW4oJy8nKTtcbiAgICByZXR1cm4gbmV3IFN0YWNrUGF0aEluc3BlY3Rvcih0aGlzLnN0YWNrLCBzdHJQYXRoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b01hdGNoKHRlbXBsYXRlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9LCBtYXRjaFN0eWxlID0gTWF0Y2hTdHlsZS5FWEFDVCkge1xuICAgIHJldHVybiB0aGlzLnRvKG1hdGNoVGVtcGxhdGUodGVtcGxhdGUsIG1hdGNoU3R5bGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHRoaXMudGVtcGxhdGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrUGF0aEluc3BlY3RvciBleHRlbmRzIEluc3BlY3RvciB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzdGFjazogYXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCwgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB1bmRlZmluZWQge1xuICAgIC8vIFRoZSBuYW1lcyBvZiBwYXRocyBpbiBtZXRhZGF0YSBpbiB0ZXN0cyBhcmUgdmVyeSBpbGwtZGVmaW5lZC4gVHJ5IHdpdGggdGhlIGZ1bGwgcGF0aCBmaXJzdCxcbiAgICAvLyB0aGVuIHRyeSB3aXRoIHRoZSBzdGFjayBuYW1lIHByZXByZW5kZWQgZm9yIGJhY2t3YXJkcyBjb21wYXQgd2l0aCBtb3N0IHRlc3RzIHRoYXQgaGFwcGVuIHRvIGdpdmVcbiAgICAvLyB0aGVpciBzdGFjayBhbiBJRCB0aGF0J3MgdGhlIHNhbWUgYXMgdGhlIHN0YWNrIG5hbWUuXG4gICAgY29uc3QgbWV0YWRhdGEgPSB0aGlzLnN0YWNrLm1hbmlmZXN0Lm1ldGFkYXRhIHx8IHt9O1xuICAgIGNvbnN0IG1kID0gbWV0YWRhdGFbdGhpcy5wYXRoXSB8fCBtZXRhZGF0YVtgLyR7dGhpcy5zdGFjay5pZH0ke3RoaXMucGF0aH1gXTtcbiAgICBpZiAobWQgPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gICAgY29uc3QgcmVzb3VyY2VNZCA9IG1kLmZpbmQoZW50cnkgPT4gZW50cnkudHlwZSA9PT0gY3hzY2hlbWEuQXJ0aWZhY3RNZXRhZGF0YUVudHJ5VHlwZS5MT0dJQ0FMX0lEKTtcbiAgICBpZiAocmVzb3VyY2VNZCA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgICBjb25zdCBsb2dpY2FsSWQgPSByZXNvdXJjZU1kLmRhdGEgYXMgY3hzY2hlbWEuTG9nTWVzc2FnZU1ldGFkYXRhRW50cnk7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2sudGVtcGxhdGUuUmVzb3VyY2VzW2xvZ2ljYWxJZF07XG4gIH1cbn1cbiJdfQ==