cdk-common 0.0.68 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +21 -21
- package/.jsii +2662 -552
- package/API.md +27 -64
- package/README.md +9 -2
- package/lib/integ-default.d.ts +3 -3
- package/lib/integ-default.js +6 -5
- package/lib/main.d.ts +4 -4
- package/lib/main.js +7 -6
- package/node_modules/@aws-cdk/assert/BUILD.md +15 -0
- package/node_modules/@aws-cdk/assert/LICENSE +201 -0
- package/node_modules/@aws-cdk/assert/NOTICE +2 -0
- package/node_modules/@aws-cdk/assert/README.md +229 -0
- package/node_modules/@aws-cdk/assert/clone.sh +29 -0
- package/node_modules/@aws-cdk/assert/jest.d.ts +14 -0
- package/node_modules/@aws-cdk/assert/jest.js +57 -0
- package/node_modules/@aws-cdk/assert/lib/assertion.d.ts +17 -0
- package/node_modules/@aws-cdk/assert/lib/assertion.js +31 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.d.ts +10 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/and-assertion.js +21 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.d.ts +10 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/count-resources.js +54 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/exist.d.ts +3 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/exist.js +18 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-output.d.ts +29 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-output.js +78 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.d.ts +123 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource-matchers.js +404 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.d.ts +69 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-resource.js +131 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-type.d.ts +3 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/have-type.js +22 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/match-template.d.ts +19 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/match-template.js +98 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.d.ts +8 -0
- package/node_modules/@aws-cdk/assert/lib/assertions/negated-assertion.js +18 -0
- package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.d.ts +11 -0
- package/node_modules/@aws-cdk/assert/lib/canonicalize-assets.js +70 -0
- package/node_modules/@aws-cdk/assert/lib/expect.d.ts +4 -0
- package/node_modules/@aws-cdk/assert/lib/expect.js +16 -0
- package/node_modules/@aws-cdk/assert/lib/index.d.ts +14 -0
- package/node_modules/@aws-cdk/assert/lib/index.js +27 -0
- package/node_modules/@aws-cdk/assert/lib/inspector.d.ts +31 -0
- package/node_modules/@aws-cdk/assert/lib/inspector.js +69 -0
- package/node_modules/@aws-cdk/assert/lib/synth-utils.d.ts +30 -0
- package/node_modules/@aws-cdk/assert/lib/synth-utils.js +93 -0
- package/node_modules/@aws-cdk/assert/package.json +77 -0
- package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +9353 -0
- package/node_modules/@aws-cdk/cfnspec/LICENSE +201 -0
- package/node_modules/@aws-cdk/cfnspec/NOTICE +2 -0
- package/node_modules/@aws-cdk/cfnspec/README.md +14 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/build.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +83 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.d.ts +6 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/create-missing-libraries.js +308 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +14 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +130 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.d.ts +12 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/scrutiny.js +85 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/spec-diff.js +237 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +201 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +2 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update-cfnlint.sh +18 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +13 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +81 -0
- package/node_modules/@aws-cdk/cfnspec/cfn.version +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/base.css +224 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/block-navigation.js +79 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +443 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +344 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/index.html +156 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +31181 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/base.css +224 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/block-navigation.js +79 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +443 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +344 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/favicon.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +156 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +111 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +440 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +557 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +371 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +167 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +186 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +98 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +965 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +572 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +248 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.css +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/prettify.js +2 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/sorter.js +170 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +709 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +299 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +111 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +440 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +126 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +557 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +371 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +167 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +186 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +98 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +965 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +572 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +248 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.css +1 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/prettify.js +2 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/sort-arrow-sprite.png +0 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/sorter.js +170 -0
- package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.d.ts +24 -0
- package/node_modules/@aws-cdk/cfnspec/lib/_private_schema/cfn-lint.js +3 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_EC2_VPNConnection.json +27 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_Lambda_Function.json +27 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBCluster.json +70 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_RDS_DBInstance.json +37 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SNS_Topic.json +52 -0
- package/node_modules/@aws-cdk/cfnspec/lib/augmentations/AWS_SQS_Queue.json +53 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +163 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.d.ts +60 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/canned-metrics-schema.js +12 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +22175 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.d.ts +41 -0
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics.js +77 -0
- package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +55 -0
- package/node_modules/@aws-cdk/cfnspec/lib/index.js +171 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.d.ts +87 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/augmentation.js +28 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.d.ts +14 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/base-types.js +29 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.d.ts +13 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/cfn-lint.js +3 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +6 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +19 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/property.d.ts +174 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/property.js +161 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.d.ts +117 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/resource-type.js +99 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.d.ts +56 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/specification.js +11 -0
- package/node_modules/@aws-cdk/cfnspec/package.json +61 -0
- package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +34 -0
- package/node_modules/@aws-cdk/cfnspec/spec/specification.json +110800 -0
- package/node_modules/@aws-cdk/cfnspec/tsconfig.json +24 -0
- package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +4584 -0
- package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +201 -0
- package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +2 -0
- package/node_modules/@aws-cdk/cloudformation-diff/README.md +12 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.d.ts +9 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/index.js +94 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.d.ts +326 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/types.js +456 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.d.ts +41 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff/util.js +165 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.d.ts +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diff-template.js +166 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.d.ts +22 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/diffable.js +47 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.d.ts +6 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format-table.js +109 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format.d.ts +23 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/format.js +414 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.d.ts +62 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/iam-changes.js +246 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.d.ts +18 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/managed-policy.js +29 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.d.ts +127 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/iam/statement.js +266 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/index.d.ts +4 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/index.js +18 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.d.ts +32 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-changes.js +95 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.d.ts +50 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/network/security-group-rule.js +91 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.d.ts +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/render-intrinsics.js +79 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/util.d.ts +7 -0
- package/node_modules/@aws-cdk/cloudformation-diff/lib/util.js +63 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/README.md +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/assert.d.ts +99 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/async_hooks.d.ts +144 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/base.d.ts +19 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/buffer.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/child_process.d.ts +369 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/cluster.d.ts +260 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/console.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/constants.d.ts +449 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/crypto.d.ts +613 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dgram.d.ts +97 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/dns.d.ts +366 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/domain.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/events.d.ts +30 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/fs.d.ts +2302 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/globals.d.ts +1066 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http.d.ts +274 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/http2.d.ts +859 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/https.d.ts +51 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/index.d.ts +41 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/inspector.d.ts +3162 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/module.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/net.d.ts +251 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/os.d.ts +254 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/package.json +181 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/path.d.ts +159 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/perf_hooks.d.ts +169 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/process.d.ts +3 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/punycode.d.ts +68 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/querystring.d.ts +17 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/readline.d.ts +143 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/repl.d.ts +380 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/stream.d.ts +313 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/string_decoder.d.ts +9 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/timers.d.ts +16 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tls.d.ts +459 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/trace_events.d.ts +61 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/assert.d.ts +73 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/base.d.ts +54 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/ts3.6/index.d.ts +6 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/tty.d.ts +17 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/url.d.ts +104 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/util.d.ts +187 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/v8.d.ts +28 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/vm.d.ts +81 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/worker_threads.d.ts +124 -0
- package/node_modules/@aws-cdk/cloudformation-diff/node_modules/@types/node/zlib.d.ts +327 -0
- package/node_modules/@aws-cdk/cloudformation-diff/package.json +61 -0
- package/node_modules/ansi-regex/index.d.ts +37 -0
- package/node_modules/ansi-regex/index.js +10 -0
- package/node_modules/ansi-regex/license +9 -0
- package/node_modules/ansi-regex/package.json +55 -0
- package/node_modules/ansi-regex/readme.md +78 -0
- package/node_modules/ansi-styles/index.d.ts +345 -0
- package/node_modules/ansi-styles/index.js +163 -0
- package/node_modules/ansi-styles/license +9 -0
- package/node_modules/ansi-styles/package.json +56 -0
- package/node_modules/ansi-styles/readme.md +152 -0
- package/node_modules/astral-regex/index.d.ts +28 -0
- package/node_modules/astral-regex/index.js +6 -0
- package/node_modules/astral-regex/license +9 -0
- package/node_modules/astral-regex/package.json +33 -0
- package/node_modules/astral-regex/readme.md +46 -0
- package/node_modules/at-least-node/LICENSE +6 -0
- package/node_modules/at-least-node/README.md +25 -0
- package/node_modules/at-least-node/index.js +5 -0
- package/node_modules/at-least-node/package.json +32 -0
- package/node_modules/charenc/LICENSE.mkd +27 -0
- package/node_modules/charenc/README.js +1 -0
- package/node_modules/charenc/charenc.js +33 -0
- package/node_modules/charenc/package.json +24 -0
- package/node_modules/color-convert/CHANGELOG.md +54 -0
- package/node_modules/color-convert/LICENSE +21 -0
- package/node_modules/color-convert/README.md +68 -0
- package/node_modules/color-convert/conversions.js +839 -0
- package/node_modules/color-convert/index.js +81 -0
- package/node_modules/color-convert/package.json +48 -0
- package/node_modules/color-convert/route.js +97 -0
- package/node_modules/color-name/LICENSE +8 -0
- package/node_modules/color-name/README.md +11 -0
- package/node_modules/color-name/index.js +152 -0
- package/node_modules/color-name/package.json +28 -0
- package/node_modules/colors/LICENSE +25 -0
- package/node_modules/colors/README.md +221 -0
- package/node_modules/colors/examples/normal-usage.js +82 -0
- package/node_modules/colors/examples/safe-string.js +79 -0
- package/node_modules/colors/index.d.ts +136 -0
- package/node_modules/colors/lib/colors.js +211 -0
- package/node_modules/colors/lib/custom/trap.js +46 -0
- package/node_modules/colors/lib/custom/zalgo.js +110 -0
- package/node_modules/colors/lib/extendStringPrototype.js +110 -0
- package/node_modules/colors/lib/index.js +13 -0
- package/node_modules/colors/lib/maps/america.js +10 -0
- package/node_modules/colors/lib/maps/rainbow.js +12 -0
- package/node_modules/colors/lib/maps/random.js +11 -0
- package/node_modules/colors/lib/maps/zebra.js +5 -0
- package/node_modules/colors/lib/styles.js +95 -0
- package/node_modules/colors/lib/system/has-flag.js +35 -0
- package/node_modules/colors/lib/system/supports-colors.js +151 -0
- package/node_modules/colors/package.json +45 -0
- package/node_modules/colors/safe.d.ts +48 -0
- package/node_modules/colors/safe.js +10 -0
- package/node_modules/colors/themes/generic-logging.js +12 -0
- package/node_modules/crypt/LICENSE.mkd +27 -0
- package/node_modules/crypt/README.mkd +1 -0
- package/node_modules/crypt/crypt.js +96 -0
- package/node_modules/crypt/package.json +22 -0
- package/node_modules/diff/CONTRIBUTING.md +39 -0
- package/node_modules/diff/LICENSE +31 -0
- package/node_modules/diff/README.md +208 -0
- package/node_modules/diff/dist/diff.js +1582 -0
- package/node_modules/diff/lib/convert/dmp.js +32 -0
- package/node_modules/diff/lib/convert/xml.js +42 -0
- package/node_modules/diff/lib/diff/array.js +45 -0
- package/node_modules/diff/lib/diff/base.js +304 -0
- package/node_modules/diff/lib/diff/character.js +37 -0
- package/node_modules/diff/lib/diff/css.js +41 -0
- package/node_modules/diff/lib/diff/json.js +163 -0
- package/node_modules/diff/lib/diff/line.js +89 -0
- package/node_modules/diff/lib/diff/sentence.js +41 -0
- package/node_modules/diff/lib/diff/word.js +108 -0
- package/node_modules/diff/lib/index.es6.js +1553 -0
- package/node_modules/diff/lib/index.js +216 -0
- package/node_modules/diff/lib/index.mjs +1553 -0
- package/node_modules/diff/lib/patch/apply.js +238 -0
- package/node_modules/diff/lib/patch/create.js +267 -0
- package/node_modules/diff/lib/patch/merge.js +613 -0
- package/node_modules/diff/lib/patch/parse.js +167 -0
- package/node_modules/diff/lib/util/array.js +32 -0
- package/node_modules/diff/lib/util/distance-iterator.js +57 -0
- package/node_modules/diff/lib/util/params.js +24 -0
- package/node_modules/diff/package.json +87 -0
- package/node_modules/diff/release-notes.md +303 -0
- package/node_modules/diff/runtime.js +3 -0
- package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/node_modules/emoji-regex/README.md +73 -0
- package/node_modules/emoji-regex/es2015/index.js +6 -0
- package/node_modules/emoji-regex/es2015/text.js +6 -0
- package/node_modules/emoji-regex/index.d.ts +23 -0
- package/node_modules/emoji-regex/index.js +6 -0
- package/node_modules/emoji-regex/package.json +50 -0
- package/node_modules/emoji-regex/text.js +6 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +61 -0
- package/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/fs-extra/CHANGELOG.md +902 -0
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +264 -0
- package/node_modules/fs-extra/lib/copy/copy.js +232 -0
- package/node_modules/fs-extra/lib/copy/index.js +6 -0
- package/node_modules/fs-extra/lib/copy-sync/copy-sync.js +166 -0
- package/node_modules/fs-extra/lib/copy-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/empty/index.js +48 -0
- package/node_modules/fs-extra/lib/ensure/file.js +69 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +61 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +63 -0
- package/node_modules/fs-extra/lib/fs/index.js +130 -0
- package/node_modules/fs-extra/lib/index.js +27 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/make-dir.js +141 -0
- package/node_modules/fs-extra/lib/move/index.js +6 -0
- package/node_modules/fs-extra/lib/move/move.js +65 -0
- package/node_modules/fs-extra/lib/move-sync/index.js +5 -0
- package/node_modules/fs-extra/lib/move-sync/move-sync.js +47 -0
- package/node_modules/fs-extra/lib/output/index.js +40 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +9 -0
- package/node_modules/fs-extra/lib/remove/rimraf.js +302 -0
- package/node_modules/fs-extra/lib/util/stat.js +139 -0
- package/node_modules/fs-extra/lib/util/utimes.js +26 -0
- package/node_modules/fs-extra/package.json +70 -0
- package/node_modules/graceful-fs/LICENSE +15 -0
- package/node_modules/graceful-fs/README.md +143 -0
- package/node_modules/graceful-fs/clone.js +23 -0
- package/node_modules/graceful-fs/graceful-fs.js +429 -0
- package/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/node_modules/graceful-fs/package.json +50 -0
- package/node_modules/graceful-fs/polyfills.js +346 -0
- package/node_modules/is-buffer/LICENSE +21 -0
- package/node_modules/is-buffer/README.md +53 -0
- package/node_modules/is-buffer/index.js +21 -0
- package/node_modules/is-buffer/package.json +51 -0
- package/node_modules/is-buffer/test/basic.js +24 -0
- package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- package/node_modules/is-fullwidth-code-point/index.js +50 -0
- package/node_modules/is-fullwidth-code-point/license +9 -0
- package/node_modules/is-fullwidth-code-point/package.json +42 -0
- package/node_modules/is-fullwidth-code-point/readme.md +39 -0
- package/node_modules/jsonfile/CHANGELOG.md +171 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +230 -0
- package/node_modules/jsonfile/index.js +88 -0
- package/node_modules/jsonfile/package.json +40 -0
- package/node_modules/jsonfile/utils.js +14 -0
- package/node_modules/lodash.truncate/LICENSE +47 -0
- package/node_modules/lodash.truncate/README.md +18 -0
- package/node_modules/lodash.truncate/index.js +632 -0
- package/node_modules/lodash.truncate/package.json +17 -0
- package/node_modules/md5/.travis.yml +7 -0
- package/node_modules/md5/LICENSE +27 -0
- package/node_modules/md5/README.md +111 -0
- package/node_modules/md5/demo/index.html +48 -0
- package/node_modules/md5/dist/md5.min.js +7 -0
- package/node_modules/md5/md5.js +160 -0
- package/node_modules/md5/package.json +38 -0
- package/node_modules/md5/test.js +75 -0
- package/node_modules/md5/webpack.config.js +13 -0
- package/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/node_modules/punycode/README.md +122 -0
- package/node_modules/punycode/package.json +58 -0
- package/node_modules/punycode/punycode.es6.js +441 -0
- package/node_modules/punycode/punycode.js +440 -0
- package/node_modules/require-from-string/index.js +34 -0
- package/node_modules/require-from-string/license +21 -0
- package/node_modules/require-from-string/package.json +28 -0
- package/node_modules/require-from-string/readme.md +56 -0
- package/node_modules/slice-ansi/index.js +103 -0
- package/node_modules/slice-ansi/license +10 -0
- package/node_modules/slice-ansi/package.json +52 -0
- package/node_modules/slice-ansi/readme.md +66 -0
- package/node_modules/string-width/index.d.ts +29 -0
- package/node_modules/string-width/index.js +47 -0
- package/node_modules/string-width/license +9 -0
- package/node_modules/string-width/package.json +56 -0
- package/node_modules/string-width/readme.md +50 -0
- package/node_modules/strip-ansi/index.d.ts +17 -0
- package/node_modules/strip-ansi/index.js +4 -0
- package/node_modules/strip-ansi/license +9 -0
- package/node_modules/strip-ansi/package.json +54 -0
- package/node_modules/strip-ansi/readme.md +46 -0
- package/node_modules/table/LICENSE +24 -0
- package/node_modules/table/README.md +759 -0
- package/node_modules/table/dist/src/alignString.d.ts +6 -0
- package/node_modules/table/dist/src/alignString.js +60 -0
- package/node_modules/table/dist/src/alignTableData.d.ts +2 -0
- package/node_modules/table/dist/src/alignTableData.js +14 -0
- package/node_modules/table/dist/src/calculateCellHeight.d.ts +4 -0
- package/node_modules/table/dist/src/calculateCellHeight.js +12 -0
- package/node_modules/table/dist/src/calculateCellWidths.d.ts +5 -0
- package/node_modules/table/dist/src/calculateCellWidths.js +17 -0
- package/node_modules/table/dist/src/calculateColumnWidths.d.ts +6 -0
- package/node_modules/table/dist/src/calculateColumnWidths.js +17 -0
- package/node_modules/table/dist/src/calculateRowHeights.d.ts +5 -0
- package/node_modules/table/dist/src/calculateRowHeights.js +19 -0
- package/node_modules/table/dist/src/createStream.d.ts +2 -0
- package/node_modules/table/dist/src/createStream.js +73 -0
- package/node_modules/table/dist/src/drawBorder.d.ts +26 -0
- package/node_modules/table/dist/src/drawBorder.js +101 -0
- package/node_modules/table/dist/src/drawContent.d.ts +9 -0
- package/node_modules/table/dist/src/drawContent.js +27 -0
- package/node_modules/table/dist/src/drawHeader.d.ts +2 -0
- package/node_modules/table/dist/src/drawHeader.js +30 -0
- package/node_modules/table/dist/src/drawRow.d.ts +6 -0
- package/node_modules/table/dist/src/drawRow.js +21 -0
- package/node_modules/table/dist/src/drawTable.d.ts +2 -0
- package/node_modules/table/dist/src/drawTable.js +39 -0
- package/node_modules/table/dist/src/generated/validators.d.ts +13 -0
- package/node_modules/table/dist/src/generated/validators.js +2171 -0
- package/node_modules/table/dist/src/getBorderCharacters.d.ts +2 -0
- package/node_modules/table/dist/src/getBorderCharacters.js +89 -0
- package/node_modules/table/dist/src/index.d.ts +5 -0
- package/node_modules/table/dist/src/index.js +21 -0
- package/node_modules/table/dist/src/makeStreamConfig.d.ts +7 -0
- package/node_modules/table/dist/src/makeStreamConfig.js +43 -0
- package/node_modules/table/dist/src/makeTableConfig.d.ts +7 -0
- package/node_modules/table/dist/src/makeTableConfig.js +65 -0
- package/node_modules/table/dist/src/mapDataUsingRowHeights.d.ts +2 -0
- package/node_modules/table/dist/src/mapDataUsingRowHeights.js +45 -0
- package/node_modules/table/dist/src/padTableData.d.ts +3 -0
- package/node_modules/table/dist/src/padTableData.js +17 -0
- package/node_modules/table/dist/src/stringifyTableData.d.ts +2 -0
- package/node_modules/table/dist/src/stringifyTableData.js +13 -0
- package/node_modules/table/dist/src/table.d.ts +2 -0
- package/node_modules/table/dist/src/table.js +27 -0
- package/node_modules/table/dist/src/truncateTableData.d.ts +6 -0
- package/node_modules/table/dist/src/truncateTableData.js +24 -0
- package/node_modules/table/dist/src/types/api.d.ts +114 -0
- package/node_modules/table/dist/src/types/api.js +3 -0
- package/node_modules/table/dist/src/types/internal.d.ts +1 -0
- package/node_modules/table/dist/src/types/internal.js +3 -0
- package/node_modules/table/dist/src/utils.d.ts +1 -0
- package/node_modules/table/dist/src/utils.js +93 -0
- package/node_modules/table/dist/src/validateConfig.d.ts +2 -0
- package/node_modules/table/dist/src/validateConfig.js +27 -0
- package/node_modules/table/dist/src/validateTableData.d.ts +1 -0
- package/node_modules/table/dist/src/validateTableData.js +32 -0
- package/node_modules/table/dist/src/wrapCell.d.ts +8 -0
- package/node_modules/table/dist/src/wrapCell.js +33 -0
- package/node_modules/table/dist/src/wrapString.d.ts +9 -0
- package/node_modules/table/dist/src/wrapString.js +27 -0
- package/node_modules/table/dist/src/wrapWord.d.ts +1 -0
- package/node_modules/table/dist/src/wrapWord.js +42 -0
- package/node_modules/table/node_modules/ajv/.runkit_example.js +23 -0
- package/node_modules/table/node_modules/ajv/LICENSE +22 -0
- package/node_modules/table/node_modules/ajv/README.md +192 -0
- package/node_modules/table/node_modules/ajv/dist/2019.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/2019.js +55 -0
- package/node_modules/table/node_modules/ajv/dist/2019.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/2020.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/2020.js +49 -0
- package/node_modules/table/node_modules/ajv/dist/2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.d.ts +16 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.js +44 -0
- package/node_modules/table/node_modules/ajv/dist/ajv.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.d.ts +39 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js +147 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/code.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.d.ts +79 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js +697 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.d.ts +79 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js +143 -0
- package/node_modules/table/node_modules/ajv/dist/compile/codegen/scope.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.d.ts +13 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.js +123 -0
- package/node_modules/table/node_modules/ajv/dist/compile/errors.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.d.ts +80 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.js +243 -0
- package/node_modules/table/node_modules/ajv/dist/compile/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js +350 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/parse.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js +218 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/serialize.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js +14 -0
- package/node_modules/table/node_modules/ajv/dist/compile/jtd/types.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.d.ts +20 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.js +28 -0
- package/node_modules/table/node_modules/ajv/dist/compile/names.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/compile/ref_error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.d.ts +12 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.js +153 -0
- package/node_modules/table/node_modules/ajv/dist/compile/resolve.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.d.ts +28 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/compile/rules.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.d.ts +40 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.js +178 -0
- package/node_modules/table/node_modules/ajv/dist/compile/util.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js +19 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/applicability.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js +50 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/boolSchema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js +202 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/dataType.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js +35 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/defaults.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.d.ts +42 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js +510 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js +124 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/keyword.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.d.ts +47 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js +81 -0
- package/node_modules/table/node_modules/ajv/dist/compile/validate/subschema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/core.d.ts +171 -0
- package/node_modules/table/node_modules/ajv/dist/core.js +614 -0
- package/node_modules/table/node_modules/ajv/dist/core.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.d.ts +45 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/jtd.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/data.json +13 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +28 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +2 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-06.json +137 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-draft-07.json +151 -0
- package/node_modules/table/node_modules/ajv/dist/refs/json-schema-secure.json +88 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js +118 -0
- package/node_modules/table/node_modules/ajv/dist/refs/jtd-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.js +7 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/equal.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.d.ts +18 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js +184 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/parseJson.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/quote.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.js +6 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/re2.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js +42 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/timestamp.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/ucs2length.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.d.ts +7 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js +11 -0
- package/node_modules/table/node_modules/ajv/dist/runtime/validation_error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.js +83 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.d.ts +12 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.js +35 -0
- package/node_modules/table/node_modules/ajv/dist/standalone/instance.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.d.ts +177 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.d.ts +124 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/json-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.d.ts +168 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/types/jtd-schema.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +106 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js +23 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +7 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js +95 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +21 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/if.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +13 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js +44 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js +52 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/not.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js +54 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.d.ts +17 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js +131 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/code.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/id.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js +122 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/core/ref.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js +93 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js +23 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft2020.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js +17 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/draft7.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/errors.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js +92 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/format.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/format/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +71 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js +43 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js +20 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/error.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js +29 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js +25 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js +22 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +15 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +22 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js +146 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +4 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js +66 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +10 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js +69 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/type.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/union.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js +48 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/jtd/values.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js +18 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/metadata.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/next.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js +7 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +65 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.d.ts +6 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js +25 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/const.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +5 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js +47 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/enum.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.d.ts +16 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js +33 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/index.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js +15 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js +27 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +11 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +3 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js +24 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.d.ts +8 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js +79 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/required.js.map +1 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +9 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
- package/node_modules/table/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +1 -0
- package/node_modules/table/node_modules/ajv/lib/2019.ts +78 -0
- package/node_modules/table/node_modules/ajv/lib/2020.ts +72 -0
- package/node_modules/table/node_modules/ajv/lib/ajv.ts +67 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/code.ts +160 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/index.ts +832 -0
- package/node_modules/table/node_modules/ajv/lib/compile/codegen/scope.ts +215 -0
- package/node_modules/table/node_modules/ajv/lib/compile/errors.ts +184 -0
- package/node_modules/table/node_modules/ajv/lib/compile/index.ts +324 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/parse.ts +411 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/serialize.ts +260 -0
- package/node_modules/table/node_modules/ajv/lib/compile/jtd/types.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/compile/names.ts +27 -0
- package/node_modules/table/node_modules/ajv/lib/compile/ref_error.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/compile/resolve.ts +146 -0
- package/node_modules/table/node_modules/ajv/lib/compile/rules.ts +50 -0
- package/node_modules/table/node_modules/ajv/lib/compile/util.ts +213 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/applicability.ts +22 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/boolSchema.ts +47 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/dataType.ts +229 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/defaults.ts +32 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/index.ts +573 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/keyword.ts +171 -0
- package/node_modules/table/node_modules/ajv/lib/compile/validate/subschema.ts +135 -0
- package/node_modules/table/node_modules/ajv/lib/core.ts +880 -0
- package/node_modules/table/node_modules/ajv/lib/jtd.ts +129 -0
- package/node_modules/table/node_modules/ajv/lib/refs/data.json +13 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +53 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +57 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +14 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +39 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +30 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +48 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +17 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +51 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +37 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +90 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +55 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-06.json +137 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-draft-07.json +151 -0
- package/node_modules/table/node_modules/ajv/lib/refs/json-schema-secure.json +88 -0
- package/node_modules/table/node_modules/ajv/lib/refs/jtd-schema.ts +130 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/equal.ts +7 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/parseJson.ts +176 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/quote.ts +31 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/re2.ts +6 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/timestamp.ts +46 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/ucs2length.ts +20 -0
- package/node_modules/table/node_modules/ajv/lib/runtime/validation_error.ts +13 -0
- package/node_modules/table/node_modules/ajv/lib/standalone/index.ts +93 -0
- package/node_modules/table/node_modules/ajv/lib/standalone/instance.ts +36 -0
- package/node_modules/table/node_modules/ajv/lib/types/index.ts +233 -0
- package/node_modules/table/node_modules/ajv/lib/types/json-schema.ts +189 -0
- package/node_modules/table/node_modules/ajv/lib/types/jtd-schema.ts +264 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +56 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +118 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +22 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +14 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/contains.ts +109 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +112 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +11 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/if.ts +80 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/index.ts +53 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items.ts +59 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +36 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/not.ts +38 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +82 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +91 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/properties.ts +57 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +50 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +13 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/code.ts +168 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/id.ts +10 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/index.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/core/ref.ts +129 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/index.ts +102 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/discriminator/types.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/draft2020.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/draft7.ts +17 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +31 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +51 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/index.ts +9 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +14 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +10 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/errors.ts +18 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/format/format.ts +120 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/format/index.ts +6 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +89 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/elements.ts +32 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/enum.ts +45 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/error.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/index.ts +37 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +24 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +21 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +15 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/properties.ts +177 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/ref.ts +74 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/type.ts +75 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/union.ts +12 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/jtd/values.ts +55 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/metadata.ts +17 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/next.ts +8 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +7 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +47 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +85 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/const.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +23 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/enum.ts +52 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/index.ts +49 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +16 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +26 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +30 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +42 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +26 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +34 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/pattern.ts +28 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/required.ts +98 -0
- package/node_modules/table/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +79 -0
- package/node_modules/table/node_modules/ajv/package.json +124 -0
- package/node_modules/table/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/FUNDING.yml +2 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/build.yml +28 -0
- package/node_modules/table/node_modules/json-schema-traverse/.github/workflows/publish.yml +27 -0
- package/node_modules/table/node_modules/json-schema-traverse/LICENSE +21 -0
- package/node_modules/table/node_modules/json-schema-traverse/README.md +95 -0
- package/node_modules/table/node_modules/json-schema-traverse/index.d.ts +40 -0
- package/node_modules/table/node_modules/json-schema-traverse/index.js +93 -0
- package/node_modules/table/node_modules/json-schema-traverse/package.json +43 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/node_modules/table/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/node_modules/table/package.json +78 -0
- package/node_modules/universalify/LICENSE +20 -0
- package/node_modules/universalify/README.md +76 -0
- package/node_modules/universalify/index.js +24 -0
- package/node_modules/universalify/package.json +34 -0
- package/node_modules/uri-js/LICENSE +11 -0
- package/node_modules/uri-js/README.md +203 -0
- package/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
- package/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
- package/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
- package/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
- package/node_modules/uri-js/dist/esnext/index.js +17 -0
- package/node_modules/uri-js/dist/esnext/index.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
- package/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
- package/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
- package/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
- package/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
- package/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
- package/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
- package/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
- package/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
- package/node_modules/uri-js/dist/esnext/uri.js +480 -0
- package/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
- package/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
- package/node_modules/uri-js/dist/esnext/util.js +36 -0
- package/node_modules/uri-js/dist/esnext/util.js.map +1 -0
- package/node_modules/uri-js/package.json +77 -0
- package/node_modules/uri-js/yarn.lock +2558 -0
- package/package.json +8 -14
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
# Testing utilities and assertions for CDK libraries
|
|
2
|
+
<!--BEGIN STABILITY BANNER-->
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
> The APIs of higher level constructs in this module are experimental and under active development.
|
|
9
|
+
> They are subject to non-backward compatible changes or removal in any future version. These are
|
|
10
|
+
> not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes will be
|
|
11
|
+
> announced in the release notes. This means that while you may use them, you may need to update
|
|
12
|
+
> your source code when upgrading to a newer version of this package.
|
|
13
|
+
|
|
14
|
+
If using monocdk, use [@monocdk-experiment/assert](https://www.npmjs.com/package/@monocdk-experiment/assert) instead.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
<!--END STABILITY BANNER-->
|
|
19
|
+
|
|
20
|
+
This library contains helpers for writing unit tests and integration tests for CDK libraries
|
|
21
|
+
|
|
22
|
+
## Unit tests
|
|
23
|
+
|
|
24
|
+
Write your unit tests like this:
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
const stack = new Stack();
|
|
28
|
+
|
|
29
|
+
new MyConstruct(stack, 'MyConstruct', {
|
|
30
|
+
...
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
expect(stack).to(someExpectation(...));
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Here are the expectations you can use:
|
|
37
|
+
|
|
38
|
+
## Verify (parts of) a template
|
|
39
|
+
|
|
40
|
+
Check that the synthesized stack template looks like the given template, or is a superset of it. These functions match logical IDs and all properties of a resource.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
matchTemplate(template, matchStyle)
|
|
44
|
+
exactlyMatchTemplate(template)
|
|
45
|
+
beASupersetOfTemplate(template)
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Example:
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
expect(stack).to(beASupersetOfTemplate({
|
|
52
|
+
Resources: {
|
|
53
|
+
HostedZone674DD2B7: {
|
|
54
|
+
Type: "AWS::Route53::HostedZone",
|
|
55
|
+
Properties: {
|
|
56
|
+
Name: "test.private.",
|
|
57
|
+
VPCs: [{
|
|
58
|
+
VPCId: { Ref: 'VPC06C5F037' },
|
|
59
|
+
VPCRegion: { Ref: 'AWS::Region' }
|
|
60
|
+
}]
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## Check existence of a resource
|
|
69
|
+
|
|
70
|
+
If you only care that a resource of a particular type exists (regardless of its logical identifier), and that *some* of its properties are set to specific values:
|
|
71
|
+
|
|
72
|
+
```ts
|
|
73
|
+
haveResource(type, subsetOfProperties)
|
|
74
|
+
haveResourceLike(type, subsetOfProperties)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Example:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
expect(stack).to(haveResource('AWS::CertificateManager::Certificate', {
|
|
81
|
+
DomainName: 'test.example.com',
|
|
82
|
+
// Note: some properties omitted here
|
|
83
|
+
|
|
84
|
+
ShouldNotExist: ABSENT
|
|
85
|
+
}));
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
The object you give to `haveResource`/`haveResourceLike` like can contain the
|
|
89
|
+
following values:
|
|
90
|
+
|
|
91
|
+
- **Literal values**: the given property in the resource must match the given value *exactly*.
|
|
92
|
+
- `ABSENT`: a magic value to assert that a particular key in an object is *not* set (or set to `undefined`).
|
|
93
|
+
- special matchers for inexact matching. You can use these to match values based on more lenient conditions
|
|
94
|
+
than the default (such as an array containing at least one element, ignoring the rest, or an inexact string
|
|
95
|
+
match).
|
|
96
|
+
|
|
97
|
+
The following matchers exist:
|
|
98
|
+
|
|
99
|
+
- `objectLike(O)` - the value has to be an object matching at least the keys in `O` (but may contain
|
|
100
|
+
more). The nested values must match exactly.
|
|
101
|
+
- `deepObjectLike(O)` - as `objectLike`, but nested objects are also treated as partial specifications.
|
|
102
|
+
- `exactValue(X)` - must match exactly the given value. Use this to escape from `deepObjectLike`'s leniency
|
|
103
|
+
back to exact value matching.
|
|
104
|
+
- `arrayWith(E, [F, ...])` - value must be an array containing the given elements (or matchers) in any order.
|
|
105
|
+
- `stringLike(S)` - value must be a string matching `S`. `S` may contain `*` as wildcard to match any number
|
|
106
|
+
of characters. Multiline strings are supported.
|
|
107
|
+
- `anything()` - matches any value.
|
|
108
|
+
- `notMatching(M)` - any value that does NOT match the given matcher (or exact value) given.
|
|
109
|
+
- `encodedJson(M)` - value must be a string which, when decoded as JSON, matches the given matcher or
|
|
110
|
+
exact value.
|
|
111
|
+
|
|
112
|
+
Slightly more complex example with array matchers:
|
|
113
|
+
|
|
114
|
+
```ts
|
|
115
|
+
expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
|
|
116
|
+
PolicyDocument: {
|
|
117
|
+
Statement: arrayWith(objectLike({
|
|
118
|
+
Action: ['s3:GetObject'],
|
|
119
|
+
Resource: ['arn:my:arn'],
|
|
120
|
+
}})
|
|
121
|
+
}
|
|
122
|
+
}));
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Capturing values from a match
|
|
126
|
+
|
|
127
|
+
Special `Capture` matchers exist to capture values encountered during a match. These can be
|
|
128
|
+
used for two typical purposes:
|
|
129
|
+
|
|
130
|
+
- Apply additional assertions to the values found during a matching operation.
|
|
131
|
+
- Use the value found during a matching operation in a new matching operation.
|
|
132
|
+
|
|
133
|
+
`Capture` matchers take an inner matcher as an argument, and will only capture the value
|
|
134
|
+
if the inner matcher succeeds in matching the given value.
|
|
135
|
+
|
|
136
|
+
Here's an example which asserts that a policy for `RoleA` contains two statements
|
|
137
|
+
with *different* ARNs (without caring what those ARNs might be), and that
|
|
138
|
+
a policy for `RoleB` *also* has a statement for one of those ARNs (again, without
|
|
139
|
+
caring what the ARN might be):
|
|
140
|
+
|
|
141
|
+
```ts
|
|
142
|
+
const arn1 = Capture.aString();
|
|
143
|
+
const arn2 = Capture.aString();
|
|
144
|
+
|
|
145
|
+
expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
|
|
146
|
+
Roles: ['RoleA'],
|
|
147
|
+
PolicyDocument: {
|
|
148
|
+
Statement: [
|
|
149
|
+
objectLike({
|
|
150
|
+
Resource: [arn1.capture()],
|
|
151
|
+
}),
|
|
152
|
+
objectLike({
|
|
153
|
+
Resource: [arn2.capture()],
|
|
154
|
+
}),
|
|
155
|
+
],
|
|
156
|
+
},
|
|
157
|
+
}));
|
|
158
|
+
|
|
159
|
+
// Don't care about the values as long as they are not the same
|
|
160
|
+
expect(arn1.capturedValue).not.toEqual(arn2.capturedValue);
|
|
161
|
+
|
|
162
|
+
expect(stack).to(haveResourceLike('AWS::IAM::Policy', {
|
|
163
|
+
Roles: ['RoleB'],
|
|
164
|
+
PolicyDocument: {
|
|
165
|
+
Statement: [
|
|
166
|
+
objectLike({
|
|
167
|
+
// This ARN must be the same as ARN1 above.
|
|
168
|
+
Resource: [arn1.capturedValue]
|
|
169
|
+
}),
|
|
170
|
+
],
|
|
171
|
+
},
|
|
172
|
+
}));
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
NOTE: `Capture` look somewhat like *bindings* in other pattern matching
|
|
176
|
+
libraries you might be used to, but they are far simpler and very
|
|
177
|
+
deterministic. In particular, they don't do unification: if the same Capture
|
|
178
|
+
is either used multiple times in the same structure expression or matches
|
|
179
|
+
multiple times, no restarting of the match is done to make them all match the
|
|
180
|
+
same value: the last value encountered by the `Capture` (as determined by the
|
|
181
|
+
behavior of the matchers around it) is stored into it and will be the one
|
|
182
|
+
available after the match has completed.
|
|
183
|
+
|
|
184
|
+
## Check number of resources
|
|
185
|
+
|
|
186
|
+
If you want to assert that `n` number of resources of a particular type exist, with or without specific properties:
|
|
187
|
+
|
|
188
|
+
```ts
|
|
189
|
+
countResources(type, count)
|
|
190
|
+
countResourcesLike(type, count, props)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Example:
|
|
194
|
+
|
|
195
|
+
```ts
|
|
196
|
+
expect(stack).to(countResources('AWS::ApiGateway::Method', 3));
|
|
197
|
+
expect(stack).to(countResourcesLike('AWS::ApiGateway::Method', 1, {
|
|
198
|
+
HttpMethod: 'GET',
|
|
199
|
+
ResourceId: {
|
|
200
|
+
"Ref": "MyResource01234"
|
|
201
|
+
}
|
|
202
|
+
}));
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Check existence of an output
|
|
206
|
+
|
|
207
|
+
`haveOutput` assertion can be used to check that a stack contains specific output.
|
|
208
|
+
Parameters to check against can be:
|
|
209
|
+
|
|
210
|
+
- `outputName`
|
|
211
|
+
- `outputValue`
|
|
212
|
+
- `exportName`
|
|
213
|
+
|
|
214
|
+
If `outputValue` is provided, at least one of `outputName`, `exportName` should be provided as well
|
|
215
|
+
|
|
216
|
+
Example
|
|
217
|
+
|
|
218
|
+
```ts
|
|
219
|
+
expect(synthStack).to(haveOutput({
|
|
220
|
+
outputName: 'TestOutputName',
|
|
221
|
+
exportName: 'TestOutputExportName',
|
|
222
|
+
outputValue: {
|
|
223
|
+
'Fn::GetAtt': [
|
|
224
|
+
'TestResource',
|
|
225
|
+
'Arn'
|
|
226
|
+
]
|
|
227
|
+
}
|
|
228
|
+
}));
|
|
229
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# clones tools/assert-internal into here
|
|
3
|
+
scriptdir=$(cd $(dirname $0) && pwd)
|
|
4
|
+
cd $scriptdir
|
|
5
|
+
set -euo pipefail
|
|
6
|
+
src="../assert-internal"
|
|
7
|
+
|
|
8
|
+
# Don't copy .d.ts and .js files -- otherwise tsc might not recreate
|
|
9
|
+
# those files after we have rewritten the .ts files (probably due to timestamps)
|
|
10
|
+
rsync -av $src/lib/ lib/
|
|
11
|
+
rsync -av $src/test/ test/
|
|
12
|
+
|
|
13
|
+
majorversion=$(node -p 'require("../../../release.json").majorVersion')
|
|
14
|
+
|
|
15
|
+
files="README.md LICENSE NOTICE .npmignore jest.ts"
|
|
16
|
+
|
|
17
|
+
for file in ${files}; do
|
|
18
|
+
cp $src/$file .
|
|
19
|
+
done
|
|
20
|
+
|
|
21
|
+
if [[ "$majorversion" = "2" ]]; then
|
|
22
|
+
echo "Rewriting TS files..."
|
|
23
|
+
npx rewrite-imports-v2 "**/*.ts"
|
|
24
|
+
|
|
25
|
+
# This forces a recompile even if this file already exists
|
|
26
|
+
rm -f tsconfig.tsbuildinfo
|
|
27
|
+
|
|
28
|
+
echo "Done."
|
|
29
|
+
fi
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HaveOutputProperties } from './lib/assertions/have-output';
|
|
2
|
+
import { ResourcePart } from './lib/assertions/have-resource';
|
|
3
|
+
import { MatchStyle } from './lib/assertions/match-template';
|
|
4
|
+
declare global {
|
|
5
|
+
namespace jest {
|
|
6
|
+
interface Matchers<R, T> {
|
|
7
|
+
toMatchTemplate(template: any, matchStyle?: MatchStyle): R;
|
|
8
|
+
toHaveResource(resourceType: string, properties?: any, comparison?: ResourcePart): R;
|
|
9
|
+
toHaveResourceLike(resourceType: string, properties?: any, comparison?: ResourcePart): R;
|
|
10
|
+
toHaveOutput(props: HaveOutputProperties): R;
|
|
11
|
+
toCountResources(resourceType: string, count: number): R;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lib_1 = require("./lib");
|
|
4
|
+
const have_output_1 = require("./lib/assertions/have-output");
|
|
5
|
+
const have_resource_1 = require("./lib/assertions/have-resource");
|
|
6
|
+
const match_template_1 = require("./lib/assertions/match-template");
|
|
7
|
+
const expect_1 = require("./lib/expect");
|
|
8
|
+
expect.extend({
|
|
9
|
+
toMatchTemplate(actual, template, matchStyle) {
|
|
10
|
+
const assertion = match_template_1.matchTemplate(template, matchStyle);
|
|
11
|
+
const inspector = expect_1.expect(actual);
|
|
12
|
+
const pass = assertion.assertUsing(inspector);
|
|
13
|
+
if (pass) {
|
|
14
|
+
return {
|
|
15
|
+
pass,
|
|
16
|
+
message: () => 'Not ' + assertion.description,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return {
|
|
21
|
+
pass,
|
|
22
|
+
message: () => assertion.description,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
toHaveResource(actual, resourceType, properties, comparison) {
|
|
27
|
+
const assertion = new have_resource_1.HaveResourceAssertion(resourceType, properties, comparison, false);
|
|
28
|
+
return applyAssertion(assertion, actual);
|
|
29
|
+
},
|
|
30
|
+
toHaveResourceLike(actual, resourceType, properties, comparison) {
|
|
31
|
+
const assertion = new have_resource_1.HaveResourceAssertion(resourceType, properties, comparison, true);
|
|
32
|
+
return applyAssertion(assertion, actual);
|
|
33
|
+
},
|
|
34
|
+
toHaveOutput(actual, props) {
|
|
35
|
+
return applyAssertion(have_output_1.haveOutput(props), actual);
|
|
36
|
+
},
|
|
37
|
+
toCountResources(actual, resourceType, count = 1) {
|
|
38
|
+
return applyAssertion(lib_1.countResources(resourceType, count), actual);
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
function applyAssertion(assertion, actual) {
|
|
42
|
+
const inspector = expect_1.expect(actual);
|
|
43
|
+
const pass = assertion.assertUsing(inspector);
|
|
44
|
+
if (pass) {
|
|
45
|
+
return {
|
|
46
|
+
pass,
|
|
47
|
+
message: () => 'Not ' + assertion.generateErrorMessage(),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return {
|
|
52
|
+
pass,
|
|
53
|
+
message: () => assertion.generateErrorMessage(),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwrQkFBdUM7QUFFdkMsOERBQWdGO0FBQ2hGLGtFQUFxRjtBQUNyRixvRUFBNEU7QUFDNUUseUNBQW1EO0FBMkJuRCxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ1osZUFBZSxDQUNiLE1BQXNELEVBQ3RELFFBQWEsRUFDYixVQUF1QjtRQUV2QixNQUFNLFNBQVMsR0FBRyw4QkFBYSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLFNBQVMsR0FBRyxlQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QyxJQUFJLElBQUksRUFBRTtZQUNSLE9BQU87Z0JBQ0wsSUFBSTtnQkFDSixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxXQUFXO2FBQzlDLENBQUM7U0FDSDthQUFNO1lBQ0wsT0FBTztnQkFDTCxJQUFJO2dCQUNKLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVzthQUNyQyxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUNaLE1BQXNELEVBQ3RELFlBQW9CLEVBQ3BCLFVBQWdCLEVBQ2hCLFVBQXlCO1FBRXpCLE1BQU0sU0FBUyxHQUFHLElBQUkscUNBQXFCLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekYsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxrQkFBa0IsQ0FDaEIsTUFBc0QsRUFDdEQsWUFBb0IsRUFDcEIsVUFBZ0IsRUFDaEIsVUFBeUI7UUFFekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxxQ0FBcUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4RixPQUFPLGNBQWMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELFlBQVksQ0FDVixNQUFzRCxFQUN0RCxLQUEyQjtRQUUzQixPQUFPLGNBQWMsQ0FBQyx3QkFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxNQUFzRCxFQUN0RCxZQUFvQixFQUNwQixLQUFLLEdBQUcsQ0FBQztRQUVULE9BQU8sY0FBYyxDQUFDLG9CQUFjLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLGNBQWMsQ0FBQyxTQUFnRCxFQUFFLE1BQXNEO0lBQzlILE1BQU0sU0FBUyxHQUFHLGVBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLElBQUksSUFBSSxFQUFFO1FBQ1IsT0FBTztZQUNMLElBQUk7WUFDSixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRTtTQUN6RCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU87WUFDTCxJQUFJO1lBQ0osT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRTtTQUNoRCxDQUFDO0tBQ0g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29yZSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBjeGFwaSBmcm9tICdhd3MtY2RrLWxpYi9jeC1hcGknO1xuaW1wb3J0IHsgY291bnRSZXNvdXJjZXMgfSBmcm9tICcuL2xpYic7XG5pbXBvcnQgeyBKZXN0RnJpZW5kbHlBc3NlcnRpb24gfSBmcm9tICcuL2xpYi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgaGF2ZU91dHB1dCwgSGF2ZU91dHB1dFByb3BlcnRpZXMgfSBmcm9tICcuL2xpYi9hc3NlcnRpb25zL2hhdmUtb3V0cHV0JztcbmltcG9ydCB7IEhhdmVSZXNvdXJjZUFzc2VydGlvbiwgUmVzb3VyY2VQYXJ0IH0gZnJvbSAnLi9saWIvYXNzZXJ0aW9ucy9oYXZlLXJlc291cmNlJztcbmltcG9ydCB7IE1hdGNoU3R5bGUsIG1hdGNoVGVtcGxhdGUgfSBmcm9tICcuL2xpYi9hc3NlcnRpb25zL21hdGNoLXRlbXBsYXRlJztcbmltcG9ydCB7IGV4cGVjdCBhcyBvdXJFeHBlY3QgfSBmcm9tICcuL2xpYi9leHBlY3QnO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuL2xpYi9pbnNwZWN0b3InO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIG5hbWVzcGFjZSBqZXN0IHtcbiAgICBpbnRlcmZhY2UgTWF0Y2hlcnM8UiwgVD4ge1xuICAgICAgdG9NYXRjaFRlbXBsYXRlKFxuICAgICAgICB0ZW1wbGF0ZTogYW55LFxuICAgICAgICBtYXRjaFN0eWxlPzogTWF0Y2hTdHlsZSk6IFI7XG5cbiAgICAgIHRvSGF2ZVJlc291cmNlKFxuICAgICAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICAgICAgcHJvcGVydGllcz86IGFueSxcbiAgICAgICAgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCk6IFI7XG5cbiAgICAgIHRvSGF2ZVJlc291cmNlTGlrZShcbiAgICAgICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgICAgIHByb3BlcnRpZXM/OiBhbnksXG4gICAgICAgIGNvbXBhcmlzb24/OiBSZXNvdXJjZVBhcnQpOiBSO1xuXG4gICAgICB0b0hhdmVPdXRwdXQocHJvcHM6IEhhdmVPdXRwdXRQcm9wZXJ0aWVzKTogUjtcblxuICAgICAgdG9Db3VudFJlc291cmNlcyhyZXNvdXJjZVR5cGU6IHN0cmluZywgY291bnQ6IG51bWJlcik6IFI7XG4gICAgfVxuICB9XG59XG5cbmV4cGVjdC5leHRlbmQoe1xuICB0b01hdGNoVGVtcGxhdGUoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHRlbXBsYXRlOiBhbnksXG4gICAgbWF0Y2hTdHlsZT86IE1hdGNoU3R5bGUpIHtcblxuICAgIGNvbnN0IGFzc2VydGlvbiA9IG1hdGNoVGVtcGxhdGUodGVtcGxhdGUsIG1hdGNoU3R5bGUpO1xuICAgIGNvbnN0IGluc3BlY3RvciA9IG91ckV4cGVjdChhY3R1YWwpO1xuICAgIGNvbnN0IHBhc3MgPSBhc3NlcnRpb24uYXNzZXJ0VXNpbmcoaW5zcGVjdG9yKTtcbiAgICBpZiAocGFzcykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFzcyxcbiAgICAgICAgbWVzc2FnZTogKCkgPT4gJ05vdCAnICsgYXNzZXJ0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFzcyxcbiAgICAgICAgbWVzc2FnZTogKCkgPT4gYXNzZXJ0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgfTtcbiAgICB9XG4gIH0sXG5cbiAgdG9IYXZlUmVzb3VyY2UoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIHByb3BlcnRpZXM/OiBhbnksXG4gICAgY29tcGFyaXNvbj86IFJlc291cmNlUGFydCkge1xuXG4gICAgY29uc3QgYXNzZXJ0aW9uID0gbmV3IEhhdmVSZXNvdXJjZUFzc2VydGlvbihyZXNvdXJjZVR5cGUsIHByb3BlcnRpZXMsIGNvbXBhcmlzb24sIGZhbHNlKTtcbiAgICByZXR1cm4gYXBwbHlBc3NlcnRpb24oYXNzZXJ0aW9uLCBhY3R1YWwpO1xuICB9LFxuXG4gIHRvSGF2ZVJlc291cmNlTGlrZShcbiAgICBhY3R1YWw6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCB8IGNvcmUuU3RhY2ssXG4gICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgcHJvcGVydGllcz86IGFueSxcbiAgICBjb21wYXJpc29uPzogUmVzb3VyY2VQYXJ0KSB7XG5cbiAgICBjb25zdCBhc3NlcnRpb24gPSBuZXcgSGF2ZVJlc291cmNlQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgcHJvcGVydGllcywgY29tcGFyaXNvbiwgdHJ1ZSk7XG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGFzc2VydGlvbiwgYWN0dWFsKTtcbiAgfSxcblxuICB0b0hhdmVPdXRwdXQoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHByb3BzOiBIYXZlT3V0cHV0UHJvcGVydGllcykge1xuXG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGhhdmVPdXRwdXQocHJvcHMpLCBhY3R1YWwpO1xuICB9LFxuXG4gIHRvQ291bnRSZXNvdXJjZXMoXG4gICAgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrLFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIGNvdW50ID0gMSkge1xuXG4gICAgcmV0dXJuIGFwcGx5QXNzZXJ0aW9uKGNvdW50UmVzb3VyY2VzKHJlc291cmNlVHlwZSwgY291bnQpLCBhY3R1YWwpO1xuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGFwcGx5QXNzZXJ0aW9uKGFzc2VydGlvbjogSmVzdEZyaWVuZGx5QXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiwgYWN0dWFsOiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QgfCBjb3JlLlN0YWNrKSB7XG4gIGNvbnN0IGluc3BlY3RvciA9IG91ckV4cGVjdChhY3R1YWwpO1xuICBjb25zdCBwYXNzID0gYXNzZXJ0aW9uLmFzc2VydFVzaW5nKGluc3BlY3Rvcik7XG4gIGlmIChwYXNzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhc3MsXG4gICAgICBtZXNzYWdlOiAoKSA9PiAnTm90ICcgKyBhc3NlcnRpb24uZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKSxcbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBwYXNzLFxuICAgICAgbWVzc2FnZTogKCkgPT4gYXNzZXJ0aW9uLmdlbmVyYXRlRXJyb3JNZXNzYWdlKCksXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Inspector } from './inspector';
|
|
2
|
+
export declare abstract class Assertion<InspectorClass extends Inspector> {
|
|
3
|
+
abstract readonly description: string;
|
|
4
|
+
abstract assertUsing(inspector: InspectorClass): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Assert this thing and another thing
|
|
7
|
+
*/
|
|
8
|
+
and(assertion: Assertion<InspectorClass>): Assertion<InspectorClass>;
|
|
9
|
+
assertOrThrow(inspector: InspectorClass): void;
|
|
10
|
+
}
|
|
11
|
+
export declare abstract class JestFriendlyAssertion<InspectorClass extends Inspector> extends Assertion<InspectorClass> {
|
|
12
|
+
/**
|
|
13
|
+
* Generates an error message that can be used by Jest.
|
|
14
|
+
*/
|
|
15
|
+
abstract generateErrorMessage(): string;
|
|
16
|
+
}
|
|
17
|
+
export declare function not<T extends Inspector>(assertion: Assertion<T>): Assertion<T>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.not = exports.JestFriendlyAssertion = exports.Assertion = void 0;
|
|
4
|
+
class Assertion {
|
|
5
|
+
/**
|
|
6
|
+
* Assert this thing and another thing
|
|
7
|
+
*/
|
|
8
|
+
and(assertion) {
|
|
9
|
+
// Needs to delegate to a function so that we can import mutually dependent classes in the right order
|
|
10
|
+
return and(this, assertion);
|
|
11
|
+
}
|
|
12
|
+
assertOrThrow(inspector) {
|
|
13
|
+
if (!this.assertUsing(inspector)) {
|
|
14
|
+
throw new Error(`${JSON.stringify(inspector.value, null, 2)} does not match ${this.description}`);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.Assertion = Assertion;
|
|
19
|
+
class JestFriendlyAssertion extends Assertion {
|
|
20
|
+
}
|
|
21
|
+
exports.JestFriendlyAssertion = JestFriendlyAssertion;
|
|
22
|
+
const and_assertion_1 = require("./assertions/and-assertion");
|
|
23
|
+
function and(left, right) {
|
|
24
|
+
return new and_assertion_1.AndAssertion(left, right);
|
|
25
|
+
}
|
|
26
|
+
const negated_assertion_1 = require("./assertions/negated-assertion");
|
|
27
|
+
function not(assertion) {
|
|
28
|
+
return new negated_assertion_1.NegatedAssertion(assertion);
|
|
29
|
+
}
|
|
30
|
+
exports.not = not;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXNzZXJ0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQXNCLFNBQVM7SUFLN0I7O09BRUc7SUFDSSxHQUFHLENBQUMsU0FBb0M7UUFDN0Msc0dBQXNHO1FBQ3RHLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDbkc7SUFDSCxDQUFDO0NBQ0Y7QUFsQkQsOEJBa0JDO0FBRUQsTUFBc0IscUJBQXdELFNBQVEsU0FBeUI7Q0FLOUc7QUFMRCxzREFLQztBQUVELDhEQUEwRDtBQUUxRCxTQUFTLEdBQUcsQ0FBc0IsSUFBa0IsRUFBRSxLQUFtQjtJQUN2RSxPQUFPLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELHNFQUFrRTtBQUVsRSxTQUFnQixHQUFHLENBQXNCLFNBQXVCO0lBQzlELE9BQU8sSUFBSSxvQ0FBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRkQsa0JBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnNwZWN0b3IgfSBmcm9tICcuL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IHtcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGFzc2VydFVzaW5nKGluc3BlY3RvcjogSW5zcGVjdG9yQ2xhc3MpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBc3NlcnQgdGhpcyB0aGluZyBhbmQgYW5vdGhlciB0aGluZ1xuICAgKi9cbiAgcHVibGljIGFuZChhc3NlcnRpb246IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pOiBBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3M+IHtcbiAgICAvLyBOZWVkcyB0byBkZWxlZ2F0ZSB0byBhIGZ1bmN0aW9uIHNvIHRoYXQgd2UgY2FuIGltcG9ydCBtdXR1YWxseSBkZXBlbmRlbnQgY2xhc3NlcyBpbiB0aGUgcmlnaHQgb3JkZXJcbiAgICByZXR1cm4gYW5kKHRoaXMsIGFzc2VydGlvbik7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKSB7XG4gICAgaWYgKCF0aGlzLmFzc2VydFVzaW5nKGluc3BlY3RvcikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeShpbnNwZWN0b3IudmFsdWUsIG51bGwsIDIpfSBkb2VzIG5vdCBtYXRjaCAke3RoaXMuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBKZXN0RnJpZW5kbHlBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gZXJyb3IgbWVzc2FnZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IEplc3QuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2VuZXJhdGVFcnJvck1lc3NhZ2UoKTogc3RyaW5nO1xufVxuXG5pbXBvcnQgeyBBbmRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvYW5kLWFzc2VydGlvbic7XG5cbmZ1bmN0aW9uIGFuZDxJIGV4dGVuZHMgSW5zcGVjdG9yPihsZWZ0OiBBc3NlcnRpb248ST4sIHJpZ2h0OiBBc3NlcnRpb248ST4pOiBBc3NlcnRpb248ST4ge1xuICByZXR1cm4gbmV3IEFuZEFzc2VydGlvbihsZWZ0LCByaWdodCk7XG59XG5cbmltcG9ydCB7IE5lZ2F0ZWRBc3NlcnRpb24gfSBmcm9tICcuL2Fzc2VydGlvbnMvbmVnYXRlZC1hc3NlcnRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gbm90PFQgZXh0ZW5kcyBJbnNwZWN0b3I+KGFzc2VydGlvbjogQXNzZXJ0aW9uPFQ+KTogQXNzZXJ0aW9uPFQ+IHtcbiAgcmV0dXJuIG5ldyBOZWdhdGVkQXNzZXJ0aW9uKGFzc2VydGlvbik7XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Assertion } from '../assertion';
|
|
2
|
+
import { Inspector } from '../inspector';
|
|
3
|
+
export declare class AndAssertion<InspectorClass extends Inspector> extends Assertion<InspectorClass> {
|
|
4
|
+
private readonly first;
|
|
5
|
+
private readonly second;
|
|
6
|
+
description: string;
|
|
7
|
+
constructor(first: Assertion<InspectorClass>, second: Assertion<InspectorClass>);
|
|
8
|
+
assertUsing(_inspector: InspectorClass): boolean;
|
|
9
|
+
assertOrThrow(inspector: InspectorClass): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AndAssertion = void 0;
|
|
4
|
+
const assertion_1 = require("../assertion");
|
|
5
|
+
class AndAssertion extends assertion_1.Assertion {
|
|
6
|
+
constructor(first, second) {
|
|
7
|
+
super();
|
|
8
|
+
this.first = first;
|
|
9
|
+
this.second = second;
|
|
10
|
+
this.description = 'Combined assertion';
|
|
11
|
+
}
|
|
12
|
+
assertUsing(_inspector) {
|
|
13
|
+
throw new Error('This is never called');
|
|
14
|
+
}
|
|
15
|
+
assertOrThrow(inspector) {
|
|
16
|
+
this.first.assertOrThrow(inspector);
|
|
17
|
+
this.second.assertOrThrow(inspector);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AndAssertion = AndAssertion;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5kLWFzc2VydGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImFuZC1hc3NlcnRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNENBQXlDO0FBR3pDLE1BQWEsWUFBK0MsU0FBUSxxQkFBeUI7SUFHM0YsWUFBNkIsS0FBZ0MsRUFBbUIsTUFBaUM7UUFDL0csS0FBSyxFQUFFLENBQUM7UUFEbUIsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFBbUIsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUFGMUcsZ0JBQVcsR0FBVyxvQkFBb0IsQ0FBQztJQUlsRCxDQUFDO0lBRU0sV0FBVyxDQUFDLFVBQTBCO1FBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLFNBQXlCO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQWZELG9DQWVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmV4cG9ydCBjbGFzcyBBbmRBc3NlcnRpb248SW5zcGVjdG9yQ2xhc3MgZXh0ZW5kcyBJbnNwZWN0b3I+IGV4dGVuZHMgQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiB7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nID0gJ0NvbWJpbmVkIGFzc2VydGlvbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmaXJzdDogQXNzZXJ0aW9uPEluc3BlY3RvckNsYXNzPiwgcHJpdmF0ZSByZWFkb25seSBzZWNvbmQ6IEFzc2VydGlvbjxJbnNwZWN0b3JDbGFzcz4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKF9pbnNwZWN0b3I6IEluc3BlY3RvckNsYXNzKTogYm9vbGVhbiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIGlzIG5ldmVyIGNhbGxlZCcpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydE9yVGhyb3coaW5zcGVjdG9yOiBJbnNwZWN0b3JDbGFzcykge1xuICAgIHRoaXMuZmlyc3QuYXNzZXJ0T3JUaHJvdyhpbnNwZWN0b3IpO1xuICAgIHRoaXMuc2Vjb25kLmFzc2VydE9yVGhyb3coaW5zcGVjdG9yKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Assertion, JestFriendlyAssertion } from '../assertion';
|
|
2
|
+
import { StackInspector } from '../inspector';
|
|
3
|
+
/**
|
|
4
|
+
* An assertion to check whether a resource of a given type and with the given properties exists, disregarding properties
|
|
5
|
+
*/
|
|
6
|
+
export declare function countResources(resourceType: string, count?: number): JestFriendlyAssertion<StackInspector>;
|
|
7
|
+
/**
|
|
8
|
+
* An assertion to check whether a resource of a given type and with the given properties exists, considering properties
|
|
9
|
+
*/
|
|
10
|
+
export declare function countResourcesLike(resourceType: string, count: number | undefined, props: any): Assertion<StackInspector>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.countResourcesLike = exports.countResources = void 0;
|
|
4
|
+
const assertion_1 = require("../assertion");
|
|
5
|
+
const have_resource_1 = require("./have-resource");
|
|
6
|
+
/**
|
|
7
|
+
* An assertion to check whether a resource of a given type and with the given properties exists, disregarding properties
|
|
8
|
+
*/
|
|
9
|
+
function countResources(resourceType, count = 1) {
|
|
10
|
+
return new CountResourcesAssertion(resourceType, count);
|
|
11
|
+
}
|
|
12
|
+
exports.countResources = countResources;
|
|
13
|
+
/**
|
|
14
|
+
* An assertion to check whether a resource of a given type and with the given properties exists, considering properties
|
|
15
|
+
*/
|
|
16
|
+
function countResourcesLike(resourceType, count = 1, props) {
|
|
17
|
+
return new CountResourcesAssertion(resourceType, count, props);
|
|
18
|
+
}
|
|
19
|
+
exports.countResourcesLike = countResourcesLike;
|
|
20
|
+
class CountResourcesAssertion extends assertion_1.JestFriendlyAssertion {
|
|
21
|
+
constructor(resourceType, count, props = null) {
|
|
22
|
+
super();
|
|
23
|
+
this.resourceType = resourceType;
|
|
24
|
+
this.count = count;
|
|
25
|
+
this.inspected = 0;
|
|
26
|
+
this.props = props;
|
|
27
|
+
}
|
|
28
|
+
assertUsing(inspector) {
|
|
29
|
+
let counted = 0;
|
|
30
|
+
for (const logicalId of Object.keys(inspector.value.Resources || {})) {
|
|
31
|
+
const resource = inspector.value.Resources[logicalId];
|
|
32
|
+
if (resource.Type === this.resourceType) {
|
|
33
|
+
if (this.props) {
|
|
34
|
+
if (have_resource_1.isSuperObject(resource.Properties, this.props, [], true)) {
|
|
35
|
+
counted++;
|
|
36
|
+
this.inspected += 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
counted++;
|
|
41
|
+
this.inspected += 1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return counted === this.count;
|
|
46
|
+
}
|
|
47
|
+
generateErrorMessage() {
|
|
48
|
+
return this.description;
|
|
49
|
+
}
|
|
50
|
+
get description() {
|
|
51
|
+
return `stack only has ${this.inspected} resource of type ${this.resourceType}${this.props ? ' with specified properties' : ''} but we expected to find ${this.count}`;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQtcmVzb3VyY2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY291bnQtcmVzb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDRDQUFnRTtBQUVoRSxtREFBZ0Q7QUFFaEQ7O0dBRUc7QUFDSCxTQUFnQixjQUFjLENBQUMsWUFBb0IsRUFBRSxLQUFLLEdBQUcsQ0FBQztJQUM1RCxPQUFPLElBQUksdUJBQXVCLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFGRCx3Q0FFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsWUFBb0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQVU7SUFDNUUsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUZELGdEQUVDO0FBRUQsTUFBTSx1QkFBd0IsU0FBUSxpQ0FBcUM7SUFJekUsWUFDbUIsWUFBb0IsRUFDcEIsS0FBYSxFQUM5QixRQUFhLElBQUk7UUFDakIsS0FBSyxFQUFFLENBQUM7UUFIUyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBTHhCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFRNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF5QjtRQUMxQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ3BFLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN2QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsSUFBSSw2QkFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQzVELE9BQU8sRUFBRSxDQUFDO3dCQUNWLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO3FCQUNyQjtpQkFDRjtxQkFBTTtvQkFDTCxPQUFPLEVBQUUsQ0FBQztvQkFDVixJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztpQkFDckI7YUFDRjtTQUNGO1FBRUQsT0FBTyxPQUFPLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRU0sb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxTQUFTLHFCQUFxQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekssQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uLCBKZXN0RnJpZW5kbHlBc3NlcnRpb24gfSBmcm9tICcuLi9hc3NlcnRpb24nO1xuaW1wb3J0IHsgU3RhY2tJbnNwZWN0b3IgfSBmcm9tICcuLi9pbnNwZWN0b3InO1xuaW1wb3J0IHsgaXNTdXBlck9iamVjdCB9IGZyb20gJy4vaGF2ZS1yZXNvdXJjZSc7XG5cbi8qKlxuICogQW4gYXNzZXJ0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSByZXNvdXJjZSBvZiBhIGdpdmVuIHR5cGUgYW5kIHdpdGggdGhlIGdpdmVuIHByb3BlcnRpZXMgZXhpc3RzLCBkaXNyZWdhcmRpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXMocmVzb3VyY2VUeXBlOiBzdHJpbmcsIGNvdW50ID0gMSk6IEplc3RGcmllbmRseUFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICByZXR1cm4gbmV3IENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uKHJlc291cmNlVHlwZSwgY291bnQpO1xufVxuXG4vKipcbiAqIEFuIGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIGEgcmVzb3VyY2Ugb2YgYSBnaXZlbiB0eXBlIGFuZCB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIGV4aXN0cywgY29uc2lkZXJpbmcgcHJvcGVydGllc1xuICovXG5leHBvcnQgZnVuY3Rpb24gY291bnRSZXNvdXJjZXNMaWtlKHJlc291cmNlVHlwZTogc3RyaW5nLCBjb3VudCA9IDEsIHByb3BzOiBhbnkpOiBBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBDb3VudFJlc291cmNlc0Fzc2VydGlvbihyZXNvdXJjZVR5cGUsIGNvdW50LCBwcm9wcyk7XG59XG5cbmNsYXNzIENvdW50UmVzb3VyY2VzQXNzZXJ0aW9uIGV4dGVuZHMgSmVzdEZyaWVuZGx5QXNzZXJ0aW9uPFN0YWNrSW5zcGVjdG9yPiB7XG4gIHByaXZhdGUgaW5zcGVjdGVkOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvdW50OiBudW1iZXIsXG4gICAgcHJvcHM6IGFueSA9IG51bGwpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRVc2luZyhpbnNwZWN0b3I6IFN0YWNrSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgbGV0IGNvdW50ZWQgPSAwO1xuICAgIGZvciAoY29uc3QgbG9naWNhbElkIG9mIE9iamVjdC5rZXlzKGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXMgfHwge30pKSB7XG4gICAgICBjb25zdCByZXNvdXJjZSA9IGluc3BlY3Rvci52YWx1ZS5SZXNvdXJjZXNbbG9naWNhbElkXTtcbiAgICAgIGlmIChyZXNvdXJjZS5UeXBlID09PSB0aGlzLnJlc291cmNlVHlwZSkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcykge1xuICAgICAgICAgIGlmIChpc1N1cGVyT2JqZWN0KHJlc291cmNlLlByb3BlcnRpZXMsIHRoaXMucHJvcHMsIFtdLCB0cnVlKSkge1xuICAgICAgICAgICAgY291bnRlZCsrO1xuICAgICAgICAgICAgdGhpcy5pbnNwZWN0ZWQgKz0gMTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY291bnRlZCsrO1xuICAgICAgICAgIHRoaXMuaW5zcGVjdGVkICs9IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY291bnRlZCA9PT0gdGhpcy5jb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZUVycm9yTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc3RhY2sgb25seSBoYXMgJHt0aGlzLmluc3BlY3RlZH0gcmVzb3VyY2Ugb2YgdHlwZSAke3RoaXMucmVzb3VyY2VUeXBlfSR7dGhpcy5wcm9wcyA/ICcgd2l0aCBzcGVjaWZpZWQgcHJvcGVydGllcycgOiAnJ30gYnV0IHdlIGV4cGVjdGVkIHRvIGZpbmQgJHt0aGlzLmNvdW50fWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exist = void 0;
|
|
4
|
+
const assertion_1 = require("../assertion");
|
|
5
|
+
class ExistingResourceAssertion extends assertion_1.Assertion {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.description = 'an existing resource';
|
|
9
|
+
}
|
|
10
|
+
assertUsing(inspector) {
|
|
11
|
+
return inspector.value !== undefined;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function exist() {
|
|
15
|
+
return new ExistingResourceAssertion();
|
|
16
|
+
}
|
|
17
|
+
exports.exist = exist;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJleGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBeUM7QUFHekMsTUFBTSx5QkFBMEIsU0FBUSxxQkFBNkI7SUFHbkU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhILGdCQUFXLEdBQVcsc0JBQXNCLENBQUM7SUFJcEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUE2QjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELFNBQWdCLEtBQUs7SUFDbkIsT0FBTyxJQUFJLHlCQUF5QixFQUFFLENBQUM7QUFDekMsQ0FBQztBQUZELHNCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrUGF0aEluc3BlY3RvciB9IGZyb20gJy4uL2luc3BlY3Rvcic7XG5cbmNsYXNzIEV4aXN0aW5nUmVzb3VyY2VBc3NlcnRpb24gZXh0ZW5kcyBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nID0gJ2FuIGV4aXN0aW5nIHJlc291cmNlJztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFVzaW5nKGluc3BlY3RvcjogU3RhY2tQYXRoSW5zcGVjdG9yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGluc3BlY3Rvci52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGlzdCgpOiBBc3NlcnRpb248U3RhY2tQYXRoSW5zcGVjdG9yPiB7XG4gIHJldHVybiBuZXcgRXhpc3RpbmdSZXNvdXJjZUFzc2VydGlvbigpO1xufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { JestFriendlyAssertion } from '../assertion';
|
|
2
|
+
import { StackInspector } from '../inspector';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for haveOutput function properties
|
|
5
|
+
* NOTE that at least one of [outputName, exportName] should be provided
|
|
6
|
+
*/
|
|
7
|
+
export interface HaveOutputProperties {
|
|
8
|
+
/**
|
|
9
|
+
* Logical ID of the output
|
|
10
|
+
* @default - the logical ID of the output will not be checked
|
|
11
|
+
*/
|
|
12
|
+
outputName?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Export name of the output, when it's exported for cross-stack referencing
|
|
15
|
+
* @default - the export name is not required and will not be checked
|
|
16
|
+
*/
|
|
17
|
+
exportName?: any;
|
|
18
|
+
/**
|
|
19
|
+
* Value of the output;
|
|
20
|
+
* @default - the value will not be checked
|
|
21
|
+
*/
|
|
22
|
+
outputValue?: any;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An assertion to check whether Output with particular properties is present in a stack
|
|
26
|
+
* @param props properties of the Output that is being asserted against.
|
|
27
|
+
* Check ``HaveOutputProperties`` interface to get full list of available parameters
|
|
28
|
+
*/
|
|
29
|
+
export declare function haveOutput(props: HaveOutputProperties): JestFriendlyAssertion<StackInspector>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.haveOutput = void 0;
|
|
4
|
+
const assertion_1 = require("../assertion");
|
|
5
|
+
class HaveOutputAssertion extends assertion_1.JestFriendlyAssertion {
|
|
6
|
+
constructor(outputName, exportName, outputValue) {
|
|
7
|
+
super();
|
|
8
|
+
this.outputName = outputName;
|
|
9
|
+
this.exportName = exportName;
|
|
10
|
+
this.outputValue = outputValue;
|
|
11
|
+
this.inspected = [];
|
|
12
|
+
if (!this.outputName && !this.exportName) {
|
|
13
|
+
throw new Error('At least one of [outputName, exportName] should be provided');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
get description() {
|
|
17
|
+
const descriptionPartsArray = new Array();
|
|
18
|
+
if (this.outputName) {
|
|
19
|
+
descriptionPartsArray.push(`name '${this.outputName}'`);
|
|
20
|
+
}
|
|
21
|
+
if (this.exportName) {
|
|
22
|
+
descriptionPartsArray.push(`export name ${JSON.stringify(this.exportName)}`);
|
|
23
|
+
}
|
|
24
|
+
if (this.outputValue) {
|
|
25
|
+
descriptionPartsArray.push(`value ${JSON.stringify(this.outputValue)}`);
|
|
26
|
+
}
|
|
27
|
+
return 'output with ' + descriptionPartsArray.join(', ');
|
|
28
|
+
}
|
|
29
|
+
assertUsing(inspector) {
|
|
30
|
+
var _a;
|
|
31
|
+
if (!('Outputs' in inspector.value)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
for (const [name, props] of Object.entries(inspector.value.Outputs)) {
|
|
35
|
+
const mismatchedFields = new Array();
|
|
36
|
+
if (this.outputName && name !== this.outputName) {
|
|
37
|
+
mismatchedFields.push('name');
|
|
38
|
+
}
|
|
39
|
+
if (this.exportName && JSON.stringify(this.exportName) !== JSON.stringify((_a = props.Export) === null || _a === void 0 ? void 0 : _a.Name)) {
|
|
40
|
+
mismatchedFields.push('export name');
|
|
41
|
+
}
|
|
42
|
+
if (this.outputValue && JSON.stringify(this.outputValue) !== JSON.stringify(props.Value)) {
|
|
43
|
+
mismatchedFields.push('value');
|
|
44
|
+
}
|
|
45
|
+
if (mismatchedFields.length === 0) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
this.inspected.push({
|
|
49
|
+
output: { [name]: props },
|
|
50
|
+
failureReason: `mismatched ${mismatchedFields.join(', ')}`,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
generateErrorMessage() {
|
|
56
|
+
const lines = new Array();
|
|
57
|
+
lines.push(`None of ${this.inspected.length} outputs matches ${this.description}.`);
|
|
58
|
+
for (const inspected of this.inspected) {
|
|
59
|
+
lines.push(`- ${inspected.failureReason} in:`);
|
|
60
|
+
lines.push(indent(4, JSON.stringify(inspected.output, null, 2)));
|
|
61
|
+
}
|
|
62
|
+
return lines.join('\n');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* An assertion to check whether Output with particular properties is present in a stack
|
|
67
|
+
* @param props properties of the Output that is being asserted against.
|
|
68
|
+
* Check ``HaveOutputProperties`` interface to get full list of available parameters
|
|
69
|
+
*/
|
|
70
|
+
function haveOutput(props) {
|
|
71
|
+
return new HaveOutputAssertion(props.outputName, props.exportName, props.outputValue);
|
|
72
|
+
}
|
|
73
|
+
exports.haveOutput = haveOutput;
|
|
74
|
+
function indent(n, s) {
|
|
75
|
+
const prefix = ' '.repeat(n);
|
|
76
|
+
return prefix + s.replace(/\n/g, '\n' + prefix);
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGF2ZS1vdXRwdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJoYXZlLW91dHB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0Q0FBcUQ7QUFHckQsTUFBTSxtQkFBb0IsU0FBUSxpQ0FBcUM7SUFHckUsWUFBNkIsVUFBbUIsRUFBbUIsVUFBZ0IsRUFBVSxXQUFpQjtRQUM1RyxLQUFLLEVBQUUsQ0FBQztRQURtQixlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQW1CLGVBQVUsR0FBVixVQUFVLENBQU07UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBTTtRQUY3RixjQUFTLEdBQXdCLEVBQUUsQ0FBQztRQUluRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLHFCQUFxQixHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RTtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekU7UUFFRCxPQUFPLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLFdBQVcsQ0FBQyxTQUF5Qjs7UUFDMUMsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUE4QixDQUFDLEVBQUU7WUFDMUYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1lBRTdDLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDL0MsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9CO1lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQyxTQUFTLE9BQUMsS0FBSyxDQUFDLE1BQU0sMENBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQzdGLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUN0QztZQUVELElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO1lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFO2dCQUN6QixhQUFhLEVBQUUsY0FBYyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7YUFDM0QsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUVsQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLG9CQUFvQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwRixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxhQUFhLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRTtRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUE2QkQ7Ozs7R0FJRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUEyQjtJQUNwRCxPQUFPLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRkQsZ0NBRUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxDQUFTLEVBQUUsQ0FBUztJQUNsQyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSmVzdEZyaWVuZGx5QXNzZXJ0aW9uIH0gZnJvbSAnLi4vYXNzZXJ0aW9uJztcbmltcG9ydCB7IFN0YWNrSW5zcGVjdG9yIH0gZnJvbSAnLi4vaW5zcGVjdG9yJztcblxuY2xhc3MgSGF2ZU91dHB1dEFzc2VydGlvbiBleHRlbmRzIEplc3RGcmllbmRseUFzc2VydGlvbjxTdGFja0luc3BlY3Rvcj4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGluc3BlY3RlZDogSW5zcGVjdGlvbkZhaWx1cmVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3V0cHV0TmFtZT86IHN0cmluZywgcHJpdmF0ZSByZWFkb25seSBleHBvcnROYW1lPzogYW55LCBwcml2YXRlIG91dHB1dFZhbHVlPzogYW55KSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoIXRoaXMub3V0cHV0TmFtZSAmJiAhdGhpcy5leHBvcnROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBvZiBbb3V0cHV0TmFtZSwgZXhwb3J0TmFtZV0gc2hvdWxkIGJlIHByb3ZpZGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uUGFydHNBcnJheSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgICBpZiAodGhpcy5vdXRwdXROYW1lKSB7XG4gICAgICBkZXNjcmlwdGlvblBhcnRzQXJyYXkucHVzaChgbmFtZSAnJHt0aGlzLm91dHB1dE5hbWV9J2ApO1xuICAgIH1cbiAgICBpZiAodGhpcy5leHBvcnROYW1lKSB7XG4gICAgICBkZXNjcmlwdGlvblBhcnRzQXJyYXkucHVzaChgZXhwb3J0IG5hbWUgJHtKU09OLnN0cmluZ2lmeSh0aGlzLmV4cG9ydE5hbWUpfWApO1xuICAgIH1cbiAgICBpZiAodGhpcy5vdXRwdXRWYWx1ZSkge1xuICAgICAgZGVzY3JpcHRpb25QYXJ0c0FycmF5LnB1c2goYHZhbHVlICR7SlNPTi5zdHJpbmdpZnkodGhpcy5vdXRwdXRWYWx1ZSl9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuICdvdXRwdXQgd2l0aCAnICsgZGVzY3JpcHRpb25QYXJ0c0FycmF5LmpvaW4oJywgJyk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VXNpbmcoaW5zcGVjdG9yOiBTdGFja0luc3BlY3Rvcik6IGJvb2xlYW4ge1xuICAgIGlmICghKCdPdXRwdXRzJyBpbiBpbnNwZWN0b3IudmFsdWUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbbmFtZSwgcHJvcHNdIG9mIE9iamVjdC5lbnRyaWVzKGluc3BlY3Rvci52YWx1ZS5PdXRwdXRzIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pKSB7XG4gICAgICBjb25zdCBtaXNtYXRjaGVkRmllbGRzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgICAgaWYgKHRoaXMub3V0cHV0TmFtZSAmJiBuYW1lICE9PSB0aGlzLm91dHB1dE5hbWUpIHtcbiAgICAgICAgbWlzbWF0Y2hlZEZpZWxkcy5wdXNoKCduYW1lJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmV4cG9ydE5hbWUgJiYgSlNPTi5zdHJpbmdpZnkodGhpcy5leHBvcnROYW1lKSAhPT0gSlNPTi5zdHJpbmdpZnkocHJvcHMuRXhwb3J0Py5OYW1lKSkge1xuICAgICAgICBtaXNtYXRjaGVkRmllbGRzLnB1c2goJ2V4cG9ydCBuYW1lJyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm91dHB1dFZhbHVlICYmIEpTT04uc3RyaW5naWZ5KHRoaXMub3V0cHV0VmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShwcm9wcy5WYWx1ZSkpIHtcbiAgICAgICAgbWlzbWF0Y2hlZEZpZWxkcy5wdXNoKCd2YWx1ZScpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWlzbWF0Y2hlZEZpZWxkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW5zcGVjdGVkLnB1c2goe1xuICAgICAgICBvdXRwdXQ6IHsgW25hbWVdOiBwcm9wcyB9LFxuICAgICAgICBmYWlsdXJlUmVhc29uOiBgbWlzbWF0Y2hlZCAke21pc21hdGNoZWRGaWVsZHMuam9pbignLCAnKX1gLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdlbmVyYXRlRXJyb3JNZXNzYWdlKCkge1xuICAgIGNvbnN0IGxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcblxuICAgIGxpbmVzLnB1c2goYE5vbmUgb2YgJHt0aGlzLmluc3BlY3RlZC5sZW5ndGh9IG91dHB1dHMgbWF0Y2hlcyAke3RoaXMuZGVzY3JpcHRpb259LmApO1xuXG4gICAgZm9yIChjb25zdCBpbnNwZWN0ZWQgb2YgdGhpcy5pbnNwZWN0ZWQpIHtcbiAgICAgIGxpbmVzLnB1c2goYC0gJHtpbnNwZWN0ZWQuZmFpbHVyZVJlYXNvbn0gaW46YCk7XG4gICAgICBsaW5lcy5wdXNoKGluZGVudCg0LCBKU09OLnN0cmluZ2lmeShpbnNwZWN0ZWQub3V0cHV0LCBudWxsLCAyKSkpO1xuICAgIH1cblxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKTtcbiAgfVxufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgaGF2ZU91dHB1dCBmdW5jdGlvbiBwcm9wZXJ0aWVzXG4gKiBOT1RFIHRoYXQgYXQgbGVhc3Qgb25lIG9mIFtvdXRwdXROYW1lLCBleHBvcnROYW1lXSBzaG91bGQgYmUgcHJvdmlkZWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXZlT3V0cHV0UHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBMb2dpY2FsIElEIG9mIHRoZSBvdXRwdXRcbiAgICogQGRlZmF1bHQgLSB0aGUgbG9naWNhbCBJRCBvZiB0aGUgb3V0cHV0IHdpbGwgbm90IGJlIGNoZWNrZWRcbiAgICovXG4gIG91dHB1dE5hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHBvcnQgbmFtZSBvZiB0aGUgb3V0cHV0LCB3aGVuIGl0J3MgZXhwb3J0ZWQgZm9yIGNyb3NzLXN0YWNrIHJlZmVyZW5jaW5nXG4gICAqIEBkZWZhdWx0IC0gdGhlIGV4cG9ydCBuYW1lIGlzIG5vdCByZXF1aXJlZCBhbmQgd2lsbCBub3QgYmUgY2hlY2tlZFxuICAgKi9cbiAgZXhwb3J0TmFtZT86IGFueTtcbiAgLyoqXG4gICAqIFZhbHVlIG9mIHRoZSBvdXRwdXQ7XG4gICAqIEBkZWZhdWx0IC0gdGhlIHZhbHVlIHdpbGwgbm90IGJlIGNoZWNrZWRcbiAgICovXG4gIG91dHB1dFZhbHVlPzogYW55O1xufVxuXG5pbnRlcmZhY2UgSW5zcGVjdGlvbkZhaWx1cmUge1xuICBvdXRwdXQ6IGFueTtcbiAgZmFpbHVyZVJlYXNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGFzc2VydGlvbiAgdG8gY2hlY2sgd2hldGhlciBPdXRwdXQgd2l0aCBwYXJ0aWN1bGFyIHByb3BlcnRpZXMgaXMgcHJlc2VudCBpbiBhIHN0YWNrXG4gKiBAcGFyYW0gcHJvcHMgIHByb3BlcnRpZXMgb2YgdGhlIE91dHB1dCB0aGF0IGlzIGJlaW5nIGFzc2VydGVkIGFnYWluc3QuXG4gKiAgICAgICAgICAgICAgIENoZWNrIGBgSGF2ZU91dHB1dFByb3BlcnRpZXNgYCBpbnRlcmZhY2UgdG8gZ2V0IGZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaGF2ZU91dHB1dChwcm9wczogSGF2ZU91dHB1dFByb3BlcnRpZXMpOiBKZXN0RnJpZW5kbHlBc3NlcnRpb248U3RhY2tJbnNwZWN0b3I+IHtcbiAgcmV0dXJuIG5ldyBIYXZlT3V0cHV0QXNzZXJ0aW9uKHByb3BzLm91dHB1dE5hbWUsIHByb3BzLmV4cG9ydE5hbWUsIHByb3BzLm91dHB1dFZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaW5kZW50KG46IG51bWJlciwgczogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9ICcgJy5yZXBlYXQobik7XG4gIHJldHVybiBwcmVmaXggKyBzLnJlcGxhY2UoL1xcbi9nLCAnXFxuJyArIHByZWZpeCk7XG59XG4iXX0=
|