cdk-common 2.0.30 → 2.0.31
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/.jsii +4 -4
- package/lib/main.js +1 -1
- package/node_modules/@aws-cdk/assert/LICENSE +1 -1
- package/node_modules/@aws-cdk/assert/NOTICE +1 -1
- package/node_modules/@aws-cdk/assert/package.json +9 -9
- package/node_modules/@aws-cdk/cfnspec/CHANGELOG.md +16 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/build.js +7 -53
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.d.ts +0 -4
- package/node_modules/@aws-cdk/cfnspec/build-tools/massage-spec.js +2 -61
- package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.d.ts +25 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/patch-set.js +239 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.d.ts +4 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/report-issues.js +44 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/split-spec-by-service.js +86 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/LICENSE +1 -1
- package/node_modules/@aws-cdk/cfnspec/build-tools/template/NOTICE +1 -1
- package/node_modules/@aws-cdk/cfnspec/build-tools/update-metrics.sh +2 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/update.sh +34 -18
- package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.d.ts +67 -0
- package/node_modules/@aws-cdk/cfnspec/build-tools/validate-cfn.js +285 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/index.html +49 -20
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/massage-spec.ts.html +12 -166
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/patch-set.ts.html +907 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/scrutiny.ts.html +1 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/build-tools/validate-cfn.ts.html +1093 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/index.html +34 -35
- package/node_modules/@aws-cdk/cfnspec/coverage/junit.xml +6272 -6232
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/index.html +49 -20
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/massage-spec.ts.html +12 -166
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/patch-set.ts.html +907 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/scrutiny.ts.html +1 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/build-tools/validate-cfn.ts.html +1093 -0
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/index.html +34 -35
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/canned-metrics-schema.ts.html +2 -3
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics/index.html +1 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/canned-metrics.ts.html +22 -23
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.html +19 -20
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/index.ts.html +96 -25
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/augmentation.ts.html +5 -6
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/base-types.ts.html +12 -13
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.html +7 -8
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/index.ts.html +11 -12
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/property.ts.html +39 -40
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/resource-type.ts.html +20 -21
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov-report/lib/schema/specification.ts.html +2 -3
- package/node_modules/@aws-cdk/cfnspec/coverage/lcov.info +744 -346
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/canned-metrics-schema.ts.html +2 -3
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics/index.html +1 -2
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/canned-metrics.ts.html +22 -23
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.html +19 -20
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/index.ts.html +96 -25
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/augmentation.ts.html +5 -6
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/base-types.ts.html +12 -13
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.html +7 -8
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/index.ts.html +11 -12
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/property.ts.html +39 -40
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/resource-type.ts.html +20 -21
- package/node_modules/@aws-cdk/cfnspec/coverage/lib/schema/specification.ts.html +2 -3
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/README.md +6 -1
- package/node_modules/@aws-cdk/cfnspec/lib/canned-metrics/services.json +19997 -10215
- package/node_modules/@aws-cdk/cfnspec/lib/index.d.ts +8 -0
- package/node_modules/@aws-cdk/cfnspec/lib/index.js +25 -2
- package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.d.ts +20 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/docs.js +3 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.d.ts +1 -0
- package/node_modules/@aws-cdk/cfnspec/lib/schema/index.js +2 -1
- package/node_modules/@aws-cdk/cfnspec/package.json +5 -5
- package/node_modules/@aws-cdk/cfnspec/spec/cfn-docs.json +38910 -0
- package/node_modules/@aws-cdk/cfnspec/spec/cfn-lint.json +3 -3
- package/node_modules/@aws-cdk/cfnspec/spec/specification.json +319 -311
- package/node_modules/@aws-cdk/cfnspec/tsconfig.tsbuildinfo +285 -179
- package/node_modules/@aws-cdk/cloudformation-diff/LICENSE +1 -1
- package/node_modules/@aws-cdk/cloudformation-diff/NOTICE +1 -1
- package/node_modules/@aws-cdk/cloudformation-diff/package.json +6 -6
- package/package.json +5 -5
package/.jsii
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
]
|
|
8
8
|
},
|
|
9
9
|
"bundled": {
|
|
10
|
-
"@aws-cdk/assert": "^2.
|
|
10
|
+
"@aws-cdk/assert": "^2.4.0",
|
|
11
11
|
"case": "^1.6.3",
|
|
12
12
|
"sync-request": "^6.1.0"
|
|
13
13
|
},
|
|
@@ -2781,7 +2781,7 @@
|
|
|
2781
2781
|
"stability": "experimental"
|
|
2782
2782
|
},
|
|
2783
2783
|
"homepage": "https://github.com/neilkuan/cdk-common.git",
|
|
2784
|
-
"jsiiVersion": "1.
|
|
2784
|
+
"jsiiVersion": "1.51.0 (build a3e942c)",
|
|
2785
2785
|
"keywords": [
|
|
2786
2786
|
"aws",
|
|
2787
2787
|
"aws-cdk",
|
|
@@ -8426,6 +8426,6 @@
|
|
|
8426
8426
|
"symbolId": "src/main:LambdaArmFunctionProps"
|
|
8427
8427
|
}
|
|
8428
8428
|
},
|
|
8429
|
-
"version": "2.0.
|
|
8430
|
-
"fingerprint": "
|
|
8429
|
+
"version": "2.0.31",
|
|
8430
|
+
"fingerprint": "Se6Q8vvKTbkj2o0aaO5YgofsFUASGV75sRsVRvvbE5w="
|
|
8431
8431
|
}
|
package/lib/main.js
CHANGED
|
@@ -47,5 +47,5 @@ class LambdaArmFunction extends constructs_1.Construct {
|
|
|
47
47
|
}
|
|
48
48
|
exports.LambdaArmFunction = LambdaArmFunction;
|
|
49
49
|
_a = JSII_RTTI_SYMBOL_1;
|
|
50
|
-
LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.
|
|
50
|
+
LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.31" };
|
|
51
51
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLGlEQUFpRDtBQUNqRCwyQ0FBdUM7Ozs7QUFLdkMsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUzs7OztJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ2hELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ3ZELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1NBQzFFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3RELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1NBQzNFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25ELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3JFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFO1lBQzNELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQzdFO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3RFO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixLQUFLLENBQUMsT0FBTyx1R0FBdUcsQ0FBQyxDQUFDO1NBQzFKO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1SCxDQUFDOztBQTFCSCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUFybUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25Qcm9wcyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUFybUZ1bmN0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOkxhbWJkYUFybUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBOb2RlLmpzIDEyLnggYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgTm9kZS5qcyAxNC54IGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUHl0aG9uIDMuOCBhdCBBUk0nKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzkpIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIFB5dGhvbiAzLjkgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzhfQ09SUkVUVE8pIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIEphdmEgOCBvbiBhbDIgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzExKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBKYXZhIDExIGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuRE9UTkVUX0NPUkVfM18xKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBET1RORVQgQ09SRSAzLjEgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5SVUJZXzJfNykge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUlVCWSAyLjcgYXQgQVJNJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSdW50aW1lICR7cHJvcHMucnVudGltZX0gYXQgQVJNLCBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvZm91bmRhdGlvbi1hcmNoLmh0bWw/aWNtcGlkPWRvY3NfbGFtYmRhX3Jzc2ApO1xuICAgIH1cblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHsgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCwgLi4ucHJvcHMgfSk7XG4gIH1cbn0iXX0=
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright 2018-
|
|
189
|
+
Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
AWS Cloud Development Kit (AWS CDK)
|
|
2
|
-
Copyright 2018-
|
|
2
|
+
Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-cdk/assert",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "An assertion library for use with CDK Apps",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -34,21 +34,21 @@
|
|
|
34
34
|
},
|
|
35
35
|
"license": "Apache-2.0",
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@aws-cdk/assert-internal": "2.
|
|
38
|
-
"@aws-cdk/cdk-build-tools": "2.
|
|
39
|
-
"@aws-cdk/pkglint": "2.
|
|
37
|
+
"@aws-cdk/assert-internal": "2.4.0",
|
|
38
|
+
"@aws-cdk/cdk-build-tools": "2.4.0",
|
|
39
|
+
"@aws-cdk/pkglint": "2.4.0",
|
|
40
40
|
"@types/jest": "^27.0.3",
|
|
41
|
-
"aws-cdk-lib": "2.
|
|
42
|
-
"aws-cdk-migration": "2.
|
|
41
|
+
"aws-cdk-lib": "2.4.0",
|
|
42
|
+
"aws-cdk-migration": "2.4.0",
|
|
43
43
|
"constructs": "^10.0.0",
|
|
44
44
|
"jest": "^27.3.1",
|
|
45
|
-
"ts-jest": "^27.1.
|
|
45
|
+
"ts-jest": "^27.1.2"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@aws-cdk/cloudformation-diff": "2.
|
|
48
|
+
"@aws-cdk/cloudformation-diff": "2.4.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
|
-
"aws-cdk-lib": "^2.
|
|
51
|
+
"aws-cdk-lib": "^2.4.0",
|
|
52
52
|
"constructs": "^10.0.0",
|
|
53
53
|
"jest": ">=26.6.3"
|
|
54
54
|
},
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
# Serverless Application Model (SAM) Resource Specification v2016-10-31
|
|
3
|
+
|
|
4
|
+
## New Resource Types
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Attribute Changes
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Property Changes
|
|
11
|
+
|
|
12
|
+
* AWS::Serverless::Function Architectures (__added__)
|
|
13
|
+
|
|
14
|
+
## Property Type Changes
|
|
15
|
+
|
|
16
|
+
|
|
1
17
|
# CloudFormation Resource Specification v51.0.0
|
|
2
18
|
|
|
3
19
|
## New Resource Types
|
|
@@ -7,72 +7,26 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
const path = require("path");
|
|
10
|
-
const fs = require("fs-extra");
|
|
11
10
|
const md5 = require("md5");
|
|
12
11
|
const massage_spec_1 = require("./massage-spec");
|
|
12
|
+
;
|
|
13
|
+
const patch_set_1 = require("./patch-set");
|
|
13
14
|
async function main() {
|
|
14
15
|
const inputDir = path.join(process.cwd(), 'spec-source');
|
|
15
16
|
const outDir = path.join(process.cwd(), 'spec');
|
|
16
17
|
await generateResourceSpecification(inputDir, path.join(outDir, 'specification.json'));
|
|
17
|
-
await
|
|
18
|
+
await patch_set_1.applyAndWrite(path.join(outDir, 'cfn-lint.json'), path.join(inputDir, 'cfn-lint'));
|
|
19
|
+
await patch_set_1.applyAndWrite(path.join(outDir, 'cfn-docs.json'), path.join(inputDir, 'cfn-docs'));
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* Generate CloudFormation resource specification from sources and patches
|
|
21
23
|
*/
|
|
22
24
|
async function generateResourceSpecification(inputDir, outFile) {
|
|
23
25
|
const spec = { PropertyTypes: {}, ResourceTypes: {}, Fingerprint: '' };
|
|
24
|
-
|
|
25
|
-
for (const file of files.filter(n => n.endsWith('.json')).sort()) {
|
|
26
|
-
const data = await fs.readJson(path.join(inputDir, file));
|
|
27
|
-
if (file.indexOf('patch') === -1) {
|
|
28
|
-
massage_spec_1.decorateResourceTypes(data);
|
|
29
|
-
massage_spec_1.forEachSection(spec, data, massage_spec_1.merge);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
massage_spec_1.forEachSection(spec, data, massage_spec_1.patch);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
26
|
+
Object.assign(spec, await patch_set_1.applyPatchSet(path.join(inputDir, 'specification')));
|
|
35
27
|
massage_spec_1.massageSpec(spec);
|
|
36
28
|
spec.Fingerprint = md5(JSON.stringify(massage_spec_1.normalize(spec)));
|
|
37
|
-
await
|
|
38
|
-
await fs.writeJson(outFile, spec, { spaces: 2 });
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Generate Cfnlint spec annotations from sources and patches
|
|
42
|
-
*/
|
|
43
|
-
async function mergeSpecificationFromDirs(inputDir, outFile) {
|
|
44
|
-
const spec = {};
|
|
45
|
-
for (const child of await fs.readdir(inputDir)) {
|
|
46
|
-
const fullPath = path.join(inputDir, child);
|
|
47
|
-
if (!(await fs.stat(fullPath)).isDirectory()) {
|
|
48
|
-
continue;
|
|
49
|
-
}
|
|
50
|
-
const subspec = await loadMergedSpec(fullPath);
|
|
51
|
-
spec[child] = subspec;
|
|
52
|
-
}
|
|
53
|
-
await fs.mkdirp(path.dirname(outFile));
|
|
54
|
-
await fs.writeJson(outFile, spec, { spaces: 2 });
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Load all files in the given directory, merge them and apply patches in the order found
|
|
58
|
-
*
|
|
59
|
-
* The base structure is always an empty object
|
|
60
|
-
*/
|
|
61
|
-
async function loadMergedSpec(inputDir) {
|
|
62
|
-
const structure = {};
|
|
63
|
-
const files = await fs.readdir(inputDir);
|
|
64
|
-
for (const file of files.filter(n => n.endsWith('.json')).sort()) {
|
|
65
|
-
const data = await fs.readJson(path.join(inputDir, file));
|
|
66
|
-
if (file.indexOf('patch') === -1) {
|
|
67
|
-
// Copy properties from current object into structure, adding/overwriting whatever is found
|
|
68
|
-
Object.assign(structure, data);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
// Apply the loaded file as a patch onto the current structure
|
|
72
|
-
massage_spec_1.patch(structure, data);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return structure;
|
|
29
|
+
await patch_set_1.writeSorted(outFile, spec);
|
|
76
30
|
}
|
|
77
31
|
main()
|
|
78
32
|
.catch(e => {
|
|
@@ -80,4 +34,4 @@ main()
|
|
|
80
34
|
console.error(e.stack);
|
|
81
35
|
process.exit(-1);
|
|
82
36
|
});
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7O0FBRUgsNkJBQTZCO0FBQzdCLDJCQUEyQjtBQUUzQixpREFBd0Q7QUFBQSxDQUFDO0FBQ3pELDJDQUF3RTtBQUV4RSxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN6RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVoRCxNQUFNLDZCQUE2QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFDdkYsTUFBTSx5QkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDekYsTUFBTSx5QkFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDM0YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsS0FBSyxVQUFVLDZCQUE2QixDQUFDLFFBQWdCLEVBQUUsT0FBZTtJQUM1RSxNQUFNLElBQUksR0FBeUIsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBRTdGLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0seUJBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsMEJBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXhELE1BQU0sdUJBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELElBQUksRUFBRTtLQUNILEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNULHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogSW52b2tlZCBhcyBwYXJ0IG9mIHRoZSBcImJ1aWxkXCIgc2NyaXB0IG9mIHRoaXMgcGFja2FnZSxcbiAqIHRoaXMgc2NyaXB0IHRha2VzIGFsbCBzcGVjaWZpY2F0aW9uIGZyYWdtZW50cyBpbiB0aGVcbiAqIGBzcGVjLXNvdXJjZWAgZm9sZGVyIGFuZCBnZW5lcmF0ZXMgYSB1bmlmaWVkIHNwZWNpZmljYXRpb25cbiAqIGRvY3VtZW50IGF0IGBzcGVjL3NwZWNpZmljYXRpb24uanNvbmAuXG4gKi9cblxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIG1kNSBmcm9tICdtZDUnO1xuaW1wb3J0IHsgc2NoZW1hIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IG1hc3NhZ2VTcGVjLCBub3JtYWxpemUgfSBmcm9tICcuL21hc3NhZ2Utc3BlYyc7O1xuaW1wb3J0IHsgd3JpdGVTb3J0ZWQsIGFwcGx5UGF0Y2hTZXQsIGFwcGx5QW5kV3JpdGUgfSBmcm9tICcuL3BhdGNoLXNldCc7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGlucHV0RGlyID0gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdzcGVjLXNvdXJjZScpO1xuICBjb25zdCBvdXREaXIgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3NwZWMnKTtcblxuICBhd2FpdCBnZW5lcmF0ZVJlc291cmNlU3BlY2lmaWNhdGlvbihpbnB1dERpciwgcGF0aC5qb2luKG91dERpciwgJ3NwZWNpZmljYXRpb24uanNvbicpKTtcbiAgYXdhaXQgYXBwbHlBbmRXcml0ZShwYXRoLmpvaW4ob3V0RGlyLCAnY2ZuLWxpbnQuanNvbicpLCBwYXRoLmpvaW4oaW5wdXREaXIsICdjZm4tbGludCcpKTtcbiAgYXdhaXQgYXBwbHlBbmRXcml0ZShwYXRoLmpvaW4ob3V0RGlyLCAnY2ZuLWRvY3MuanNvbicpLCBwYXRoLmpvaW4oaW5wdXREaXIsICdjZm4tZG9jcycpKTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSBzcGVjaWZpY2F0aW9uIGZyb20gc291cmNlcyBhbmQgcGF0Y2hlc1xuICovXG5hc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVJlc291cmNlU3BlY2lmaWNhdGlvbihpbnB1dERpcjogc3RyaW5nLCBvdXRGaWxlOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24gPSB7IFByb3BlcnR5VHlwZXM6IHt9LCBSZXNvdXJjZVR5cGVzOiB7fSwgRmluZ2VycHJpbnQ6ICcnIH07XG5cbiAgT2JqZWN0LmFzc2lnbihzcGVjLCBhd2FpdCBhcHBseVBhdGNoU2V0KHBhdGguam9pbihpbnB1dERpciwgJ3NwZWNpZmljYXRpb24nKSkpO1xuICBtYXNzYWdlU3BlYyhzcGVjKTtcbiAgc3BlYy5GaW5nZXJwcmludCA9IG1kNShKU09OLnN0cmluZ2lmeShub3JtYWxpemUoc3BlYykpKTtcblxuICBhd2FpdCB3cml0ZVNvcnRlZChvdXRGaWxlLCBzcGVjKTtcbn1cblxubWFpbigpXG4gIC5jYXRjaChlID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUuZXJyb3IoZS5zdGFjayk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG4iXX0=
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { schema } from '../lib';
|
|
2
2
|
export declare function massageSpec(spec: schema.Specification): void;
|
|
3
|
-
export declare function forEachSection(spec: schema.Specification, data: any, cb: (spec: any, fragment: any, path: string[]) => void): void;
|
|
4
|
-
export declare function decorateResourceTypes(data: any): void;
|
|
5
|
-
export declare function merge(spec: any, fragment: any, jsonPath: string[]): void;
|
|
6
|
-
export declare function patch(spec: any, fragment: any): void;
|
|
7
3
|
/**
|
|
8
4
|
* Modifies the provided specification so that ``ResourceTypes`` and ``PropertyTypes`` are listed in alphabetical order.
|
|
9
5
|
*
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalize = exports.
|
|
4
|
-
const fastJsonPatch = require("fast-json-patch");
|
|
3
|
+
exports.normalize = exports.massageSpec = void 0;
|
|
5
4
|
const lib_1 = require("../lib");
|
|
6
5
|
const scrutiny_1 = require("./scrutiny");
|
|
7
6
|
function massageSpec(spec) {
|
|
@@ -10,24 +9,6 @@ function massageSpec(spec) {
|
|
|
10
9
|
dropTypelessAttributes(spec);
|
|
11
10
|
}
|
|
12
11
|
exports.massageSpec = massageSpec;
|
|
13
|
-
function forEachSection(spec, data, cb) {
|
|
14
|
-
cb(spec.PropertyTypes, data.PropertyTypes, ['PropertyTypes']);
|
|
15
|
-
cb(spec.ResourceTypes, data.ResourceTypes, ['ResourceTypes']);
|
|
16
|
-
// Per-resource specs are keyed on ResourceType (singular), but we want it in ResourceTypes (plural)
|
|
17
|
-
cb(spec.ResourceTypes, data.ResourceType, ['ResourceType']);
|
|
18
|
-
}
|
|
19
|
-
exports.forEachSection = forEachSection;
|
|
20
|
-
function decorateResourceTypes(data) {
|
|
21
|
-
const requiredTransform = data.ResourceSpecificationTransform;
|
|
22
|
-
if (!requiredTransform) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const resourceTypes = data.ResourceTypes || data.ResourceType;
|
|
26
|
-
for (const name of Object.keys(resourceTypes)) {
|
|
27
|
-
resourceTypes[name].RequiredTransform = requiredTransform;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.decorateResourceTypes = decorateResourceTypes;
|
|
31
12
|
/**
|
|
32
13
|
* Fix incomplete type definitions in PropertyTypes
|
|
33
14
|
*
|
|
@@ -65,46 +46,6 @@ function dropTypelessAttributes(spec) {
|
|
|
65
46
|
});
|
|
66
47
|
});
|
|
67
48
|
}
|
|
68
|
-
function merge(spec, fragment, jsonPath) {
|
|
69
|
-
if (!fragment) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
for (const key of Object.keys(fragment)) {
|
|
73
|
-
if (key in spec) {
|
|
74
|
-
const specVal = spec[key];
|
|
75
|
-
const fragVal = fragment[key];
|
|
76
|
-
if (typeof specVal !== typeof fragVal) {
|
|
77
|
-
// eslint-disable-next-line max-len
|
|
78
|
-
throw new Error(`Attempted to merge ${JSON.stringify(fragVal)} into incompatible ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);
|
|
79
|
-
}
|
|
80
|
-
if (typeof specVal !== 'object') {
|
|
81
|
-
// eslint-disable-next-line max-len
|
|
82
|
-
throw new Error(`Conflict when attempting to merge ${JSON.stringify(fragVal)} into ${JSON.stringify(specVal)} at path ${jsonPath.join('/')}/${key}`);
|
|
83
|
-
}
|
|
84
|
-
merge(specVal, fragVal, [...jsonPath, key]);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
spec[key] = fragment[key];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.merge = merge;
|
|
92
|
-
function patch(spec, fragment) {
|
|
93
|
-
if (!fragment) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
if ('patch' in fragment) {
|
|
97
|
-
// eslint-disable-next-line no-console
|
|
98
|
-
console.log(`Applying patch: ${fragment.patch.description}`);
|
|
99
|
-
fastJsonPatch.applyPatch(spec, fragment.patch.operations);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
for (const key of Object.keys(fragment)) {
|
|
103
|
-
patch(spec[key], fragment[key]);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.patch = patch;
|
|
108
49
|
/**
|
|
109
50
|
* Modifies the provided specification so that ``ResourceTypes`` and ``PropertyTypes`` are listed in alphabetical order.
|
|
110
51
|
*
|
|
@@ -127,4 +68,4 @@ function normalize(spec) {
|
|
|
127
68
|
}
|
|
128
69
|
}
|
|
129
70
|
exports.normalize = normalize;
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzc2FnZS1zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFzc2FnZS1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFpRDtBQUNqRCxnQ0FBZ0M7QUFDaEMseUNBQWlEO0FBRWpELFNBQWdCLFdBQVcsQ0FBQyxJQUEwQjtJQUNwRCw4QkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBSkQsa0NBSUM7QUFFRCxTQUFnQixjQUFjLENBQUMsSUFBMEIsRUFBRSxJQUFTLEVBQUUsRUFBc0Q7SUFDMUgsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDOUQsb0dBQW9HO0lBQ3BHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFMRCx3Q0FLQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLElBQVM7SUFDN0MsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsOEJBQW9ELENBQUM7SUFDcEYsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQUUsT0FBTztLQUFFO0lBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM5RCxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7UUFDN0MsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixH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O1NBQzVCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFkRCw4QkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZhc3RKc29uUGF0Y2ggZnJvbSAnZmFzdC1qc29uLXBhdGNoJztcbmltcG9ydCB7IHNjaGVtYSB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBkZXRlY3RTY3J1dGlueVR5cGVzIH0gZnJvbSAnLi9zY3J1dGlueSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNzYWdlU3BlYyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBkZXRlY3RTY3J1dGlueVR5cGVzKHNwZWMpO1xuICByZXBsYWNlSW5jb21wbGV0ZVR5cGVzKHNwZWMpO1xuICBkcm9wVHlwZWxlc3NBdHRyaWJ1dGVzKHNwZWMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaFNlY3Rpb24oc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24sIGRhdGE6IGFueSwgY2I6IChzcGVjOiBhbnksIGZyYWdtZW50OiBhbnksIHBhdGg6IHN0cmluZ1tdKSA9PiB2b2lkKSB7XG4gIGNiKHNwZWMuUHJvcGVydHlUeXBlcywgZGF0YS5Qcm9wZXJ0eVR5cGVzLCBbJ1Byb3BlcnR5VHlwZXMnXSk7XG4gIGNiKHNwZWMuUmVzb3VyY2VUeXBlcywgZGF0YS5SZXNvdXJjZVR5cGVzLCBbJ1Jlc291cmNlVHlwZXMnXSk7XG4gIC8vIFBlci1yZXNvdXJjZSBzcGVjcyBhcmUga2V5ZWQgb24gUmVzb3VyY2VUeXBlIChzaW5ndWxhciksIGJ1dCB3ZSB3YW50IGl0IGluIFJlc291cmNlVHlwZXMgKHBsdXJhbClcbiAgY2Ioc3BlYy5SZXNvdXJjZVR5cGVzLCBkYXRhLlJlc291cmNlVHlwZSwgWydSZXNvdXJjZVR5cGUnXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvcmF0ZVJlc291cmNlVHlwZXMoZGF0YTogYW55KSB7XG4gIGNvbnN0IHJlcXVpcmVkVHJhbnNmb3JtID0gZGF0YS5SZXNvdXJjZVNwZWNpZmljYXRpb25UcmFuc2Zvcm0gYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoIXJlcXVpcmVkVHJhbnNmb3JtKSB7IHJldHVybjsgfVxuICBjb25zdCByZXNvdXJjZVR5cGVzID0gZGF0YS5SZXNvdXJjZVR5cGVzIHx8IGRhdGEuUmVzb3VyY2VUeXBlO1xuICBmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXMocmVzb3VyY2VUeXBlcykpIHtcbiAgICByZXNvdXJjZVR5cGVzW25hbWVdLlJlcXVpcmVkVHJhbnNmb3JtID0gcmVxdWlyZWRUcmFuc2Zvcm07XG4gIH1cbn1cblxuLyoqXG4gKiBGaXggaW5jb21wbGV0ZSB0eXBlIGRlZmluaXRpb25zIGluIFByb3BlcnR5VHlwZXNcbiAqXG4gKiBTb21lIHVzZXItZGVmaW5lZCB0eXBlcyBhcmUgZGVmaW5lZCB0byBub3QgaGF2ZSBhbnkgcHJvcGVydGllcywgYW5kIG5vdFxuICogYmUgYSBjb2xsZWN0aW9uIG9mIG90aGVyIHR5cGVzIGVpdGhlci4gVGhleSBoYXZlIG5vIGRlZmluaXRpb24gYXQgYWxsLlxuICpcbiAqIEFkZCBhIHByb3BlcnR5IG9iamVjdCB0eXBlIHdpdGggZW1wdHkgcHJvcGVydGllcy5cbiAqL1xuZnVuY3Rpb24gcmVwbGFjZUluY29tcGxldGVUeXBlcyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBmb3IgKGNvbnN0IFtuYW1lLCBkZWZpbml0aW9uXSBvZiBPYmplY3QuZW50cmllcyhzcGVjLlByb3BlcnR5VHlwZXMpKSB7XG4gICAgaWYgKCFzY2hlbWEuaXNSZWNvcmRUeXBlKGRlZmluaXRpb24pXG4gICAgJiYgIXNjaGVtYS5pc0NvbGxlY3Rpb25Qcm9wZXJ0eShkZWZpbml0aW9uKVxuICAgICYmICFzY2hlbWEuaXNTY2FsYXJQcm9wZXJ0eShkZWZpbml0aW9uKVxuICAgICYmICFzY2hlbWEuaXNQcmltaXRpdmVQcm9wZXJ0eShkZWZpbml0aW9uKSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgIGNvbnNvbGUubG9nKGBbJHtuYW1lfV0gSW5jb21wbGV0ZSB0eXBlLCBhZGRpbmcgZW1wdHkgXCJQcm9wZXJ0aWVzXCIgZmllbGRgKTtcblxuICAgICAgKGRlZmluaXRpb24gYXMgdW5rbm93biBhcyBzY2hlbWEuUmVjb3JkUHJvcGVydHkpLlByb3BlcnRpZXMgPSB7fTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBEcm9wIEF0dHJpYnV0ZXMgc3BlY2lmaWVkIHdpdGggdGhlIGRpZmZlcmVudCBSZXNvdXJjZVR5cGVzIHRoYXQgaGF2ZVxuICogbm8gdHlwZSBzcGVjaWZpZWQuXG4gKi9cbmZ1bmN0aW9uIGRyb3BUeXBlbGVzc0F0dHJpYnV0ZXMoc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24pIHtcbiAgY29uc3QgcmVzb3VyY2VUeXBlcyA9IHNwZWMuUmVzb3VyY2VUeXBlcztcbiAgT2JqZWN0LnZhbHVlcyhyZXNvdXJjZVR5cGVzKS5mb3JFYWNoKChyZXNvdXJjZVR5cGUpID0+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gcmVzb3VyY2VUeXBlLkF0dHJpYnV0ZXMgPz8ge307XG4gICAgT2JqZWN0LmtleXMoYXR0cmlidXRlcykuZm9yRWFjaCgoYXR0cktleSkgPT4ge1xuICAgICAgY29uc3QgYXR0clZhbCA9IGF0dHJpYnV0ZXNbYXR0cktleV07XG4gICAgICBpZiAoT2JqZWN0LmtleXMoYXR0clZhbCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGRlbGV0ZSBhdHRyaWJ1dGVzW2F0dHJLZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlKHNwZWM6IGFueSwgZnJhZ21lbnQ6IGFueSwganNvblBhdGg6IHN0cmluZ1tdKSB7XG4gIGlmICghZnJhZ21lbnQpIHsgcmV0dXJuOyB9XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZyYWdtZW50KSkge1xuICAgIGlmIChrZXkgaW4gc3BlYykge1xuICAgICAgY29uc3Qgc3BlY1ZhbCA9IHNwZWNba2V5XTtcbiAgICAgIGNvbnN0IGZyYWdWYWwgPSBmcmFnbWVudFtrZXldO1xuICAgICAgaWYgKHR5cGVvZiBzcGVjVmFsICE9PSB0eXBlb2YgZnJhZ1ZhbCkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHRlZCB0byBtZXJnZSAke0pTT04uc3RyaW5naWZ5KGZyYWdWYWwpfSBpbnRvIGluY29tcGF0aWJsZSAke0pTT04uc3RyaW5naWZ5KHNwZWNWYWwpfSBhdCBwYXRoICR7anNvblBhdGguam9pbignLycpfS8ke2tleX1gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc3BlY1ZhbCAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb25mbGljdCB3aGVuIGF0dGVtcHRpbmcgdG8gbWVyZ2UgJHtKU09OLnN0cmluZ2lmeShmcmFnVmFsKX0gaW50byAke0pTT04uc3RyaW5naWZ5KHNwZWNWYWwpfSBhdCBwYXRoICR7anNvblBhdGguam9pbignLycpfS8ke2tleX1gKTtcbiAgICAgIH1cbiAgICAgIG1lcmdlKHNwZWNWYWwsIGZyYWdWYWwsIFsuLi5qc29uUGF0aCwga2V5XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNwZWNba2V5XSA9IGZyYWdtZW50W2tleV07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChzcGVjOiBhbnksIGZyYWdtZW50OiBhbnkpIHtcbiAgaWYgKCFmcmFnbWVudCkgeyByZXR1cm47IH1cbiAgaWYgKCdwYXRjaCcgaW4gZnJhZ21lbnQpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGBBcHBseWluZyBwYXRjaDogJHtmcmFnbWVudC5wYXRjaC5kZXNjcmlwdGlvbn1gKTtcbiAgICBmYXN0SnNvblBhdGNoLmFwcGx5UGF0Y2goc3BlYywgZnJhZ21lbnQucGF0Y2gub3BlcmF0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZnJhZ21lbnQpKSB7XG4gICAgICBwYXRjaChzcGVjW2tleV0sIGZyYWdtZW50W2tleV0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwcm92aWRlZCBzcGVjaWZpY2F0aW9uIHNvIHRoYXQgYGBSZXNvdXJjZVR5cGVzYGAgYW5kIGBgUHJvcGVydHlUeXBlc2BgIGFyZSBsaXN0ZWQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLlxuICpcbiAqIEBwYXJhbSBzcGVjIGFuIEFXUyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uIGRvY3VtZW50LlxuICpcbiAqIEByZXR1cm5zIGBgc3BlY2BgLCBhZnRlciBoYXZpbmcgc29ydGVkIHRoZSBgYFJlc291cmNlVHlwZXNgYCBhbmQgYGBQcm9wZXJ0eVR5cGVzYGAgc2VjdGlvbnMgYWxwaGFiZXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24pOiBzY2hlbWEuU3BlY2lmaWNhdGlvbiB7XG4gIHNwZWMuUmVzb3VyY2VUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5SZXNvdXJjZVR5cGVzKTtcbiAgaWYgKHNwZWMuUHJvcGVydHlUeXBlcykge1xuICAgIHNwZWMuUHJvcGVydHlUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5Qcm9wZXJ0eVR5cGVzKTtcbiAgfVxuICByZXR1cm4gc3BlYztcblxuICBmdW5jdGlvbiBub3JtYWxpemVTZWN0aW9uPFQ+KHNlY3Rpb246IHsgW25hbWU6IHN0cmluZ106IFQgfSk6IHsgW25hbWU6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtuYW1lOiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhzZWN0aW9uKS5zb3J0KCkpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gc2VjdGlvbltrZXldO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzc2FnZS1zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFzc2FnZS1zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGdDQUFnQztBQUNoQyx5Q0FBaUQ7QUFFakQsU0FBZ0IsV0FBVyxDQUFDLElBQTBCO0lBQ3BELDhCQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFKRCxrQ0FJQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLHNCQUFzQixDQUFDLElBQTBCO0lBQ3hELEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNuRSxJQUFJLENBQUMsWUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7ZUFDakMsQ0FBQyxZQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDO2VBQ3hDLENBQUMsWUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztlQUNwQyxDQUFDLFlBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMxQyxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksb0RBQW9ELENBQUMsQ0FBQztZQUV6RSxVQUErQyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDbEU7S0FDRjtBQUNILENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFTLHNCQUFzQixDQUFDLElBQTBCO0lBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTs7UUFDcEQsTUFBTSxVQUFVLFNBQUcsWUFBWSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNyQyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM1QjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsU0FBUyxDQUFDLElBQTBCO0lBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUMzRDtJQUNELE9BQU8sSUFBSSxDQUFDO0lBRVosU0FBUyxnQkFBZ0IsQ0FBSSxPQUE4QjtRQUN6RCxNQUFNLE1BQU0sR0FBMEIsRUFBRSxDQUFDO1FBQ3pDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3QyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFkRCw4QkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNjaGVtYSB9IGZyb20gJy4uL2xpYic7XG5pbXBvcnQgeyBkZXRlY3RTY3J1dGlueVR5cGVzIH0gZnJvbSAnLi9zY3J1dGlueSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXNzYWdlU3BlYyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBkZXRlY3RTY3J1dGlueVR5cGVzKHNwZWMpO1xuICByZXBsYWNlSW5jb21wbGV0ZVR5cGVzKHNwZWMpO1xuICBkcm9wVHlwZWxlc3NBdHRyaWJ1dGVzKHNwZWMpO1xufVxuXG4vKipcbiAqIEZpeCBpbmNvbXBsZXRlIHR5cGUgZGVmaW5pdGlvbnMgaW4gUHJvcGVydHlUeXBlc1xuICpcbiAqIFNvbWUgdXNlci1kZWZpbmVkIHR5cGVzIGFyZSBkZWZpbmVkIHRvIG5vdCBoYXZlIGFueSBwcm9wZXJ0aWVzLCBhbmQgbm90XG4gKiBiZSBhIGNvbGxlY3Rpb24gb2Ygb3RoZXIgdHlwZXMgZWl0aGVyLiBUaGV5IGhhdmUgbm8gZGVmaW5pdGlvbiBhdCBhbGwuXG4gKlxuICogQWRkIGEgcHJvcGVydHkgb2JqZWN0IHR5cGUgd2l0aCBlbXB0eSBwcm9wZXJ0aWVzLlxuICovXG5mdW5jdGlvbiByZXBsYWNlSW5jb21wbGV0ZVR5cGVzKHNwZWM6IHNjaGVtYS5TcGVjaWZpY2F0aW9uKSB7XG4gIGZvciAoY29uc3QgW25hbWUsIGRlZmluaXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKHNwZWMuUHJvcGVydHlUeXBlcykpIHtcbiAgICBpZiAoIXNjaGVtYS5pc1JlY29yZFR5cGUoZGVmaW5pdGlvbilcbiAgICAmJiAhc2NoZW1hLmlzQ29sbGVjdGlvblByb3BlcnR5KGRlZmluaXRpb24pXG4gICAgJiYgIXNjaGVtYS5pc1NjYWxhclByb3BlcnR5KGRlZmluaXRpb24pXG4gICAgJiYgIXNjaGVtYS5pc1ByaW1pdGl2ZVByb3BlcnR5KGRlZmluaXRpb24pKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5sb2coYFske25hbWV9XSBJbmNvbXBsZXRlIHR5cGUsIGFkZGluZyBlbXB0eSBcIlByb3BlcnRpZXNcIiBmaWVsZGApO1xuXG4gICAgICAoZGVmaW5pdGlvbiBhcyB1bmtub3duIGFzIHNjaGVtYS5SZWNvcmRQcm9wZXJ0eSkuUHJvcGVydGllcyA9IHt9O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIERyb3AgQXR0cmlidXRlcyBzcGVjaWZpZWQgd2l0aCB0aGUgZGlmZmVyZW50IFJlc291cmNlVHlwZXMgdGhhdCBoYXZlXG4gKiBubyB0eXBlIHNwZWNpZmllZC5cbiAqL1xuZnVuY3Rpb24gZHJvcFR5cGVsZXNzQXR0cmlidXRlcyhzcGVjOiBzY2hlbWEuU3BlY2lmaWNhdGlvbikge1xuICBjb25zdCByZXNvdXJjZVR5cGVzID0gc3BlYy5SZXNvdXJjZVR5cGVzO1xuICBPYmplY3QudmFsdWVzKHJlc291cmNlVHlwZXMpLmZvckVhY2goKHJlc291cmNlVHlwZSkgPT4ge1xuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSByZXNvdXJjZVR5cGUuQXR0cmlidXRlcyA/PyB7fTtcbiAgICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKChhdHRyS2V5KSA9PiB7XG4gICAgICBjb25zdCBhdHRyVmFsID0gYXR0cmlidXRlc1thdHRyS2V5XTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhhdHRyVmFsKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgZGVsZXRlIGF0dHJpYnV0ZXNbYXR0cktleV07XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwcm92aWRlZCBzcGVjaWZpY2F0aW9uIHNvIHRoYXQgYGBSZXNvdXJjZVR5cGVzYGAgYW5kIGBgUHJvcGVydHlUeXBlc2BgIGFyZSBsaXN0ZWQgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLlxuICpcbiAqIEBwYXJhbSBzcGVjIGFuIEFXUyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uIGRvY3VtZW50LlxuICpcbiAqIEByZXR1cm5zIGBgc3BlY2BgLCBhZnRlciBoYXZpbmcgc29ydGVkIHRoZSBgYFJlc291cmNlVHlwZXNgYCBhbmQgYGBQcm9wZXJ0eVR5cGVzYGAgc2VjdGlvbnMgYWxwaGFiZXRpY2FsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3BlYzogc2NoZW1hLlNwZWNpZmljYXRpb24pOiBzY2hlbWEuU3BlY2lmaWNhdGlvbiB7XG4gIHNwZWMuUmVzb3VyY2VUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5SZXNvdXJjZVR5cGVzKTtcbiAgaWYgKHNwZWMuUHJvcGVydHlUeXBlcykge1xuICAgIHNwZWMuUHJvcGVydHlUeXBlcyA9IG5vcm1hbGl6ZVNlY3Rpb24oc3BlYy5Qcm9wZXJ0eVR5cGVzKTtcbiAgfVxuICByZXR1cm4gc3BlYztcblxuICBmdW5jdGlvbiBub3JtYWxpemVTZWN0aW9uPFQ+KHNlY3Rpb246IHsgW25hbWU6IHN0cmluZ106IFQgfSk6IHsgW25hbWU6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3QgcmVzdWx0OiB7IFtuYW1lOiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhzZWN0aW9uKS5zb3J0KCkpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gc2VjdGlvbltrZXldO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface PatchOptions {
|
|
2
|
+
readonly quiet?: boolean;
|
|
3
|
+
}
|
|
4
|
+
export declare type PatchSet = Record<string, PatchSetElement>;
|
|
5
|
+
export declare type PatchSetElement = {
|
|
6
|
+
readonly type: 'fragment';
|
|
7
|
+
readonly data: any;
|
|
8
|
+
} | {
|
|
9
|
+
readonly type: 'patch';
|
|
10
|
+
readonly data: any;
|
|
11
|
+
} | {
|
|
12
|
+
readonly type: 'set';
|
|
13
|
+
readonly sources: PatchSet;
|
|
14
|
+
};
|
|
15
|
+
export declare function loadPatchSet(sourceDirectory: string, relativeTo?: string): Promise<PatchSet>;
|
|
16
|
+
export declare function evaluatePatchSet(sources: PatchSet, options?: PatchOptions): any;
|
|
17
|
+
/**
|
|
18
|
+
* Load a patch set from a directory
|
|
19
|
+
*/
|
|
20
|
+
export declare function applyPatchSet(sourceDirectory: string, options?: PatchOptions): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* Load a patch set and write it out to a file
|
|
23
|
+
*/
|
|
24
|
+
export declare function applyAndWrite(targetFile: string, sourceDirectory: string, options?: PatchOptions): Promise<void>;
|
|
25
|
+
export declare function writeSorted(targetFile: string, data: any): Promise<void>;
|