tfts 0.2.5 → 0.2.7

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/README.md CHANGED
@@ -8,7 +8,7 @@ tfts lets you define Terraform infrastructure using TypeScript with full type sa
8
8
 
9
9
  Key differences from CDKTF:
10
10
 
11
- - **Type-safe attribute references** - Computed attributes return `TokenString` instead of `string`, preventing invalid operations like `.toUpperCase()` at compile time
11
+ - **Type-safe attribute references** - Computed attributes return `TokenValue<string>` instead of `string`, preventing invalid operations like `.toUpperCase()` at compile time
12
12
  - **Lightweight** - No JSII, no complex runtime, just TypeScript
13
13
 
14
14
  ## Getting Started
@@ -94,13 +94,13 @@ terraform apply
94
94
 
95
95
  ### Type-Safe Attributes
96
96
 
97
- The main difference: computed attributes return `TokenString` instead of `string`.
97
+ The main difference: computed attributes return `TokenValue<string>` instead of `string`.
98
98
 
99
99
  ```typescript
100
100
  // CDKTF - compiles but broken at runtime
101
101
  network.id.toUpperCase();
102
102
 
103
- // tfts - compile error (TokenString has no .toUpperCase())
103
+ // tfts - compile error (TokenValue<string> has no .toUpperCase())
104
104
  network.id.toUpperCase(); // Error!
105
105
 
106
106
  // tfts - template literals work via toString()
@@ -2,4 +2,5 @@ import type { ProviderSchema } from "../schema.js";
2
2
  export declare const simpleProvider: ProviderSchema;
3
3
  export declare const multiwordProvider: ProviderSchema;
4
4
  export declare const nestingModesProvider: ProviderSchema;
5
+ export declare const computedListProvider: ProviderSchema;
5
6
  //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,cAyD5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAyB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cA+ClC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/codegen/__tests__/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,cAAc,EAAE,cA4D5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,cAyB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,cA+ClC,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,cA6BlC,CAAC"}
@@ -3,9 +3,12 @@ export const simpleProvider = {
3
3
  provider_schemas: {
4
4
  "registry.terraform.io/hashicorp/simple": {
5
5
  provider: {
6
- attributes: {
7
- api_key: { type: "string", required: true },
8
- region: { type: "string", optional: true },
6
+ version: 0,
7
+ block: {
8
+ attributes: {
9
+ api_key: { type: "string", required: true },
10
+ region: { type: "string", optional: true },
11
+ },
9
12
  },
10
13
  },
11
14
  resource_schemas: {
@@ -60,7 +63,7 @@ export const multiwordProvider = {
60
63
  format_version: "1.0",
61
64
  provider_schemas: {
62
65
  "registry.terraform.io/hashicorp/google": {
63
- provider: { attributes: {} },
66
+ provider: { version: 0, block: { attributes: {} } },
64
67
  resource_schemas: {
65
68
  google_alloydb_cluster: {
66
69
  version: 0,
@@ -86,7 +89,7 @@ export const nestingModesProvider = {
86
89
  format_version: "1.0",
87
90
  provider_schemas: {
88
91
  "registry.terraform.io/test/test": {
89
- provider: { attributes: {} },
92
+ provider: { version: 0, block: { attributes: {} } },
90
93
  resource_schemas: {
91
94
  test_resource: {
92
95
  version: 0,
@@ -130,4 +133,35 @@ export const nestingModesProvider = {
130
133
  },
131
134
  },
132
135
  };
136
+ // Fixture for computed list/object attributes (like google_cloud_run_service.status)
137
+ export const computedListProvider = {
138
+ format_version: "1.0",
139
+ provider_schemas: {
140
+ "registry.terraform.io/hashicorp/google": {
141
+ provider: { version: 0, block: { attributes: {} } },
142
+ resource_schemas: {
143
+ google_cloud_run_service: {
144
+ version: 0,
145
+ block: {
146
+ attributes: {
147
+ id: { type: "string", computed: true },
148
+ name: { type: "string", required: true },
149
+ },
150
+ block_types: {
151
+ status: {
152
+ nesting_mode: "list",
153
+ block: {
154
+ attributes: {
155
+ url: { type: "string", computed: true },
156
+ latest_ready_revision_name: { type: "string", computed: true },
157
+ },
158
+ },
159
+ },
160
+ },
161
+ },
162
+ },
163
+ },
164
+ },
165
+ },
166
+ };
133
167
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/fixtures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/fixtures.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { test, expect, describe } from "bun:test";
2
2
  import { generateProviderFiles } from "../generator.js";
3
- import { simpleProvider, multiwordProvider, nestingModesProvider } from "./fixtures.js";
3
+ import { simpleProvider, multiwordProvider, nestingModesProvider, computedListProvider, } from "./fixtures.js";
4
4
  const getContent = (files, path) => {
5
5
  const content = files.get(path);
6
6
  if (content === undefined) {
@@ -13,21 +13,21 @@ describe("file structure", () => {
13
13
  const files = generateProviderFiles("simple", simpleProvider);
14
14
  expect(files.has("provider/index.ts")).toBe(true);
15
15
  });
16
- test("generates resources at lib/{name}/index.ts", () => {
16
+ test("generates resources at {name}/index.ts", () => {
17
17
  const files = generateProviderFiles("google", multiwordProvider);
18
- expect(files.has("lib/alloydb-cluster/index.ts")).toBe(true);
19
- expect(files.has("lib/storage-bucket/index.ts")).toBe(true);
18
+ expect(files.has("alloydb-cluster/index.ts")).toBe(true);
19
+ expect(files.has("storage-bucket/index.ts")).toBe(true);
20
20
  });
21
- test("generates data sources at lib/data-{name}/index.ts", () => {
21
+ test("generates data sources at data-{name}/index.ts", () => {
22
22
  const files = generateProviderFiles("simple", simpleProvider);
23
- expect(files.has("lib/data-data/index.ts")).toBe(true);
23
+ expect(files.has("data-data/index.ts")).toBe(true);
24
24
  });
25
25
  test("generates index.ts with namespace exports", () => {
26
26
  const files = generateProviderFiles("google", multiwordProvider);
27
27
  const index = getContent(files, "index.ts");
28
28
  expect(index).toContain('export * as provider from "./provider/index.js"');
29
- expect(index).toContain('export * as alloydbCluster from "./lib/alloydb-cluster/index.js"');
30
- expect(index).toContain('export * as storageBucket from "./lib/storage-bucket/index.js"');
29
+ expect(index).toContain('export * as alloydbCluster from "./alloydb-cluster/index.js"');
30
+ expect(index).toContain('export * as storageBucket from "./storage-bucket/index.js"');
31
31
  });
32
32
  });
33
33
  describe("class naming", () => {
@@ -38,24 +38,24 @@ describe("class naming", () => {
38
38
  });
39
39
  test("resource class: strips provider prefix, PascalCase", () => {
40
40
  const files = generateProviderFiles("google", multiwordProvider);
41
- const content = getContent(files, "lib/alloydb-cluster/index.ts");
41
+ const content = getContent(files, "alloydb-cluster/index.ts");
42
42
  expect(content).toContain("export class AlloydbCluster extends TerraformResource");
43
43
  });
44
44
  test("data source class: Data{Name}", () => {
45
45
  const files = generateProviderFiles("simple", simpleProvider);
46
- const content = getContent(files, "lib/data-data/index.ts");
46
+ const content = getContent(files, "data-data/index.ts");
47
47
  expect(content).toContain("export class DataData extends TerraformDataSource");
48
48
  });
49
49
  });
50
50
  describe("type naming", () => {
51
51
  test("config type: {ClassName}Config", () => {
52
52
  const files = generateProviderFiles("test", nestingModesProvider);
53
- const content = getContent(files, "lib/resource/index.ts");
53
+ const content = getContent(files, "resource/index.ts");
54
54
  expect(content).toContain("export type ResourceConfig = {");
55
55
  });
56
56
  test("nested block type: {ClassName}{BlockName} (not {ClassName}Config{BlockName})", () => {
57
57
  const files = generateProviderFiles("test", nestingModesProvider);
58
- const content = getContent(files, "lib/resource/index.ts");
58
+ const content = getContent(files, "resource/index.ts");
59
59
  // Correct: ResourceSingleBlock
60
60
  expect(content).toContain("export type ResourceSingleBlock = {");
61
61
  expect(content).toContain("export type ResourceListBlock = {");
@@ -67,7 +67,7 @@ describe("type naming", () => {
67
67
  });
68
68
  test("collision: append A when type name exists", () => {
69
69
  const files = generateProviderFiles("simple", simpleProvider);
70
- const content = getContent(files, "lib/resource/index.ts");
70
+ const content = getContent(files, "resource/index.ts");
71
71
  // ResourceConfig exists for the config type
72
72
  // Nested block "config" would also be ResourceConfig -> becomes ResourceConfigA
73
73
  expect(content).toContain("export type ResourceConfigA = {");
@@ -77,7 +77,7 @@ describe("type naming", () => {
77
77
  describe("property naming", () => {
78
78
  test("converts snake_case to camelCase", () => {
79
79
  const files = generateProviderFiles("test", nestingModesProvider);
80
- const content = getContent(files, "lib/resource/index.ts");
80
+ const content = getContent(files, "resource/index.ts");
81
81
  expect(content).toContain("readonly secretId?:");
82
82
  expect(content).toContain("readonly singleBlock?:");
83
83
  expect(content).toContain("readonly listBlock?:");
@@ -86,7 +86,7 @@ describe("property naming", () => {
86
86
  });
87
87
  test("uses snake_case in terraform attribute mapping", () => {
88
88
  const files = generateProviderFiles("test", nestingModesProvider);
89
- const content = getContent(files, "lib/resource/index.ts");
89
+ const content = getContent(files, "resource/index.ts");
90
90
  expect(content).toContain("secret_id: config.secretId");
91
91
  expect(content).toContain("single_block: config.singleBlock");
92
92
  });
@@ -94,101 +94,101 @@ describe("property naming", () => {
94
94
  describe("block nesting modes", () => {
95
95
  test("single: generates T", () => {
96
96
  const files = generateProviderFiles("test", nestingModesProvider);
97
- const content = getContent(files, "lib/resource/index.ts");
97
+ const content = getContent(files, "resource/index.ts");
98
98
  expect(content).toContain("readonly singleBlock?: ResourceSingleBlock;");
99
99
  expect(content).not.toContain("readonly singleBlock?: ResourceSingleBlock |");
100
100
  });
101
101
  test("list without max_items=1: generates readonly T[]", () => {
102
102
  const files = generateProviderFiles("test", nestingModesProvider);
103
- const content = getContent(files, "lib/resource/index.ts");
103
+ const content = getContent(files, "resource/index.ts");
104
104
  expect(content).toContain("readonly listBlock?: readonly ResourceListBlock[];");
105
105
  });
106
106
  test("set: generates readonly T[]", () => {
107
107
  const files = generateProviderFiles("test", nestingModesProvider);
108
- const content = getContent(files, "lib/resource/index.ts");
108
+ const content = getContent(files, "resource/index.ts");
109
109
  expect(content).toContain("readonly setBlock?: readonly ResourceSetBlock[];");
110
110
  });
111
111
  test("list with max_items=1: generates T | readonly T[]", () => {
112
112
  const files = generateProviderFiles("test", nestingModesProvider);
113
- const content = getContent(files, "lib/resource/index.ts");
113
+ const content = getContent(files, "resource/index.ts");
114
114
  expect(content).toContain("readonly singleItemList?: ResourceSingleItemList | readonly ResourceSingleItemList[];");
115
115
  });
116
116
  });
117
117
  describe("constructor body", () => {
118
118
  test("regular properties: tf_name: config.tsName", () => {
119
119
  const files = generateProviderFiles("test", nestingModesProvider);
120
- const content = getContent(files, "lib/resource/index.ts");
120
+ const content = getContent(files, "resource/index.ts");
121
121
  expect(content).toContain("secret_id: config.secretId,");
122
122
  expect(content).toContain("single_block: config.singleBlock,");
123
123
  });
124
124
  test("max_items=1 blocks: array normalization", () => {
125
125
  const files = generateProviderFiles("test", nestingModesProvider);
126
- const content = getContent(files, "lib/resource/index.ts");
126
+ const content = getContent(files, "resource/index.ts");
127
127
  expect(content).toContain("single_item_list: config.singleItemList !== undefined ? (Array.isArray(config.singleItemList) ? config.singleItemList : [config.singleItemList]) : undefined,");
128
128
  });
129
129
  });
130
130
  describe("getters", () => {
131
131
  test("generates getters for all attributes", () => {
132
132
  const files = generateProviderFiles("test", nestingModesProvider);
133
- const content = getContent(files, "lib/resource/index.ts");
134
- expect(content).toContain("get id(): TokenString {");
135
- expect(content).toContain("get name(): TokenString {");
136
- expect(content).toContain("get secretId(): TokenString {");
137
- expect(content).toContain("get location(): TokenString {");
133
+ const content = getContent(files, "resource/index.ts");
134
+ expect(content).toContain("get id(): TokenValue<string> {");
135
+ expect(content).toContain("get name(): TokenValue<string> {");
136
+ expect(content).toContain("get secretId(): TokenValue<string> {");
137
+ expect(content).toContain("get location(): TokenValue<string> {");
138
138
  });
139
139
  test("getter format: return this.getStringAttribute(tf_name)", () => {
140
140
  const files = generateProviderFiles("test", nestingModesProvider);
141
- const content = getContent(files, "lib/resource/index.ts");
141
+ const content = getContent(files, "resource/index.ts");
142
142
  expect(content).toContain('return this.getStringAttribute("secret_id");');
143
143
  });
144
144
  });
145
145
  describe("attribute type mappings", () => {
146
146
  test("string -> TfString in config", () => {
147
147
  const files = generateProviderFiles("simple", simpleProvider);
148
- const content = getContent(files, "lib/resource/index.ts");
148
+ const content = getContent(files, "resource/index.ts");
149
149
  expect(content).toContain("readonly name: TfString;");
150
150
  });
151
151
  test("bool -> TfBoolean in config", () => {
152
152
  const files = generateProviderFiles("simple", simpleProvider);
153
- const content = getContent(files, "lib/resource/index.ts");
153
+ const content = getContent(files, "resource/index.ts");
154
154
  expect(content).toContain("readonly enabled?: TfBoolean;");
155
155
  });
156
156
  test("number -> TfNumber in config", () => {
157
157
  const files = generateProviderFiles("simple", simpleProvider);
158
- const content = getContent(files, "lib/resource/index.ts");
158
+ const content = getContent(files, "resource/index.ts");
159
159
  expect(content).toContain("readonly count?: TfNumber;");
160
160
  });
161
161
  test('["map", "string"] -> TfStringMap in config', () => {
162
162
  const files = generateProviderFiles("simple", simpleProvider);
163
- const content = getContent(files, "lib/resource/index.ts");
163
+ const content = getContent(files, "resource/index.ts");
164
164
  expect(content).toContain("readonly tags?: TfStringMap;");
165
165
  });
166
166
  });
167
167
  describe("optionality", () => {
168
168
  test("required: true -> required property", () => {
169
169
  const files = generateProviderFiles("simple", simpleProvider);
170
- const content = getContent(files, "lib/resource/index.ts");
170
+ const content = getContent(files, "resource/index.ts");
171
171
  expect(content).toContain("readonly name: TfString;"); // no ?
172
172
  });
173
173
  test("optional: true -> optional property", () => {
174
174
  const files = generateProviderFiles("simple", simpleProvider);
175
- const content = getContent(files, "lib/resource/index.ts");
175
+ const content = getContent(files, "resource/index.ts");
176
176
  expect(content).toContain("readonly enabled?: TfBoolean;");
177
177
  });
178
178
  test("computed: true -> optional property", () => {
179
179
  const files = generateProviderFiles("simple", simpleProvider);
180
- const content = getContent(files, "lib/resource/index.ts");
180
+ const content = getContent(files, "resource/index.ts");
181
181
  expect(content).toContain("readonly id?: TfString;");
182
182
  });
183
183
  test("block with min_items undefined or 0 -> optional", () => {
184
184
  const files = generateProviderFiles("test", nestingModesProvider);
185
- const content = getContent(files, "lib/resource/index.ts");
185
+ const content = getContent(files, "resource/index.ts");
186
186
  expect(content).toContain("readonly singleBlock?:");
187
187
  expect(content).toContain("readonly listBlock?:");
188
188
  });
189
189
  test("block with min_items >= 1 -> required", () => {
190
190
  const files = generateProviderFiles("simple", simpleProvider);
191
- const content = getContent(files, "lib/resource/index.ts");
191
+ const content = getContent(files, "resource/index.ts");
192
192
  // items has min_items: 1
193
193
  expect(content).toContain("readonly items: readonly ResourceItems[];");
194
194
  });
@@ -196,7 +196,7 @@ describe("optionality", () => {
196
196
  describe("input getters", () => {
197
197
  test("generates *Input getters for non-computed attributes", () => {
198
198
  const files = generateProviderFiles("simple", simpleProvider);
199
- const content = getContent(files, "lib/resource/index.ts");
199
+ const content = getContent(files, "resource/index.ts");
200
200
  // Should have nameInput for required attribute
201
201
  expect(content).toContain("get nameInput():");
202
202
  // Should have enabledInput for optional attribute
@@ -208,13 +208,13 @@ describe("input getters", () => {
208
208
  });
209
209
  test("does not generate *Input getters for computed-only attributes", () => {
210
210
  const files = generateProviderFiles("simple", simpleProvider);
211
- const content = getContent(files, "lib/resource/index.ts");
211
+ const content = getContent(files, "resource/index.ts");
212
212
  // id is computed-only, should not have idInput
213
213
  expect(content).not.toContain("get idInput():");
214
214
  });
215
215
  test("*Input getter returns the config value type", () => {
216
216
  const files = generateProviderFiles("simple", simpleProvider);
217
- const content = getContent(files, "lib/resource/index.ts");
217
+ const content = getContent(files, "resource/index.ts");
218
218
  expect(content).toContain("get nameInput(): TfString | undefined {");
219
219
  expect(content).toContain("return this._config.name;");
220
220
  });
@@ -222,18 +222,66 @@ describe("input getters", () => {
222
222
  describe("importFrom static method", () => {
223
223
  test("generates importFrom static method on resources", () => {
224
224
  const files = generateProviderFiles("simple", simpleProvider);
225
- const content = getContent(files, "lib/resource/index.ts");
225
+ const content = getContent(files, "resource/index.ts");
226
226
  expect(content).toContain("static importFrom(");
227
227
  });
228
228
  test("importFrom has correct signature", () => {
229
229
  const files = generateProviderFiles("simple", simpleProvider);
230
- const content = getContent(files, "lib/resource/index.ts");
230
+ const content = getContent(files, "resource/index.ts");
231
231
  expect(content).toContain("static importFrom(scope: Construct, id: string, resourceId: TfString, provider?: TerraformProvider):");
232
232
  });
233
233
  test("importFrom returns instance with import lifecycle", () => {
234
234
  const files = generateProviderFiles("simple", simpleProvider);
235
- const content = getContent(files, "lib/resource/index.ts");
235
+ const content = getContent(files, "resource/index.ts");
236
236
  expect(content).toContain("lifecycle: { importId: resourceId }");
237
237
  });
238
238
  });
239
+ describe("imports", () => {
240
+ test("imports TokenValue instead of TokenString", () => {
241
+ const files = generateProviderFiles("simple", simpleProvider);
242
+ const content = getContent(files, "resource/index.ts");
243
+ expect(content).toContain("TokenValue");
244
+ expect(content).not.toContain("TokenString");
245
+ });
246
+ test("does not duplicate base class in type and value imports", () => {
247
+ const files = generateProviderFiles("simple", simpleProvider);
248
+ const content = getContent(files, "resource/index.ts");
249
+ // Should have value import only, not in type import
250
+ expect(content).toContain('import { TerraformResource } from "tfts"');
251
+ expect(content).not.toMatch(/import type \{[^}]*\bTerraformResource\b[^}]*\}/);
252
+ });
253
+ test("getter returns TokenValue<string>", () => {
254
+ const files = generateProviderFiles("simple", simpleProvider);
255
+ const content = getContent(files, "resource/index.ts");
256
+ expect(content).toContain("get name(): TokenValue<string>");
257
+ });
258
+ });
259
+ describe("provider config", () => {
260
+ test("includes provider-specific attributes in config type", () => {
261
+ const files = generateProviderFiles("simple", simpleProvider);
262
+ const content = getContent(files, "provider/index.ts");
263
+ expect(content).toContain("readonly apiKey: TfString");
264
+ expect(content).toContain("readonly region?: TfString");
265
+ });
266
+ });
267
+ describe("computed list accessor", () => {
268
+ test("generates getter returning ComputedList for computed list blocks", () => {
269
+ const files = generateProviderFiles("google", computedListProvider);
270
+ const content = getContent(files, "cloud-run-service/index.ts");
271
+ // Should generate: get status(): ComputedList<CloudRunServiceStatusOutput>
272
+ expect(content).toContain("get status(): ComputedList<CloudRunServiceStatusOutput>");
273
+ });
274
+ test("generates output class with getters for computed attributes", () => {
275
+ const files = generateProviderFiles("google", computedListProvider);
276
+ const content = getContent(files, "cloud-run-service/index.ts");
277
+ expect(content).toContain("class CloudRunServiceStatusOutput extends ComputedObject");
278
+ expect(content).toContain("get url(): TokenValue<string>");
279
+ expect(content).toContain("get latestReadyRevisionName(): TokenValue<string>");
280
+ });
281
+ test("imports ComputedList and ComputedObject when needed", () => {
282
+ const files = generateProviderFiles("google", computedListProvider);
283
+ const content = getContent(files, "cloud-run-service/index.ts");
284
+ expect(content).toContain("import { ComputedList, ComputedObject, TerraformResource } from");
285
+ });
286
+ });
239
287
  //# sourceMappingURL=generator.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.spec.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.spec.js","sourceRoot":"","sources":["../../../../src/codegen/__tests__/generator.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA0dzD,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,EAAE,QAAQ,cAAc,KAAG,cAqD5E,CAAC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA8jBzD,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,EAAE,QAAQ,cAAc,KAAG,cAqD5E,CAAC"}
@@ -100,6 +100,65 @@ const RESERVED_NAMES = new Set([
100
100
  "connection",
101
101
  "provisioners",
102
102
  ]);
103
+ const hasComputedAttributes = (block) => Object.values(block.attributes ?? {}).some((attr) => attr.computed === true);
104
+ // Generate output classes for computed block types
105
+ const generateOutputClasses = (block, baseClassName, registry) => {
106
+ const result = [];
107
+ if (!block.block_types) {
108
+ return result;
109
+ }
110
+ for (const [name, blockType] of Object.entries(block.block_types)) {
111
+ if (!hasComputedAttributes(blockType.block)) {
112
+ continue;
113
+ }
114
+ const outputClassName = registerTypeName(registry, `${baseClassName}${snakeToPascalCase(name)}Output`);
115
+ // Generate getters for computed attributes
116
+ const getters = [];
117
+ if (blockType.block.attributes) {
118
+ for (const [attrName, attr] of Object.entries(blockType.block.attributes)) {
119
+ if (attr.computed !== true)
120
+ continue;
121
+ const tsName = snakeToCamelCase(attrName);
122
+ getters.push(` get ${tsName}(): TokenValue<string> {
123
+ return this._getStringAttribute("${attrName}");
124
+ }`);
125
+ }
126
+ }
127
+ const code = `class ${outputClassName} extends ComputedObject {
128
+ ${getters.join("\n\n")}
129
+ }`;
130
+ result.push({ className: outputClassName, code });
131
+ }
132
+ return result;
133
+ };
134
+ // Generate getters for computed block types
135
+ const generateBlockGetters = (block, baseClassName) => {
136
+ if (!block.block_types) {
137
+ return "";
138
+ }
139
+ const getters = [];
140
+ for (const [name, blockType] of Object.entries(block.block_types)) {
141
+ if (!hasComputedAttributes(blockType.block)) {
142
+ continue;
143
+ }
144
+ const tsName = snakeToCamelCase(name);
145
+ if (RESERVED_NAMES.has(tsName)) {
146
+ continue;
147
+ }
148
+ const outputClassName = `${baseClassName}${snakeToPascalCase(name)}Output`;
149
+ if (blockType.nesting_mode === "list" || blockType.nesting_mode === "set") {
150
+ getters.push(` get ${tsName}(): ComputedList<${outputClassName}> {
151
+ return new ComputedList(this.fqn, "${name}", (fqn, path) => new ${outputClassName}(fqn, path));
152
+ }`);
153
+ }
154
+ else if (blockType.nesting_mode === "single") {
155
+ getters.push(` get ${tsName}(): ${outputClassName} {
156
+ return new ${outputClassName}(this.fqn, "${name}");
157
+ }`);
158
+ }
159
+ }
160
+ return getters.join("\n\n");
161
+ };
103
162
  const generateBlockTypes = (block, className, registry) => {
104
163
  const result = [];
105
164
  if (!block.block_types) {
@@ -138,8 +197,7 @@ ${properties.join("\n")}
138
197
  return result;
139
198
  };
140
199
  const generateImports = (baseClass, baseConfig, block, includeProvider = false) => {
141
- const types = new Set(["Construct", "TokenString", baseConfig]);
142
- types.add(baseClass);
200
+ const types = new Set(["Construct", "TokenValue", baseConfig]);
143
201
  if (includeProvider) {
144
202
  types.add("TerraformProvider");
145
203
  }
@@ -157,9 +215,13 @@ const generateImports = (baseClass, baseConfig, block, includeProvider = false)
157
215
  }
158
216
  }
159
217
  }
218
+ let hasComputedBlocks = false;
160
219
  const collectBlockTypes = (b) => {
161
220
  if (b.block_types) {
162
221
  for (const blockType of Object.values(b.block_types)) {
222
+ if (hasComputedAttributes(blockType.block)) {
223
+ hasComputedBlocks = true;
224
+ }
163
225
  if (blockType.block.attributes) {
164
226
  for (const attr of Object.values(blockType.block.attributes)) {
165
227
  const tsType = mapSchemaTypeToTsConfig(attr.type);
@@ -173,9 +235,15 @@ const generateImports = (baseClass, baseConfig, block, includeProvider = false)
173
235
  }
174
236
  };
175
237
  collectBlockTypes(block);
238
+ const values = new Set([baseClass]);
239
+ if (hasComputedBlocks) {
240
+ values.add("ComputedList");
241
+ values.add("ComputedObject");
242
+ }
176
243
  const sortedTypes = Array.from(types).sort();
244
+ const sortedValues = Array.from(values).sort();
177
245
  return `import type { ${sortedTypes.join(", ")} } from "tfts";
178
- import { ${baseClass} } from "tfts";`;
246
+ import { ${sortedValues.join(", ")} } from "tfts";`;
179
247
  };
180
248
  const generateConfigTypeWithName = (configTypeName, className, block, baseConfig, registry) => {
181
249
  const properties = [];
@@ -225,7 +293,7 @@ const generateGetters = (block) => Object.keys(block.attributes ?? {})
225
293
  .filter((name) => !RESERVED_NAMES.has(snakeToCamelCase(name)))
226
294
  .map((name) => {
227
295
  const tsName = snakeToCamelCase(name);
228
- return ` get ${tsName}(): TokenString {
296
+ return ` get ${tsName}(): TokenValue<string> {
229
297
  return this.getStringAttribute("${name}");
230
298
  }`;
231
299
  })
@@ -274,17 +342,20 @@ const generateResourceClass = (resourceName, providerName, block) => {
274
342
  // Reserve the config type name first so nested blocks get the A suffix if collision
275
343
  registry.usedNames.add(`${className}Config`);
276
344
  const blockTypes = generateBlockTypes(block, className, registry);
345
+ const outputClasses = generateOutputClasses(block, className, registry);
277
346
  const imports = generateImports("TerraformResource", "TerraformResourceConfig", block, true);
278
347
  const configType = generateConfigTypeWithName(`${className}Config`, className, block, "TerraformResourceConfig", registry);
279
348
  const constructorBody = generateConstructorBody(block);
280
349
  const getters = generateGetters(block);
281
350
  const inputGetters = generateInputGetters(block);
351
+ const blockGetters = generateBlockGetters(block, className);
282
352
  const blockTypeCode = blockTypes.length > 0 ? blockTypes.map((bt) => bt.code).join("\n\n") + "\n\n" : "";
283
- const allGetters = [getters, inputGetters].filter(Boolean).join("\n\n");
353
+ const outputClassCode = outputClasses.length > 0 ? outputClasses.map((oc) => oc.code).join("\n\n") + "\n\n" : "";
354
+ const allGetters = [getters, inputGetters, blockGetters].filter(Boolean).join("\n\n");
284
355
  const getterSection = allGetters ? `\n\n${allGetters}` : "";
285
356
  return `${imports}
286
357
 
287
- ${blockTypeCode}${configType}
358
+ ${blockTypeCode}${outputClassCode}${configType}
288
359
 
289
360
  export class ${className} extends TerraformResource {
290
361
  private readonly _config: ${className}Config;
@@ -351,18 +422,18 @@ export const generateProviderFiles = (name, schema) => {
351
422
  }
352
423
  const [source, schemaEntry] = providerEntry;
353
424
  // Generate provider
354
- files.set("provider/index.ts", generateProviderClass(name, source, schemaEntry.provider));
425
+ files.set("provider/index.ts", generateProviderClass(name, source, schemaEntry.provider.block));
355
426
  namespaceExports.push({ namespace: "provider", path: "provider/index.js" });
356
427
  // Generate resources
357
428
  if (schemaEntry.resource_schemas) {
358
429
  for (const [resourceName, resourceSchema] of Object.entries(schemaEntry.resource_schemas)) {
359
430
  const strippedName = stripProviderPrefix(resourceName, name);
360
431
  const kebabName = snakeToKebabCase(strippedName);
361
- const path = `lib/${kebabName}/index.ts`;
432
+ const path = `${kebabName}/index.ts`;
362
433
  files.set(path, generateResourceClass(resourceName, name, resourceSchema.block));
363
434
  namespaceExports.push({
364
435
  namespace: snakeToCamelCase(strippedName),
365
- path: `lib/${kebabName}/index.js`,
436
+ path: `${kebabName}/index.js`,
366
437
  });
367
438
  }
368
439
  }
@@ -371,11 +442,11 @@ export const generateProviderFiles = (name, schema) => {
371
442
  for (const [dataSourceName, dataSourceSchema] of Object.entries(schemaEntry.data_source_schemas)) {
372
443
  const strippedName = stripProviderPrefix(dataSourceName, name);
373
444
  const kebabName = snakeToKebabCase(strippedName);
374
- const path = `lib/data-${kebabName}/index.ts`;
445
+ const path = `data-${kebabName}/index.ts`;
375
446
  files.set(path, generateDataSourceClass(dataSourceName, name, dataSourceSchema.block));
376
447
  namespaceExports.push({
377
448
  namespace: `data${snakeToPascalCase(strippedName)}`,
378
- path: `lib/data-${kebabName}/index.js`,
449
+ path: `data-${kebabName}/index.js`,
379
450
  });
380
451
  }
381
452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ export type ResourceSchema = {
28
28
  readonly block: SchemaBlock;
29
29
  };
30
30
  export type ProviderSchemaEntry = {
31
- readonly provider: SchemaBlock;
31
+ readonly provider: ResourceSchema;
32
32
  readonly resource_schemas?: Readonly<Record<string, ResourceSchema>>;
33
33
  readonly data_source_schemas?: Readonly<Record<string, ResourceSchema>>;
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/codegen/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAC7B,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAC5B,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAC5B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GACzD,SAAS,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAC1E,CAAC;AA8DF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,KAAG,MAAM,CAAC,cAAc,EAAE,WAAW,CASrF,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/codegen/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,SAAS,GACT,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,GAC7B,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAC5B,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAC5B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GACzD,SAAS,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAChE,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CACzE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;CAC1E,CAAC;AA8DF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,OAAO,KAAG,MAAM,CAAC,cAAc,EAAE,WAAW,CASrF,CAAC"}
@@ -39,7 +39,7 @@ const ResourceSchemaSchema = z.object({
39
39
  block: SchemaBlockSchema,
40
40
  });
41
41
  const ProviderSchemaEntrySchema = z.object({
42
- provider: SchemaBlockSchema,
42
+ provider: ResourceSchemaSchema,
43
43
  resource_schemas: z.record(z.string(), ResourceSchemaSchema).optional(),
44
44
  data_source_schemas: z.record(z.string(), ResourceSchemaSchema).optional(),
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/codegen/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAe,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuDxB,MAAM,gBAAgB,GAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC1D,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACjB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACpB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;CACzD,CAAC,CACH,CAAC;AAEF,MAAM,qBAAqB,GAA+B,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAA+B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACpE,CAAC,CAAC,MAAM,CAAC;IACP,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,KAAK,EAAE,iBAAiB;IACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CACH,CAAC;AAEF,MAAM,iBAAiB,GAA2B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC5D,CAAC,CAAC,MAAM,CAAC;IACP,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,QAAQ,EAAE;IACnE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CACH,CAAC;AAEF,MAAM,oBAAoB,GAA8B,CAAC,CAAC,MAAM,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,iBAAiB;CACzB,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAmC,CAAC,CAAC,MAAM,CAAC;IACzE,QAAQ,EAAE,iBAAiB;IAC3B,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE;IACvE,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE;CAC3E,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAA8B,CAAC,CAAC,MAAM,CAAC;IAC/D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC;CAClE,CAAC,CAAC;AAOH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAa,EAAuC,EAAE;IACxF,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC;YACT,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/codegen/schema.ts"],"names":[],"mappings":"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"}
@@ -46,4 +46,19 @@ export type TfBoolean = boolean | TokenValue<boolean>;
46
46
  export type TfStringList = readonly string[] | TokenValue<readonly string[]>;
47
47
  export type TfNumberList = readonly number[] | TokenValue<readonly number[]>;
48
48
  export type TfStringMap = Readonly<Record<string, string>> | TokenValue<Readonly<Record<string, string>>>;
49
+ export declare class ComputedList<T> {
50
+ private readonly _fqn;
51
+ private readonly _attribute;
52
+ private readonly _elementFactory;
53
+ constructor(_fqn: string, _attribute: string, _elementFactory: (fqn: string, attribute: string) => T);
54
+ get(index: number): T;
55
+ }
56
+ export declare class ComputedObject {
57
+ protected readonly _fqn: string;
58
+ protected readonly _basePath: string;
59
+ constructor(_fqn: string, _basePath: string);
60
+ protected _getStringAttribute(name: string): TokenValue<string>;
61
+ protected _getNumberAttribute(name: string): TokenValue<number>;
62
+ protected _getBooleanAttribute(name: string): TokenValue<boolean>;
63
+ }
49
64
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/core/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,KAAK,GACL,SAAS,cAAc,EAAE,GACzB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAE/C,8BAAsB,KAAK;IACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC7C,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAI/B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;gBAGpB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM;IAK5B,KAAK,IAAI,MAAM;CAGhB;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE;IAJ1C,QAAQ,CAAC,IAAI,EAAG,IAAI,CAAU;gBAGnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,cAAc,EAAE;IAK1C,KAAK,IAAI,MAAM;CAGhB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAGrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAFvC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;gBAEV,UAAU,EAAE,MAAM;IAIvC,KAAK,IAAI,MAAM;CAGhB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC;AAE7D,eAAO,MAAM,YAAY,EAAE,OAAO,MAAiC,CAAC;AAEpE,eAAO,MAAM,GAAG,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM,KAAG,QAAwC,CAAC;AAE9F,eAAO,MAAM,EAAE,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,cAAc,EAAE,KAAG,OAC7C,CAAC;AAE1B,eAAO,MAAM,GAAG,GAAI,YAAY,MAAM,KAAG,QAAoC,CAAC;AAY9E,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,KAAG,MAAuB,CAAC;AAElE,eAAO,MAAM,cAAc,GAAI,OAAO,cAAc,KAAG,OAOtD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,cAAc,EAAE,UAAU,aAAa,KAAG,cAa9E,CAAC;AAIF,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,iBAAyB,QAAQ,CAAI;gBAEzB,KAAK,EAAE,KAAK;IAIxB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,KAAK;CAGjB;AAGD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAC7E,MAAM,MAAM,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/core/tokens.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,KAAK,GACL,SAAS,cAAc,EAAE,GACzB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAE/C,8BAAsB,KAAK;IACzB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC7C,QAAQ,CAAC,KAAK,IAAI,MAAM;CACzB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAI/B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM;IAJ5B,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;gBAGpB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM;IAK5B,KAAK,IAAI,MAAM;CAGhB;AAED,qBAAa,OAAQ,SAAQ,KAAK;IAI9B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE;IAJ1C,QAAQ,CAAC,IAAI,EAAG,IAAI,CAAU;gBAGnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,cAAc,EAAE;IAK1C,KAAK,IAAI,MAAM;CAGhB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAGrB,QAAQ,CAAC,UAAU,EAAE,MAAM;IAFvC,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;gBAEV,UAAU,EAAE,MAAM;IAIvC,KAAK,IAAI,MAAM;CAGhB;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,cAAc,CAAC;AAE7D,eAAO,MAAM,YAAY,EAAE,OAAO,MAAiC,CAAC;AAEpE,eAAO,MAAM,GAAG,GAAI,KAAK,MAAM,EAAE,WAAW,MAAM,KAAG,QAAwC,CAAC;AAE9F,eAAO,MAAM,EAAE,GAAI,MAAM,MAAM,EAAE,GAAG,MAAM,SAAS,cAAc,EAAE,KAAG,OAC7C,CAAC;AAE1B,eAAO,MAAM,GAAG,GAAI,YAAY,MAAM,KAAG,QAAoC,CAAC;AAY9E,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,KAAG,MAAuB,CAAC;AAElE,eAAO,MAAM,cAAc,GAAI,OAAO,cAAc,KAAG,OAOtD,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,cAAc,EAAE,UAAU,aAAa,KAAG,cAa9E,CAAC;AAIF,qBAAa,UAAU,CAAC,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,iBAAyB,QAAQ,CAAI;gBAEzB,KAAK,EAAE,KAAK;IAIxB,QAAQ,IAAI,MAAM;IAIlB,OAAO,IAAI,KAAK;CAGjB;AAGD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,SAAS,MAAM,EAAE,GAAG,UAAU,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAC7E,MAAM,MAAM,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAChC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAGjD,qBAAa,YAAY,CAAC,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;IAGzE,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;CAGtB;AAGD,qBAAa,cAAc;IAEvB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAC/B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;gBADjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;IAGtC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAK/D,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAK/D,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;CAIlE"}
@@ -95,4 +95,39 @@ export class TokenValue {
95
95
  return this._token;
96
96
  }
97
97
  }
98
+ // ComputedList: accessor for computed list blocks with .get(index) method
99
+ export class ComputedList {
100
+ _fqn;
101
+ _attribute;
102
+ _elementFactory;
103
+ constructor(_fqn, _attribute, _elementFactory) {
104
+ this._fqn = _fqn;
105
+ this._attribute = _attribute;
106
+ this._elementFactory = _elementFactory;
107
+ }
108
+ get(index) {
109
+ return this._elementFactory(this._fqn, `${this._attribute}.${index}`);
110
+ }
111
+ }
112
+ // ComputedObject: accessor for computed nested object blocks
113
+ export class ComputedObject {
114
+ _fqn;
115
+ _basePath;
116
+ constructor(_fqn, _basePath) {
117
+ this._fqn = _fqn;
118
+ this._basePath = _basePath;
119
+ }
120
+ _getStringAttribute(name) {
121
+ const path = this._basePath ? `${this._basePath}.${name}` : name;
122
+ return new TokenValue(new RefToken(this._fqn, path));
123
+ }
124
+ _getNumberAttribute(name) {
125
+ const path = this._basePath ? `${this._basePath}.${name}` : name;
126
+ return new TokenValue(new RefToken(this._fqn, path));
127
+ }
128
+ _getBooleanAttribute(name) {
129
+ const path = this._basePath ? `${this._basePath}.${name}` : name;
130
+ return new TokenValue(new RefToken(this._fqn, path));
131
+ }
132
+ }
98
133
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/core/tokens.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/core/tokens.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export { ok, err, Result } from "neverthrow";
2
2
  export type { TerraformValue, Token, RefToken, FnToken, RawToken, TokenResolver, TfString, TfNumber, TfBoolean, TfStringList, TfNumberList, TfStringMap, } from "./core/tokens.js";
3
- export { TOKEN_SYMBOL, ref, fn, raw, tokenToHcl, containsTokens, resolveTokens, TokenValue, } from "./core/tokens.js";
3
+ export { TOKEN_SYMBOL, ref, fn, raw, tokenToHcl, containsTokens, resolveTokens, TokenValue, ComputedList, ComputedObject, } from "./core/tokens.js";
4
4
  export { Fn } from "./generated/fn.js";
5
5
  export type { TftsError, ValidationError, ValidationErrorCode } from "./core/errors.js";
6
6
  export type { ConstructNode, ConstructMetadata } from "./core/construct.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ok, err, Result } from "neverthrow";
2
- export { TOKEN_SYMBOL, ref, fn, raw, tokenToHcl, containsTokens, resolveTokens, TokenValue, } from "./core/tokens.js";
2
+ export { TOKEN_SYMBOL, ref, fn, raw, tokenToHcl, containsTokens, resolveTokens, TokenValue, ComputedList, ComputedObject, } from "./core/tokens.js";
3
3
  export { Fn } from "./generated/fn.js";
4
4
  export { addChild, findNode, walkTree, getChildren } from "./core/tree.js";
5
5
  export { validateTree, detectCircularDependencies } from "./core/validate.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgB7C,OAAO,EACL,YAAY,EACZ,GAAG,EACH,EAAE,EACF,GAAG,EACH,UAAU,EACV,cAAc,EACd,aAAa,EACb,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAKvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS3E,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACL,uBAAuB,EACvB,cAAc,GAKf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAY1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAsD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAkC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAA8B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAA6B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,SAAS,EAET,UAAU,EAEV,aAAa,GAEd,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAgB7C,OAAO,EACL,YAAY,EACZ,GAAG,EACH,EAAE,EACF,GAAG,EACH,UAAU,EACV,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAKvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS3E,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,EACL,uBAAuB,EACvB,cAAc,GAKf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAY1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAsD,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAkC,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAA8B,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,cAAc,EAA6B,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,SAAS,EAET,UAAU,EAEV,aAAa,GAEd,MAAM,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tfts",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "TypeScript-first infrastructure as code for Terraform",
5
5
  "type": "module",
6
6
  "bin": {