tfts 0.2.13 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/README.md +5 -161
  2. package/dist/cli/config.d.ts +18 -0
  3. package/dist/cli/config.d.ts.map +1 -0
  4. package/dist/cli/config.js +36 -0
  5. package/dist/cli/config.js.map +1 -0
  6. package/dist/cli/get.d.ts +8 -0
  7. package/dist/cli/get.d.ts.map +1 -0
  8. package/dist/cli/get.js +107 -0
  9. package/dist/cli/get.js.map +1 -0
  10. package/dist/cli/main.d.ts +2 -0
  11. package/dist/cli/main.d.ts.map +1 -0
  12. package/dist/cli/main.js +85 -0
  13. package/dist/cli/main.js.map +1 -0
  14. package/dist/cli/synth.d.ts +7 -0
  15. package/dist/cli/synth.d.ts.map +1 -0
  16. package/dist/cli/synth.js +35 -0
  17. package/dist/cli/synth.js.map +1 -0
  18. package/dist/codegen/fetch-schema.d.ts +9 -0
  19. package/dist/codegen/fetch-schema.d.ts.map +1 -0
  20. package/dist/codegen/fetch-schema.js +51 -0
  21. package/dist/codegen/fetch-schema.js.map +1 -0
  22. package/dist/codegen/fetch-schema.spec.d.ts +2 -0
  23. package/dist/codegen/fetch-schema.spec.d.ts.map +1 -0
  24. package/dist/codegen/fetch-schema.spec.js +63 -0
  25. package/dist/codegen/fetch-schema.spec.js.map +1 -0
  26. package/dist/codegen/generator.d.ts +8 -0
  27. package/dist/codegen/generator.d.ts.map +1 -0
  28. package/dist/codegen/generator.js +582 -0
  29. package/dist/codegen/generator.js.map +1 -0
  30. package/dist/codegen/generator.spec.d.ts.map +1 -0
  31. package/dist/codegen/generator.spec.js +387 -0
  32. package/dist/codegen/generator.spec.js.map +1 -0
  33. package/dist/codegen/index.d.ts +5 -0
  34. package/dist/codegen/index.d.ts.map +1 -0
  35. package/dist/codegen/index.js +5 -0
  36. package/dist/codegen/index.js.map +1 -0
  37. package/dist/codegen/schema.d.ts +46 -0
  38. package/dist/codegen/schema.d.ts.map +1 -0
  39. package/dist/codegen/schema.js +64 -0
  40. package/dist/codegen/schema.js.map +1 -0
  41. package/dist/codegen/type-mapper.d.ts +11 -0
  42. package/dist/codegen/type-mapper.d.ts.map +1 -0
  43. package/dist/codegen/type-mapper.js +130 -0
  44. package/dist/codegen/type-mapper.js.map +1 -0
  45. package/dist/core/synthesize.d.ts +2 -0
  46. package/dist/core/synthesize.d.ts.map +1 -0
  47. package/dist/core/synthesize.js +51 -0
  48. package/dist/core/synthesize.js.map +1 -0
  49. package/dist/core/synthesize.spec.d.ts.map +1 -0
  50. package/dist/core/synthesize.spec.js +72 -0
  51. package/dist/core/synthesize.spec.js.map +1 -0
  52. package/dist/core/terraform-json.d.ts +86 -0
  53. package/dist/core/terraform-json.d.ts.map +1 -0
  54. package/dist/core/terraform-json.js.map +1 -0
  55. package/dist/core/tokens.d.ts +46 -0
  56. package/dist/core/tokens.d.ts.map +1 -0
  57. package/dist/core/tokens.js +256 -0
  58. package/dist/core/tokens.js.map +1 -0
  59. package/dist/{src/core → core}/tokens.spec.d.ts.map +1 -1
  60. package/dist/core/tokens.spec.js +140 -0
  61. package/dist/core/tokens.spec.js.map +1 -0
  62. package/dist/core/tree.d.ts +11 -0
  63. package/dist/core/tree.d.ts.map +1 -0
  64. package/dist/core/tree.js +89 -0
  65. package/dist/core/tree.js.map +1 -0
  66. package/dist/{src/core → core}/tree.spec.d.ts.map +1 -1
  67. package/dist/core/tree.spec.js +110 -0
  68. package/dist/core/tree.spec.js.map +1 -0
  69. package/dist/core/types.d.ts +165 -0
  70. package/dist/core/types.d.ts.map +1 -0
  71. package/dist/core/types.js +2 -0
  72. package/dist/core/types.js.map +1 -0
  73. package/dist/core/validate.d.ts +5 -0
  74. package/dist/core/validate.d.ts.map +1 -0
  75. package/dist/core/validate.js +186 -0
  76. package/dist/core/validate.js.map +1 -0
  77. package/dist/core/validate.spec.d.ts.map +1 -0
  78. package/dist/core/validate.spec.js +126 -0
  79. package/dist/core/validate.spec.js.map +1 -0
  80. package/dist/facade/annotations.d.ts +17 -0
  81. package/dist/facade/annotations.d.ts.map +1 -0
  82. package/dist/facade/annotations.js +29 -0
  83. package/dist/facade/annotations.js.map +1 -0
  84. package/dist/facade/app.d.ts +51 -0
  85. package/dist/facade/app.d.ts.map +1 -0
  86. package/dist/facade/app.js +121 -0
  87. package/dist/facade/app.js.map +1 -0
  88. package/dist/facade/aspects.d.ts +13 -0
  89. package/dist/facade/aspects.d.ts.map +1 -0
  90. package/dist/facade/aspects.js +34 -0
  91. package/dist/facade/aspects.js.map +1 -0
  92. package/dist/facade/backends/cloud-backend.d.ts +34 -0
  93. package/dist/facade/backends/cloud-backend.d.ts.map +1 -0
  94. package/dist/facade/backends/cloud-backend.js +84 -0
  95. package/dist/facade/backends/cloud-backend.js.map +1 -0
  96. package/dist/facade/backends/gcs-backend.d.ts +29 -0
  97. package/dist/facade/backends/gcs-backend.d.ts.map +1 -0
  98. package/dist/facade/backends/gcs-backend.js +34 -0
  99. package/dist/facade/backends/gcs-backend.js.map +1 -0
  100. package/dist/facade/backends/index.d.ts +5 -0
  101. package/dist/facade/backends/index.d.ts.map +1 -0
  102. package/dist/facade/backends/index.js +5 -0
  103. package/dist/facade/backends/index.js.map +1 -0
  104. package/dist/facade/backends/remote-backend.d.ts +34 -0
  105. package/dist/facade/backends/remote-backend.d.ts.map +1 -0
  106. package/dist/facade/backends/remote-backend.js +50 -0
  107. package/dist/facade/backends/remote-backend.js.map +1 -0
  108. package/dist/facade/backends/s3-backend.d.ts +97 -0
  109. package/dist/facade/backends/s3-backend.d.ts.map +1 -0
  110. package/dist/facade/backends/s3-backend.js +34 -0
  111. package/dist/facade/backends/s3-backend.js.map +1 -0
  112. package/dist/facade/complex-computed-list.d.ts +117 -0
  113. package/dist/facade/complex-computed-list.d.ts.map +1 -0
  114. package/dist/facade/complex-computed-list.js +370 -0
  115. package/dist/facade/complex-computed-list.js.map +1 -0
  116. package/dist/facade/construct.d.ts +49 -0
  117. package/dist/facade/construct.d.ts.map +1 -0
  118. package/dist/facade/construct.js +129 -0
  119. package/dist/facade/construct.js.map +1 -0
  120. package/dist/facade/importable-resource.d.ts +17 -0
  121. package/dist/facade/importable-resource.d.ts.map +1 -0
  122. package/dist/facade/importable-resource.js +27 -0
  123. package/dist/facade/importable-resource.js.map +1 -0
  124. package/dist/facade/index.d.ts +27 -0
  125. package/dist/facade/index.d.ts.map +1 -0
  126. package/dist/facade/index.js +27 -0
  127. package/dist/facade/index.js.map +1 -0
  128. package/dist/facade/runtime.d.ts +16 -0
  129. package/dist/facade/runtime.d.ts.map +1 -0
  130. package/dist/facade/runtime.js +76 -0
  131. package/dist/facade/runtime.js.map +1 -0
  132. package/dist/facade/stack-registry.d.ts +13 -0
  133. package/dist/facade/stack-registry.d.ts.map +1 -0
  134. package/dist/facade/stack-registry.js +8 -0
  135. package/dist/facade/stack-registry.js.map +1 -0
  136. package/dist/facade/terraform-addressable.d.ts +9 -0
  137. package/dist/facade/terraform-addressable.d.ts.map +1 -0
  138. package/dist/facade/terraform-addressable.js +2 -0
  139. package/dist/facade/terraform-addressable.js.map +1 -0
  140. package/dist/facade/terraform-asset.d.ts +27 -0
  141. package/dist/facade/terraform-asset.d.ts.map +1 -0
  142. package/dist/facade/terraform-asset.js +118 -0
  143. package/dist/facade/terraform-asset.js.map +1 -0
  144. package/dist/facade/terraform-backend.d.ts +23 -0
  145. package/dist/facade/terraform-backend.d.ts.map +1 -0
  146. package/dist/facade/terraform-backend.js +53 -0
  147. package/dist/facade/terraform-backend.js.map +1 -0
  148. package/dist/facade/terraform-data-source.d.ts +45 -0
  149. package/dist/facade/terraform-data-source.d.ts.map +1 -0
  150. package/dist/facade/terraform-data-source.js +85 -0
  151. package/dist/facade/terraform-data-source.js.map +1 -0
  152. package/dist/facade/terraform-element.d.ts +28 -0
  153. package/dist/facade/terraform-element.d.ts.map +1 -0
  154. package/dist/facade/terraform-element.js +100 -0
  155. package/dist/facade/terraform-element.js.map +1 -0
  156. package/dist/facade/terraform-functions.d.ts +148 -0
  157. package/dist/facade/terraform-functions.d.ts.map +1 -0
  158. package/dist/facade/terraform-functions.js +615 -0
  159. package/dist/facade/terraform-functions.js.map +1 -0
  160. package/dist/facade/terraform-functions.spec.d.ts +2 -0
  161. package/dist/facade/terraform-functions.spec.d.ts.map +1 -0
  162. package/dist/facade/terraform-functions.spec.js +282 -0
  163. package/dist/facade/terraform-functions.spec.js.map +1 -0
  164. package/dist/facade/terraform-hcl-module.d.ts +18 -0
  165. package/dist/facade/terraform-hcl-module.d.ts.map +1 -0
  166. package/dist/facade/terraform-hcl-module.js +39 -0
  167. package/dist/facade/terraform-hcl-module.js.map +1 -0
  168. package/dist/facade/terraform-iterator.d.ts +39 -0
  169. package/dist/facade/terraform-iterator.d.ts.map +1 -0
  170. package/dist/facade/terraform-iterator.js +77 -0
  171. package/dist/facade/terraform-iterator.js.map +1 -0
  172. package/dist/facade/terraform-local.d.ts +18 -0
  173. package/dist/facade/terraform-local.d.ts.map +1 -0
  174. package/dist/facade/terraform-local.js +34 -0
  175. package/dist/facade/terraform-local.js.map +1 -0
  176. package/dist/facade/terraform-module.d.ts +35 -0
  177. package/dist/facade/terraform-module.d.ts.map +1 -0
  178. package/dist/facade/terraform-module.js +94 -0
  179. package/dist/facade/terraform-module.js.map +1 -0
  180. package/dist/facade/terraform-output.d.ts +20 -0
  181. package/dist/facade/terraform-output.d.ts.map +1 -0
  182. package/dist/facade/terraform-output.js +38 -0
  183. package/dist/facade/terraform-output.js.map +1 -0
  184. package/dist/facade/terraform-provider.d.ts +27 -0
  185. package/dist/facade/terraform-provider.d.ts.map +1 -0
  186. package/dist/facade/terraform-provider.js +48 -0
  187. package/dist/facade/terraform-provider.js.map +1 -0
  188. package/dist/facade/terraform-remote-state.d.ts +33 -0
  189. package/dist/facade/terraform-remote-state.d.ts.map +1 -0
  190. package/dist/facade/terraform-remote-state.js +62 -0
  191. package/dist/facade/terraform-remote-state.js.map +1 -0
  192. package/dist/facade/terraform-resource.d.ts +64 -0
  193. package/dist/facade/terraform-resource.d.ts.map +1 -0
  194. package/dist/facade/terraform-resource.js +170 -0
  195. package/dist/facade/terraform-resource.js.map +1 -0
  196. package/dist/facade/terraform-stack.d.ts +36 -0
  197. package/dist/facade/terraform-stack.d.ts.map +1 -0
  198. package/dist/facade/terraform-stack.js +161 -0
  199. package/dist/facade/terraform-stack.js.map +1 -0
  200. package/dist/facade/terraform-variable.d.ts +32 -0
  201. package/dist/facade/terraform-variable.d.ts.map +1 -0
  202. package/dist/facade/terraform-variable.js +66 -0
  203. package/dist/facade/terraform-variable.js.map +1 -0
  204. package/dist/facade/tokenization.d.ts +4 -0
  205. package/dist/facade/tokenization.d.ts.map +1 -0
  206. package/dist/facade/tokenization.js +13 -0
  207. package/dist/facade/tokenization.js.map +1 -0
  208. package/dist/facade/util.d.ts +7 -0
  209. package/dist/facade/util.d.ts.map +1 -0
  210. package/dist/facade/util.js +55 -0
  211. package/dist/facade/util.js.map +1 -0
  212. package/dist/facade/util.spec.d.ts +2 -0
  213. package/dist/facade/util.spec.d.ts.map +1 -0
  214. package/dist/facade/util.spec.js +103 -0
  215. package/dist/facade/util.spec.js.map +1 -0
  216. package/dist/index.d.ts +3 -0
  217. package/dist/index.d.ts.map +1 -0
  218. package/dist/index.js +3 -0
  219. package/dist/index.js.map +1 -0
  220. package/dist/index.spec.d.ts +2 -0
  221. package/dist/index.spec.d.ts.map +1 -0
  222. package/dist/index.spec.js +7 -0
  223. package/dist/index.spec.js.map +1 -0
  224. package/dist/integration.spec.d.ts +2 -0
  225. package/dist/integration.spec.d.ts.map +1 -0
  226. package/dist/integration.spec.js +345 -0
  227. package/dist/integration.spec.js.map +1 -0
  228. package/dist/testing/index.d.ts +40 -0
  229. package/dist/testing/index.d.ts.map +1 -0
  230. package/dist/testing/index.js +160 -0
  231. package/dist/testing/index.js.map +1 -0
  232. package/package.json +9 -7
  233. package/dist/bin/tfts.d.ts +0 -3
  234. package/dist/bin/tfts.d.ts.map +0 -1
  235. package/dist/bin/tfts.js +0 -5
  236. package/dist/bin/tfts.js.map +0 -1
  237. package/dist/src/cli/config.d.ts +0 -43
  238. package/dist/src/cli/config.d.ts.map +0 -1
  239. package/dist/src/cli/config.js +0 -63
  240. package/dist/src/cli/config.js.map +0 -1
  241. package/dist/src/cli/diff.d.ts +0 -25
  242. package/dist/src/cli/diff.d.ts.map +0 -1
  243. package/dist/src/cli/diff.js +0 -108
  244. package/dist/src/cli/diff.js.map +0 -1
  245. package/dist/src/cli/get.d.ts +0 -24
  246. package/dist/src/cli/get.d.ts.map +0 -1
  247. package/dist/src/cli/get.js +0 -86
  248. package/dist/src/cli/get.js.map +0 -1
  249. package/dist/src/cli/index.d.ts +0 -2
  250. package/dist/src/cli/index.d.ts.map +0 -1
  251. package/dist/src/cli/index.js +0 -157
  252. package/dist/src/cli/index.js.map +0 -1
  253. package/dist/src/cli/synth.d.ts +0 -32
  254. package/dist/src/cli/synth.d.ts.map +0 -1
  255. package/dist/src/cli/synth.js +0 -55
  256. package/dist/src/cli/synth.js.map +0 -1
  257. package/dist/src/codegen/__tests__/fixtures.d.ts +0 -7
  258. package/dist/src/codegen/__tests__/fixtures.d.ts.map +0 -1
  259. package/dist/src/codegen/__tests__/fixtures.js +0 -202
  260. package/dist/src/codegen/__tests__/fixtures.js.map +0 -1
  261. package/dist/src/codegen/__tests__/generator.spec.d.ts.map +0 -1
  262. package/dist/src/codegen/__tests__/generator.spec.js +0 -382
  263. package/dist/src/codegen/__tests__/generator.spec.js.map +0 -1
  264. package/dist/src/codegen/fn-generator.d.ts +0 -22
  265. package/dist/src/codegen/fn-generator.d.ts.map +0 -1
  266. package/dist/src/codegen/fn-generator.js +0 -203
  267. package/dist/src/codegen/fn-generator.js.map +0 -1
  268. package/dist/src/codegen/generator.d.ts +0 -4
  269. package/dist/src/codegen/generator.d.ts.map +0 -1
  270. package/dist/src/codegen/generator.js +0 -479
  271. package/dist/src/codegen/generator.js.map +0 -1
  272. package/dist/src/codegen/raw-schema.d.ts +0 -38
  273. package/dist/src/codegen/raw-schema.d.ts.map +0 -1
  274. package/dist/src/codegen/raw-schema.js +0 -3
  275. package/dist/src/codegen/raw-schema.js.map +0 -1
  276. package/dist/src/codegen/schema.d.ts +0 -68
  277. package/dist/src/codegen/schema.d.ts.map +0 -1
  278. package/dist/src/codegen/schema.js +0 -71
  279. package/dist/src/codegen/schema.js.map +0 -1
  280. package/dist/src/core/backend.d.ts +0 -5
  281. package/dist/src/core/backend.d.ts.map +0 -1
  282. package/dist/src/core/backend.js +0 -2
  283. package/dist/src/core/backend.js.map +0 -1
  284. package/dist/src/core/construct.d.ts +0 -42
  285. package/dist/src/core/construct.d.ts.map +0 -1
  286. package/dist/src/core/construct.js +0 -2
  287. package/dist/src/core/construct.js.map +0 -1
  288. package/dist/src/core/datasource.d.ts +0 -8
  289. package/dist/src/core/datasource.d.ts.map +0 -1
  290. package/dist/src/core/datasource.js +0 -2
  291. package/dist/src/core/datasource.js.map +0 -1
  292. package/dist/src/core/errors.d.ts +0 -29
  293. package/dist/src/core/errors.d.ts.map +0 -1
  294. package/dist/src/core/errors.js +0 -2
  295. package/dist/src/core/errors.js.map +0 -1
  296. package/dist/src/core/local.d.ts +0 -4
  297. package/dist/src/core/local.d.ts.map +0 -1
  298. package/dist/src/core/local.js +0 -2
  299. package/dist/src/core/local.js.map +0 -1
  300. package/dist/src/core/logical-id.d.ts +0 -3
  301. package/dist/src/core/logical-id.d.ts.map +0 -1
  302. package/dist/src/core/logical-id.js +0 -48
  303. package/dist/src/core/logical-id.js.map +0 -1
  304. package/dist/src/core/output.d.ts +0 -8
  305. package/dist/src/core/output.d.ts.map +0 -1
  306. package/dist/src/core/output.js +0 -2
  307. package/dist/src/core/output.js.map +0 -1
  308. package/dist/src/core/provider.d.ts +0 -7
  309. package/dist/src/core/provider.d.ts.map +0 -1
  310. package/dist/src/core/provider.js +0 -2
  311. package/dist/src/core/provider.js.map +0 -1
  312. package/dist/src/core/resource.d.ts +0 -30
  313. package/dist/src/core/resource.d.ts.map +0 -1
  314. package/dist/src/core/resource.js +0 -2
  315. package/dist/src/core/resource.js.map +0 -1
  316. package/dist/src/core/synthesize.d.ts +0 -78
  317. package/dist/src/core/synthesize.d.ts.map +0 -1
  318. package/dist/src/core/synthesize.js +0 -293
  319. package/dist/src/core/synthesize.js.map +0 -1
  320. package/dist/src/core/synthesize.spec.d.ts.map +0 -1
  321. package/dist/src/core/synthesize.spec.js +0 -506
  322. package/dist/src/core/synthesize.spec.js.map +0 -1
  323. package/dist/src/core/terraform-json.d.ts +0 -36
  324. package/dist/src/core/terraform-json.d.ts.map +0 -1
  325. package/dist/src/core/terraform-json.js.map +0 -1
  326. package/dist/src/core/tokens.d.ts +0 -62
  327. package/dist/src/core/tokens.d.ts.map +0 -1
  328. package/dist/src/core/tokens.js +0 -133
  329. package/dist/src/core/tokens.js.map +0 -1
  330. package/dist/src/core/tokens.spec.js +0 -119
  331. package/dist/src/core/tokens.spec.js.map +0 -1
  332. package/dist/src/core/tree.d.ts +0 -6
  333. package/dist/src/core/tree.d.ts.map +0 -1
  334. package/dist/src/core/tree.js +0 -52
  335. package/dist/src/core/tree.js.map +0 -1
  336. package/dist/src/core/tree.spec.js +0 -138
  337. package/dist/src/core/tree.spec.js.map +0 -1
  338. package/dist/src/core/validate.d.ts +0 -5
  339. package/dist/src/core/validate.d.ts.map +0 -1
  340. package/dist/src/core/validate.js +0 -94
  341. package/dist/src/core/validate.js.map +0 -1
  342. package/dist/src/core/validate.spec.d.ts.map +0 -1
  343. package/dist/src/core/validate.spec.js +0 -69
  344. package/dist/src/core/validate.spec.js.map +0 -1
  345. package/dist/src/core/variable.d.ts +0 -14
  346. package/dist/src/core/variable.d.ts.map +0 -1
  347. package/dist/src/core/variable.js +0 -2
  348. package/dist/src/core/variable.js.map +0 -1
  349. package/dist/src/facade/app.d.ts +0 -23
  350. package/dist/src/facade/app.d.ts.map +0 -1
  351. package/dist/src/facade/app.js +0 -55
  352. package/dist/src/facade/app.js.map +0 -1
  353. package/dist/src/facade/backends/backend.d.ts +0 -7
  354. package/dist/src/facade/backends/backend.d.ts.map +0 -1
  355. package/dist/src/facade/backends/backend.js +0 -15
  356. package/dist/src/facade/backends/backend.js.map +0 -1
  357. package/dist/src/facade/backends/gcs.d.ts +0 -18
  358. package/dist/src/facade/backends/gcs.d.ts.map +0 -1
  359. package/dist/src/facade/backends/gcs.js +0 -28
  360. package/dist/src/facade/backends/gcs.js.map +0 -1
  361. package/dist/src/facade/backends/index.d.ts +0 -6
  362. package/dist/src/facade/backends/index.d.ts.map +0 -1
  363. package/dist/src/facade/backends/index.js +0 -6
  364. package/dist/src/facade/backends/index.js.map +0 -1
  365. package/dist/src/facade/backends/local.d.ts +0 -12
  366. package/dist/src/facade/backends/local.d.ts.map +0 -1
  367. package/dist/src/facade/backends/local.js +0 -16
  368. package/dist/src/facade/backends/local.js.map +0 -1
  369. package/dist/src/facade/backends/remote.d.ts +0 -22
  370. package/dist/src/facade/backends/remote.d.ts.map +0 -1
  371. package/dist/src/facade/backends/remote.js +0 -23
  372. package/dist/src/facade/backends/remote.js.map +0 -1
  373. package/dist/src/facade/backends/s3.d.ts +0 -24
  374. package/dist/src/facade/backends/s3.d.ts.map +0 -1
  375. package/dist/src/facade/backends/s3.js +0 -39
  376. package/dist/src/facade/backends/s3.js.map +0 -1
  377. package/dist/src/facade/construct.d.ts +0 -9
  378. package/dist/src/facade/construct.d.ts.map +0 -1
  379. package/dist/src/facade/construct.js +0 -32
  380. package/dist/src/facade/construct.js.map +0 -1
  381. package/dist/src/facade/datasource.d.ts +0 -19
  382. package/dist/src/facade/datasource.d.ts.map +0 -1
  383. package/dist/src/facade/datasource.js +0 -33
  384. package/dist/src/facade/datasource.js.map +0 -1
  385. package/dist/src/facade/facade.spec.d.ts +0 -2
  386. package/dist/src/facade/facade.spec.d.ts.map +0 -1
  387. package/dist/src/facade/facade.spec.js +0 -434
  388. package/dist/src/facade/facade.spec.js.map +0 -1
  389. package/dist/src/facade/local.d.ts +0 -15
  390. package/dist/src/facade/local.d.ts.map +0 -1
  391. package/dist/src/facade/local.js +0 -27
  392. package/dist/src/facade/local.js.map +0 -1
  393. package/dist/src/facade/output.d.ts +0 -18
  394. package/dist/src/facade/output.d.ts.map +0 -1
  395. package/dist/src/facade/output.js +0 -29
  396. package/dist/src/facade/output.js.map +0 -1
  397. package/dist/src/facade/provider.d.ts +0 -13
  398. package/dist/src/facade/provider.d.ts.map +0 -1
  399. package/dist/src/facade/provider.js +0 -25
  400. package/dist/src/facade/provider.js.map +0 -1
  401. package/dist/src/facade/resource.d.ts +0 -34
  402. package/dist/src/facade/resource.d.ts.map +0 -1
  403. package/dist/src/facade/resource.js +0 -58
  404. package/dist/src/facade/resource.js.map +0 -1
  405. package/dist/src/facade/stack.d.ts +0 -11
  406. package/dist/src/facade/stack.d.ts.map +0 -1
  407. package/dist/src/facade/stack.js +0 -28
  408. package/dist/src/facade/stack.js.map +0 -1
  409. package/dist/src/facade/variable.d.ts +0 -27
  410. package/dist/src/facade/variable.d.ts.map +0 -1
  411. package/dist/src/facade/variable.js +0 -45
  412. package/dist/src/facade/variable.js.map +0 -1
  413. package/dist/src/generated/fn.d.ts +0 -599
  414. package/dist/src/generated/fn.d.ts.map +0 -1
  415. package/dist/src/generated/fn.js +0 -998
  416. package/dist/src/generated/fn.js.map +0 -1
  417. package/dist/src/index.d.ts +0 -35
  418. package/dist/src/index.d.ts.map +0 -1
  419. package/dist/src/index.js +0 -23
  420. package/dist/src/index.js.map +0 -1
  421. /package/dist/{src/codegen/__tests__ → codegen}/generator.spec.d.ts +0 -0
  422. /package/dist/{src/core → core}/synthesize.spec.d.ts +0 -0
  423. /package/dist/{src/core → core}/terraform-json.js +0 -0
  424. /package/dist/{src/core → core}/tokens.spec.d.ts +0 -0
  425. /package/dist/{src/core → core}/tree.spec.d.ts +0 -0
  426. /package/dist/{src/core → core}/validate.spec.d.ts +0 -0
@@ -0,0 +1,615 @@
1
+ import { createToken, fn, raw } from "../core/tokens.js";
2
+ class FunctionCallExpression {
3
+ name;
4
+ args;
5
+ constructor(name, args) {
6
+ this.name = name;
7
+ this.args = args;
8
+ }
9
+ resolve(_context) {
10
+ return this.toTerraformExpression();
11
+ }
12
+ toString() {
13
+ return createToken(fn(this.name, ...this.args));
14
+ }
15
+ toTerraformExpression() {
16
+ const args = this.args.map((arg) => expressionToString(arg)).join(", ");
17
+ return `\${${this.name}(${args})}`;
18
+ }
19
+ }
20
+ class PropertyAccessExpression {
21
+ target;
22
+ path;
23
+ constructor(target, path) {
24
+ this.target = target;
25
+ this.path = path;
26
+ }
27
+ resolve(_context) {
28
+ return this.toTerraformExpression();
29
+ }
30
+ toString() {
31
+ return createToken(raw(this.toTerraformExpression()));
32
+ }
33
+ toTerraformExpression() {
34
+ const targetStr = expressionToString(this.target);
35
+ const accessors = this.path
36
+ .map((p) => {
37
+ if (typeof p === "number")
38
+ return `[${p}]`;
39
+ if (/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(p))
40
+ return `.${p}`;
41
+ return `["${p}"]`;
42
+ })
43
+ .join("");
44
+ return `\${${unwrapExpression(targetStr)}${accessors}}`;
45
+ }
46
+ }
47
+ class ConditionalExpression {
48
+ condition;
49
+ trueValue;
50
+ falseValue;
51
+ constructor(condition, trueValue, falseValue) {
52
+ this.condition = condition;
53
+ this.trueValue = trueValue;
54
+ this.falseValue = falseValue;
55
+ }
56
+ resolve(_context) {
57
+ return this.toTerraformExpression();
58
+ }
59
+ toString() {
60
+ return createToken(raw(this.toTerraformExpression()));
61
+ }
62
+ toTerraformExpression() {
63
+ const cond = unwrapExpression(expressionToString(this.condition));
64
+ const trueVal = unwrapExpression(expressionToString(this.trueValue));
65
+ const falseVal = unwrapExpression(expressionToString(this.falseValue));
66
+ return `\${${cond} ? ${trueVal} : ${falseVal}}`;
67
+ }
68
+ }
69
+ class OperatorExpression {
70
+ operator;
71
+ left;
72
+ right;
73
+ constructor(operator, left, right) {
74
+ this.operator = operator;
75
+ this.left = left;
76
+ this.right = right;
77
+ }
78
+ resolve(_context) {
79
+ return this.toTerraformExpression();
80
+ }
81
+ toString() {
82
+ return createToken(raw(this.toTerraformExpression()));
83
+ }
84
+ toTerraformExpression() {
85
+ const leftStr = unwrapExpression(expressionToString(this.left));
86
+ if (this.right === undefined) {
87
+ // Unary operator
88
+ return `\${${this.operator}${leftStr}}`;
89
+ }
90
+ const rightStr = unwrapExpression(expressionToString(this.right));
91
+ return `\${(${leftStr} ${this.operator} ${rightStr})}`;
92
+ }
93
+ }
94
+ class RawStringExpression {
95
+ str;
96
+ constructor(str) {
97
+ this.str = str;
98
+ }
99
+ resolve(_context) {
100
+ return this.toTerraformExpression();
101
+ }
102
+ toString() {
103
+ return createToken(raw(this.toTerraformExpression()));
104
+ }
105
+ toTerraformExpression() {
106
+ const escaped = this.str
107
+ .replace(/\\/g, "\\\\")
108
+ .replace(/"/g, '\\"')
109
+ .replace(/\n/g, "\\n")
110
+ .replace(/\${/g, "$${");
111
+ return `"${escaped}"`;
112
+ }
113
+ }
114
+ function expressionToString(expr) {
115
+ if (expr === null)
116
+ return "null";
117
+ if (expr === undefined)
118
+ return "null";
119
+ if (typeof expr === "boolean")
120
+ return expr ? "true" : "false";
121
+ if (typeof expr === "number")
122
+ return String(expr);
123
+ if (typeof expr === "string") {
124
+ // Check if it's already a terraform expression
125
+ if (expr.startsWith("${") && expr.endsWith("}")) {
126
+ return expr;
127
+ }
128
+ // Check if it contains token markers
129
+ if (expr.includes("${TfToken[")) {
130
+ // Resolve the token to get the terraform expression
131
+ return expr;
132
+ }
133
+ return `"${escapeString(expr)}"`;
134
+ }
135
+ if (Array.isArray(expr)) {
136
+ return `[${expr.map(expressionToString).join(", ")}]`;
137
+ }
138
+ if (expr instanceof FunctionCallExpression) {
139
+ return expr.toString();
140
+ }
141
+ if (expr instanceof PropertyAccessExpression) {
142
+ return expr.toString();
143
+ }
144
+ if (expr instanceof ConditionalExpression) {
145
+ return expr.toString();
146
+ }
147
+ if (expr instanceof OperatorExpression) {
148
+ return expr.toString();
149
+ }
150
+ if (expr instanceof RawStringExpression) {
151
+ return expr.toString();
152
+ }
153
+ if (typeof expr === "object") {
154
+ const entries = Object.entries(expr);
155
+ const parts = entries.map(([k, v]) => `"${k}" = ${expressionToString(v)}`);
156
+ return `{${parts.join(", ")}}`;
157
+ }
158
+ return String(expr);
159
+ }
160
+ function escapeString(str) {
161
+ return str
162
+ .replace(/\\/g, "\\\\")
163
+ .replace(/"/g, '\\"')
164
+ .replace(/\n/g, "\\n")
165
+ .replace(/\${/g, "$${");
166
+ }
167
+ function unwrapExpression(expr) {
168
+ if (expr.startsWith("${") && expr.endsWith("}")) {
169
+ return expr.slice(2, -1);
170
+ }
171
+ return expr;
172
+ }
173
+ function terraformFunction(name, args) {
174
+ return new FunctionCallExpression(name, args).toString();
175
+ }
176
+ export class Fn {
177
+ // Numeric Functions
178
+ static abs(num) {
179
+ return terraformFunction("abs", [num]);
180
+ }
181
+ static ceil(num) {
182
+ return terraformFunction("ceil", [num]);
183
+ }
184
+ static floor(num) {
185
+ return terraformFunction("floor", [num]);
186
+ }
187
+ static log(num, base) {
188
+ return terraformFunction("log", [num, base]);
189
+ }
190
+ static max(numbers) {
191
+ return terraformFunction("max", numbers);
192
+ }
193
+ static min(numbers) {
194
+ return terraformFunction("min", numbers);
195
+ }
196
+ static parseint(str, base) {
197
+ return terraformFunction("parseint", [str, base]);
198
+ }
199
+ static pow(num, power) {
200
+ return terraformFunction("pow", [num, power]);
201
+ }
202
+ static signum(num) {
203
+ return terraformFunction("signum", [num]);
204
+ }
205
+ // String Functions
206
+ static chomp(str) {
207
+ return terraformFunction("chomp", [str]);
208
+ }
209
+ static endswith(str, suffix) {
210
+ return terraformFunction("endswith", [str, suffix]);
211
+ }
212
+ static format(format, ...args) {
213
+ return terraformFunction("format", [format, ...args]);
214
+ }
215
+ static formatlist(format, ...args) {
216
+ return terraformFunction("formatlist", [format, ...args]);
217
+ }
218
+ static indent(spaces, str) {
219
+ return terraformFunction("indent", [spaces, str]);
220
+ }
221
+ static join(separator, list) {
222
+ return terraformFunction("join", [separator, list]);
223
+ }
224
+ static lower(str) {
225
+ return terraformFunction("lower", [str]);
226
+ }
227
+ static regex(pattern, str) {
228
+ return terraformFunction("regex", [pattern, str]);
229
+ }
230
+ static regexall(pattern, str) {
231
+ return terraformFunction("regexall", [pattern, str]);
232
+ }
233
+ static replace(str, substr, replace) {
234
+ return terraformFunction("replace", [str, substr, replace]);
235
+ }
236
+ static split(separator, str) {
237
+ return terraformFunction("split", [separator, str]);
238
+ }
239
+ static startswith(str, prefix) {
240
+ return terraformFunction("startswith", [str, prefix]);
241
+ }
242
+ static strrev(str) {
243
+ return terraformFunction("strrev", [str]);
244
+ }
245
+ static substr(str, offset, length) {
246
+ return terraformFunction("substr", [str, offset, length]);
247
+ }
248
+ static title(str) {
249
+ return terraformFunction("title", [str]);
250
+ }
251
+ static trim(str, chars) {
252
+ return terraformFunction("trim", [str, chars]);
253
+ }
254
+ static trimprefix(str, prefix) {
255
+ return terraformFunction("trimprefix", [str, prefix]);
256
+ }
257
+ static trimsuffix(str, suffix) {
258
+ return terraformFunction("trimsuffix", [str, suffix]);
259
+ }
260
+ static trimspace(str) {
261
+ return terraformFunction("trimspace", [str]);
262
+ }
263
+ static upper(str) {
264
+ return terraformFunction("upper", [str]);
265
+ }
266
+ // Collection Functions
267
+ static alltrue(list) {
268
+ return terraformFunction("alltrue", [list]);
269
+ }
270
+ static anytrue(list) {
271
+ return terraformFunction("anytrue", [list]);
272
+ }
273
+ static chunklist(list, size) {
274
+ return terraformFunction("chunklist", [list, size]);
275
+ }
276
+ static coalesce(...args) {
277
+ return terraformFunction("coalesce", args);
278
+ }
279
+ static coalescelist(...args) {
280
+ return terraformFunction("coalescelist", args);
281
+ }
282
+ static compact(list) {
283
+ return terraformFunction("compact", [list]);
284
+ }
285
+ static concat(...lists) {
286
+ return terraformFunction("concat", lists);
287
+ }
288
+ static contains(list, value) {
289
+ return terraformFunction("contains", [list, value]);
290
+ }
291
+ static distinct(list) {
292
+ return terraformFunction("distinct", [list]);
293
+ }
294
+ static element(list, index) {
295
+ return terraformFunction("element", [list, index]);
296
+ }
297
+ static flatten(list) {
298
+ return terraformFunction("flatten", [list]);
299
+ }
300
+ static index(list, value) {
301
+ return terraformFunction("index", [list, value]);
302
+ }
303
+ static keys(map) {
304
+ return terraformFunction("keys", [map]);
305
+ }
306
+ static length(value) {
307
+ return terraformFunction("length", [value]);
308
+ }
309
+ static lengthOf(value) {
310
+ return terraformFunction("length", [value]);
311
+ }
312
+ static list(...args) {
313
+ return terraformFunction("list", args);
314
+ }
315
+ static lookup(map, key, defaultValue) {
316
+ if (defaultValue !== undefined) {
317
+ return terraformFunction("lookup", [map, key, defaultValue]);
318
+ }
319
+ // Use property access when no default
320
+ return new PropertyAccessExpression(map, [key]).toString();
321
+ }
322
+ static lookupNested(map, path) {
323
+ return new PropertyAccessExpression(map, path).toString();
324
+ }
325
+ static map(...args) {
326
+ return terraformFunction("map", args);
327
+ }
328
+ static matchkeys(values, keys, searchset) {
329
+ return terraformFunction("matchkeys", [values, keys, searchset]);
330
+ }
331
+ static merge(...maps) {
332
+ return terraformFunction("merge", maps);
333
+ }
334
+ static one(list) {
335
+ return terraformFunction("one", [list]);
336
+ }
337
+ static range(start, limit, step) {
338
+ const args = [start];
339
+ if (limit !== undefined)
340
+ args.push(limit);
341
+ if (step !== undefined)
342
+ args.push(step);
343
+ return terraformFunction("range", args);
344
+ }
345
+ static reverse(list) {
346
+ return terraformFunction("reverse", [list]);
347
+ }
348
+ static setintersection(...sets) {
349
+ return terraformFunction("setintersection", sets);
350
+ }
351
+ static setproduct(...sets) {
352
+ return terraformFunction("setproduct", sets);
353
+ }
354
+ static setsubtract(a, b) {
355
+ return terraformFunction("setsubtract", [a, b]);
356
+ }
357
+ static setunion(...sets) {
358
+ return terraformFunction("setunion", sets);
359
+ }
360
+ static slice(list, start, end) {
361
+ return terraformFunction("slice", [list, start, end]);
362
+ }
363
+ static sort(list) {
364
+ return terraformFunction("sort", [list]);
365
+ }
366
+ static sum(list) {
367
+ return terraformFunction("sum", [list]);
368
+ }
369
+ static transpose(map) {
370
+ return terraformFunction("transpose", [map]);
371
+ }
372
+ static values(map) {
373
+ return terraformFunction("values", [map]);
374
+ }
375
+ static zipmap(keys, values) {
376
+ return terraformFunction("zipmap", [keys, values]);
377
+ }
378
+ // Encoding Functions
379
+ static base64decode(str) {
380
+ return terraformFunction("base64decode", [str]);
381
+ }
382
+ static base64encode(str) {
383
+ return terraformFunction("base64encode", [str]);
384
+ }
385
+ static base64gzip(str) {
386
+ return terraformFunction("base64gzip", [str]);
387
+ }
388
+ static csvdecode(str) {
389
+ return terraformFunction("csvdecode", [str]);
390
+ }
391
+ static jsondecode(str) {
392
+ return terraformFunction("jsondecode", [str]);
393
+ }
394
+ static jsonencode(value) {
395
+ return terraformFunction("jsonencode", [value]);
396
+ }
397
+ static textdecodebase64(str, encoding) {
398
+ return terraformFunction("textdecodebase64", [str, encoding]);
399
+ }
400
+ static textencodebase64(str, encoding) {
401
+ return terraformFunction("textencodebase64", [str, encoding]);
402
+ }
403
+ static urlencode(str) {
404
+ return terraformFunction("urlencode", [str]);
405
+ }
406
+ static yamldecode(str) {
407
+ return terraformFunction("yamldecode", [str]);
408
+ }
409
+ static yamlencode(value) {
410
+ return terraformFunction("yamlencode", [value]);
411
+ }
412
+ // Filesystem Functions
413
+ static abspath(path) {
414
+ return terraformFunction("abspath", [path]);
415
+ }
416
+ static dirname(path) {
417
+ return terraformFunction("dirname", [path]);
418
+ }
419
+ static pathexpand(path) {
420
+ return terraformFunction("pathexpand", [path]);
421
+ }
422
+ static basename(path) {
423
+ return terraformFunction("basename", [path]);
424
+ }
425
+ static file(path) {
426
+ return terraformFunction("file", [path]);
427
+ }
428
+ static fileexists(path) {
429
+ return terraformFunction("fileexists", [path]);
430
+ }
431
+ static fileset(path, pattern) {
432
+ return terraformFunction("fileset", [path, pattern]);
433
+ }
434
+ static filebase64(path) {
435
+ return terraformFunction("filebase64", [path]);
436
+ }
437
+ static templatefile(path, vars) {
438
+ return terraformFunction("templatefile", [path, vars]);
439
+ }
440
+ // Date and Time Functions
441
+ static formatdate(format, timestamp) {
442
+ return terraformFunction("formatdate", [format, timestamp]);
443
+ }
444
+ static plantimestamp() {
445
+ return terraformFunction("plantimestamp", []);
446
+ }
447
+ static timeadd(timestamp, duration) {
448
+ return terraformFunction("timeadd", [timestamp, duration]);
449
+ }
450
+ static timecmp(timestampA, timestampB) {
451
+ return terraformFunction("timecmp", [timestampA, timestampB]);
452
+ }
453
+ static timestamp() {
454
+ return terraformFunction("timestamp", []);
455
+ }
456
+ // Hash and Crypto Functions
457
+ static base64sha256(str) {
458
+ return terraformFunction("base64sha256", [str]);
459
+ }
460
+ static base64sha512(str) {
461
+ return terraformFunction("base64sha512", [str]);
462
+ }
463
+ static bcrypt(str, cost) {
464
+ if (cost !== undefined) {
465
+ return terraformFunction("bcrypt", [str, cost]);
466
+ }
467
+ return terraformFunction("bcrypt", [str]);
468
+ }
469
+ static filebase64sha256(path) {
470
+ return terraformFunction("filebase64sha256", [path]);
471
+ }
472
+ static filebase64sha512(path) {
473
+ return terraformFunction("filebase64sha512", [path]);
474
+ }
475
+ static filemd5(path) {
476
+ return terraformFunction("filemd5", [path]);
477
+ }
478
+ static filesha1(path) {
479
+ return terraformFunction("filesha1", [path]);
480
+ }
481
+ static filesha256(path) {
482
+ return terraformFunction("filesha256", [path]);
483
+ }
484
+ static filesha512(path) {
485
+ return terraformFunction("filesha512", [path]);
486
+ }
487
+ static md5(str) {
488
+ return terraformFunction("md5", [str]);
489
+ }
490
+ static rsadecrypt(ciphertext, privatekey) {
491
+ return terraformFunction("rsadecrypt", [ciphertext, privatekey]);
492
+ }
493
+ static sha1(str) {
494
+ return terraformFunction("sha1", [str]);
495
+ }
496
+ static sha256(str) {
497
+ return terraformFunction("sha256", [str]);
498
+ }
499
+ static sha512(str) {
500
+ return terraformFunction("sha512", [str]);
501
+ }
502
+ static uuid() {
503
+ return terraformFunction("uuid", []);
504
+ }
505
+ static uuidv5(namespace, name) {
506
+ return terraformFunction("uuidv5", [namespace, name]);
507
+ }
508
+ // IP Network Functions
509
+ static cidrhost(prefix, hostnum) {
510
+ return terraformFunction("cidrhost", [prefix, hostnum]);
511
+ }
512
+ static cidrnetmask(prefix) {
513
+ return terraformFunction("cidrnetmask", [prefix]);
514
+ }
515
+ static cidrsubnet(prefix, newbits, netnum) {
516
+ return terraformFunction("cidrsubnet", [prefix, newbits, netnum]);
517
+ }
518
+ static cidrsubnets(prefix, ...newbits) {
519
+ return terraformFunction("cidrsubnets", [prefix, ...newbits]);
520
+ }
521
+ // Type Conversion Functions
522
+ static can(expression) {
523
+ return terraformFunction("can", [expression]);
524
+ }
525
+ static nonsensitive(value) {
526
+ return terraformFunction("nonsensitive", [value]);
527
+ }
528
+ static sensitive(value) {
529
+ return terraformFunction("sensitive", [value]);
530
+ }
531
+ static tobool(value) {
532
+ return terraformFunction("tobool", [value]);
533
+ }
534
+ static tolist(value) {
535
+ return terraformFunction("tolist", [value]);
536
+ }
537
+ static tomap(value) {
538
+ return terraformFunction("tomap", [value]);
539
+ }
540
+ static tonumber(value) {
541
+ return terraformFunction("tonumber", [value]);
542
+ }
543
+ static toset(value) {
544
+ return terraformFunction("toset", [value]);
545
+ }
546
+ static tostring(value) {
547
+ return terraformFunction("tostring", [value]);
548
+ }
549
+ static try(...expressions) {
550
+ return terraformFunction("try", expressions);
551
+ }
552
+ static type(value) {
553
+ return terraformFunction("type", [value]);
554
+ }
555
+ // Conditional expression helper
556
+ static conditional(condition, trueValue, falseValue) {
557
+ return new ConditionalExpression(condition, trueValue, falseValue).toString();
558
+ }
559
+ // Raw string helper (escape properly for Terraform)
560
+ static rawString(str) {
561
+ return new RawStringExpression(str).toString();
562
+ }
563
+ // Property access helper
564
+ static propertyAccess(target, path) {
565
+ return new PropertyAccessExpression(target, path).toString();
566
+ }
567
+ }
568
+ export class Op {
569
+ static not(expression) {
570
+ return new OperatorExpression("!", expression).toString();
571
+ }
572
+ static negate(expression) {
573
+ return new OperatorExpression("-", expression).toString();
574
+ }
575
+ static mul(left, right) {
576
+ return new OperatorExpression("*", left, right).toString();
577
+ }
578
+ static div(left, right) {
579
+ return new OperatorExpression("/", left, right).toString();
580
+ }
581
+ static mod(left, right) {
582
+ return new OperatorExpression("%", left, right).toString();
583
+ }
584
+ static add(left, right) {
585
+ return new OperatorExpression("+", left, right).toString();
586
+ }
587
+ static sub(left, right) {
588
+ return new OperatorExpression("-", left, right).toString();
589
+ }
590
+ static gt(left, right) {
591
+ return new OperatorExpression(">", left, right).toString();
592
+ }
593
+ static gte(left, right) {
594
+ return new OperatorExpression(">=", left, right).toString();
595
+ }
596
+ static lt(left, right) {
597
+ return new OperatorExpression("<", left, right).toString();
598
+ }
599
+ static lte(left, right) {
600
+ return new OperatorExpression("<=", left, right).toString();
601
+ }
602
+ static eq(left, right) {
603
+ return new OperatorExpression("==", left, right).toString();
604
+ }
605
+ static neq(left, right) {
606
+ return new OperatorExpression("!=", left, right).toString();
607
+ }
608
+ static and(left, right) {
609
+ return new OperatorExpression("&&", left, right).toString();
610
+ }
611
+ static or(left, right) {
612
+ return new OperatorExpression("||", left, right).toString();
613
+ }
614
+ }
615
+ //# sourceMappingURL=terraform-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform-functions.js","sourceRoot":"","sources":["../../src/facade/terraform-functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=terraform-functions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terraform-functions.spec.d.ts","sourceRoot":"","sources":["../../src/facade/terraform-functions.spec.ts"],"names":[],"mappings":""}