@cdktn/hcl2cdk 0.23.0-pre.7 → 0.23.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/ambient.d.ts +0 -1
- package/build/__tests__/coerceType.test.js +165 -0
- package/build/__tests__/expressionToTs.test.js +693 -0
- package/build/__tests__/expressions.test.js +415 -0
- package/build/__tests__/findExpressionType.test.js +105 -0
- package/build/__tests__/functions.test.js +605 -0
- package/build/__tests__/generation.test.js +45 -0
- package/build/__tests__/jsii-rosetta-workarounds.test.js +86 -0
- package/build/__tests__/partialCode.test.js +390 -0
- package/build/__tests__/terraformSchema.test.js +105 -0
- package/build/__tests__/testHelpers.js +16 -0
- package/build/coerceType.js +240 -0
- package/build/dynamic-blocks.js +44 -0
- package/build/expressions.js +633 -0
- package/build/function-bindings/functions.generated.js +1142 -0
- package/build/function-bindings/functions.js +73 -0
- package/{lib → build}/generation.js +4 -4
- package/{lib → build}/index.d.ts +2 -2
- package/build/index.js +364 -0
- package/build/iteration.js +87 -0
- package/build/jsii-rosetta-workarounds.js +126 -0
- package/build/partialCode.js +116 -0
- package/build/provider.js +40 -0
- package/build/references.js +141 -0
- package/build/schema.js +81 -0
- package/build/telemetryAllowList.json +24 -0
- package/build/terraformSchema.js +136 -0
- package/build/types.js +3 -0
- package/build/utils.js +25 -0
- package/build/variables.js +172 -0
- package/package.json +13 -14
- package/tsconfig.json +4 -2
- package/lib/__tests__/coerceType.test.js +0 -165
- package/lib/__tests__/expressionToTs.test.js +0 -693
- package/lib/__tests__/expressions.test.js +0 -415
- package/lib/__tests__/findExpressionType.test.js +0 -105
- package/lib/__tests__/functions.test.js +0 -605
- package/lib/__tests__/generation.test.js +0 -45
- package/lib/__tests__/jsii-rosetta-workarounds.test.js +0 -86
- package/lib/__tests__/partialCode.test.js +0 -390
- package/lib/__tests__/terraformSchema.test.js +0 -105
- package/lib/__tests__/testHelpers.js +0 -16
- package/lib/coerceType.js +0 -240
- package/lib/dynamic-blocks.js +0 -44
- package/lib/expressions.js +0 -634
- package/lib/function-bindings/functions.generated.js +0 -1142
- package/lib/function-bindings/functions.js +0 -73
- package/lib/index.js +0 -364
- package/lib/iteration.js +0 -87
- package/lib/jsii-rosetta-workarounds.js +0 -126
- package/lib/partialCode.js +0 -116
- package/lib/provider.js +0 -40
- package/lib/references.js +0 -141
- package/lib/schema.js +0 -81
- package/lib/terraformSchema.js +0 -136
- package/lib/types.js +0 -3
- package/lib/utils.js +0 -25
- package/lib/variables.js +0 -172
- /package/{lib → build}/__tests__/coerceType.test.d.ts +0 -0
- /package/{lib → build}/__tests__/expressionToTs.test.d.ts +0 -0
- /package/{lib → build}/__tests__/expressions.test.d.ts +0 -0
- /package/{lib → build}/__tests__/findExpressionType.test.d.ts +0 -0
- /package/{lib → build}/__tests__/functions.test.d.ts +0 -0
- /package/{lib → build}/__tests__/generation.test.d.ts +0 -0
- /package/{lib → build}/__tests__/jsii-rosetta-workarounds.test.d.ts +0 -0
- /package/{lib → build}/__tests__/partialCode.test.d.ts +0 -0
- /package/{lib → build}/__tests__/terraformSchema.test.d.ts +0 -0
- /package/{lib → build}/__tests__/testHelpers.d.ts +0 -0
- /package/{lib → build}/coerceType.d.ts +0 -0
- /package/{lib → build}/dynamic-blocks.d.ts +0 -0
- /package/{lib → build}/expressions.d.ts +0 -0
- /package/{lib → build}/function-bindings/functions.d.ts +0 -0
- /package/{lib → build}/function-bindings/functions.generated.d.ts +0 -0
- /package/{lib → build}/generation.d.ts +0 -0
- /package/{lib → build}/iteration.d.ts +0 -0
- /package/{lib → build}/jsii-rosetta-workarounds.d.ts +0 -0
- /package/{lib → build}/partialCode.d.ts +0 -0
- /package/{lib → build}/provider.d.ts +0 -0
- /package/{lib → build}/references.d.ts +0 -0
- /package/{lib → build}/schema.d.ts +0 -0
- /package/{lib → build}/terraformSchema.d.ts +0 -0
- /package/{lib → build}/types.d.ts +0 -0
- /package/{lib → build}/utils.d.ts +0 -0
- /package/{lib → build}/variables.d.ts +0 -0
- /package/{lib → src}/telemetryAllowList.json +0 -0
package/lib/schema.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.schema = void 0;
|
|
27
|
-
// Copyright (c) HashiCorp, Inc
|
|
28
|
-
// SPDX-License-Identifier: MPL-2.0
|
|
29
|
-
const z = __importStar(require("zod"));
|
|
30
|
-
const tfObject = (config) => z.array(z.object(config).partial());
|
|
31
|
-
const outputConfig = tfObject({
|
|
32
|
-
value: z.any(),
|
|
33
|
-
description: z.string().optional(),
|
|
34
|
-
sensitive: z.boolean().optional(),
|
|
35
|
-
depends_on: z.string().optional(),
|
|
36
|
-
});
|
|
37
|
-
const validationConfig = z.object({
|
|
38
|
-
error_message: z.string(),
|
|
39
|
-
condition: z.any(),
|
|
40
|
-
});
|
|
41
|
-
const variableConfig = tfObject({
|
|
42
|
-
type: z.string(),
|
|
43
|
-
default: z.any(),
|
|
44
|
-
description: z.string(),
|
|
45
|
-
sensitive: z.boolean(),
|
|
46
|
-
nullable: z.boolean().optional(),
|
|
47
|
-
validation: z.array(validationConfig).optional(),
|
|
48
|
-
});
|
|
49
|
-
const providerConfig = z.array(z.record(z.any()));
|
|
50
|
-
const moduleConfig = z.array(z.object({ source: z.string() }).nonstrict());
|
|
51
|
-
const resourceConfig = z.array(z.record(z.any()));
|
|
52
|
-
const importConfig = z.object({
|
|
53
|
-
to: z.string(),
|
|
54
|
-
id: z.string(),
|
|
55
|
-
provider: z.any().optional(),
|
|
56
|
-
});
|
|
57
|
-
const providerSpecification = z.union([
|
|
58
|
-
z.object({ source: z.string(), version: z.string() }).partial(),
|
|
59
|
-
z.string(),
|
|
60
|
-
]);
|
|
61
|
-
const terraformConfig = z
|
|
62
|
-
.object({
|
|
63
|
-
required_version: z.string(),
|
|
64
|
-
required_providers: z.array(z.record(providerSpecification)),
|
|
65
|
-
backend: z.record(z.array(z.record(z.any()))),
|
|
66
|
-
})
|
|
67
|
-
.partial();
|
|
68
|
-
exports.schema = z
|
|
69
|
-
.object({
|
|
70
|
-
data: z.record(z.record(resourceConfig)),
|
|
71
|
-
import: z.array(importConfig),
|
|
72
|
-
locals: z.array(z.record(z.any())),
|
|
73
|
-
module: z.record(moduleConfig),
|
|
74
|
-
output: z.record(outputConfig),
|
|
75
|
-
provider: z.record(providerConfig),
|
|
76
|
-
resource: z.record(z.record(resourceConfig)),
|
|
77
|
-
terraform: z.array(terraformConfig),
|
|
78
|
-
variable: z.record(variableConfig),
|
|
79
|
-
})
|
|
80
|
-
.partial();
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsTUFBTSxRQUFRLEdBQUcsQ0FBMEIsTUFBUyxFQUFFLEVBQUUsQ0FDdEQsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFFdEMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDO0lBQzVCLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0lBQ2QsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FBQyxDQUFDO0FBR0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3pCLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQztJQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRTtJQUNoQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUN0QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUNqRCxDQUFDLENBQUM7QUFHSCxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUdsRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0FBRzNFLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBSWxELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNkLFFBQVEsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQztBQUdILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDL0QsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNYLENBQUMsQ0FBQztBQUVILE1BQU0sZUFBZSxHQUFHLENBQUM7S0FDdEIsTUFBTSxDQUFDO0lBQ04sZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM1QixrQkFBa0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM1RCxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztDQUM5QyxDQUFDO0tBQ0QsT0FBTyxFQUFFLENBQUM7QUFHQSxRQUFBLE1BQU0sR0FBRyxDQUFDO0tBQ3BCLE1BQU0sQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQzdCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzlCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM5QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDbEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDbkMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0NBQ25DLENBQUM7S0FDRCxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyB6IGZyb20gXCJ6b2RcIjtcblxuY29uc3QgdGZPYmplY3QgPSA8VCBleHRlbmRzIHouWm9kUmF3U2hhcGU+KGNvbmZpZzogVCkgPT5cbiAgei5hcnJheSh6Lm9iamVjdChjb25maWcpLnBhcnRpYWwoKSk7XG5cbmNvbnN0IG91dHB1dENvbmZpZyA9IHRmT2JqZWN0KHtcbiAgdmFsdWU6IHouYW55KCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHNlbnNpdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgZGVwZW5kc19vbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBPdXRwdXQgPSB6LmluZmVyPHR5cGVvZiBvdXRwdXRDb25maWc+O1xuXG5jb25zdCB2YWxpZGF0aW9uQ29uZmlnID0gei5vYmplY3Qoe1xuICBlcnJvcl9tZXNzYWdlOiB6LnN0cmluZygpLFxuICBjb25kaXRpb246IHouYW55KCksXG59KTtcblxuY29uc3QgdmFyaWFibGVDb25maWcgPSB0Zk9iamVjdCh7XG4gIHR5cGU6IHouc3RyaW5nKCksXG4gIGRlZmF1bHQ6IHouYW55KCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLFxuICBzZW5zaXRpdmU6IHouYm9vbGVhbigpLFxuICBudWxsYWJsZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmFsaWRhdGlvbjogei5hcnJheSh2YWxpZGF0aW9uQ29uZmlnKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBWYXJpYWJsZSA9IHouaW5mZXI8dHlwZW9mIHZhcmlhYmxlQ29uZmlnPjtcblxuY29uc3QgcHJvdmlkZXJDb25maWcgPSB6LmFycmF5KHoucmVjb3JkKHouYW55KCkpKTtcbmV4cG9ydCB0eXBlIFByb3ZpZGVyID0gei5pbmZlcjx0eXBlb2YgcHJvdmlkZXJDb25maWc+O1xuXG5jb25zdCBtb2R1bGVDb25maWcgPSB6LmFycmF5KHoub2JqZWN0KHsgc291cmNlOiB6LnN0cmluZygpIH0pLm5vbnN0cmljdCgpKTtcbmV4cG9ydCB0eXBlIE1vZHVsZSA9IHouaW5mZXI8dHlwZW9mIG1vZHVsZUNvbmZpZz47XG5cbmNvbnN0IHJlc291cmNlQ29uZmlnID0gei5hcnJheSh6LnJlY29yZCh6LmFueSgpKSk7XG5leHBvcnQgdHlwZSBSZXNvdXJjZSA9IHouaW5mZXI8dHlwZW9mIHJlc291cmNlQ29uZmlnPjtcbmV4cG9ydCB0eXBlIERhdGEgPSBSZXNvdXJjZTtcblxuY29uc3QgaW1wb3J0Q29uZmlnID0gei5vYmplY3Qoe1xuICB0bzogei5zdHJpbmcoKSxcbiAgaWQ6IHouc3RyaW5nKCksXG4gIHByb3ZpZGVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEltcG9ydCA9IHouaW5mZXI8dHlwZW9mIGltcG9ydENvbmZpZz47XG5cbmNvbnN0IHByb3ZpZGVyU3BlY2lmaWNhdGlvbiA9IHoudW5pb24oW1xuICB6Lm9iamVjdCh7IHNvdXJjZTogei5zdHJpbmcoKSwgdmVyc2lvbjogei5zdHJpbmcoKSB9KS5wYXJ0aWFsKCksXG4gIHouc3RyaW5nKCksXG5dKTtcblxuY29uc3QgdGVycmFmb3JtQ29uZmlnID0gelxuICAub2JqZWN0KHtcbiAgICByZXF1aXJlZF92ZXJzaW9uOiB6LnN0cmluZygpLFxuICAgIHJlcXVpcmVkX3Byb3ZpZGVyczogei5hcnJheSh6LnJlY29yZChwcm92aWRlclNwZWNpZmljYXRpb24pKSxcbiAgICBiYWNrZW5kOiB6LnJlY29yZCh6LmFycmF5KHoucmVjb3JkKHouYW55KCkpKSksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG5leHBvcnQgdHlwZSBUZXJyYWZvcm1Db25maWcgPSB6LmluZmVyPHR5cGVvZiB0ZXJyYWZvcm1Db25maWc+O1xuXG5leHBvcnQgY29uc3Qgc2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBkYXRhOiB6LnJlY29yZCh6LnJlY29yZChyZXNvdXJjZUNvbmZpZykpLFxuICAgIGltcG9ydDogei5hcnJheShpbXBvcnRDb25maWcpLFxuICAgIGxvY2Fsczogei5hcnJheSh6LnJlY29yZCh6LmFueSgpKSksXG4gICAgbW9kdWxlOiB6LnJlY29yZChtb2R1bGVDb25maWcpLFxuICAgIG91dHB1dDogei5yZWNvcmQob3V0cHV0Q29uZmlnKSxcbiAgICBwcm92aWRlcjogei5yZWNvcmQocHJvdmlkZXJDb25maWcpLFxuICAgIHJlc291cmNlOiB6LnJlY29yZCh6LnJlY29yZChyZXNvdXJjZUNvbmZpZykpLFxuICAgIHRlcnJhZm9ybTogei5hcnJheSh0ZXJyYWZvcm1Db25maWcpLFxuICAgIHZhcmlhYmxlOiB6LnJlY29yZCh2YXJpYWJsZUNvbmZpZyksXG4gIH0pXG4gIC5wYXJ0aWFsKCk7XG4iXX0=
|
package/lib/terraformSchema.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDesiredType = exports.isMapAttribute = exports.getTypeAtPath = void 0;
|
|
4
|
-
const provider_1 = require("./provider");
|
|
5
|
-
function getResourceAtPath(schema, path) {
|
|
6
|
-
var _a;
|
|
7
|
-
const parts = path.split(".");
|
|
8
|
-
if (parts.length < 2) {
|
|
9
|
-
// Too short to be a valid path
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
const isDataSource = parts[0] === "data";
|
|
13
|
-
if (isDataSource) {
|
|
14
|
-
parts.shift();
|
|
15
|
-
}
|
|
16
|
-
const providerName = parts.shift();
|
|
17
|
-
const resourceName = parts.shift();
|
|
18
|
-
const fullProviderName = (0, provider_1.getFullProviderName)(schema, providerName);
|
|
19
|
-
// Hack: In the case of 'external', the name of the data source 'external' doesn't have a prefix
|
|
20
|
-
// so we repeat the name as both provider prefix and the data source name
|
|
21
|
-
const fullResourceName = providerName === resourceName
|
|
22
|
-
? providerName
|
|
23
|
-
: `${providerName}_${resourceName}`;
|
|
24
|
-
if (!fullProviderName) {
|
|
25
|
-
// No provider found with that name
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
const provider = (_a = schema.provider_schemas) === null || _a === void 0 ? void 0 : _a[fullProviderName];
|
|
29
|
-
if (!provider) {
|
|
30
|
-
// Could not find provider
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
if (resourceName.endsWith("Provider")) {
|
|
34
|
-
// This is a provider
|
|
35
|
-
return { resource: provider.provider, parts };
|
|
36
|
-
}
|
|
37
|
-
const resources = isDataSource
|
|
38
|
-
? provider.data_source_schemas
|
|
39
|
-
: provider.resource_schemas;
|
|
40
|
-
const resource = resources[fullResourceName];
|
|
41
|
-
if (!resource) {
|
|
42
|
-
// Could not find resource
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return { resource, parts };
|
|
46
|
-
}
|
|
47
|
-
function findType(item, parts) {
|
|
48
|
-
if (!parts.length) {
|
|
49
|
-
return item;
|
|
50
|
-
}
|
|
51
|
-
const [currentPart, ...otherParts] = parts;
|
|
52
|
-
// Promitive attributes can be returned directly
|
|
53
|
-
if (typeof item === "string") {
|
|
54
|
-
return item;
|
|
55
|
-
}
|
|
56
|
-
// Complex attributes
|
|
57
|
-
if (Array.isArray(item)) {
|
|
58
|
-
if (item[0] === "set" || item[0] === "list") {
|
|
59
|
-
if (currentPart === "[]") {
|
|
60
|
-
return findType(item[1], otherParts);
|
|
61
|
-
}
|
|
62
|
-
// Trying to access a property on a list
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
if (item[0] === "object") {
|
|
66
|
-
if (currentPart === "[]") {
|
|
67
|
-
// Trying to access a property on a list
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return findType(item[1][currentPart], otherParts);
|
|
71
|
-
}
|
|
72
|
-
if (item[0] === "map") {
|
|
73
|
-
// We don't care what the key is
|
|
74
|
-
return findType(item[1], otherParts);
|
|
75
|
-
}
|
|
76
|
-
// Unknown type
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
// If we are not in an attribute, we can ignore the [] (since max_item=1 parts don't have [], so we just ignore it)
|
|
80
|
-
if (currentPart === "[]") {
|
|
81
|
-
return findType(item, otherParts);
|
|
82
|
-
}
|
|
83
|
-
// Block
|
|
84
|
-
if (item.block) {
|
|
85
|
-
// Find block type in block
|
|
86
|
-
if (item.block.block_types) {
|
|
87
|
-
const blockType = item.block.block_types[currentPart];
|
|
88
|
-
if (blockType) {
|
|
89
|
-
return findType(blockType, otherParts);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
// Find attribute in block
|
|
93
|
-
if (item.block.attributes) {
|
|
94
|
-
const attribute = item.block.attributes[currentPart];
|
|
95
|
-
if (attribute && attribute.type) {
|
|
96
|
-
return findType(attribute.type, otherParts);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Could not find the type
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
function getTypeAtPath(schema, path) {
|
|
104
|
-
const resourceSchema = getResourceAtPath(schema, path);
|
|
105
|
-
if (!resourceSchema) {
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
const { resource, parts } = resourceSchema;
|
|
109
|
-
return findType(resource, parts);
|
|
110
|
-
}
|
|
111
|
-
exports.getTypeAtPath = getTypeAtPath;
|
|
112
|
-
const isMapAttribute = (attribute) => (Array.isArray(attribute) ? attribute[0] === "map" : false);
|
|
113
|
-
exports.isMapAttribute = isMapAttribute;
|
|
114
|
-
function getDesiredType(scope, path) {
|
|
115
|
-
const attributeOrBlockType = getTypeAtPath(scope.providerSchema, path);
|
|
116
|
-
// Attribute type is not defined
|
|
117
|
-
if (!attributeOrBlockType) {
|
|
118
|
-
return "dynamic";
|
|
119
|
-
}
|
|
120
|
-
// Primitive attribute type
|
|
121
|
-
if (typeof attributeOrBlockType === "string") {
|
|
122
|
-
return attributeOrBlockType;
|
|
123
|
-
}
|
|
124
|
-
// Complex attribute type
|
|
125
|
-
if (Array.isArray(attributeOrBlockType)) {
|
|
126
|
-
return attributeOrBlockType;
|
|
127
|
-
}
|
|
128
|
-
// Schema
|
|
129
|
-
if ("version" in attributeOrBlockType) {
|
|
130
|
-
return "dynamic";
|
|
131
|
-
}
|
|
132
|
-
// Block type
|
|
133
|
-
return "dynamic";
|
|
134
|
-
}
|
|
135
|
-
exports.getDesiredType = getDesiredType;
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVycmFmb3JtU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLHlDQUFpRDtBQUdqRCxTQUFTLGlCQUFpQixDQUFDLE1BQXNCLEVBQUUsSUFBWTs7SUFDN0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU5QixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDckIsK0JBQStCO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUM7SUFDekMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQVksQ0FBQztJQUM3QyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFZLENBQUM7SUFFN0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFtQixFQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuRSxnR0FBZ0c7SUFDaEcseUVBQXlFO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQ3BCLFlBQVksS0FBSyxZQUFZO1FBQzNCLENBQUMsQ0FBQyxZQUFZO1FBQ2QsQ0FBQyxDQUFDLEdBQUcsWUFBWSxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXhDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RCLG1DQUFtQztRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsMENBQUcsZ0JBQWdCLENBQUMsQ0FBQztJQUU3RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFD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LDJCQUEyQjtJQUMzQixJQUFJLE9BQU8sb0JBQW9CLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDN0MsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQseUJBQXlCO0lBQ3pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBRUQsU0FBUztJQUNULElBQUksU0FBUyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDdEMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGFBQWE7SUFDYixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBNUJELHdDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQge1xuICBQcm92aWRlclNjaGVtYSxcbiAgQmxvY2tUeXBlLFxuICBBdHRyaWJ1dGVUeXBlLFxuICBTY2hlbWEsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHsgZ2V0RnVsbFByb3ZpZGVyTmFtZSB9IGZyb20gXCIuL3Byb3ZpZGVyXCI7XG5pbXBvcnQgeyBQcm9ncmFtU2NvcGUgfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5mdW5jdGlvbiBnZXRSZXNvdXJjZUF0UGF0aChzY2hlbWE6IFByb3ZpZGVyU2NoZW1hLCBwYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgcGFydHMgPSBwYXRoLnNwbGl0KFwiLlwiKTtcblxuICBpZiAocGFydHMubGVuZ3RoIDwgMikge1xuICAgIC8vIFRvbyBzaG9ydCB0byBiZSBhIHZhbGlkIHBhdGhcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGlzRGF0YVNvdXJjZSA9IHBhcnRzWzBdID09PSBcImRhdGFcIjtcbiAgaWYgKGlzRGF0YVNvdXJjZSkge1xuICAgIHBhcnRzLnNoaWZ0KCk7XG4gIH1cblxuICBjb25zdCBwcm92aWRlck5hbWUgPSBwYXJ0cy5zaGlmdCgpIGFzIHN0cmluZztcbiAgY29uc3QgcmVzb3VyY2VOYW1lID0gcGFydHMuc2hpZnQoKSBhcyBzdHJpbmc7XG5cbiAgY29uc3QgZnVsbFByb3ZpZGVyTmFtZSA9IGdldEZ1bGxQcm92aWRlck5hbWUoc2NoZW1hLCBwcm92aWRlck5hbWUpO1xuICAvLyBIYWNrOiBJbiB0aGUgY2FzZSBvZiAnZXh0ZXJuYWwnLCB0aGUgbmFtZSBvZiB0aGUgZGF0YSBzb3VyY2UgJ2V4dGVybmFsJyBkb2Vzbid0IGhhdmUgYSBwcmVmaXhcbiAgLy8gc28gd2UgcmVwZWF0IHRoZSBuYW1lIGFzIGJvdGggcHJvdmlkZXIgcHJlZml4IGFuZCB0aGUgZGF0YSBzb3VyY2UgbmFtZVxuICBjb25zdCBmdWxsUmVzb3VyY2VOYW1lID1cbiAgICBwcm92aWRlck5hbWUgPT09IHJlc291cmNlTmFtZVxuICAgICAgPyBwcm92aWRlck5hbWVcbiAgICAgIDogYCR7cHJvdmlkZXJOYW1lfV8ke3Jlc291cmNlTmFtZX1gO1xuXG4gIGlmICghZnVsbFByb3ZpZGVyTmFtZSkge1xuICAgIC8vIE5vIHByb3ZpZGVyIGZvdW5kIHdpdGggdGhhdCBuYW1lXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwcm92aWRlciA9IHNjaGVtYS5wcm92aWRlcl9zY2hlbWFzPy5bZnVsbFByb3ZpZGVyTmFtZV07XG5cbiAgaWYgKCFwcm92aWRlcikge1xuICAgIC8vIENvdWxkIG5vdCBmaW5kIHByb3ZpZGVyXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAocmVzb3VyY2VOYW1lLmVuZHNXaXRoKFwiUHJvdmlkZXJcIikpIHtcbiAgICAvLyBUaGlzIGlzIGEgcHJvdmlkZXJcbiAgICByZXR1cm4geyByZXNvdXJjZTogcHJvdmlkZXIucHJvdmlkZXIsIHBhcnRzIH07XG4gIH1cblxuICBjb25zdCByZXNvdXJjZXMgPSBpc0RhdGFTb3VyY2VcbiAgICA/IHByb3ZpZGVyLmRhdGFfc291cmNlX3NjaGVtYXNcbiAgICA6IHByb3ZpZGVyLnJlc291cmNlX3NjaGVtYXM7XG5cbiAgY29uc3QgcmVzb3VyY2UgPSByZXNvdXJjZXNbZnVsbFJlc291cmNlTmFtZV07XG4gIGlmICghcmVzb3VyY2UpIHtcbiAgICAvLyBDb3VsZCBub3QgZmluZCByZXNvdXJjZVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHsgcmVzb3VyY2UsIHBhcnRzIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRUeXBlKFxuICBpdGVtOiBTY2hlbWEgfCBCbG9ja1R5cGUgfCBBdHRyaWJ1dGVUeXBlLFxuICBwYXJ0czogc3RyaW5nW10sXG4pOiBTY2hlbWEgfCBCbG9ja1R5cGUgfCBBdHRyaWJ1dGVUeXBlIHwgbnVsbCB7XG4gIGlmICghcGFydHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGl0ZW07XG4gIH1cblxuICBjb25zdCBbY3VycmVudFBhcnQsIC4uLm90aGVyUGFydHNdID0gcGFydHM7XG5cbiAgLy8gUHJvbWl0aXZlIGF0dHJpYnV0ZXMgY2FuIGJlIHJldHVybmVkIGRpcmVjdGx5XG4gIGlmICh0eXBlb2YgaXRlbSA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLy8gQ29tcGxleCBhdHRyaWJ1dGVzXG4gIGlmIChBcnJheS5pc0FycmF5KGl0ZW0pKSB7XG4gICAgaWYgKGl0ZW1bMF0gPT09IFwic2V0XCIgfHwgaXRlbVswXSA9PT0gXCJsaXN0XCIpIHtcbiAgICAgIGlmIChjdXJyZW50UGFydCA9PT0gXCJbXVwiKSB7XG4gICAgICAgIHJldHVybiBmaW5kVHlwZShpdGVtWzFdLCBvdGhlclBhcnRzKTtcbiAgICAgIH1cbiAgICAgIC8vIFRyeWluZyB0byBhY2Nlc3MgYSBwcm9wZXJ0eSBvbiBhIGxpc3RcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChpdGVtWzBdID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBpZiAoY3VycmVudFBhcnQgPT09IFwiW11cIikge1xuICAgICAgICAvLyBUcnlpbmcgdG8gYWNjZXNzIGEgcHJvcGVydHkgb24gYSBsaXN0XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmluZFR5cGUoaXRlbVsxXVtjdXJyZW50UGFydF0sIG90aGVyUGFydHMpO1xuICAgIH1cblxuICAgIGlmIChpdGVtWzBdID09PSBcIm1hcFwiKSB7XG4gICAgICAvLyBXZSBkb24ndCBjYXJlIHdoYXQgdGhlIGtleSBpc1xuICAgICAgcmV0dXJuIGZpbmRUeXBlKGl0ZW1bMV0sIG90aGVyUGFydHMpO1xuICAgIH1cblxuICAgIC8vIFVua25vd24gdHlwZVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gSWYgd2UgYXJlIG5vdCBpbiBhbiBhdHRyaWJ1dGUsIHdlIGNhbiBpZ25vcmUgdGhlIFtdIChzaW5jZSBtYXhfaXRlbT0xIHBhcnRzIGRvbid0IGhhdmUgW10sIHNvIHdlIGp1c3QgaWdub3JlIGl0KVxuICBpZiAoY3VycmVudFBhcnQgPT09IFwiW11cIikge1xuICAgIHJldHVybiBmaW5kVHlwZShpdGVtLCBvdGhlclBhcnRzKTtcbiAgfVxuXG4gIC8vIEJsb2NrXG4gIGlmIChpdGVtLmJsb2NrKSB7XG4gICAgLy8gRmluZCBibG9jayB0eXBlIGluIGJsb2NrXG4gICAgaWYgKGl0ZW0uYmxvY2suYmxvY2tfdHlwZXMpIHtcbiAgICAgIGNvbnN0IGJsb2NrVHlwZSA9IGl0ZW0uYmxvY2suYmxvY2tfdHlwZXNbY3VycmVudFBhcnRdO1xuICAgICAgaWYgKGJsb2NrVHlwZSkge1xuICAgICAgICByZXR1cm4gZmluZFR5cGUoYmxvY2tUeXBlLCBvdGhlclBhcnRzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaW5kIGF0dHJpYnV0ZSBpbiBibG9ja1xuICAgIGlmIChpdGVtLmJsb2NrLmF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGl0ZW0uYmxvY2suYXR0cmlidXRlc1tjdXJyZW50UGFydF07XG4gICAgICBpZiAoYXR0cmlidXRlICYmIGF0dHJpYnV0ZS50eXBlKSB7XG4gICAgICAgIHJldHVybiBmaW5kVHlwZShhdHRyaWJ1dGUudHlwZSwgb3RoZXJQYXJ0cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ291bGQgbm90IGZpbmQgdGhlIHR5cGVcbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlQXRQYXRoKFxuICBzY2hlbWE6IFByb3ZpZGVyU2NoZW1hLFxuICBwYXRoOiBzdHJpbmcsXG4pOiBTY2hlbWEgfCBCbG9ja1R5cGUgfCBBdHRyaWJ1dGVUeXBlIHwgbnVsbCB7XG4gIGNvbnN0IHJlc291cmNlU2NoZW1hID0gZ2V0UmVzb3VyY2VBdFBhdGgoc2NoZW1hLCBwYXRoKTtcblxuICBpZiAoIXJlc291cmNlU2NoZW1hKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgeyByZXNvdXJjZSwgcGFydHMgfSA9IHJlc291cmNlU2NoZW1hO1xuICByZXR1cm4gZmluZFR5cGUocmVzb3VyY2UsIHBhcnRzKTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzTWFwQXR0cmlidXRlID0gKFxuICBhdHRyaWJ1dGU6IFNjaGVtYSB8IEF0dHJpYnV0ZVR5cGUgfCBCbG9ja1R5cGUgfCBudWxsLFxuKSA9PiAoQXJyYXkuaXNBcnJheShhdHRyaWJ1dGUpID8gYXR0cmlidXRlWzBdID09PSBcIm1hcFwiIDogZmFsc2UpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzaXJlZFR5cGUoXG4gIHNjb3BlOiBQcm9ncmFtU2NvcGUsXG4gIHBhdGg6IHN0cmluZyxcbik6IEF0dHJpYnV0ZVR5cGUge1xuICBjb25zdCBhdHRyaWJ1dGVPckJsb2NrVHlwZSA9IGdldFR5cGVBdFBhdGgoc2NvcGUucHJvdmlkZXJTY2hlbWEsIHBhdGgpO1xuXG4gIC8vIEF0dHJpYnV0ZSB0eXBlIGlzIG5vdCBkZWZpbmVkXG4gIGlmICghYXR0cmlidXRlT3JCbG9ja1R5cGUpIHtcbiAgICByZXR1cm4gXCJkeW5hbWljXCI7XG4gIH1cblxuICAvLyBQcmltaXRpdmUgYXR0cmlidXRlIHR5cGVcbiAgaWYgKHR5cGVvZiBhdHRyaWJ1dGVPckJsb2NrVHlwZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBhdHRyaWJ1dGVPckJsb2NrVHlwZTtcbiAgfVxuXG4gIC8vIENvbXBsZXggYXR0cmlidXRlIHR5cGVcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXR0cmlidXRlT3JCbG9ja1R5cGUpKSB7XG4gICAgcmV0dXJuIGF0dHJpYnV0ZU9yQmxvY2tUeXBlO1xuICB9XG5cbiAgLy8gU2NoZW1hXG4gIGlmIChcInZlcnNpb25cIiBpbiBhdHRyaWJ1dGVPckJsb2NrVHlwZSkge1xuICAgIHJldHVybiBcImR5bmFtaWNcIjtcbiAgfVxuXG4gIC8vIEJsb2NrIHR5cGVcbiAgcmV0dXJuIFwiZHluYW1pY1wiO1xufVxuIl19
|
package/lib/types.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyR2VuZXJhdG9yIH0gZnJvbSBcIkBjZGt0bi9wcm92aWRlci1nZW5lcmF0b3JcIjtcbmltcG9ydCB7IFByb3ZpZGVyU2NoZW1hIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5cbmV4cG9ydCB0eXBlIFRlcnJhZm9ybVJlc291cmNlQmxvY2sgPSB1bmtub3duO1xuZXhwb3J0IHR5cGUgQXR0cmlidXRlUGF0aCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIFByb2dyYW1TY29wZSA9IHtcbiAgcHJvdmlkZXJTY2hlbWE6IFByb3ZpZGVyU2NoZW1hO1xuICBwcm92aWRlckdlbmVyYXRvcjogUmVjb3JkPHN0cmluZywgVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3I+O1xuICBjb25zdHJ1Y3RzOiBTZXQ8c3RyaW5nPjtcbiAgdmFyaWFibGVzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHtcbiAgICAgIHJlc291cmNlOiBzdHJpbmc7XG4gICAgICB2YXJpYWJsZU5hbWU6IHN0cmluZztcbiAgICB9XG4gID47XG4gIC8vIFRlbXBvcmFyeSBmbGFnIHRvIGluZGljYXRlIGlmIHdlIG5lZWQgdG8gaW1wb3J0IHRoZSBjZGt0ZiBsaWJyYXJ5IHRvIGFjY2VzcyB0aGUgdG9rZW4gY2xhc3NcbiAgaGFzVG9rZW5CYXNlZFR5cGVDb2VyY2lvbjogYm9vbGVhbjtcbiAgbm9kZUlkczogc3RyaW5nW107IC8vIHRlbXBvcmFyaWx5IGFkZGVkIHVudGlsIHJlcGxhY2VkXG4gIGltcG9ydGFibGVzOiBJbXBvcnRhYmxlQ29uc3RydWN0W107IC8vIHJlY29yZHMgYWxsIGltcG9ydHMgZm9yIHRoZSBjb252ZXJzaW9uXG4gIHRvcExldmVsQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCBBdHRyaWJ1dGVQYXRoPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJlc291cmNlU2NvcGUgPSBQcm9ncmFtU2NvcGUgJiB7XG4gIGZvckVhY2hJdGVyYXRvck5hbWU/OiBzdHJpbmc7IC8vIHNldCBpZiBhIGZvcl9lYWNoIGlzIHVzZWQgaW4gdGhpcyByZXNvdXJjZVxuICBjb3VudEl0ZXJhdG9yTmFtZT86IHN0cmluZzsgLy8gc2V0IGlmIGEgY291bnQgaXMgdXNlZCBpbiB0aGlzIHJlc291cmNlXG4gIHdpdGhpbk92ZXJyaWRlRXhwcmVzc2lvbj86IGJvb2xlYW47IC8vIHNldCBpZiB3ZSBhcmUgY3VycmVudGx5IHdpdGhpbiBhbiBvdmVycmlkZSBleHByZXNzaW9uXG4gIHNjb3BlZFZhcmlhYmxlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47IC8vIHNldCBpZiB3ZSBhcmUgY3VycmVudGx5IHdpdGhpbiBhbiBkeW5hbWljIGJsb2NrIGV4cHJlc3Npb25cbn07XG5cbmV4cG9ydCB0eXBlIFJlZmVyZW5jZSA9IHtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIHJlZmVyZW5jZWU6IHsgaWQ6IHN0cmluZzsgZnVsbDogc3RyaW5nIH07IC8vIGlkZW50aWZpZXIgZm9yIHJlc291cmNlXG4gIHVzZUZxbj86IGJvb2xlYW47XG4gIGlzVmFyaWFibGU/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgRHluYW1pY0Jsb2NrID0ge1xuICBwYXRoOiBzdHJpbmc7XG4gIGZvcl9lYWNoOiBzdHJpbmc7XG4gIGNvbnRlbnQ6IFRlcnJhZm9ybVJlc291cmNlQmxvY2s7XG4gIHNjb3BlZFZhcjogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgSXRlcmF0b3JWYXJpYWJsZVJlZmVyZW5jZSA9IHtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIHZhbHVlOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBJbXBvcnRhYmxlQ29uc3RydWN0ID0ge1xuICBwcm92aWRlcjogc3RyaW5nO1xuICBjb25zdHJ1Y3ROYW1lOiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn07XG4iXX0=
|
package/lib/utils.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.uniqueId = exports.pascalCase = exports.camelCase = exports.leaveCommentText = exports.logger = void 0;
|
|
7
|
-
// Copyright (c) HashiCorp, Inc
|
|
8
|
-
// SPDX-License-Identifier: MPL-2.0
|
|
9
|
-
const camelcase_1 = __importDefault(require("camelcase"));
|
|
10
|
-
var commons_1 = require("@cdktn/commons");
|
|
11
|
-
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return commons_1.logger; } });
|
|
12
|
-
exports.leaveCommentText = `Please leave a comment at https://cdk.tf/bugs/convert-expressions if you run into this issue.`;
|
|
13
|
-
const camelCase = (str) => (0, camelcase_1.default)(str.replace(/[-/]/g, "_"));
|
|
14
|
-
exports.camelCase = camelCase;
|
|
15
|
-
const pascalCase = (str) => (0, camelcase_1.default)(str.replace(/[-/]/g, "_"), { pascalCase: true });
|
|
16
|
-
exports.pascalCase = pascalCase;
|
|
17
|
-
function uniqueId(set, key) {
|
|
18
|
-
if (set.has(key)) {
|
|
19
|
-
return uniqueId(set, `${key}_${set.size}`);
|
|
20
|
-
}
|
|
21
|
-
set.add(key);
|
|
22
|
-
return key;
|
|
23
|
-
}
|
|
24
|
-
exports.uniqueId = uniqueId;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ1dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDBEQUFrQztBQUVsQywwQ0FBd0M7QUFBL0IsaUdBQUEsTUFBTSxPQUFBO0FBRUYsUUFBQSxnQkFBZ0IsR0FBRywrRkFBK0YsQ0FBQztBQUV6SCxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsSUFBQSxtQkFBUyxFQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFBbEUsUUFBQSxTQUFTLGFBQXlEO0FBQ3hFLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDeEMsSUFBQSxtQkFBUyxFQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFEaEQsUUFBQSxVQUFVLGNBQ3NDO0FBRTdELFNBQWdCLFFBQVEsQ0FBQyxHQUFnQixFQUFFLEdBQVc7SUFDcEQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDakIsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBTkQsNEJBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IGNhbWVsY2FzZSBmcm9tIFwiY2FtZWxjYXNlXCI7XG5cbmV4cG9ydCB7IGxvZ2dlciB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5leHBvcnQgY29uc3QgbGVhdmVDb21tZW50VGV4dCA9IGBQbGVhc2UgbGVhdmUgYSBjb21tZW50IGF0IGh0dHBzOi8vY2RrLnRmL2J1Z3MvY29udmVydC1leHByZXNzaW9ucyBpZiB5b3UgcnVuIGludG8gdGhpcyBpc3N1ZS5gO1xuXG5leHBvcnQgY29uc3QgY2FtZWxDYXNlID0gKHN0cjogc3RyaW5nKSA9PiBjYW1lbGNhc2Uoc3RyLnJlcGxhY2UoL1stL10vZywgXCJfXCIpKTtcbmV4cG9ydCBjb25zdCBwYXNjYWxDYXNlID0gKHN0cjogc3RyaW5nKSA9PlxuICBjYW1lbGNhc2Uoc3RyLnJlcGxhY2UoL1stL10vZywgXCJfXCIpLCB7IHBhc2NhbENhc2U6IHRydWUgfSk7XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlxdWVJZChzZXQ6IFNldDxzdHJpbmc+LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChzZXQuaGFzKGtleSkpIHtcbiAgICByZXR1cm4gdW5pcXVlSWQoc2V0LCBgJHtrZXl9XyR7c2V0LnNpemV9YCk7XG4gIH1cbiAgc2V0LmFkZChrZXkpO1xuICByZXR1cm4ga2V5O1xufVxuIl19
|
package/lib/variables.js
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) HashiCorp, Inc.
|
|
4
|
-
* SPDX-License-Identifier: MPL-2.0
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
-
if (mod && mod.__esModule) return mod;
|
|
24
|
-
var result = {};
|
|
25
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
-
__setModuleDefault(result, mod);
|
|
27
|
-
return result;
|
|
28
|
-
};
|
|
29
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
-
};
|
|
32
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
-
exports.variableName = exports.constructAst = exports.referenceToVariableName = void 0;
|
|
34
|
-
const t = __importStar(require("@babel/types"));
|
|
35
|
-
const utils_1 = require("./utils");
|
|
36
|
-
const provider_generator_1 = require("@cdktn/provider-generator");
|
|
37
|
-
const provider_1 = require("./provider");
|
|
38
|
-
const reserved_words_1 = __importDefault(require("reserved-words"));
|
|
39
|
-
function referenceToVariableName(scope, ref) {
|
|
40
|
-
const parts = ref.referencee.id.split(".");
|
|
41
|
-
const resource = parts[0] === "data" ? `${parts[0]}.${parts[1]}` : parts[0];
|
|
42
|
-
const name = parts[0] === "data" ? parts[2] : parts[1];
|
|
43
|
-
return variableName(scope, resource, name);
|
|
44
|
-
}
|
|
45
|
-
exports.referenceToVariableName = referenceToVariableName;
|
|
46
|
-
function validVarName(name) {
|
|
47
|
-
if (reserved_words_1.default.check(name)) {
|
|
48
|
-
return `${name}Var`;
|
|
49
|
-
}
|
|
50
|
-
if (!Number.isNaN(parseInt(name[0], 10))) {
|
|
51
|
-
return `d${name}`;
|
|
52
|
-
}
|
|
53
|
-
return name;
|
|
54
|
-
}
|
|
55
|
-
function getUniqueName(scope, provider, type) {
|
|
56
|
-
var _a;
|
|
57
|
-
// early abort on cdktf
|
|
58
|
-
if (provider === "cdktf") {
|
|
59
|
-
return (0, utils_1.pascalCase)(type.replace("cdktf_", ""));
|
|
60
|
-
}
|
|
61
|
-
// early abort on cdktn
|
|
62
|
-
if (provider === "cdktn") {
|
|
63
|
-
return (0, utils_1.pascalCase)(type.replace("cdktn_", ""));
|
|
64
|
-
}
|
|
65
|
-
if (provider === "NullProvider") {
|
|
66
|
-
return (0, utils_1.pascalCase)(type.replace("NullProvider_", ""));
|
|
67
|
-
}
|
|
68
|
-
// Special handling for provider blocks, e.g. aws_AwsProvider
|
|
69
|
-
if (type === `${(0, utils_1.pascalCase)(provider)}Provider`) {
|
|
70
|
-
return (0, provider_generator_1.sanitizeClassOrNamespaceName)(type, true);
|
|
71
|
-
}
|
|
72
|
-
const fullProviderName = (0, provider_1.getFullProviderName)(scope.providerSchema, provider);
|
|
73
|
-
if (fullProviderName && scope.providerGenerator[fullProviderName]) {
|
|
74
|
-
return (_a = scope.providerGenerator[fullProviderName]) === null || _a === void 0 ? void 0 : _a.getClassNameForResource(type);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
// If we can not find the class name for a resource the caller needs to find a sensible default
|
|
78
|
-
return null;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
function getResourceNamespace(scope, provider, resource, isDataSource, type) {
|
|
82
|
-
var _a;
|
|
83
|
-
// happens e.g. for references to cdktn.TerraformStack (and similar) in generated code
|
|
84
|
-
if (provider === "cdktn") {
|
|
85
|
-
return undefined;
|
|
86
|
-
}
|
|
87
|
-
// e.g. awsProvider -> provider
|
|
88
|
-
if (resource === (0, utils_1.pascalCase)(`${provider}_provider`) ||
|
|
89
|
-
(provider === "NullProvider" && resource === "NullProvider")) {
|
|
90
|
-
return "provider";
|
|
91
|
-
}
|
|
92
|
-
const fullProviderName = (0, provider_1.getFullProviderName)(scope.providerSchema, provider);
|
|
93
|
-
if (fullProviderName && scope.providerGenerator[fullProviderName]) {
|
|
94
|
-
return (0, utils_1.camelCase)((_a = scope.providerGenerator[fullProviderName]) === null || _a === void 0 ? void 0 : _a.getNamespaceNameForResource(type.replace(/\./g, "_")));
|
|
95
|
-
}
|
|
96
|
-
if (isDataSource) {
|
|
97
|
-
return (0, utils_1.camelCase)((0, provider_generator_1.sanitizeClassOrNamespaceName)(`data_${provider}_${resource}`));
|
|
98
|
-
}
|
|
99
|
-
return (0, utils_1.camelCase)((0, provider_generator_1.sanitizeClassOrNamespaceName)(resource));
|
|
100
|
-
}
|
|
101
|
-
function constructAst(scope, type, isModuleImport) {
|
|
102
|
-
if (isModuleImport) {
|
|
103
|
-
return t.memberExpression(t.identifier(type), t.identifier(type));
|
|
104
|
-
}
|
|
105
|
-
if (type.startsWith("var.")) {
|
|
106
|
-
scope.importables.push({
|
|
107
|
-
provider: "cdktn",
|
|
108
|
-
constructName: "TerraformVariable",
|
|
109
|
-
});
|
|
110
|
-
return t.identifier("TerraformVariable");
|
|
111
|
-
}
|
|
112
|
-
if (type === "terraform.data") {
|
|
113
|
-
scope.importables.push({
|
|
114
|
-
constructName: "DataResource",
|
|
115
|
-
provider: "cdktn",
|
|
116
|
-
});
|
|
117
|
-
return t.identifier("DataResource");
|
|
118
|
-
}
|
|
119
|
-
// resources or data sources
|
|
120
|
-
if (!type.includes("./") && type.includes(".")) {
|
|
121
|
-
const parts = type.split(".");
|
|
122
|
-
if (parts[0] === "data") {
|
|
123
|
-
const [, provider, resource] = parts;
|
|
124
|
-
const namespace = getResourceNamespace(scope, provider, resource, true, type);
|
|
125
|
-
const resourceName = getUniqueName(scope, provider, parts.join("_")) ||
|
|
126
|
-
(0, utils_1.pascalCase)((0, provider_generator_1.sanitizeClassOrNamespaceName)(`data_${provider}_${resource}`));
|
|
127
|
-
scope.importables.push({
|
|
128
|
-
provider: provider,
|
|
129
|
-
constructName: resourceName,
|
|
130
|
-
namespace,
|
|
131
|
-
});
|
|
132
|
-
if (namespace) {
|
|
133
|
-
return t.identifier(resourceName); // e.g. DataAwsInstance
|
|
134
|
-
}
|
|
135
|
-
return t.identifier(resourceName); // e.g. DataAwsNatGateway
|
|
136
|
-
}
|
|
137
|
-
const [provider, resource] = parts;
|
|
138
|
-
const namespace = getResourceNamespace(scope, provider, resource, false, type);
|
|
139
|
-
const resourceName = getUniqueName(scope, provider, parts.join("_")) ||
|
|
140
|
-
(0, utils_1.pascalCase)((0, provider_generator_1.sanitizeClassOrNamespaceName)(resource));
|
|
141
|
-
scope.importables.push({
|
|
142
|
-
provider: provider,
|
|
143
|
-
constructName: resourceName,
|
|
144
|
-
namespace,
|
|
145
|
-
});
|
|
146
|
-
if (namespace) {
|
|
147
|
-
return t.identifier(resourceName); // e.g. Instance
|
|
148
|
-
}
|
|
149
|
-
return t.identifier(resourceName); // e.g. BigQueryTable
|
|
150
|
-
}
|
|
151
|
-
return t.identifier((0, utils_1.pascalCase)(type));
|
|
152
|
-
}
|
|
153
|
-
exports.constructAst = constructAst;
|
|
154
|
-
function variableName(scope, resource, name) {
|
|
155
|
-
const consistentResourceName = resource.replace(/\./g, "_");
|
|
156
|
-
// name collision, we need to prefix the name
|
|
157
|
-
if (scope.variables[name]) {
|
|
158
|
-
if (consistentResourceName === scope.variables[name].resource) {
|
|
159
|
-
return scope.variables[name].variableName;
|
|
160
|
-
}
|
|
161
|
-
// we only cache one per name
|
|
162
|
-
return validVarName((0, utils_1.camelCase)([resource, name].join("_")));
|
|
163
|
-
}
|
|
164
|
-
const variableName = validVarName((0, utils_1.camelCase)(name));
|
|
165
|
-
scope.variables[name] = {
|
|
166
|
-
variableName,
|
|
167
|
-
resource: consistentResourceName,
|
|
168
|
-
};
|
|
169
|
-
return variableName;
|
|
170
|
-
}
|
|
171
|
-
exports.variableName = variableName;
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O0dBR0c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsZ0RBQWtDO0FBRWxDLG1DQUFnRDtBQUNoRCxrRUFBeUU7QUFDekUseUNBQWlEO0FBQ2pELG9FQUEyQztBQUUzQyxTQUFnQix1QkFBdUIsQ0FDckMsS0FBbUIsRUFDbkIsR0FBYztJQUVkLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQVJELDBEQVFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBWTtJQUNoQyxJQUFJLHdCQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FB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QUMsZ0JBQWdCO1FBQ3JELENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7SUFDMUQsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBcEZELG9DQW9GQztBQUVELFNBQWdCLFlBQVksQ0FDMUIsS0FBbUIsRUFDbkIsUUFBZ0IsRUFDaEIsSUFBWTtJQUVaLE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDNUQsNkNBQTZDO0lBQzdDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzFCLElBQUksc0JBQXNCLEtBQUssS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM5RCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQzVDLENBQUM7UUFFRCw2QkFBNkI7UUFDN0IsT0FBTyxZQUFZLENBQUMsSUFBQSxpQkFBUyxFQUFDLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVuRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHO1FBQ3RCLFlBQVk7UUFDWixRQUFRLEVBQUUsc0JBQXNCO0tBQ2pDLENBQUM7SUFFRixPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBeEJELG9DQXdCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluYy5cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG4gKi9cblxuaW1wb3J0ICogYXMgdCBmcm9tIFwiQGJhYmVsL3R5cGVzXCI7XG5pbXBvcnQgeyBQcm9ncmFtU2NvcGUsIFJlZmVyZW5jZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBjYW1lbENhc2UsIHBhc2NhbENhc2UgfSBmcm9tIFwiLi91dGlsc1wiO1xuaW1wb3J0IHsgc2FuaXRpemVDbGFzc09yTmFtZXNwYWNlTmFtZSB9IGZyb20gXCJAY2RrdG4vcHJvdmlkZXItZ2VuZXJhdG9yXCI7XG5pbXBvcnQgeyBnZXRGdWxsUHJvdmlkZXJOYW1lIH0gZnJvbSBcIi4vcHJvdmlkZXJcIjtcbmltcG9ydCByZXNlcnZlZFdvcmRzIGZyb20gXCJyZXNlcnZlZC13b3Jkc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVmZXJlbmNlVG9WYXJpYWJsZU5hbWUoXG4gIHNjb3BlOiBQcm9ncmFtU2NvcGUsXG4gIHJlZjogUmVmZXJlbmNlLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcGFydHMgPSByZWYucmVmZXJlbmNlZS5pZC5zcGxpdChcIi5cIik7XG4gIGNvbnN0IHJlc291cmNlID0gcGFydHNbMF0gPT09IFwiZGF0YVwiID8gYCR7cGFydHNbMF19LiR7cGFydHNbMV19YCA6IHBhcnRzWzBdO1xuICBjb25zdCBuYW1lID0gcGFydHNbMF0gPT09IFwiZGF0YVwiID8gcGFydHNbMl0gOiBwYXJ0c1sxXTtcbiAgcmV0dXJuIHZhcmlhYmxlTmFtZShzY29wZSwgcmVzb3VyY2UsIG5hbWUpO1xufVxuXG5mdW5jdGlvbiB2YWxpZFZhck5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChyZXNlcnZlZFdvcmRzLmNoZWNrKG5hbWUpKSB7XG4gICAgcmV0dXJuIGAke25hbWV9VmFyYDtcbiAgfVxuXG4gIGlmICghTnVtYmVyLmlzTmFOKHBhcnNlSW50KG5hbWVbMF0sIDEwKSkpIHtcbiAgICByZXR1cm4gYGQke25hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBuYW1lO1xufVxuXG5mdW5jdGlvbiBnZXRVbmlxdWVOYW1lKHNjb3BlOiBQcm9ncmFtU2NvcGUsIHByb3ZpZGVyOiBzdHJpbmcsIHR5cGU6IHN0cmluZykge1xuICAvLyBlYXJseSBhYm9ydCBvbiBjZGt0ZlxuICBpZiAocHJvdmlkZXIgPT09IFwiY2RrdGZcIikge1xuICAgIHJldHVybiBwYXNjYWxDYXNlKHR5cGUucmVwbGFjZShcImNka3RmX1wiLCBcIlwiKSk7XG4gIH1cbiAgLy8gZWFybHkgYWJvcnQgb24gY2RrdG5cbiAgaWYgKHByb3ZpZGVyID09PSBcImNka3RuXCIpIHtcbiAgICByZXR1cm4gcGFzY2FsQ2FzZSh0eXBlLnJlcGxhY2UoXCJjZGt0bl9cIiwgXCJcIikpO1xuICB9XG5cbiAgaWYgKHByb3ZpZGVyID09PSBcIk51bGxQcm92aWRlclwiKSB7XG4gICAgcmV0dXJuIHBhc2NhbENhc2UodHlwZS5yZXBsYWNlKFwiTnVsbFByb3ZpZGVyX1wiLCBcIlwiKSk7XG4gIH1cblxuICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciBwcm92aWRlciBibG9ja3MsIGUuZy4gYXdzX0F3c1Byb3ZpZGVyXG4gIGlmICh0eXBlID09PSBgJHtwYXNjYWxDYXNlKHByb3ZpZGVyKX1Qcm92aWRlcmApIHtcbiAgICByZXR1cm4gc2FuaXRpemVDbGFzc09yTmFtZXNwYWNlTmFtZSh0eXBlLCB0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGZ1bGxQcm92aWRlck5hbWUgPSBnZXRGdWxsUHJvdmlkZXJOYW1lKHNjb3BlLnByb3ZpZGVyU2NoZW1hLCBwcm92aWRlcik7XG4gIGlmIChmdWxsUHJvdmlkZXJOYW1lICYmIHNjb3BlLnByb3ZpZGVyR2VuZXJhdG9yW2Z1bGxQcm92aWRlck5hbWVdKSB7XG4gICAgcmV0dXJuIHNjb3BlLnByb3ZpZGVyR2VuZXJhdG9yW2Z1bGxQcm92aWRlck5hbWVdPy5nZXRDbGFzc05hbWVGb3JSZXNvdXJjZShcbiAgICAgIHR5cGUsXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiB3ZSBjYW4gbm90IGZpbmQgdGhlIGNsYXNzIG5hbWUgZm9yIGEgcmVzb3VyY2UgdGhlIGNhbGxlciBuZWVkcyB0byBmaW5kIGEgc2Vuc2libGUgZGVmYXVsdFxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFJlc291cmNlTmFtZXNwYWNlKFxuICBzY29wZTogUHJvZ3JhbVNjb3BlLFxuICBwcm92aWRlcjogc3RyaW5nLFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpc0RhdGFTb3VyY2U6IGJvb2xlYW4sXG4gIHR5cGU6IHN0cmluZyxcbikge1xuICAvLyBoYXBwZW5zIGUuZy4gZm9yIHJlZmVyZW5jZXMgdG8gY2RrdG4uVGVycmFmb3JtU3RhY2sgKGFuZCBzaW1pbGFyKSBpbiBnZW5lcmF0ZWQgY29kZVxuICBpZiAocHJvdmlkZXIgPT09IFwiY2RrdG5cIikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBlLmcuIGF3c1Byb3ZpZGVyIC0+IHByb3ZpZGVyXG4gIGlmIChcbiAgICByZXNvdXJjZSA9PT0gcGFzY2FsQ2FzZShgJHtwcm92aWRlcn1fcHJvdmlkZXJgKSB8fFxuICAgIChwcm92aWRlciA9PT0gXCJOdWxsUHJvdmlkZXJcIiAmJiByZXNvdXJjZSA9PT0gXCJOdWxsUHJvdmlkZXJcIilcbiAgKSB7XG4gICAgcmV0dXJuIFwicHJvdmlkZXJcIjtcbiAgfVxuXG4gIGNvbnN0IGZ1bGxQcm92aWRlck5hbWUgPSBnZXRGdWxsUHJvdmlkZXJOYW1lKHNjb3BlLnByb3ZpZGVyU2NoZW1hLCBwcm92aWRlcik7XG5cbiAgaWYgKGZ1bGxQcm92aWRlck5hbWUgJiYgc2NvcGUucHJvdmlkZXJHZW5lcmF0b3JbZnVsbFByb3ZpZGVyTmFtZV0pIHtcbiAgICByZXR1cm4gY2FtZWxDYXNlKFxuICAgICAgc2NvcGUucHJvdmlkZXJHZW5lcmF0b3JbZnVsbFByb3ZpZGVyTmFtZV0/LmdldE5hbWVzcGFjZU5hbWVGb3JSZXNvdXJjZShcbiAgICAgICAgdHlwZS5yZXBsYWNlKC9cXC4vZywgXCJfXCIpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgaWYgKGlzRGF0YVNvdXJjZSkge1xuICAgIHJldHVybiBjYW1lbENhc2UoXG4gICAgICBzYW5pdGl6ZUNsYXNzT3JOYW1lc3BhY2VOYW1lKGBkYXRhXyR7cHJvdmlkZXJ9XyR7cmVzb3VyY2V9YCksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBjYW1lbENhc2Uoc2FuaXRpemVDbGFzc09yTmFtZXNwYWNlTmFtZShyZXNvdXJjZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0QXN0KFxuICBzY29wZTogUHJvZ3JhbVNjb3BlLFxuICB0eXBlOiBzdHJpbmcsXG4gIGlzTW9kdWxlSW1wb3J0OiBib29sZWFuLFxuKSB7XG4gIGlmIChpc01vZHVsZUltcG9ydCkge1xuICAgIHJldHVybiB0Lm1lbWJlckV4cHJlc3Npb24odC5pZGVudGlmaWVyKHR5cGUpLCB0LmlkZW50aWZpZXIodHlwZSkpO1xuICB9XG5cbiAgaWYgKHR5cGUuc3RhcnRzV2l0aChcInZhci5cIikpIHtcbiAgICBzY29wZS5pbXBvcnRhYmxlcy5wdXNoKHtcbiAgICAgIHByb3ZpZGVyOiBcImNka3RuXCIsXG4gICAgICBjb25zdHJ1Y3ROYW1lOiBcIlRlcnJhZm9ybVZhcmlhYmxlXCIsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdC5pZGVudGlmaWVyKFwiVGVycmFmb3JtVmFyaWFibGVcIik7XG4gIH1cblxuICBpZiAodHlwZSA9PT0gXCJ0ZXJyYWZvcm0uZGF0YVwiKSB7XG4gICAgc2NvcGUuaW1wb3J0YWJsZXMucHVzaCh7XG4gICAgICBjb25zdHJ1Y3ROYW1lOiBcIkRhdGFSZXNvdXJjZVwiLFxuICAgICAgcHJvdmlkZXI6IFwiY2RrdG5cIixcbiAgICB9KTtcbiAgICByZXR1cm4gdC5pZGVudGlmaWVyKFwiRGF0YVJlc291cmNlXCIpO1xuICB9XG5cbiAgLy8gcmVzb3VyY2VzIG9yIGRhdGEgc291cmNlc1xuICBpZiAoIXR5cGUuaW5jbHVkZXMoXCIuL1wiKSAmJiB0eXBlLmluY2x1ZGVzKFwiLlwiKSkge1xuICAgIGNvbnN0IHBhcnRzID0gdHlwZS5zcGxpdChcIi5cIik7XG4gICAgaWYgKHBhcnRzWzBdID09PSBcImRhdGFcIikge1xuICAgICAgY29uc3QgWywgcHJvdmlkZXIsIHJlc291cmNlXSA9IHBhcnRzO1xuXG4gICAgICBjb25zdCBuYW1lc3BhY2UgPSBnZXRSZXNvdXJjZU5hbWVzcGFjZShcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHByb3ZpZGVyLFxuICAgICAgICByZXNvdXJjZSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgdHlwZSxcbiAgICAgICk7XG4gICAgICBjb25zdCByZXNvdXJjZU5hbWUgPVxuICAgICAgICBnZXRVbmlxdWVOYW1lKHNjb3BlLCBwcm92aWRlciwgcGFydHMuam9pbihcIl9cIikpIHx8XG4gICAgICAgIHBhc2NhbENhc2UoXG4gICAgICAgICAgc2FuaXRpemVDbGFzc09yTmFtZXNwYWNlTmFtZShgZGF0YV8ke3Byb3ZpZGVyfV8ke3Jlc291cmNlfWApLFxuICAgICAgICApO1xuXG4gICAgICBzY29wZS5pbXBvcnRhYmxlcy5wdXNoKHtcbiAgICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgICBjb25zdHJ1Y3ROYW1lOiByZXNvdXJjZU5hbWUsXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobmFtZXNwYWNlKSB7XG4gICAgICAgIHJldHVybiB0LmlkZW50aWZpZXIocmVzb3VyY2VOYW1lKTsgLy8gZS5nLiBEYXRhQXdzSW5zdGFuY2VcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHQuaWRlbnRpZmllcihyZXNvdXJjZU5hbWUpOyAvLyBlLmcuIERhdGFBd3NOYXRHYXRld2F5XG4gICAgfVxuXG4gICAgY29uc3QgW3Byb3ZpZGVyLCByZXNvdXJjZV0gPSBwYXJ0cztcbiAgICBjb25zdCBuYW1lc3BhY2UgPSBnZXRSZXNvdXJjZU5hbWVzcGFjZShcbiAgICAgIHNjb3BlLFxuICAgICAgcHJvdmlkZXIsXG4gICAgICByZXNvdXJjZSxcbiAgICAgIGZhbHNlLFxuICAgICAgdHlwZSxcbiAgICApO1xuICAgIGNvbnN0IHJlc291cmNlTmFtZSA9XG4gICAgICBnZXRVbmlxdWVOYW1lKHNjb3BlLCBwcm92aWRlciwgcGFydHMuam9pbihcIl9cIikpIHx8XG4gICAgICBwYXNjYWxDYXNlKHNhbml0aXplQ2xhc3NPck5hbWVzcGFjZU5hbWUocmVzb3VyY2UpKTtcblxuICAgIHNjb3BlLmltcG9ydGFibGVzLnB1c2goe1xuICAgICAgcHJvdmlkZXI6IHByb3ZpZGVyLFxuICAgICAgY29uc3RydWN0TmFtZTogcmVzb3VyY2VOYW1lLFxuICAgICAgbmFtZXNwYWNlLFxuICAgIH0pO1xuXG4gICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgcmV0dXJuIHQuaWRlbnRpZmllcihyZXNvdXJjZU5hbWUpOyAvLyBlLmcuIEluc3RhbmNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHQuaWRlbnRpZmllcihyZXNvdXJjZU5hbWUpOyAvLyBlLmcuIEJpZ1F1ZXJ5VGFibGVcbiAgfVxuXG4gIHJldHVybiB0LmlkZW50aWZpZXIocGFzY2FsQ2FzZSh0eXBlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZU5hbWUoXG4gIHNjb3BlOiBQcm9ncmFtU2NvcGUsXG4gIHJlc291cmNlOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IGNvbnNpc3RlbnRSZXNvdXJjZU5hbWUgPSByZXNvdXJjZS5yZXBsYWNlKC9cXC4vZywgXCJfXCIpO1xuICAvLyBuYW1lIGNvbGxpc2lvbiwgd2UgbmVlZCB0byBwcmVmaXggdGhlIG5hbWVcbiAgaWYgKHNjb3BlLnZhcmlhYmxlc1tuYW1lXSkge1xuICAgIGlmIChjb25zaXN0ZW50UmVzb3VyY2VOYW1lID09PSBzY29wZS52YXJpYWJsZXNbbmFtZV0ucmVzb3VyY2UpIHtcbiAgICAgIHJldHVybiBzY29wZS52YXJpYWJsZXNbbmFtZV0udmFyaWFibGVOYW1lO1xuICAgIH1cblxuICAgIC8vIHdlIG9ubHkgY2FjaGUgb25lIHBlciBuYW1lXG4gICAgcmV0dXJuIHZhbGlkVmFyTmFtZShjYW1lbENhc2UoW3Jlc291cmNlLCBuYW1lXS5qb2luKFwiX1wiKSkpO1xuICB9XG5cbiAgY29uc3QgdmFyaWFibGVOYW1lID0gdmFsaWRWYXJOYW1lKGNhbWVsQ2FzZShuYW1lKSk7XG5cbiAgc2NvcGUudmFyaWFibGVzW25hbWVdID0ge1xuICAgIHZhcmlhYmxlTmFtZSxcbiAgICByZXNvdXJjZTogY29uc2lzdGVudFJlc291cmNlTmFtZSxcbiAgfTtcblxuICByZXR1cm4gdmFyaWFibGVOYW1lO1xufVxuIl19
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|