@cdktn/provider-generator 0.23.0-pre.4 → 0.23.0-pre.41
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/{lib → build}/__tests__/edge-provider-schema/builder.d.ts +1 -0
- package/build/__tests__/edge-provider-schema/builder.js +106 -0
- package/build/__tests__/edge-provider-schema/cli.d.ts +2 -0
- package/build/__tests__/edge-provider-schema/cli.js +67 -0
- package/{lib → build}/__tests__/edge-provider-schema/index.d.ts +1 -0
- package/build/__tests__/edge-provider-schema/index.js +154 -0
- package/build/__tests__/edge-provider-schema.test.d.ts +2 -0
- package/build/__tests__/edge-provider-schema.test.js +46 -0
- package/build/__tests__/provider.test.d.ts +2 -0
- package/build/__tests__/provider.test.js +158 -0
- package/build/get/__tests__/constructs-maker.test.d.ts +2 -0
- package/build/get/__tests__/constructs-maker.test.js +113 -0
- package/build/get/__tests__/generator/complex-computed-types.test.d.ts +2 -0
- package/build/get/__tests__/generator/complex-computed-types.test.js +42 -0
- package/build/get/__tests__/generator/deep-nested-attributes.test.d.ts +2 -0
- package/build/get/__tests__/generator/deep-nested-attributes.test.js +50 -0
- package/build/get/__tests__/generator/description-escaping.test.d.ts +2 -0
- package/build/get/__tests__/generator/description-escaping.test.js +65 -0
- package/build/get/__tests__/generator/empty-provider-resources.test.d.ts +2 -0
- package/build/get/__tests__/generator/empty-provider-resources.test.js +40 -0
- package/build/get/__tests__/generator/export-sharding.test.d.ts +2 -0
- package/build/get/__tests__/generator/export-sharding.test.js +82 -0
- package/build/get/__tests__/generator/module-generator.test.d.ts +2 -0
- package/build/get/__tests__/generator/module-generator.test.js +476 -0
- package/build/get/__tests__/generator/nested-types.test.d.ts +2 -0
- package/build/get/__tests__/generator/nested-types.test.js +51 -0
- package/build/get/__tests__/generator/provider.test.d.ts +2 -0
- package/build/get/__tests__/generator/provider.test.js +51 -0
- package/build/get/__tests__/generator/resource-types.test.d.ts +2 -0
- package/build/get/__tests__/generator/resource-types.test.js +78 -0
- package/build/get/__tests__/generator/skipped-attributes.test.d.ts +2 -0
- package/build/get/__tests__/generator/skipped-attributes.test.js +55 -0
- package/build/get/__tests__/generator/types.test.d.ts +2 -0
- package/build/get/__tests__/generator/types.test.js +289 -0
- package/build/get/__tests__/generator/versions-file.test.d.ts +2 -0
- package/build/get/__tests__/generator/versions-file.test.js +74 -0
- package/{lib → build}/get/__tests__/util.d.ts +1 -0
- package/build/get/__tests__/util.js +59 -0
- package/{lib → build}/get/constructs-maker.d.ts +2 -1
- package/{lib → build}/get/constructs-maker.js +5 -2
- package/{lib → build}/get/generator/custom-defaults.d.ts +1 -0
- package/build/get/generator/custom-defaults.js +403 -0
- package/{lib → build}/get/generator/emitter/attributes-emitter.d.ts +1 -0
- package/build/get/generator/emitter/attributes-emitter.js +161 -0
- package/{lib → build}/get/generator/emitter/index.d.ts +1 -0
- package/{lib → build}/get/generator/emitter/index.js +1 -1
- package/{lib → build}/get/generator/emitter/resource-emitter.d.ts +1 -0
- package/build/get/generator/emitter/resource-emitter.js +144 -0
- package/{lib → build}/get/generator/emitter/struct-emitter.d.ts +1 -0
- package/build/get/generator/emitter/struct-emitter.js +500 -0
- package/{lib → build}/get/generator/loop-detection.d.ts +1 -0
- package/build/get/generator/loop-detection.js +56 -0
- package/{lib → build}/get/generator/models/attribute-model.d.ts +1 -0
- package/build/get/generator/models/attribute-model.js +160 -0
- package/{lib → build}/get/generator/models/attribute-type-model.d.ts +1 -0
- package/build/get/generator/models/attribute-type-model.js +376 -0
- package/{lib → build}/get/generator/models/index.d.ts +1 -0
- package/{lib → build}/get/generator/models/index.js +1 -1
- package/{lib → build}/get/generator/models/resource-model.d.ts +1 -0
- package/build/get/generator/models/resource-model.js +106 -0
- package/{lib → build}/get/generator/models/scope.d.ts +1 -0
- package/build/get/generator/models/scope.js +36 -0
- package/{lib → build}/get/generator/models/struct.d.ts +1 -0
- package/build/get/generator/models/struct.js +90 -0
- package/{lib → build}/get/generator/module-generator.d.ts +1 -0
- package/build/get/generator/module-generator.js +184 -0
- package/{lib → build}/get/generator/provider-generator.d.ts +1 -0
- package/build/get/generator/provider-generator.js +225 -0
- package/{lib → build}/get/generator/resource-parser.d.ts +1 -0
- package/build/get/generator/resource-parser.js +497 -0
- package/{lib → build}/get/generator/sanitized-comments.d.ts +1 -0
- package/build/get/generator/sanitized-comments.js +44 -0
- package/{lib → build}/get/generator/skipped-attributes.d.ts +1 -0
- package/build/get/generator/skipped-attributes.js +29 -0
- package/{lib → build}/index.d.ts +1 -0
- package/{lib → build}/index.js +1 -1
- package/{lib → build}/util.d.ts +1 -0
- package/build/util.js +30 -0
- package/package.json +11 -11
- package/{lib → src}/__tests__/__snapshots__/edge-provider-schema.test.ts.snap +1 -1
- package/{lib → src}/__tests__/__snapshots__/provider.test.ts.snap +14953 -890
- package/{lib → src}/get/__tests__/generator/__snapshots__/complex-computed-types.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/description-escaping.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/module-generator.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/nested-types.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/provider.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/resource-types.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/skipped-attributes.test.ts.snap +1 -1
- package/{lib → src}/get/__tests__/generator/__snapshots__/types.test.ts.snap +92 -1
- package/src/get/__tests__/generator/fixtures/map-of-map-of-string.test.fixture.json +27 -0
- package/tsconfig.json +6 -3
- package/lib/__tests__/edge-provider-schema/builder.js +0 -106
- package/lib/__tests__/edge-provider-schema/cli.d.ts +0 -1
- package/lib/__tests__/edge-provider-schema/cli.js +0 -67
- package/lib/__tests__/edge-provider-schema/index.js +0 -154
- package/lib/__tests__/edge-provider-schema.test.d.ts +0 -1
- package/lib/__tests__/edge-provider-schema.test.js +0 -46
- package/lib/__tests__/provider.test.d.ts +0 -1
- package/lib/__tests__/provider.test.js +0 -158
- package/lib/get/__tests__/constructs-maker.test.d.ts +0 -1
- package/lib/get/__tests__/constructs-maker.test.js +0 -113
- package/lib/get/__tests__/generator/complex-computed-types.test.d.ts +0 -1
- package/lib/get/__tests__/generator/complex-computed-types.test.js +0 -42
- package/lib/get/__tests__/generator/deep-nested-attributes.test.d.ts +0 -1
- package/lib/get/__tests__/generator/deep-nested-attributes.test.js +0 -50
- package/lib/get/__tests__/generator/description-escaping.test.d.ts +0 -1
- package/lib/get/__tests__/generator/description-escaping.test.js +0 -65
- package/lib/get/__tests__/generator/empty-provider-resources.test.d.ts +0 -1
- package/lib/get/__tests__/generator/empty-provider-resources.test.js +0 -40
- package/lib/get/__tests__/generator/export-sharding.test.d.ts +0 -1
- package/lib/get/__tests__/generator/export-sharding.test.js +0 -82
- package/lib/get/__tests__/generator/module-generator.test.d.ts +0 -1
- package/lib/get/__tests__/generator/module-generator.test.js +0 -476
- package/lib/get/__tests__/generator/nested-types.test.d.ts +0 -1
- package/lib/get/__tests__/generator/nested-types.test.js +0 -51
- package/lib/get/__tests__/generator/provider.test.d.ts +0 -1
- package/lib/get/__tests__/generator/provider.test.js +0 -51
- package/lib/get/__tests__/generator/resource-types.test.d.ts +0 -1
- package/lib/get/__tests__/generator/resource-types.test.js +0 -78
- package/lib/get/__tests__/generator/skipped-attributes.test.d.ts +0 -1
- package/lib/get/__tests__/generator/skipped-attributes.test.js +0 -55
- package/lib/get/__tests__/generator/types.test.d.ts +0 -1
- package/lib/get/__tests__/generator/types.test.js +0 -280
- package/lib/get/__tests__/generator/versions-file.test.d.ts +0 -1
- package/lib/get/__tests__/generator/versions-file.test.js +0 -74
- package/lib/get/__tests__/util.js +0 -59
- package/lib/get/generator/custom-defaults.js +0 -403
- package/lib/get/generator/emitter/attributes-emitter.js +0 -161
- package/lib/get/generator/emitter/resource-emitter.js +0 -144
- package/lib/get/generator/emitter/struct-emitter.js +0 -500
- package/lib/get/generator/loop-detection.js +0 -56
- package/lib/get/generator/models/attribute-model.js +0 -160
- package/lib/get/generator/models/attribute-type-model.js +0 -376
- package/lib/get/generator/models/resource-model.js +0 -106
- package/lib/get/generator/models/scope.js +0 -36
- package/lib/get/generator/models/struct.js +0 -90
- package/lib/get/generator/module-generator.js +0 -184
- package/lib/get/generator/provider-generator.js +0 -225
- package/lib/get/generator/resource-parser.js +0 -497
- package/lib/get/generator/sanitized-comments.js +0 -44
- package/lib/get/generator/skipped-attributes.js +0 -29
- package/lib/util.js +0 -30
- /package/{lib → src}/get/__tests__/generator/fixtures/aws-provider.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_acm_certificate.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_cloudfront_distribution.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_fms_admin_account.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_quicksight_template.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_s3_bucket.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_security_group.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/aws_wafv2_web_acl.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/block-type-nested-computed-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/block-type-set-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/boolean-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/boolean-map.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/comment-ending-sequence.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex-nested.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/computed-optional-complex.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/data_aws_quicksight_analysis.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/datadog_dashboard.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/datadog_spans_metric.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/deep-attributes.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/deeply-nested-block-types.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/description-escaping.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/elasticstack-provider.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/empty-provider-resources.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/ignored-attributes.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-attribute-names.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-resource-names.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/list-list-object.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/list-list-string.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/list-of-string-map.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/map-of-string-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/markdown-description-with-code-blocks.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-get-x.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-1.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-2.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-no-outputs.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-no-variable-type.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/module-with-star-default.test.fixture.tf +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/name-conflict.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/nested-type-without-attributes.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/nested-types.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/number-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/number-map.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/primitive-boolean.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/primitive-dynamic.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/primitive-number.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/primitive-string.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/single-block-type.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/string-list.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/string-map.test.fixture.json +0 -0
- /package/{lib → src}/get/__tests__/generator/fixtures/stripe-schema.test.fixture.json +0 -0
package/ambient.d.ts
CHANGED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SchemaBuilder = exports.schema = void 0;
|
|
4
|
+
function schema({ name, provider, resources = {}, dataSources = {}, }) {
|
|
5
|
+
return {
|
|
6
|
+
format_version: "0.2",
|
|
7
|
+
provider_schemas: {
|
|
8
|
+
[`registry.terraform.io/cdktf/${name}`]: {
|
|
9
|
+
provider: provider,
|
|
10
|
+
resource_schemas: resources,
|
|
11
|
+
data_source_schemas: dataSources,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.schema = schema;
|
|
17
|
+
class SchemaBuilder {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.schema = {
|
|
20
|
+
version: 0,
|
|
21
|
+
block: {
|
|
22
|
+
attributes: {},
|
|
23
|
+
block_types: {},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
attribute({ name, type, required = false, computed = false, optional = !required, }) {
|
|
28
|
+
this.schema.block.attributes[name] = {
|
|
29
|
+
type,
|
|
30
|
+
optional,
|
|
31
|
+
computed,
|
|
32
|
+
required,
|
|
33
|
+
};
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
listBlock({ name, block, minItems, maxItems, }) {
|
|
37
|
+
this.schema.block.block_types[name] = {
|
|
38
|
+
nesting_mode: "list",
|
|
39
|
+
block,
|
|
40
|
+
min_items: minItems,
|
|
41
|
+
max_items: maxItems,
|
|
42
|
+
};
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
mapBlock({ name, block, }) {
|
|
46
|
+
this.schema.block.block_types[name] = { nesting_mode: "map", block };
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
setBlock({ name, block, }) {
|
|
50
|
+
this.schema.block.block_types[name] = { nesting_mode: "set", block };
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
singleBlock({ name, block, }) {
|
|
54
|
+
this.schema.block.block_types[name] = { nesting_mode: "single", block };
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
build() {
|
|
58
|
+
return this.schema;
|
|
59
|
+
}
|
|
60
|
+
asBlock() {
|
|
61
|
+
return this.schema.block;
|
|
62
|
+
}
|
|
63
|
+
addAllPrimitiveTypes({ required, computed, prefix = "", }) {
|
|
64
|
+
this.attribute({ name: prefix + "str", type: "string", required, computed })
|
|
65
|
+
.attribute({ name: prefix + "num", type: "number", required, computed })
|
|
66
|
+
.attribute({ name: prefix + "bool", type: "bool", required, computed });
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
addAllPrimitivePermutations() {
|
|
70
|
+
this.addAllPrimitiveTypes({
|
|
71
|
+
required: false,
|
|
72
|
+
computed: false,
|
|
73
|
+
prefix: "opt",
|
|
74
|
+
})
|
|
75
|
+
.addAllPrimitiveTypes({ required: true, computed: false, prefix: "req" })
|
|
76
|
+
.addAllPrimitiveTypes({
|
|
77
|
+
required: false,
|
|
78
|
+
computed: true,
|
|
79
|
+
prefix: "computed",
|
|
80
|
+
});
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
addAllPrimitiveListTypes({ required, computed, prefix = "", }) {
|
|
84
|
+
this.attribute({
|
|
85
|
+
name: prefix + "strList",
|
|
86
|
+
type: ["list", "string"],
|
|
87
|
+
required,
|
|
88
|
+
computed,
|
|
89
|
+
})
|
|
90
|
+
.attribute({
|
|
91
|
+
name: prefix + "numList",
|
|
92
|
+
type: ["list", "number"],
|
|
93
|
+
required,
|
|
94
|
+
computed,
|
|
95
|
+
})
|
|
96
|
+
.attribute({
|
|
97
|
+
name: prefix + "boolList",
|
|
98
|
+
type: ["list", "bool"],
|
|
99
|
+
required,
|
|
100
|
+
computed,
|
|
101
|
+
});
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.SchemaBuilder = SchemaBuilder;
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEvYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxTQUFnQixNQUFNLENBQUMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEdBQUcsRUFBRSxFQUNkLFdBQVcsR0FBRyxFQUFFLEdBTWpCO0lBQ0MsT0FBTztRQUNMLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFO1lBQ2hCLENBQUMsK0JBQStCLElBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQ3ZDLFFBQVEsRUFBRSxRQUFRO2dCQUNsQixnQkFBZ0IsRUFBRSxTQUFTO2dCQUMzQixtQkFBbUIsRUFBRSxXQUFXO2FBQ2pDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXJCRCx3QkFxQkM7QUFFRCxNQUFhLGFBQWE7SUFHeEI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osT0FBTyxFQUFFLENBQUM7WUFDVixLQUFLLEVBQUU7Z0JBQ0wsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsV0FBVyxFQUFFLEVBQUU7YUFDaEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUNmLElBQUksRUFDSixJQUFJLEVBQ0osUUFBUSxHQUFHLEtBQUssRUFDaEIsUUFBUSxHQUFHLEtBQUssRUFDaEIsUUFBUSxHQUFHLENBQUMsUUFBUSxHQU9yQjtRQUNDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUNuQyxJQUFJO1lBQ0osUUFBUTtZQUNSLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFNBQVMsQ0FBQyxFQUNmLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUNSLFFBQVEsR0FNVDtRQUNDLElBQUks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LFFBQVE7U0FDVCxDQUFDO2FBQ0QsU0FBUyxDQUFDO1lBQ1QsSUFBSSxFQUFFLE1BQU0sR0FBRyxVQUFVO1lBQ3pCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDdEIsUUFBUTtZQUNSLFFBQVE7U0FDVCxDQUFDLENBQUM7UUFFTCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQTVKRCxzQ0E0SkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEsIFNjaGVtYSwgQXR0cmlidXRlVHlwZSwgQmxvY2sgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcblxudHlwZSBSZXNvdXJjZVNjaGVtYSA9IHsgW3R5cGU6IHN0cmluZ106IFNjaGVtYSB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVtYSh7XG4gIG5hbWUsXG4gIHByb3ZpZGVyLFxuICByZXNvdXJjZXMgPSB7fSxcbiAgZGF0YVNvdXJjZXMgPSB7fSxcbn06IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwcm92aWRlcjogU2NoZW1hO1xuICByZXNvdXJjZXM6IFJlc291cmNlU2NoZW1hO1xuICBkYXRhU291cmNlczogUmVzb3VyY2VTY2hlbWE7XG59KTogUHJvdmlkZXJTY2hlbWEge1xuICByZXR1cm4ge1xuICAgIGZvcm1hdF92ZXJzaW9uOiBcIjAuMlwiLFxuICAgIHByb3ZpZGVyX3NjaGVtYXM6IHtcbiAgICAgIFtgcmVnaXN0cnkudGVycmFmb3JtLmlvL2Nka3RmLyR7bmFtZX1gXToge1xuICAgICAgICBwcm92aWRlcjogcHJvdmlkZXIsXG4gICAgICAgIHJlc291cmNlX3NjaGVtYXM6IHJlc291cmNlcyxcbiAgICAgICAgZGF0YV9zb3VyY2Vfc2NoZW1hczogZGF0YVNvdXJjZXMsXG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBTY2hlbWFCdWlsZGVyIHtcbiAgcHJpdmF0ZSBzY2hlbWE6IFNjaGVtYTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNjaGVtYSA9IHtcbiAgICAgIHZlcnNpb246IDAsXG4gICAgICBibG9jazoge1xuICAgICAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICAgICAgYmxvY2tfdHlwZXM6IHt9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGF0dHJpYnV0ZSh7XG4gICAgbmFtZSxcbiAgICB0eXBlLFxuICAgIHJlcXVpcmVkID0gZmFsc2UsXG4gICAgY29tcHV0ZWQgPSBmYWxzZSxcbiAgICBvcHRpb25hbCA9ICFyZXF1aXJlZCxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBBdHRyaWJ1dGVUeXBlO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBjb21wdXRlZD86IGJvb2xlYW47XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5zY2hlbWEuYmxvY2suYXR0cmlidXRlc1tuYW1lXSA9IHtcbiAgICAgIHR5cGUsXG4gICAgICBvcHRpb25hbCxcbiAgICAgIGNvbXB1dGVkLFxuICAgICAgcmVxdWlyZWQsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBsaXN0QmxvY2soe1xuICAgIG5hbWUsXG4gICAgYmxvY2ssXG4gICAgbWluSXRlbXMsXG4gICAgbWF4SXRlbXMsXG4gIH06IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgYmxvY2s6IEJsb2NrO1xuICAgIG1pbkl0ZW1zOiBudW1iZXI7XG4gICAgbWF4SXRlbXM6IG51bWJlcjtcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0ge1xuICAgICAgbmVzdGluZ19tb2RlOiBcImxpc3RcIixcbiAgICAgIGJsb2NrLFxuICAgICAgbWluX2l0ZW1zOiBtaW5JdGVtcyxcbiAgICAgIG1heF9pdGVtczogbWF4SXRlbXMsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBtYXBCbG9jayh7XG4gICAgbmFtZSxcbiAgICBibG9jayxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBibG9jazogQmxvY2s7XG4gIH0pOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLnNjaGVtYS5ibG9jay5ibG9ja190eXBlc1tuYW1lXSA9IHsgbmVzdGluZ19tb2RlOiBcIm1hcFwiLCBibG9jayB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldEJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0geyBuZXN0aW5nX21vZGU6IFwic2V0XCIsIGJsb2NrIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgcHVibGljIHNpbmdsZUJsb2NrKHtcbiAgICBuYW1lLFxuICAgIGJsb2NrLFxuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGJsb2NrOiBCbG9jaztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuc2NoZW1hLmJsb2NrLmJsb2NrX3R5cGVzW25hbWVdID0geyBuZXN0aW5nX21vZGU6IFwic2luZ2xlXCIsIGJsb2NrIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYnVpbGQoKTogU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5zY2hlbWE7XG4gIH1cblxuICBwdWJsaWMgYXNCbG9jaygpOiBCbG9jayB7XG4gICAgcmV0dXJuIHRoaXMuc2NoZW1hLmJsb2NrO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICByZXF1aXJlZCxcbiAgICBjb21wdXRlZCxcbiAgICBwcmVmaXggPSBcIlwiLFxuICB9OiB7XG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgY29tcHV0ZWQ6IGJvb2xlYW47XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICB9KTogU2NoZW1hQnVpbGRlciB7XG4gICAgdGhpcy5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcInN0clwiLCB0eXBlOiBcInN0cmluZ1wiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcIm51bVwiLCB0eXBlOiBcIm51bWJlclwiLCByZXF1aXJlZCwgY29tcHV0ZWQgfSlcbiAgICAgIC5hdHRyaWJ1dGUoeyBuYW1lOiBwcmVmaXggKyBcImJvb2xcIiwgdHlwZTogXCJib29sXCIsIHJlcXVpcmVkLCBjb21wdXRlZCB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpOiBTY2hlbWFCdWlsZGVyIHtcbiAgICB0aGlzLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHtcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgIHByZWZpeDogXCJvcHRcIixcbiAgICB9KVxuICAgICAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IHRydWUsIGNvbXB1dGVkOiBmYWxzZSwgcHJlZml4OiBcInJlcVwiIH0pXG4gICAgICAuYWRkQWxsUHJpbWl0aXZlVHlwZXMoe1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgICAgICBwcmVmaXg6IFwiY29tcHV0ZWRcIixcbiAgICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7XG4gICAgcmVxdWlyZWQsXG4gICAgY29tcHV0ZWQsXG4gICAgcHJlZml4ID0gXCJcIixcbiAgfToge1xuICAgIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIGNvbXB1dGVkOiBib29sZWFuO1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgfSk6IFNjaGVtYUJ1aWxkZXIge1xuICAgIHRoaXMuYXR0cmlidXRlKHtcbiAgICAgIG5hbWU6IHByZWZpeCArIFwic3RyTGlzdFwiLFxuICAgICAgdHlwZTogW1wibGlzdFwiLCBcInN0cmluZ1wiXSxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgY29tcHV0ZWQsXG4gICAgfSlcbiAgICAgIC5hdHRyaWJ1dGUoe1xuICAgICAgICBuYW1lOiBwcmVmaXggKyBcIm51bUxpc3RcIixcbiAgICAgICAgdHlwZTogW1wibGlzdFwiLCBcIm51bWJlclwiXSxcbiAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgIGNvbXB1dGVkLFxuICAgICAgfSlcbiAgICAgIC5hdHRyaWJ1dGUoe1xuICAgICAgICBuYW1lOiBwcmVmaXggKyBcImJvb2xMaXN0XCIsXG4gICAgICAgIHR5cGU6IFtcImxpc3RcIiwgXCJib29sXCJdLFxuICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgY29tcHV0ZWQsXG4gICAgICB9KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,67 @@
|
|
|
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
|
+
// Copyright (c) HashiCorp, Inc
|
|
27
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const fs = __importStar(require("fs-extra"));
|
|
30
|
+
const _1 = require(".");
|
|
31
|
+
const __1 = require("../..");
|
|
32
|
+
// This script builds the schema for the edge provider into the given directory for all languages.
|
|
33
|
+
const args = process.argv.slice(2);
|
|
34
|
+
const targetPath = args[0];
|
|
35
|
+
if (!targetPath) {
|
|
36
|
+
console.error("No target path specified");
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
// Clear / Create path
|
|
40
|
+
fs.mkdirpSync(targetPath);
|
|
41
|
+
fs.emptyDirSync(targetPath);
|
|
42
|
+
const deps = ["@types/node", "constructs", "cdktn"];
|
|
43
|
+
(async () => {
|
|
44
|
+
await (0, __1.generateProviderBindingsFromSchema)(targetPath, _1.edgeSchema, {
|
|
45
|
+
entrypoint: path.join("providers", "edge", "index.ts"),
|
|
46
|
+
deps: deps.map((dep) => path.dirname(require.resolve(`${dep}/package.json`))),
|
|
47
|
+
moduleKey: "edge",
|
|
48
|
+
python: {
|
|
49
|
+
outdir: path.resolve(targetPath, "python"),
|
|
50
|
+
moduleName: "edge",
|
|
51
|
+
},
|
|
52
|
+
java: {
|
|
53
|
+
outdir: path.resolve(targetPath, "java"),
|
|
54
|
+
package: `imports.edgeprovider`,
|
|
55
|
+
},
|
|
56
|
+
csharp: {
|
|
57
|
+
outdir: path.resolve(targetPath, "csharp"),
|
|
58
|
+
namespace: "Providers.Edge",
|
|
59
|
+
},
|
|
60
|
+
golang: {
|
|
61
|
+
outdir: path.resolve(targetPath, "go"),
|
|
62
|
+
moduleName: "cdk.tf/go/stack/generated/hashicorp",
|
|
63
|
+
packageName: "edge",
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
})();
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL19fdGVzdHNfXy9lZGdlLXByb3ZpZGVyLXNjaGVtYS9jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQix3QkFBK0I7QUFDL0IsNkJBQTJEO0FBRTNELGtHQUFrRztBQUNsRyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFFRCxzQkFBc0I7QUFDdEIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxQixFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRTVCLE1BQU0sSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUVwRCxDQUFDLEtBQUssSUFBSSxFQUFFO0lBQ1YsTUFBTSxJQUFBLHNDQUFrQyxFQUFDLFVBQVUsRUFBRSxhQUFVLEVBQUU7UUFDL0QsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUM7UUFDdEQsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQ3JEO1FBQ0QsU0FBUyxFQUFFLE1BQU07UUFDakIsTUFBTSxFQUFFO1lBQ04sTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztZQUMxQyxVQUFVLEVBQUUsTUFBTTtTQUNuQjtRQUNELElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUM7WUFDeEMsT0FBTyxFQUFFLHNCQUFzQjtTQUNoQztRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDMUMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QjtRQUNELE1BQU0sRUFBRTtZQUNOLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7WUFDdEMsVUFBVSxFQUFFLHFDQUFxQztZQUNqRCxXQUFXLEVBQUUsTUFBTTtTQUNwQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBlZGdlU2NoZW1hIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7IGdlbmVyYXRlUHJvdmlkZXJCaW5kaW5nc0Zyb21TY2hlbWEgfSBmcm9tIFwiLi4vLi5cIjtcblxuLy8gVGhpcyBzY3JpcHQgYnVpbGRzIHRoZSBzY2hlbWEgZm9yIHRoZSBlZGdlIHByb3ZpZGVyIGludG8gdGhlIGdpdmVuIGRpcmVjdG9yeSBmb3IgYWxsIGxhbmd1YWdlcy5cbmNvbnN0IGFyZ3MgPSBwcm9jZXNzLmFyZ3Yuc2xpY2UoMik7XG5jb25zdCB0YXJnZXRQYXRoID0gYXJnc1swXTtcblxuaWYgKCF0YXJnZXRQYXRoKSB7XG4gIGNvbnNvbGUuZXJyb3IoXCJObyB0YXJnZXQgcGF0aCBzcGVjaWZpZWRcIik7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn1cblxuLy8gQ2xlYXIgLyBDcmVhdGUgcGF0aFxuZnMubWtkaXJwU3luYyh0YXJnZXRQYXRoKTtcbmZzLmVtcHR5RGlyU3luYyh0YXJnZXRQYXRoKTtcblxuY29uc3QgZGVwcyA9IFtcIkB0eXBlcy9ub2RlXCIsIFwiY29uc3RydWN0c1wiLCBcImNka3RuXCJdO1xuXG4oYXN5bmMgKCkgPT4ge1xuICBhd2FpdCBnZW5lcmF0ZVByb3ZpZGVyQmluZGluZ3NGcm9tU2NoZW1hKHRhcmdldFBhdGgsIGVkZ2VTY2hlbWEsIHtcbiAgICBlbnRyeXBvaW50OiBwYXRoLmpvaW4oXCJwcm92aWRlcnNcIiwgXCJlZGdlXCIsIFwiaW5kZXgudHNcIiksXG4gICAgZGVwczogZGVwcy5tYXAoKGRlcCkgPT5cbiAgICAgIHBhdGguZGlybmFtZShyZXF1aXJlLnJlc29sdmUoYCR7ZGVwfS9wYWNrYWdlLmpzb25gKSksXG4gICAgKSxcbiAgICBtb2R1bGVLZXk6IFwiZWRnZVwiLFxuICAgIHB5dGhvbjoge1xuICAgICAgb3V0ZGlyOiBwYXRoLnJlc29sdmUodGFyZ2V0UGF0aCwgXCJweXRob25cIiksXG4gICAgICBtb2R1bGVOYW1lOiBcImVkZ2VcIixcbiAgICB9LFxuICAgIGphdmE6IHtcbiAgICAgIG91dGRpcjogcGF0aC5yZXNvbHZlKHRhcmdldFBhdGgsIFwiamF2YVwiKSxcbiAgICAgIHBhY2thZ2U6IGBpbXBvcnRzLmVkZ2Vwcm92aWRlcmAsXG4gICAgfSxcbiAgICBjc2hhcnA6IHtcbiAgICAgIG91dGRpcjogcGF0aC5yZXNvbHZlKHRhcmdldFBhdGgsIFwiY3NoYXJwXCIpLFxuICAgICAgbmFtZXNwYWNlOiBcIlByb3ZpZGVycy5FZGdlXCIsXG4gICAgfSxcbiAgICBnb2xhbmc6IHtcbiAgICAgIG91dGRpcjogcGF0aC5yZXNvbHZlKHRhcmdldFBhdGgsIFwiZ29cIiksXG4gICAgICBtb2R1bGVOYW1lOiBcImNkay50Zi9nby9zdGFjay9nZW5lcmF0ZWQvaGFzaGljb3JwXCIsXG4gICAgICBwYWNrYWdlTmFtZTogXCJlZGdlXCIsXG4gICAgfSxcbiAgfSk7XG59KSgpO1xuIl19
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.edgeSchema = void 0;
|
|
4
|
+
const builder_1 = require("./builder");
|
|
5
|
+
const required_attribute_resource = new builder_1.SchemaBuilder()
|
|
6
|
+
.addAllPrimitiveTypes({ required: true, computed: false })
|
|
7
|
+
.addAllPrimitiveListTypes({ required: true, computed: false })
|
|
8
|
+
.build();
|
|
9
|
+
const optional_attribute_resource = new builder_1.SchemaBuilder()
|
|
10
|
+
.addAllPrimitiveTypes({ required: false, computed: false })
|
|
11
|
+
.addAllPrimitiveListTypes({ required: false, computed: false })
|
|
12
|
+
.build();
|
|
13
|
+
const optional_computed_attribute_resource = new builder_1.SchemaBuilder()
|
|
14
|
+
.addAllPrimitiveTypes({ required: false, computed: true })
|
|
15
|
+
.addAllPrimitiveListTypes({ required: false, computed: true })
|
|
16
|
+
.build();
|
|
17
|
+
const list_block_resource = new builder_1.SchemaBuilder()
|
|
18
|
+
.listBlock({
|
|
19
|
+
name: "opt",
|
|
20
|
+
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
21
|
+
minItems: 0,
|
|
22
|
+
maxItems: 42,
|
|
23
|
+
})
|
|
24
|
+
.listBlock({
|
|
25
|
+
name: "req",
|
|
26
|
+
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
27
|
+
minItems: 1,
|
|
28
|
+
maxItems: 42,
|
|
29
|
+
})
|
|
30
|
+
.listBlock({
|
|
31
|
+
name: "singleopt",
|
|
32
|
+
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
33
|
+
minItems: 0,
|
|
34
|
+
maxItems: 1,
|
|
35
|
+
})
|
|
36
|
+
.listBlock({
|
|
37
|
+
name: "singlereq",
|
|
38
|
+
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
39
|
+
minItems: 1,
|
|
40
|
+
maxItems: 1,
|
|
41
|
+
})
|
|
42
|
+
.listBlock({
|
|
43
|
+
name: "singleComputedBlock",
|
|
44
|
+
block: new builder_1.SchemaBuilder()
|
|
45
|
+
.attribute({
|
|
46
|
+
computed: true,
|
|
47
|
+
name: "computed",
|
|
48
|
+
type: "string",
|
|
49
|
+
required: false,
|
|
50
|
+
optional: false,
|
|
51
|
+
})
|
|
52
|
+
.attribute({
|
|
53
|
+
computed: false,
|
|
54
|
+
name: "configured",
|
|
55
|
+
type: "string",
|
|
56
|
+
required: false,
|
|
57
|
+
})
|
|
58
|
+
.asBlock(),
|
|
59
|
+
minItems: 0,
|
|
60
|
+
maxItems: 1,
|
|
61
|
+
})
|
|
62
|
+
.attribute({
|
|
63
|
+
name: "computedListOfObject",
|
|
64
|
+
type: [
|
|
65
|
+
"list",
|
|
66
|
+
[
|
|
67
|
+
"object",
|
|
68
|
+
{
|
|
69
|
+
str: "string",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
],
|
|
73
|
+
computed: true,
|
|
74
|
+
optional: false,
|
|
75
|
+
})
|
|
76
|
+
.attribute({
|
|
77
|
+
name: "computedListOfMapOfObject",
|
|
78
|
+
type: [
|
|
79
|
+
"list",
|
|
80
|
+
[
|
|
81
|
+
"map",
|
|
82
|
+
[
|
|
83
|
+
"object",
|
|
84
|
+
{
|
|
85
|
+
str: "string",
|
|
86
|
+
other: "string",
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
],
|
|
90
|
+
],
|
|
91
|
+
computed: true,
|
|
92
|
+
optional: false,
|
|
93
|
+
})
|
|
94
|
+
.build();
|
|
95
|
+
const map_list_resource = new builder_1.SchemaBuilder()
|
|
96
|
+
.attribute({
|
|
97
|
+
name: "mapListOfObject",
|
|
98
|
+
type: [
|
|
99
|
+
"map",
|
|
100
|
+
[
|
|
101
|
+
"list",
|
|
102
|
+
[
|
|
103
|
+
"object",
|
|
104
|
+
{
|
|
105
|
+
hello: "string",
|
|
106
|
+
},
|
|
107
|
+
],
|
|
108
|
+
],
|
|
109
|
+
],
|
|
110
|
+
computed: false,
|
|
111
|
+
optional: false,
|
|
112
|
+
})
|
|
113
|
+
.build();
|
|
114
|
+
const map_resource = new builder_1.SchemaBuilder()
|
|
115
|
+
.attribute({
|
|
116
|
+
name: "optMap",
|
|
117
|
+
type: ["map", "string"],
|
|
118
|
+
required: false,
|
|
119
|
+
computed: false,
|
|
120
|
+
})
|
|
121
|
+
.attribute({
|
|
122
|
+
name: "reqMap",
|
|
123
|
+
type: ["map", "bool"],
|
|
124
|
+
required: true,
|
|
125
|
+
computed: false,
|
|
126
|
+
})
|
|
127
|
+
.attribute({
|
|
128
|
+
name: "computedMap",
|
|
129
|
+
type: ["map", "number"],
|
|
130
|
+
required: false,
|
|
131
|
+
computed: true,
|
|
132
|
+
})
|
|
133
|
+
.build();
|
|
134
|
+
const set_block_resource = new builder_1.SchemaBuilder()
|
|
135
|
+
.setBlock({
|
|
136
|
+
name: "set",
|
|
137
|
+
block: new builder_1.SchemaBuilder().addAllPrimitivePermutations().asBlock(),
|
|
138
|
+
})
|
|
139
|
+
.build();
|
|
140
|
+
exports.edgeSchema = (0, builder_1.schema)({
|
|
141
|
+
name: "edge",
|
|
142
|
+
provider: new builder_1.SchemaBuilder().addAllPrimitivePermutations().build(),
|
|
143
|
+
resources: {
|
|
144
|
+
required_attribute_resource,
|
|
145
|
+
optional_attribute_resource,
|
|
146
|
+
optional_computed_attribute_resource,
|
|
147
|
+
list_block_resource,
|
|
148
|
+
map_resource,
|
|
149
|
+
set_block_resource,
|
|
150
|
+
map_list_resource,
|
|
151
|
+
},
|
|
152
|
+
dataSources: {},
|
|
153
|
+
});
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDOUQsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG9DQUFvQyxHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG1CQUFtQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNoQyxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsS0FBSztJQUNYLEtBQUssRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUN0RCxRQUFRLEVBQUUsQ0FBQztJQUNY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UyxDQUFDO0lBQ1QsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDL0IsUUFBUSxDQUFDO0lBQ1IsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDdkQsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHNjaGVtYSwgU2NoZW1hQnVpbGRlciBhcyBTIH0gZnJvbSBcIi4vYnVpbGRlclwiO1xuXG5jb25zdCByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IGZhbHNlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmV4cG9ydCBjb25zdCBlZGdlU2NoZW1hOiBQcm92aWRlclNjaGVtYSA9IHNjaGVtYSh7XG4gIG5hbWU6IFwiZWRnZVwiLFxuICBwcm92aWRlcjogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5idWlsZCgpLFxuICByZXNvdXJjZXM6IHtcbiAgICByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgb3B0aW9uYWxfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2NvbXB1dGVkX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBsaXN0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9yZXNvdXJjZSxcbiAgICBzZXRfYmxvY2tfcmVzb3VyY2UsXG4gICAgbWFwX2xpc3RfcmVzb3VyY2UsXG4gIH0sXG4gIGRhdGFTb3VyY2VzOiB7fSxcbn0pO1xuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
// Copyright (c) HashiCorp, Inc
|
|
27
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
28
|
+
const fs = __importStar(require("fs-extra"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const __1 = require("..");
|
|
31
|
+
const commons_1 = require("@cdktn/commons");
|
|
32
|
+
const edge_provider_schema_1 = require("./edge-provider-schema");
|
|
33
|
+
describe("Edge Provider Schema", () => {
|
|
34
|
+
it("compiles to Typescript", async () => {
|
|
35
|
+
return (0, commons_1.mkdtemp)(async (dir) => {
|
|
36
|
+
await (0, __1.generateProviderBindingsFromSchema)(dir, edge_provider_schema_1.edgeSchema);
|
|
37
|
+
fs.readdirSync(path.join(dir, "providers", "edge")).forEach((file) => {
|
|
38
|
+
if (!file.endsWith(".ts")) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
expect(fs.readFileSync(path.join(dir, "providers", "edge", file), "utf8")).toMatchSnapshot(file);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vZWRnZS1wcm92aWRlci1zY2hlbWEudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyw2Q0FBK0I7QUFDL0IsMkNBQTZCO0FBQzdCLDBCQUF3RDtBQUN4RCw0Q0FBeUM7QUFDekMsaUVBQW9EO0FBRXBELFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3RDLE9BQU8sSUFBQSxpQkFBTyxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUMzQixNQUFNLElBQUEsc0NBQWtDLEVBQUMsR0FBRyxFQUFFLGlDQUFVLENBQUMsQ0FBQztZQUUxRCxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUNuRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxQixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsTUFBTSxDQUNKLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FDbkUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZVByb3ZpZGVyQmluZGluZ3NGcm9tU2NoZW1hIH0gZnJvbSBcIi4uXCI7XG5pbXBvcnQgeyBta2R0ZW1wIH0gZnJvbSBcIkBjZGt0bi9jb21tb25zXCI7XG5pbXBvcnQgeyBlZGdlU2NoZW1hIH0gZnJvbSBcIi4vZWRnZS1wcm92aWRlci1zY2hlbWFcIjtcblxuZGVzY3JpYmUoXCJFZGdlIFByb3ZpZGVyIFNjaGVtYVwiLCAoKSA9PiB7XG4gIGl0KFwiY29tcGlsZXMgdG8gVHlwZXNjcmlwdFwiLCBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuIG1rZHRlbXAoYXN5bmMgKGRpcikgPT4ge1xuICAgICAgYXdhaXQgZ2VuZXJhdGVQcm92aWRlckJpbmRpbmdzRnJvbVNjaGVtYShkaXIsIGVkZ2VTY2hlbWEpO1xuXG4gICAgICBmcy5yZWFkZGlyU3luYyhwYXRoLmpvaW4oZGlyLCBcInByb3ZpZGVyc1wiLCBcImVkZ2VcIikpLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgaWYgKCFmaWxlLmVuZHNXaXRoKFwiLnRzXCIpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKGRpciwgXCJwcm92aWRlcnNcIiwgXCJlZGdlXCIsIGZpbGUpLCBcInV0ZjhcIiksXG4gICAgICAgICkudG9NYXRjaFNuYXBzaG90KGZpbGUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
@@ -0,0 +1,158 @@
|
|
|
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
|
+
// Copyright (c) HashiCorp, Inc
|
|
27
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const fs = __importStar(require("fs-extra"));
|
|
30
|
+
const glob_1 = require("glob");
|
|
31
|
+
const commons_1 = require("@cdktn/commons");
|
|
32
|
+
const constructs_maker_1 = require("../get/constructs-maker");
|
|
33
|
+
const commons_2 = require("@cdktn/commons");
|
|
34
|
+
function directorySnapshot(root) {
|
|
35
|
+
const output = {};
|
|
36
|
+
const files = glob_1.glob.sync("**", {
|
|
37
|
+
ignore: [".git/**", ".jsii"],
|
|
38
|
+
cwd: root,
|
|
39
|
+
nodir: true,
|
|
40
|
+
dot: true,
|
|
41
|
+
});
|
|
42
|
+
for (const file of files) {
|
|
43
|
+
const filePath = path.join(root, file);
|
|
44
|
+
let content;
|
|
45
|
+
if (path.extname(filePath) === ".json") {
|
|
46
|
+
content = fs.readJsonSync(filePath);
|
|
47
|
+
if (path.basename(filePath) === "constraints.json") {
|
|
48
|
+
delete content.cdktf;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
content = fs.readFileSync(filePath, "utf-8");
|
|
53
|
+
}
|
|
54
|
+
output[file] = content;
|
|
55
|
+
}
|
|
56
|
+
return output;
|
|
57
|
+
}
|
|
58
|
+
function resourceTypesPresentInSnapshot(snapshot, providerNameInPath) {
|
|
59
|
+
const resources = [];
|
|
60
|
+
const files = Object.keys(snapshot);
|
|
61
|
+
for (const file of files) {
|
|
62
|
+
const match = file.match(`/providers\/${providerNameInPath}\/(.*?)\/index\.ts/`);
|
|
63
|
+
// avoids any not resources from being pushed
|
|
64
|
+
if (match &&
|
|
65
|
+
!match[1].includes("/") &&
|
|
66
|
+
!match[1].includes("data-") &&
|
|
67
|
+
!match[1].includes("provider")) {
|
|
68
|
+
resources.push(match[1]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return resources;
|
|
72
|
+
}
|
|
73
|
+
describe("Provider", () => {
|
|
74
|
+
it("generates a provider", async () => {
|
|
75
|
+
const constraint = new commons_2.TerraformProviderConstraint("DataDog/datadog@= 3.12.0");
|
|
76
|
+
return await (0, commons_1.mkdtemp)(async (workdir) => {
|
|
77
|
+
const jsiiPath = path.join(workdir, ".jsii");
|
|
78
|
+
const maker = new constructs_maker_1.ConstructsMaker({
|
|
79
|
+
codeMakerOutput: workdir,
|
|
80
|
+
outputJsii: jsiiPath,
|
|
81
|
+
targetLanguage: commons_2.Language.TYPESCRIPT,
|
|
82
|
+
}, process.env.CDKTF_EXPERIMENTAL_PROVIDER_SCHEMA_CACHE_PATH);
|
|
83
|
+
await maker.generate([constraint]);
|
|
84
|
+
const snapshot = directorySnapshot(workdir);
|
|
85
|
+
expect(snapshot).toMatchSnapshot();
|
|
86
|
+
});
|
|
87
|
+
}, 600000);
|
|
88
|
+
it("has generated provider that includes static import functions", async () => {
|
|
89
|
+
const constraint = new commons_2.TerraformProviderConstraint("DataDog/datadog@= 3.12.0");
|
|
90
|
+
return await (0, commons_1.mkdtemp)(async (workdir) => {
|
|
91
|
+
const jsiiPath = path.join(workdir, ".jsii");
|
|
92
|
+
const maker = new constructs_maker_1.ConstructsMaker({
|
|
93
|
+
codeMakerOutput: workdir,
|
|
94
|
+
outputJsii: jsiiPath,
|
|
95
|
+
targetLanguage: commons_2.Language.TYPESCRIPT,
|
|
96
|
+
});
|
|
97
|
+
await maker.generate([constraint]);
|
|
98
|
+
const snapshot = directorySnapshot(workdir);
|
|
99
|
+
const terraformResourceTypesPresent = resourceTypesPresentInSnapshot(snapshot, "datadog");
|
|
100
|
+
terraformResourceTypesPresent.forEach((resource) => {
|
|
101
|
+
let terraformResourceType = resource.replace(/-/g, "_");
|
|
102
|
+
if (!terraformResourceType.includes("datadog")) {
|
|
103
|
+
terraformResourceType = `datadog_${terraformResourceType}`;
|
|
104
|
+
}
|
|
105
|
+
expect(snapshot[`providers/datadog/${resource}/index.ts`]).toContain(`public static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider) {`);
|
|
106
|
+
expect(snapshot[`providers/datadog/${resource}/index.ts`]).toContain(`return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "${terraformResourceType}", importId: importFromId, provider });`);
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}, 600000);
|
|
110
|
+
it("has name in constraint that does not match resolved name in fqpn", async () => {
|
|
111
|
+
const constraint = new commons_2.TerraformProviderConstraint({
|
|
112
|
+
name: "dockerr",
|
|
113
|
+
source: "registry.terraform.io/kreuzwerker/docker",
|
|
114
|
+
version: "3.0.2",
|
|
115
|
+
});
|
|
116
|
+
return await (0, commons_1.mkdtemp)(async (workdir) => {
|
|
117
|
+
const jsiiPath = path.join(workdir, ".jsii");
|
|
118
|
+
const maker = new constructs_maker_1.ConstructsMaker({
|
|
119
|
+
codeMakerOutput: workdir,
|
|
120
|
+
outputJsii: jsiiPath,
|
|
121
|
+
targetLanguage: commons_2.Language.TYPESCRIPT,
|
|
122
|
+
}, process.env.CDKTF_EXPERIMENTAL_PROVIDER_SCHEMA_CACHE_PATH);
|
|
123
|
+
await maker.generate([constraint]);
|
|
124
|
+
const snapshot = directorySnapshot(workdir);
|
|
125
|
+
const terraformResourceTypesPresent = resourceTypesPresentInSnapshot(snapshot, "dockerr");
|
|
126
|
+
terraformResourceTypesPresent.forEach((resource) => {
|
|
127
|
+
expect(snapshot[`providers/dockerr/${resource}/index.ts`]).toBeDefined();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
}, 600000);
|
|
131
|
+
it("generates constructs for two providers with same name", async () => {
|
|
132
|
+
const constraint = new commons_2.TerraformProviderConstraint({
|
|
133
|
+
name: "bitbucket",
|
|
134
|
+
namespace: "DrFaust92",
|
|
135
|
+
version: "2.51.0",
|
|
136
|
+
source: "DrFaust92/bitbucket",
|
|
137
|
+
});
|
|
138
|
+
const constraint2 = new commons_2.TerraformProviderConstraint({
|
|
139
|
+
name: "abitbucket",
|
|
140
|
+
namespace: "andsafe-AG",
|
|
141
|
+
version: "2.5.0",
|
|
142
|
+
source: "andsafe-AG/bitbucket",
|
|
143
|
+
});
|
|
144
|
+
return await (0, commons_1.mkdtemp)(async (workdir) => {
|
|
145
|
+
const jsiiPath = path.join(workdir, ".jsii");
|
|
146
|
+
const maker = new constructs_maker_1.ConstructsMaker({
|
|
147
|
+
codeMakerOutput: workdir,
|
|
148
|
+
outputJsii: jsiiPath,
|
|
149
|
+
targetLanguage: commons_2.Language.TYPESCRIPT,
|
|
150
|
+
}, process.env.CDKTF_EXPERIMENTAL_PROVIDER_SCHEMA_CACHE_PATH);
|
|
151
|
+
await maker.generate([constraint, constraint2]);
|
|
152
|
+
console.log("workdir", workdir);
|
|
153
|
+
const snapshot = directorySnapshot(workdir);
|
|
154
|
+
expect(snapshot).toMatchSnapshot();
|
|
155
|
+
});
|
|
156
|
+
}, 600000);
|
|
157
|
+
});
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vcHJvdmlkZXIudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQywyQ0FBNkI7QUFDN0IsNkNBQStCO0FBQy9CLCtCQUE0QjtBQUM1Qiw0Q0FBeUM7QUFDekMsOERBQTBEO0FBQzFELDRDQUF1RTtBQU12RSxTQUFTLGlCQUFpQixDQUFDLElBQVk7SUFDckMsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztJQUUvQixNQUFNLEtBQUssR0FBRyxXQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUM1QixNQUFNLEVBQUUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1FBQzVCLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsSUFBSTtLQUNWLENBQUMsQ0FBQztJQUVILEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFdkMsSUFBSSxPQUFPLENBQUM7UUFFWixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDdkMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUM7Z0JBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxD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LFFBQVE7Z0JBQ3BCLGNBQWMsRUFBRSxrQkFBUSxDQUFDLFVBQVU7YUFDcEMsRUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDZDQUE2QyxDQUMxRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEMsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLE1BQU8sQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBnbG9iIH0gZnJvbSBcImdsb2JcIjtcbmltcG9ydCB7IG1rZHRlbXAgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdHNNYWtlciB9IGZyb20gXCIuLi9nZXQvY29uc3RydWN0cy1tYWtlclwiO1xuaW1wb3J0IHsgTGFuZ3VhZ2UsIFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCB9IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuXG5pbnRlcmZhY2UgU3ludGhPdXRwdXQge1xuICBbZmlsZVBhdGg6IHN0cmluZ106IGFueTtcbn1cblxuZnVuY3Rpb24gZGlyZWN0b3J5U25hcHNob3Qocm9vdDogc3RyaW5nKSB7XG4gIGNvbnN0IG91dHB1dDogU3ludGhPdXRwdXQgPSB7fTtcblxuICBjb25zdCBmaWxlcyA9IGdsb2Iuc3luYyhcIioqXCIsIHtcbiAgICBpZ25vcmU6IFtcIi5naXQvKipcIiwgXCIuanNpaVwiXSxcbiAgICBjd2Q6IHJvb3QsXG4gICAgbm9kaXI6IHRydWUsXG4gICAgZG90OiB0cnVlLFxuICB9KTtcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihyb290LCBmaWxlKTtcblxuICAgIGxldCBjb250ZW50O1xuXG4gICAgaWYgKHBhdGguZXh0bmFtZShmaWxlUGF0aCkgPT09IFwiLmpzb25cIikge1xuICAgICAgY29udGVudCA9IGZzLnJlYWRKc29uU3luYyhmaWxlUGF0aCk7XG5cbiAgICAgIGlmIChwYXRoLmJhc2VuYW1lKGZpbGVQYXRoKSA9PT0gXCJjb25zdHJhaW50cy5qc29uXCIpIHtcbiAgICAgICAgZGVsZXRlIGNvbnRlbnQuY2RrdGY7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIFwidXRmLThcIik7XG4gICAgfVxuXG4gICAgb3V0cHV0W2ZpbGVdID0gY29udGVudDtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXQ7XG59XG5cbmZ1bmN0aW9uIHJlc291cmNlVHlwZXNQcmVzZW50SW5TbmFwc2hvdChcbiAgc25hcHNob3Q6IFN5bnRoT3V0cHV0LFxuICBwcm92aWRlck5hbWVJblBhdGg6IHN0cmluZyxcbikge1xuICBjb25zdCByZXNvdXJjZXM6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZpbGVzID0gT2JqZWN0LmtleXMoc25hcHNob3QpO1xuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICBjb25zdCBtYXRjaCA9IGZpbGUubWF0Y2goXG4gICAgICBgL3Byb3ZpZGVyc1xcLyR7cHJvdmlkZXJOYW1lSW5QYXRofVxcLyguKj8pXFwvaW5kZXhcXC50cy9gLFxuICAgICk7XG4gICAgLy8gYXZvaWRzIGFueSBub3QgcmVzb3VyY2VzIGZyb20gYmVpbmcgcHVzaGVkXG4gICAgaWYgKFxuICAgICAgbWF0Y2ggJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcIi9cIikgJiZcbiAgICAgICFtYXRjaFsxXS5pbmNsdWRlcyhcImRhdGEtXCIpICYmXG4gICAgICAhbWF0Y2hbMV0uaW5jbHVkZXMoXCJwcm92aWRlclwiKVxuICAgICkge1xuICAgICAgcmVzb3VyY2VzLnB1c2gobWF0Y2hbMV0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzb3VyY2VzO1xufVxuXG5kZXNjcmliZShcIlByb3ZpZGVyXCIsICgpID0+IHtcbiAgaXQoXCJnZW5lcmF0ZXMgYSBwcm92aWRlclwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoXG4gICAgICBcIkRhdGFEb2cvZGF0YWRvZ0A9IDMuMTIuMFwiLFxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IG1rZHRlbXAoYXN5bmMgKHdvcmtkaXIpID0+IHtcbiAgICAgIGNvbnN0IGpzaWlQYXRoID0gcGF0aC5qb2luKHdvcmtkaXIsIFwiLmpzaWlcIik7XG4gICAgICBjb25zdCBtYWtlciA9IG5ldyBDb25zdHJ1Y3RzTWFrZXIoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlTWFrZXJPdXRwdXQ6IHdvcmtkaXIsXG4gICAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U6IExhbmd1YWdlLlRZUEVTQ1JJUFQsXG4gICAgICAgIH0sXG4gICAgICAgIHByb2Nlc3MuZW52LkNES1RGX0VYUEVSSU1FTlRBTF9QUk9WSURFUl9TQ0hFTUFfQ0FDSEVfUEFUSCxcbiAgICAgICk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcbiAgICAgIGV4cGVjdChzbmFwc2hvdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xuXG4gIGl0KFwiaGFzIGdlbmVyYXRlZCBwcm92aWRlciB0aGF0IGluY2x1ZGVzIHN0YXRpYyBpbXBvcnQgZnVuY3Rpb25zXCIsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBjb25zdHJhaW50ID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludChcbiAgICAgIFwiRGF0YURvZy9kYXRhZG9nQD0gMy4xMi4wXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcih7XG4gICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgb3V0cHV0SnNpaToganNpaVBhdGgsXG4gICAgICAgIHRhcmdldExhbmd1YWdlOiBMYW5ndWFnZS5UWVBFU0NSSVBULFxuICAgICAgfSk7XG4gICAgICBhd2FpdCBtYWtlci5nZW5lcmF0ZShbY29uc3RyYWludF0pO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcblxuICAgICAgY29uc3QgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQ6IHN0cmluZ1tdID1cbiAgICAgICAgcmVzb3VyY2VUeXBlc1ByZXNlbnRJblNuYXBzaG90KHNuYXBzaG90LCBcImRhdGFkb2dcIik7XG5cbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZXNQcmVzZW50LmZvckVhY2goKHJlc291cmNlKSA9PiB7XG4gICAgICAgIGxldCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSByZXNvdXJjZS5yZXBsYWNlKC8tL2csIFwiX1wiKTtcbiAgICAgICAgaWYgKCF0ZXJyYWZvcm1SZXNvdXJjZVR5cGUuaW5jbHVkZXMoXCJkYXRhZG9nXCIpKSB7XG4gICAgICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlID0gYGRhdGFkb2dfJHt0ZXJyYWZvcm1SZXNvdXJjZVR5cGV9YDtcbiAgICAgICAgfVxuICAgICAgICBleHBlY3Qoc25hcHNob3RbYHByb3ZpZGVycy9kYXRhZG9nLyR7cmVzb3VyY2V9L2luZGV4LnRzYF0pLnRvQ29udGFpbihcbiAgICAgICAgICBgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7YCxcbiAgICAgICAgKTtcbiAgICAgICAgZXhwZWN0KHNuYXBzaG90W2Bwcm92aWRlcnMvZGF0YWRvZy8ke3Jlc291cmNlfS9pbmRleC50c2BdKS50b0NvbnRhaW4oXG4gICAgICAgICAgYHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCIke3RlcnJhZm9ybVJlc291cmNlVHlwZX1cIiwgaW1wb3J0SWQ6IGltcG9ydEZyb21JZCwgcHJvdmlkZXIgfSk7YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9LCA2MDBfMDAwKTtcblxuICBpdChcImhhcyBuYW1lIGluIGNvbnN0cmFpbnQgdGhhdCBkb2VzIG5vdCBtYXRjaCByZXNvbHZlZCBuYW1lIGluIGZxcG5cIiwgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNvbnN0cmFpbnQgPSBuZXcgVGVycmFmb3JtUHJvdmlkZXJDb25zdHJhaW50KHtcbiAgICAgIG5hbWU6IFwiZG9ja2VyclwiLFxuICAgICAgc291cmNlOiBcInJlZ2lzdHJ5LnRlcnJhZm9ybS5pby9rcmV1endlcmtlci9kb2NrZXJcIixcbiAgICAgIHZlcnNpb246IFwiMy4wLjJcIixcbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50XSk7XG4gICAgICBjb25zdCBzbmFwc2hvdCA9IGRpcmVjdG9yeVNuYXBzaG90KHdvcmtkaXIpO1xuXG4gICAgICBjb25zdCB0ZXJyYWZvcm1SZXNvdXJjZVR5cGVzUHJlc2VudDogc3RyaW5nW10gPVxuICAgICAgICByZXNvdXJjZVR5cGVzUHJlc2VudEluU25hcHNob3Qoc25hcHNob3QsIFwiZG9ja2VyclwiKTtcblxuICAgICAgdGVycmFmb3JtUmVzb3VyY2VUeXBlc1ByZXNlbnQuZm9yRWFjaCgocmVzb3VyY2UpID0+IHtcbiAgICAgICAgZXhwZWN0KFxuICAgICAgICAgIHNuYXBzaG90W2Bwcm92aWRlcnMvZG9ja2Vyci8ke3Jlc291cmNlfS9pbmRleC50c2BdLFxuICAgICAgICApLnRvQmVEZWZpbmVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSwgNjAwXzAwMCk7XG5cbiAgaXQoXCJnZW5lcmF0ZXMgY29uc3RydWN0cyBmb3IgdHdvIHByb3ZpZGVycyB3aXRoIHNhbWUgbmFtZVwiLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY29uc3RyYWludCA9IG5ldyBUZXJyYWZvcm1Qcm92aWRlckNvbnN0cmFpbnQoe1xuICAgICAgbmFtZTogXCJiaXRidWNrZXRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJEckZhdXN0OTJcIixcbiAgICAgIHZlcnNpb246IFwiMi41MS4wXCIsXG4gICAgICBzb3VyY2U6IFwiRHJGYXVzdDkyL2JpdGJ1Y2tldFwiLFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbnN0cmFpbnQyID0gbmV3IFRlcnJhZm9ybVByb3ZpZGVyQ29uc3RyYWludCh7XG4gICAgICBuYW1lOiBcImFiaXRidWNrZXRcIixcbiAgICAgIG5hbWVzcGFjZTogXCJhbmRzYWZlLUFHXCIsXG4gICAgICB2ZXJzaW9uOiBcIjIuNS4wXCIsXG4gICAgICBzb3VyY2U6IFwiYW5kc2FmZS1BRy9iaXRidWNrZXRcIixcbiAgICB9KTtcbiAgICByZXR1cm4gYXdhaXQgbWtkdGVtcChhc3luYyAod29ya2RpcikgPT4ge1xuICAgICAgY29uc3QganNpaVBhdGggPSBwYXRoLmpvaW4od29ya2RpciwgXCIuanNpaVwiKTtcbiAgICAgIGNvbnN0IG1ha2VyID0gbmV3IENvbnN0cnVjdHNNYWtlcihcbiAgICAgICAge1xuICAgICAgICAgIGNvZGVNYWtlck91dHB1dDogd29ya2RpcixcbiAgICAgICAgICBvdXRwdXRKc2lpOiBqc2lpUGF0aCxcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogTGFuZ3VhZ2UuVFlQRVNDUklQVCxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvY2Vzcy5lbnYuQ0RLVEZfRVhQRVJJTUVOVEFMX1BST1ZJREVSX1NDSEVNQV9DQUNIRV9QQVRILFxuICAgICAgKTtcbiAgICAgIGF3YWl0IG1ha2VyLmdlbmVyYXRlKFtjb25zdHJhaW50LCBjb25zdHJhaW50Ml0pO1xuICAgICAgY29uc29sZS5sb2coXCJ3b3JrZGlyXCIsIHdvcmtkaXIpO1xuICAgICAgY29uc3Qgc25hcHNob3QgPSBkaXJlY3RvcnlTbmFwc2hvdCh3b3JrZGlyKTtcbiAgICAgIGV4cGVjdChzbmFwc2hvdCkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0sIDYwMF8wMDApO1xufSk7XG4iXX0=
|