@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.
Files changed (195) hide show
  1. package/ambient.d.ts +0 -1
  2. package/{lib → build}/__tests__/edge-provider-schema/builder.d.ts +1 -0
  3. package/build/__tests__/edge-provider-schema/builder.js +106 -0
  4. package/build/__tests__/edge-provider-schema/cli.d.ts +2 -0
  5. package/build/__tests__/edge-provider-schema/cli.js +67 -0
  6. package/{lib → build}/__tests__/edge-provider-schema/index.d.ts +1 -0
  7. package/build/__tests__/edge-provider-schema/index.js +154 -0
  8. package/build/__tests__/edge-provider-schema.test.d.ts +2 -0
  9. package/build/__tests__/edge-provider-schema.test.js +46 -0
  10. package/build/__tests__/provider.test.d.ts +2 -0
  11. package/build/__tests__/provider.test.js +158 -0
  12. package/build/get/__tests__/constructs-maker.test.d.ts +2 -0
  13. package/build/get/__tests__/constructs-maker.test.js +113 -0
  14. package/build/get/__tests__/generator/complex-computed-types.test.d.ts +2 -0
  15. package/build/get/__tests__/generator/complex-computed-types.test.js +42 -0
  16. package/build/get/__tests__/generator/deep-nested-attributes.test.d.ts +2 -0
  17. package/build/get/__tests__/generator/deep-nested-attributes.test.js +50 -0
  18. package/build/get/__tests__/generator/description-escaping.test.d.ts +2 -0
  19. package/build/get/__tests__/generator/description-escaping.test.js +65 -0
  20. package/build/get/__tests__/generator/empty-provider-resources.test.d.ts +2 -0
  21. package/build/get/__tests__/generator/empty-provider-resources.test.js +40 -0
  22. package/build/get/__tests__/generator/export-sharding.test.d.ts +2 -0
  23. package/build/get/__tests__/generator/export-sharding.test.js +82 -0
  24. package/build/get/__tests__/generator/module-generator.test.d.ts +2 -0
  25. package/build/get/__tests__/generator/module-generator.test.js +476 -0
  26. package/build/get/__tests__/generator/nested-types.test.d.ts +2 -0
  27. package/build/get/__tests__/generator/nested-types.test.js +51 -0
  28. package/build/get/__tests__/generator/provider.test.d.ts +2 -0
  29. package/build/get/__tests__/generator/provider.test.js +51 -0
  30. package/build/get/__tests__/generator/resource-types.test.d.ts +2 -0
  31. package/build/get/__tests__/generator/resource-types.test.js +78 -0
  32. package/build/get/__tests__/generator/skipped-attributes.test.d.ts +2 -0
  33. package/build/get/__tests__/generator/skipped-attributes.test.js +55 -0
  34. package/build/get/__tests__/generator/types.test.d.ts +2 -0
  35. package/build/get/__tests__/generator/types.test.js +289 -0
  36. package/build/get/__tests__/generator/versions-file.test.d.ts +2 -0
  37. package/build/get/__tests__/generator/versions-file.test.js +74 -0
  38. package/{lib → build}/get/__tests__/util.d.ts +1 -0
  39. package/build/get/__tests__/util.js +59 -0
  40. package/{lib → build}/get/constructs-maker.d.ts +2 -1
  41. package/{lib → build}/get/constructs-maker.js +5 -2
  42. package/{lib → build}/get/generator/custom-defaults.d.ts +1 -0
  43. package/build/get/generator/custom-defaults.js +403 -0
  44. package/{lib → build}/get/generator/emitter/attributes-emitter.d.ts +1 -0
  45. package/build/get/generator/emitter/attributes-emitter.js +161 -0
  46. package/{lib → build}/get/generator/emitter/index.d.ts +1 -0
  47. package/{lib → build}/get/generator/emitter/index.js +1 -1
  48. package/{lib → build}/get/generator/emitter/resource-emitter.d.ts +1 -0
  49. package/build/get/generator/emitter/resource-emitter.js +144 -0
  50. package/{lib → build}/get/generator/emitter/struct-emitter.d.ts +1 -0
  51. package/build/get/generator/emitter/struct-emitter.js +500 -0
  52. package/{lib → build}/get/generator/loop-detection.d.ts +1 -0
  53. package/build/get/generator/loop-detection.js +56 -0
  54. package/{lib → build}/get/generator/models/attribute-model.d.ts +1 -0
  55. package/build/get/generator/models/attribute-model.js +160 -0
  56. package/{lib → build}/get/generator/models/attribute-type-model.d.ts +1 -0
  57. package/build/get/generator/models/attribute-type-model.js +376 -0
  58. package/{lib → build}/get/generator/models/index.d.ts +1 -0
  59. package/{lib → build}/get/generator/models/index.js +1 -1
  60. package/{lib → build}/get/generator/models/resource-model.d.ts +1 -0
  61. package/build/get/generator/models/resource-model.js +106 -0
  62. package/{lib → build}/get/generator/models/scope.d.ts +1 -0
  63. package/build/get/generator/models/scope.js +36 -0
  64. package/{lib → build}/get/generator/models/struct.d.ts +1 -0
  65. package/build/get/generator/models/struct.js +90 -0
  66. package/{lib → build}/get/generator/module-generator.d.ts +1 -0
  67. package/build/get/generator/module-generator.js +184 -0
  68. package/{lib → build}/get/generator/provider-generator.d.ts +1 -0
  69. package/build/get/generator/provider-generator.js +225 -0
  70. package/{lib → build}/get/generator/resource-parser.d.ts +1 -0
  71. package/build/get/generator/resource-parser.js +497 -0
  72. package/{lib → build}/get/generator/sanitized-comments.d.ts +1 -0
  73. package/build/get/generator/sanitized-comments.js +44 -0
  74. package/{lib → build}/get/generator/skipped-attributes.d.ts +1 -0
  75. package/build/get/generator/skipped-attributes.js +29 -0
  76. package/{lib → build}/index.d.ts +1 -0
  77. package/{lib → build}/index.js +1 -1
  78. package/{lib → build}/util.d.ts +1 -0
  79. package/build/util.js +30 -0
  80. package/package.json +11 -11
  81. package/{lib → src}/__tests__/__snapshots__/edge-provider-schema.test.ts.snap +1 -1
  82. package/{lib → src}/__tests__/__snapshots__/provider.test.ts.snap +14953 -890
  83. package/{lib → src}/get/__tests__/generator/__snapshots__/complex-computed-types.test.ts.snap +1 -1
  84. package/{lib → src}/get/__tests__/generator/__snapshots__/description-escaping.test.ts.snap +1 -1
  85. package/{lib → src}/get/__tests__/generator/__snapshots__/export-sharding.test.ts.snap +1 -1
  86. package/{lib → src}/get/__tests__/generator/__snapshots__/module-generator.test.ts.snap +1 -1
  87. package/{lib → src}/get/__tests__/generator/__snapshots__/nested-types.test.ts.snap +1 -1
  88. package/{lib → src}/get/__tests__/generator/__snapshots__/provider.test.ts.snap +1 -1
  89. package/{lib → src}/get/__tests__/generator/__snapshots__/resource-types.test.ts.snap +1 -1
  90. package/{lib → src}/get/__tests__/generator/__snapshots__/skipped-attributes.test.ts.snap +1 -1
  91. package/{lib → src}/get/__tests__/generator/__snapshots__/types.test.ts.snap +92 -1
  92. package/src/get/__tests__/generator/fixtures/map-of-map-of-string.test.fixture.json +27 -0
  93. package/tsconfig.json +6 -3
  94. package/lib/__tests__/edge-provider-schema/builder.js +0 -106
  95. package/lib/__tests__/edge-provider-schema/cli.d.ts +0 -1
  96. package/lib/__tests__/edge-provider-schema/cli.js +0 -67
  97. package/lib/__tests__/edge-provider-schema/index.js +0 -154
  98. package/lib/__tests__/edge-provider-schema.test.d.ts +0 -1
  99. package/lib/__tests__/edge-provider-schema.test.js +0 -46
  100. package/lib/__tests__/provider.test.d.ts +0 -1
  101. package/lib/__tests__/provider.test.js +0 -158
  102. package/lib/get/__tests__/constructs-maker.test.d.ts +0 -1
  103. package/lib/get/__tests__/constructs-maker.test.js +0 -113
  104. package/lib/get/__tests__/generator/complex-computed-types.test.d.ts +0 -1
  105. package/lib/get/__tests__/generator/complex-computed-types.test.js +0 -42
  106. package/lib/get/__tests__/generator/deep-nested-attributes.test.d.ts +0 -1
  107. package/lib/get/__tests__/generator/deep-nested-attributes.test.js +0 -50
  108. package/lib/get/__tests__/generator/description-escaping.test.d.ts +0 -1
  109. package/lib/get/__tests__/generator/description-escaping.test.js +0 -65
  110. package/lib/get/__tests__/generator/empty-provider-resources.test.d.ts +0 -1
  111. package/lib/get/__tests__/generator/empty-provider-resources.test.js +0 -40
  112. package/lib/get/__tests__/generator/export-sharding.test.d.ts +0 -1
  113. package/lib/get/__tests__/generator/export-sharding.test.js +0 -82
  114. package/lib/get/__tests__/generator/module-generator.test.d.ts +0 -1
  115. package/lib/get/__tests__/generator/module-generator.test.js +0 -476
  116. package/lib/get/__tests__/generator/nested-types.test.d.ts +0 -1
  117. package/lib/get/__tests__/generator/nested-types.test.js +0 -51
  118. package/lib/get/__tests__/generator/provider.test.d.ts +0 -1
  119. package/lib/get/__tests__/generator/provider.test.js +0 -51
  120. package/lib/get/__tests__/generator/resource-types.test.d.ts +0 -1
  121. package/lib/get/__tests__/generator/resource-types.test.js +0 -78
  122. package/lib/get/__tests__/generator/skipped-attributes.test.d.ts +0 -1
  123. package/lib/get/__tests__/generator/skipped-attributes.test.js +0 -55
  124. package/lib/get/__tests__/generator/types.test.d.ts +0 -1
  125. package/lib/get/__tests__/generator/types.test.js +0 -280
  126. package/lib/get/__tests__/generator/versions-file.test.d.ts +0 -1
  127. package/lib/get/__tests__/generator/versions-file.test.js +0 -74
  128. package/lib/get/__tests__/util.js +0 -59
  129. package/lib/get/generator/custom-defaults.js +0 -403
  130. package/lib/get/generator/emitter/attributes-emitter.js +0 -161
  131. package/lib/get/generator/emitter/resource-emitter.js +0 -144
  132. package/lib/get/generator/emitter/struct-emitter.js +0 -500
  133. package/lib/get/generator/loop-detection.js +0 -56
  134. package/lib/get/generator/models/attribute-model.js +0 -160
  135. package/lib/get/generator/models/attribute-type-model.js +0 -376
  136. package/lib/get/generator/models/resource-model.js +0 -106
  137. package/lib/get/generator/models/scope.js +0 -36
  138. package/lib/get/generator/models/struct.js +0 -90
  139. package/lib/get/generator/module-generator.js +0 -184
  140. package/lib/get/generator/provider-generator.js +0 -225
  141. package/lib/get/generator/resource-parser.js +0 -497
  142. package/lib/get/generator/sanitized-comments.js +0 -44
  143. package/lib/get/generator/skipped-attributes.js +0 -29
  144. package/lib/util.js +0 -30
  145. /package/{lib → src}/get/__tests__/generator/fixtures/aws-provider.test.fixture.json +0 -0
  146. /package/{lib → src}/get/__tests__/generator/fixtures/aws_acm_certificate.test.fixture.json +0 -0
  147. /package/{lib → src}/get/__tests__/generator/fixtures/aws_cloudfront_distribution.test.fixture.json +0 -0
  148. /package/{lib → src}/get/__tests__/generator/fixtures/aws_fms_admin_account.test.fixture.json +0 -0
  149. /package/{lib → src}/get/__tests__/generator/fixtures/aws_quicksight_template.test.fixture.json +0 -0
  150. /package/{lib → src}/get/__tests__/generator/fixtures/aws_s3_bucket.test.fixture.json +0 -0
  151. /package/{lib → src}/get/__tests__/generator/fixtures/aws_security_group.test.fixture.json +0 -0
  152. /package/{lib → src}/get/__tests__/generator/fixtures/aws_wafv2_web_acl.test.fixture.json +0 -0
  153. /package/{lib → src}/get/__tests__/generator/fixtures/block-type-nested-computed-list.test.fixture.json +0 -0
  154. /package/{lib → src}/get/__tests__/generator/fixtures/block-type-set-list.test.fixture.json +0 -0
  155. /package/{lib → src}/get/__tests__/generator/fixtures/boolean-list.test.fixture.json +0 -0
  156. /package/{lib → src}/get/__tests__/generator/fixtures/boolean-map.test.fixture.json +0 -0
  157. /package/{lib → src}/get/__tests__/generator/fixtures/comment-ending-sequence.test.fixture.json +0 -0
  158. /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex-nested.test.fixture.json +0 -0
  159. /package/{lib → src}/get/__tests__/generator/fixtures/computed-complex.test.fixture.json +0 -0
  160. /package/{lib → src}/get/__tests__/generator/fixtures/computed-optional-complex.test.fixture.json +0 -0
  161. /package/{lib → src}/get/__tests__/generator/fixtures/data_aws_quicksight_analysis.fixture.json +0 -0
  162. /package/{lib → src}/get/__tests__/generator/fixtures/datadog_dashboard.test.fixture.json +0 -0
  163. /package/{lib → src}/get/__tests__/generator/fixtures/datadog_spans_metric.test.fixture.json +0 -0
  164. /package/{lib → src}/get/__tests__/generator/fixtures/deep-attributes.test.fixture.json +0 -0
  165. /package/{lib → src}/get/__tests__/generator/fixtures/deeply-nested-block-types.test.fixture.json +0 -0
  166. /package/{lib → src}/get/__tests__/generator/fixtures/description-escaping.test.fixture.json +0 -0
  167. /package/{lib → src}/get/__tests__/generator/fixtures/elasticstack-provider.test.fixture.json +0 -0
  168. /package/{lib → src}/get/__tests__/generator/fixtures/empty-provider-resources.test.fixture.json +0 -0
  169. /package/{lib → src}/get/__tests__/generator/fixtures/ignored-attributes.test.fixture.json +0 -0
  170. /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-attribute-names.test.fixture.json +0 -0
  171. /package/{lib → src}/get/__tests__/generator/fixtures/incompatible-resource-names.test.fixture.json +0 -0
  172. /package/{lib → src}/get/__tests__/generator/fixtures/list-list-object.test.fixture.json +0 -0
  173. /package/{lib → src}/get/__tests__/generator/fixtures/list-list-string.test.fixture.json +0 -0
  174. /package/{lib → src}/get/__tests__/generator/fixtures/list-of-string-map.test.fixture.json +0 -0
  175. /package/{lib → src}/get/__tests__/generator/fixtures/map-of-string-list.test.fixture.json +0 -0
  176. /package/{lib → src}/get/__tests__/generator/fixtures/markdown-description-with-code-blocks.test.fixture.json +0 -0
  177. /package/{lib → src}/get/__tests__/generator/fixtures/module-get-x.test.fixture.tf +0 -0
  178. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-1.test.fixture.tf +0 -0
  179. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-newline-2.test.fixture.tf +0 -0
  180. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-outputs.test.fixture.tf +0 -0
  181. /package/{lib → src}/get/__tests__/generator/fixtures/module-no-variable-type.test.fixture.tf +0 -0
  182. /package/{lib → src}/get/__tests__/generator/fixtures/module-with-star-default.test.fixture.tf +0 -0
  183. /package/{lib → src}/get/__tests__/generator/fixtures/name-conflict.test.fixture.json +0 -0
  184. /package/{lib → src}/get/__tests__/generator/fixtures/nested-type-without-attributes.test.fixture.json +0 -0
  185. /package/{lib → src}/get/__tests__/generator/fixtures/nested-types.test.fixture.json +0 -0
  186. /package/{lib → src}/get/__tests__/generator/fixtures/number-list.test.fixture.json +0 -0
  187. /package/{lib → src}/get/__tests__/generator/fixtures/number-map.test.fixture.json +0 -0
  188. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-boolean.test.fixture.json +0 -0
  189. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-dynamic.test.fixture.json +0 -0
  190. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-number.test.fixture.json +0 -0
  191. /package/{lib → src}/get/__tests__/generator/fixtures/primitive-string.test.fixture.json +0 -0
  192. /package/{lib → src}/get/__tests__/generator/fixtures/single-block-type.test.fixture.json +0 -0
  193. /package/{lib → src}/get/__tests__/generator/fixtures/string-list.test.fixture.json +0 -0
  194. /package/{lib → src}/get/__tests__/generator/fixtures/string-map.test.fixture.json +0 -0
  195. /package/{lib → src}/get/__tests__/generator/fixtures/stripe-schema.test.fixture.json +0 -0
package/ambient.d.ts CHANGED
@@ -10,4 +10,3 @@ declare module 'child_process' {
10
10
  }
11
11
 
12
12
  declare module 'tunnel-agent';
13
- declare module "archiver";
@@ -51,3 +51,4 @@ export declare class SchemaBuilder {
51
51
  }): SchemaBuilder;
52
52
  }
53
53
  export {};
54
+ //# sourceMappingURL=builder.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -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
@@ -1,2 +1,3 @@
1
1
  import { ProviderSchema } from "@cdktn/commons";
2
2
  export declare const edgeSchema: ProviderSchema;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX190ZXN0c19fL2VkZ2UtcHJvdmlkZXItc2NoZW1hL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHVDQUF1RDtBQUV2RCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLDJCQUEyQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUN4QyxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQzFELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDOUQsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG9DQUFvQyxHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3pELHdCQUF3QixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7S0FDN0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLG1CQUFtQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUNoQyxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsS0FBSztJQUNYLEtBQUssRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUN0RCxRQUFRLEVBQUUsQ0FBQztJQUNYLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztLQUNELFNBQVMsQ0FBQztJQUNULElBQUksRUFBRSxLQUFLO0lBQ1gsS0FBSyxFQUFFLElBQUksdUJBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ3RELFFBQVEsRUFBRSxDQUFDO0lBQ1gsUUFBUSxFQUFFLEVBQUU7Q0FDYixDQUFDO0tBQ0QsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLFdBQVc7SUFDakIsS0FBSyxFQUFFLElBQUksdUJBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ3RELFFBQVEsRUFBRSxDQUFDO0lBQ1gsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDO0tBQ0QsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLFdBQVc7SUFDakIsS0FBSyxFQUFFLElBQUksdUJBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ3RELFFBQVEsRUFBRSxDQUFDO0lBQ1gsUUFBUSxFQUFFLENBQUM7Q0FDWixDQUFDO0tBQ0QsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFO1NBQ1gsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsVUFBVTtRQUNoQixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxLQUFLO1FBQ2YsUUFBUSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztTQUNELFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxLQUFLO1FBQ2YsSUFBSSxFQUFFLFlBQVk7UUFDbEIsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFDO1NBQ0QsT0FBTyxFQUFFO0lBQ1osUUFBUSxFQUFFLENBQUM7SUFDWCxRQUFRLEVBQUUsQ0FBQztDQUNaLENBQUM7S0FDRCxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLElBQUksRUFBRTtRQUNKLE1BQU07UUFDTjtZQUNFLFFBQVE7WUFDUjtnQkFDRSxHQUFHLEVBQUUsUUFBUTthQUNkO1NBQ0Y7S0FDRjtJQUNELFFBQVEsRUFBRSxJQUFJO0lBQ2QsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztLQUNELFNBQVMsQ0FBQztJQUNULElBQUksRUFBRSwyQkFBMkI7SUFDakMsSUFBSSxFQUFFO1FBQ0osTUFBTTtRQUNOO1lBQ0UsS0FBSztZQUNMO2dCQUNFLFFBQVE7Z0JBQ1I7b0JBQ0UsR0FBRyxFQUFFLFFBQVE7b0JBQ2IsS0FBSyxFQUFFLFFBQVE7aUJBQ2hCO2FBQ0Y7U0FDRjtLQUNGO0lBQ0QsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDO0tBQ0QsS0FBSyxFQUFFLENBQUM7QUFFWCxNQUFNLGlCQUFpQixHQUFHLElBQUksdUJBQUMsRUFBRTtLQUM5QixTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLElBQUksRUFBRTtRQUNKLEtBQUs7UUFDTDtZQUNFLE1BQU07WUFDTjtnQkFDRSxRQUFRO2dCQUNSO29CQUNFLEtBQUssRUFBRSxRQUFRO2lCQUNoQjthQUNGO1NBQ0Y7S0FDRjtJQUNELFFBQVEsRUFBRSxLQUFLO0lBQ2YsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxZQUFZLEdBQUcsSUFBSSx1QkFBQyxFQUFFO0tBQ3pCLFNBQVMsQ0FBQztJQUNULElBQUksRUFBRSxRQUFRO0lBQ2QsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxLQUFLO0NBQ2hCLENBQUM7S0FDRCxTQUFTLENBQUM7SUFDVCxJQUFJLEVBQUUsUUFBUTtJQUNkLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDckIsUUFBUSxFQUFFLElBQUk7SUFDZCxRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDO0tBQ0QsU0FBUyxDQUFDO0lBQ1QsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQztJQUN2QixRQUFRLEVBQUUsS0FBSztJQUNmLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRVgsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHVCQUFDLEVBQUU7S0FDL0IsUUFBUSxDQUFDO0lBQ1IsSUFBSSxFQUFFLEtBQUs7SUFDWCxLQUFLLEVBQUUsSUFBSSx1QkFBQyxFQUFFLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDdkQsQ0FBQztLQUNELEtBQUssRUFBRSxDQUFDO0FBRUUsUUFBQSxVQUFVLEdBQW1CLElBQUEsZ0JBQU0sRUFBQztJQUMvQyxJQUFJLEVBQUUsTUFBTTtJQUNaLFFBQVEsRUFBRSxJQUFJLHVCQUFDLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLEtBQUssRUFBRTtJQUN2RCxTQUFTLEVBQUU7UUFDVCwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9DQUFvQztRQUNwQyxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixpQkFBaUI7S0FDbEI7SUFDRCxXQUFXLEVBQUUsRUFBRTtDQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgUHJvdmlkZXJTY2hlbWEgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IHNjaGVtYSwgU2NoZW1hQnVpbGRlciBhcyBTIH0gZnJvbSBcIi4vYnVpbGRlclwiO1xuXG5jb25zdCByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiB0cnVlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IG9wdGlvbmFsX2F0dHJpYnV0ZV9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmFkZEFsbFByaW1pdGl2ZVR5cGVzKHsgcmVxdWlyZWQ6IGZhbHNlLCBjb21wdXRlZDogZmFsc2UgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IGZhbHNlIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBvcHRpb25hbF9jb21wdXRlZF9hdHRyaWJ1dGVfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5hZGRBbGxQcmltaXRpdmVUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmFkZEFsbFByaW1pdGl2ZUxpc3RUeXBlcyh7IHJlcXVpcmVkOiBmYWxzZSwgY29tcHV0ZWQ6IHRydWUgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IGxpc3RfYmxvY2tfcmVzb3VyY2UgPSBuZXcgUygpXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwib3B0XCIsXG4gICAgYmxvY2s6IG5ldyBTKCkuYWRkQWxsUHJpbWl0aXZlUGVybXV0YXRpb25zKCkuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiA0MixcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDQyLFxuICB9KVxuICAubGlzdEJsb2NrKHtcbiAgICBuYW1lOiBcInNpbmdsZW9wdFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgICBtaW5JdGVtczogMCxcbiAgICBtYXhJdGVtczogMSxcbiAgfSlcbiAgLmxpc3RCbG9jayh7XG4gICAgbmFtZTogXCJzaW5nbGVyZXFcIixcbiAgICBibG9jazogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5hc0Jsb2NrKCksXG4gICAgbWluSXRlbXM6IDEsXG4gICAgbWF4SXRlbXM6IDEsXG4gIH0pXG4gIC5saXN0QmxvY2soe1xuICAgIG5hbWU6IFwic2luZ2xlQ29tcHV0ZWRCbG9ja1wiLFxuICAgIGJsb2NrOiBuZXcgUygpXG4gICAgICAuYXR0cmlidXRlKHtcbiAgICAgICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgICAgIG5hbWU6IFwiY29tcHV0ZWRcIixcbiAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICB9KVxuICAgICAgLmF0dHJpYnV0ZSh7XG4gICAgICAgIGNvbXB1dGVkOiBmYWxzZSxcbiAgICAgICAgbmFtZTogXCJjb25maWd1cmVkXCIsXG4gICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgICAuYXNCbG9jaygpLFxuICAgIG1pbkl0ZW1zOiAwLFxuICAgIG1heEl0ZW1zOiAxLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mT2JqZWN0XCIsXG4gICAgdHlwZTogW1xuICAgICAgXCJsaXN0XCIsXG4gICAgICBbXG4gICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgIHtcbiAgICAgICAgICBzdHI6IFwic3RyaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sXG4gICAgY29tcHV0ZWQ6IHRydWUsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTGlzdE9mTWFwT2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcImxpc3RcIixcbiAgICAgIFtcbiAgICAgICAgXCJtYXBcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RyOiBcInN0cmluZ1wiLFxuICAgICAgICAgICAgb3RoZXI6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgICBvcHRpb25hbDogZmFsc2UsXG4gIH0pXG4gIC5idWlsZCgpO1xuXG5jb25zdCBtYXBfbGlzdF9yZXNvdXJjZSA9IG5ldyBTKClcbiAgLmF0dHJpYnV0ZSh7XG4gICAgbmFtZTogXCJtYXBMaXN0T2ZPYmplY3RcIixcbiAgICB0eXBlOiBbXG4gICAgICBcIm1hcFwiLFxuICAgICAgW1xuICAgICAgICBcImxpc3RcIixcbiAgICAgICAgW1xuICAgICAgICAgIFwib2JqZWN0XCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVsbG86IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIF0sXG4gICAgXSxcbiAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgb3B0aW9uYWw6IGZhbHNlLFxuICB9KVxuICAuYnVpbGQoKTtcblxuY29uc3QgbWFwX3Jlc291cmNlID0gbmV3IFMoKVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcIm9wdE1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcInN0cmluZ1wiXSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcInJlcU1hcFwiLFxuICAgIHR5cGU6IFtcIm1hcFwiLCBcImJvb2xcIl0sXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgY29tcHV0ZWQ6IGZhbHNlLFxuICB9KVxuICAuYXR0cmlidXRlKHtcbiAgICBuYW1lOiBcImNvbXB1dGVkTWFwXCIsXG4gICAgdHlwZTogW1wibWFwXCIsIFwibnVtYmVyXCJdLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBjb21wdXRlZDogdHJ1ZSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmNvbnN0IHNldF9ibG9ja19yZXNvdXJjZSA9IG5ldyBTKClcbiAgLnNldEJsb2NrKHtcbiAgICBuYW1lOiBcInNldFwiLFxuICAgIGJsb2NrOiBuZXcgUygpLmFkZEFsbFByaW1pdGl2ZVBlcm11dGF0aW9ucygpLmFzQmxvY2soKSxcbiAgfSlcbiAgLmJ1aWxkKCk7XG5cbmV4cG9ydCBjb25zdCBlZGdlU2NoZW1hOiBQcm92aWRlclNjaGVtYSA9IHNjaGVtYSh7XG4gIG5hbWU6IFwiZWRnZVwiLFxuICBwcm92aWRlcjogbmV3IFMoKS5hZGRBbGxQcmltaXRpdmVQZXJtdXRhdGlvbnMoKS5idWlsZCgpLFxuICByZXNvdXJjZXM6IHtcbiAgICByZXF1aXJlZF9hdHRyaWJ1dGVfcmVzb3VyY2UsXG4gICAgb3B0aW9uYWxfYXR0cmlidXRlX3Jlc291cmNlLFxuICAgIG9wdGlvbmFsX2NvbXB1dGVkX2F0dHJpYnV0ZV9yZXNvdXJjZSxcbiAgICBsaXN0X2Jsb2NrX3Jlc291cmNlLFxuICAgIG1hcF9yZXNvdXJjZSxcbiAgICBzZXRfYmxvY2tfcmVzb3VyY2UsXG4gICAgbWFwX2xpc3RfcmVzb3VyY2UsXG4gIH0sXG4gIGRhdGFTb3VyY2VzOiB7fSxcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=edge-provider-schema.test.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.test.d.ts.map
@@ -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=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constructs-maker.test.d.ts.map