@azure/provisioning-core 1.0.0-beta.1 → 1.0.0-beta.2

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 (571) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +49 -10
  3. package/dist/browser/constructs/built-in-resources/resource-group.d.ts +7 -1
  4. package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  5. package/dist/browser/constructs/built-in-resources/resource-group.js +26 -6
  6. package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -1
  7. package/dist/browser/constructs/output.d.ts +1 -1
  8. package/dist/browser/constructs/output.d.ts.map +1 -1
  9. package/dist/browser/constructs/output.js.map +1 -1
  10. package/dist/browser/constructs/parameter.d.ts +1 -1
  11. package/dist/browser/constructs/parameter.d.ts.map +1 -1
  12. package/dist/browser/constructs/parameter.js.map +1 -1
  13. package/dist/browser/constructs/resource/resource-query.d.ts +3 -1
  14. package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -1
  15. package/dist/browser/constructs/resource/resource-query.js +10 -0
  16. package/dist/browser/constructs/resource/resource-query.js.map +1 -1
  17. package/dist/browser/constructs/resource/resource-relationships.d.ts +9 -0
  18. package/dist/browser/constructs/resource/resource-relationships.d.ts.map +1 -0
  19. package/dist/browser/constructs/resource/resource-relationships.js +35 -0
  20. package/dist/browser/constructs/resource/resource-relationships.js.map +1 -0
  21. package/dist/browser/constructs/resource/resource.d.ts +11 -17
  22. package/dist/browser/constructs/resource/resource.d.ts.map +1 -1
  23. package/dist/browser/constructs/resource/resource.js +70 -28
  24. package/dist/browser/constructs/resource/resource.js.map +1 -1
  25. package/dist/browser/constructs/stack.d.ts +2 -16
  26. package/dist/browser/constructs/stack.d.ts.map +1 -1
  27. package/dist/browser/constructs/stack.js +1 -15
  28. package/dist/browser/constructs/stack.js.map +1 -1
  29. package/dist/browser/expression/ast-nodes.d.ts +1 -1
  30. package/dist/browser/expression/ast-nodes.d.ts.map +1 -1
  31. package/dist/browser/expression/ast-nodes.js.map +1 -1
  32. package/dist/browser/expression/expressions.d.ts +2 -9
  33. package/dist/browser/expression/expressions.d.ts.map +1 -1
  34. package/dist/browser/expression/expressions.js +2 -9
  35. package/dist/browser/expression/expressions.js.map +1 -1
  36. package/dist/browser/expression/utils.d.ts +5 -0
  37. package/dist/browser/expression/utils.d.ts.map +1 -0
  38. package/dist/browser/expression/utils.js +25 -0
  39. package/dist/browser/expression/utils.js.map +1 -0
  40. package/dist/browser/index.d.ts +4 -4
  41. package/dist/browser/index.d.ts.map +1 -1
  42. package/dist/browser/index.js.map +1 -1
  43. package/dist/browser/internal.d.ts +2 -5
  44. package/dist/browser/internal.d.ts.map +1 -1
  45. package/dist/browser/internal.js +1 -3
  46. package/dist/browser/internal.js.map +1 -1
  47. package/dist/browser/naming/name-validation.d.ts +15 -0
  48. package/dist/browser/naming/name-validation.d.ts.map +1 -0
  49. package/dist/browser/naming/name-validation.js +82 -0
  50. package/dist/browser/naming/name-validation.js.map +1 -0
  51. package/dist/browser/naming/naming-policy.d.ts +7 -7
  52. package/dist/browser/naming/naming-policy.d.ts.map +1 -1
  53. package/dist/browser/naming/naming-policy.js +166 -33
  54. package/dist/browser/naming/naming-policy.js.map +1 -1
  55. package/dist/browser/naming/naming-rules.d.ts +12 -11
  56. package/dist/browser/naming/naming-rules.d.ts.map +1 -1
  57. package/dist/browser/naming/naming-rules.js +2 -9
  58. package/dist/browser/naming/naming-rules.js.map +1 -1
  59. package/dist/browser/package.json +1 -1
  60. package/dist/{esm/serialization/json/lower.d.ts → browser/serialization/arm-object-conversion.d.ts} +11 -11
  61. package/dist/browser/serialization/arm-object-conversion.d.ts.map +1 -0
  62. package/dist/{esm/serialization/json/lower.js → browser/serialization/arm-object-conversion.js} +20 -20
  63. package/dist/browser/serialization/arm-object-conversion.js.map +1 -0
  64. package/dist/browser/serialization/ast/declaration-builder.d.ts +10 -0
  65. package/dist/browser/serialization/ast/declaration-builder.d.ts.map +1 -0
  66. package/dist/browser/serialization/ast/declaration-builder.js +265 -0
  67. package/dist/browser/serialization/ast/declaration-builder.js.map +1 -0
  68. package/dist/browser/serialization/ast/declaration-dependencies.d.ts +18 -0
  69. package/dist/browser/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  70. package/dist/browser/serialization/ast/declaration-dependencies.js +96 -0
  71. package/dist/browser/serialization/ast/declaration-dependencies.js.map +1 -0
  72. package/dist/browser/serialization/ast/expression-builder.d.ts +14 -0
  73. package/dist/browser/serialization/ast/expression-builder.d.ts.map +1 -0
  74. package/dist/browser/serialization/ast/expression-builder.js +313 -0
  75. package/dist/browser/serialization/ast/expression-builder.js.map +1 -0
  76. package/dist/browser/serialization/ast/expression-restorer.d.ts +8 -0
  77. package/dist/browser/serialization/ast/expression-restorer.d.ts.map +1 -0
  78. package/dist/browser/serialization/ast/expression-restorer.js +162 -0
  79. package/dist/browser/serialization/ast/expression-restorer.js.map +1 -0
  80. package/dist/browser/serialization/ast/expression-rewriter.d.ts +29 -0
  81. package/dist/browser/serialization/ast/expression-rewriter.d.ts.map +1 -0
  82. package/dist/browser/serialization/ast/expression-rewriter.js +257 -0
  83. package/dist/browser/serialization/ast/expression-rewriter.js.map +1 -0
  84. package/dist/browser/serialization/ast/expression-walker.d.ts +16 -0
  85. package/dist/browser/serialization/ast/expression-walker.d.ts.map +1 -0
  86. package/dist/browser/serialization/ast/expression-walker.js +154 -0
  87. package/dist/browser/serialization/ast/expression-walker.js.map +1 -0
  88. package/dist/browser/serialization/ast/generated/ast.d.ts.map +1 -0
  89. package/dist/browser/serialization/ast/generated/ast.js.map +1 -0
  90. package/dist/browser/serialization/ast/index.d.ts +7 -0
  91. package/dist/browser/serialization/ast/index.d.ts.map +1 -0
  92. package/dist/browser/serialization/ast/index.js.map +1 -0
  93. package/dist/browser/serialization/ast/resource-utils.d.ts +10 -0
  94. package/dist/browser/serialization/ast/resource-utils.d.ts.map +1 -0
  95. package/dist/browser/serialization/ast/resource-utils.js +52 -0
  96. package/dist/browser/serialization/ast/resource-utils.js.map +1 -0
  97. package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  98. package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  99. package/dist/browser/serialization/bicep/file-layout/authored-context.js +57 -0
  100. package/dist/browser/serialization/bicep/file-layout/authored-context.js.map +1 -0
  101. package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  102. package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  103. package/dist/browser/serialization/bicep/file-layout/bicep-namer.js +100 -0
  104. package/dist/browser/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  105. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  106. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  107. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js +46 -0
  108. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  109. package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  110. package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  111. package/dist/browser/serialization/bicep/file-layout/deployment-planning.js +68 -0
  112. package/dist/browser/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  113. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  114. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  115. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
  116. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  117. package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  118. package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  119. package/dist/browser/serialization/bicep/file-layout/file-dependencies.js +32 -0
  120. package/dist/browser/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  121. package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  122. package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  123. package/dist/browser/serialization/bicep/file-layout/file-paths.js +46 -0
  124. package/dist/browser/serialization/bicep/file-layout/file-paths.js.map +1 -0
  125. package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  126. package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  127. package/dist/browser/serialization/bicep/file-layout/file-preparation.js +140 -0
  128. package/dist/browser/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  129. package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  130. package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  131. package/dist/browser/serialization/bicep/file-layout/reference-wiring.js +225 -0
  132. package/dist/browser/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  133. package/dist/browser/serialization/bicep/index.d.ts +2 -0
  134. package/dist/browser/serialization/bicep/index.d.ts.map +1 -0
  135. package/dist/browser/serialization/bicep/index.js +4 -0
  136. package/dist/browser/serialization/bicep/index.js.map +1 -0
  137. package/dist/browser/serialization/bicep/render.d.ts +11 -0
  138. package/dist/browser/serialization/bicep/render.d.ts.map +1 -0
  139. package/dist/browser/serialization/bicep/render.js +293 -0
  140. package/dist/browser/serialization/bicep/render.js.map +1 -0
  141. package/dist/browser/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  142. package/dist/browser/serialization/encoding.d.ts.map +1 -0
  143. package/dist/browser/serialization/{json/encoding.js → encoding.js} +2 -12
  144. package/dist/browser/serialization/encoding.js.map +1 -0
  145. package/dist/browser/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  146. package/dist/browser/serialization/identifiers.d.ts.map +1 -0
  147. package/dist/browser/serialization/{json/util.js → identifiers.js} +1 -1
  148. package/dist/browser/serialization/identifiers.js.map +1 -0
  149. package/dist/browser/serialization/index.d.ts +1 -1
  150. package/dist/browser/serialization/index.d.ts.map +1 -1
  151. package/dist/browser/serialization/index.js.map +1 -1
  152. package/dist/browser/serialization/json/deserialize.d.ts.map +1 -1
  153. package/dist/browser/serialization/json/deserialize.js +131 -39
  154. package/dist/browser/serialization/json/deserialize.js.map +1 -1
  155. package/dist/browser/serialization/json/serialize.d.ts +1 -1
  156. package/dist/browser/serialization/json/serialize.d.ts.map +1 -1
  157. package/dist/browser/serialization/json/serialize.js +5 -360
  158. package/dist/browser/serialization/json/serialize.js.map +1 -1
  159. package/dist/browser/serialization/pluralize-config.d.ts.map +1 -0
  160. package/dist/browser/serialization/pluralize-config.js.map +1 -0
  161. package/dist/browser/serialization/symbol-map.d.ts +10 -0
  162. package/dist/browser/serialization/symbol-map.d.ts.map +1 -0
  163. package/dist/browser/serialization/symbol-map.js +40 -0
  164. package/dist/browser/serialization/symbol-map.js.map +1 -0
  165. package/dist/browser/shape/shape.d.ts +4 -4
  166. package/dist/browser/shape/shape.js +2 -2
  167. package/dist/browser/shape/shape.js.map +1 -1
  168. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +7 -1
  169. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  170. package/dist/commonjs/constructs/built-in-resources/resource-group.js +27 -6
  171. package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +2 -2
  172. package/dist/commonjs/constructs/output.d.ts +1 -1
  173. package/dist/commonjs/constructs/output.d.ts.map +1 -1
  174. package/dist/commonjs/constructs/output.js.map +1 -1
  175. package/dist/commonjs/constructs/parameter.d.ts +1 -1
  176. package/dist/commonjs/constructs/parameter.d.ts.map +1 -1
  177. package/dist/commonjs/constructs/parameter.js.map +1 -1
  178. package/dist/commonjs/constructs/resource/resource-query.d.ts +3 -1
  179. package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -1
  180. package/dist/commonjs/constructs/resource/resource-query.js +11 -0
  181. package/dist/commonjs/constructs/resource/resource-query.js.map +2 -2
  182. package/dist/commonjs/constructs/resource/resource-relationships.d.ts +9 -0
  183. package/dist/commonjs/constructs/resource/resource-relationships.d.ts.map +1 -0
  184. package/dist/commonjs/constructs/resource/resource-relationships.js +59 -0
  185. package/dist/commonjs/constructs/resource/resource-relationships.js.map +7 -0
  186. package/dist/commonjs/constructs/resource/resource.d.ts +11 -17
  187. package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -1
  188. package/dist/commonjs/constructs/resource/resource.js +57 -35
  189. package/dist/commonjs/constructs/resource/resource.js.map +2 -2
  190. package/dist/commonjs/constructs/stack.d.ts +2 -16
  191. package/dist/commonjs/constructs/stack.d.ts.map +1 -1
  192. package/dist/commonjs/constructs/stack.js.map +2 -2
  193. package/dist/commonjs/expression/ast-nodes.d.ts +1 -1
  194. package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -1
  195. package/dist/commonjs/expression/ast-nodes.js.map +1 -1
  196. package/dist/commonjs/expression/expressions.d.ts +2 -9
  197. package/dist/commonjs/expression/expressions.d.ts.map +1 -1
  198. package/dist/commonjs/expression/expressions.js.map +2 -2
  199. package/dist/commonjs/expression/utils.d.ts +5 -0
  200. package/dist/commonjs/expression/utils.d.ts.map +1 -0
  201. package/dist/commonjs/expression/utils.js +43 -0
  202. package/dist/commonjs/expression/utils.js.map +7 -0
  203. package/dist/commonjs/index.d.ts +4 -4
  204. package/dist/commonjs/index.d.ts.map +1 -1
  205. package/dist/commonjs/index.js.map +2 -2
  206. package/dist/commonjs/internal.d.ts +2 -5
  207. package/dist/commonjs/internal.d.ts.map +1 -1
  208. package/dist/commonjs/internal.js +3 -9
  209. package/dist/commonjs/internal.js.map +2 -2
  210. package/dist/commonjs/naming/name-validation.d.ts +15 -0
  211. package/dist/commonjs/naming/name-validation.d.ts.map +1 -0
  212. package/dist/commonjs/naming/name-validation.js +74 -0
  213. package/dist/commonjs/naming/name-validation.js.map +7 -0
  214. package/dist/commonjs/naming/naming-policy.d.ts +7 -7
  215. package/dist/commonjs/naming/naming-policy.d.ts.map +1 -1
  216. package/dist/commonjs/naming/naming-policy.js +136 -26
  217. package/dist/commonjs/naming/naming-policy.js.map +2 -2
  218. package/dist/commonjs/naming/naming-rules.d.ts +12 -11
  219. package/dist/commonjs/naming/naming-rules.d.ts.map +1 -1
  220. package/dist/commonjs/naming/naming-rules.js +4 -11
  221. package/dist/commonjs/naming/naming-rules.js.map +2 -2
  222. package/dist/commonjs/package.json +1 -1
  223. package/dist/{browser/serialization/json/lower.d.ts → commonjs/serialization/arm-object-conversion.d.ts} +11 -11
  224. package/dist/commonjs/serialization/arm-object-conversion.d.ts.map +1 -0
  225. package/dist/commonjs/serialization/{json/lower.js → arm-object-conversion.js} +15 -15
  226. package/dist/commonjs/serialization/arm-object-conversion.js.map +7 -0
  227. package/dist/commonjs/serialization/ast/declaration-builder.d.ts +10 -0
  228. package/dist/commonjs/serialization/ast/declaration-builder.d.ts.map +1 -0
  229. package/dist/commonjs/serialization/ast/declaration-builder.js +274 -0
  230. package/dist/commonjs/serialization/ast/declaration-builder.js.map +7 -0
  231. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts +18 -0
  232. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  233. package/dist/commonjs/serialization/ast/declaration-dependencies.js +109 -0
  234. package/dist/commonjs/serialization/ast/declaration-dependencies.js.map +7 -0
  235. package/dist/commonjs/serialization/ast/expression-builder.d.ts +14 -0
  236. package/dist/commonjs/serialization/ast/expression-builder.d.ts.map +1 -0
  237. package/dist/commonjs/serialization/ast/expression-builder.js +316 -0
  238. package/dist/commonjs/serialization/ast/expression-builder.js.map +7 -0
  239. package/dist/commonjs/serialization/ast/expression-restorer.d.ts +8 -0
  240. package/dist/commonjs/serialization/ast/expression-restorer.d.ts.map +1 -0
  241. package/dist/commonjs/serialization/ast/expression-restorer.js +193 -0
  242. package/dist/commonjs/serialization/ast/expression-restorer.js.map +7 -0
  243. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts +29 -0
  244. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts.map +1 -0
  245. package/dist/commonjs/serialization/ast/expression-rewriter.js +270 -0
  246. package/dist/commonjs/serialization/ast/expression-rewriter.js.map +7 -0
  247. package/dist/commonjs/serialization/ast/expression-walker.d.ts +16 -0
  248. package/dist/commonjs/serialization/ast/expression-walker.d.ts.map +1 -0
  249. package/dist/commonjs/serialization/ast/expression-walker.js +165 -0
  250. package/dist/commonjs/serialization/ast/expression-walker.js.map +7 -0
  251. package/dist/commonjs/serialization/ast/generated/ast.d.ts.map +1 -0
  252. package/dist/commonjs/serialization/{contract → ast}/generated/ast.js.map +1 -1
  253. package/dist/commonjs/serialization/ast/index.d.ts +7 -0
  254. package/dist/commonjs/serialization/ast/index.d.ts.map +1 -0
  255. package/dist/commonjs/serialization/{contract → ast}/index.js +3 -3
  256. package/dist/commonjs/serialization/ast/index.js.map +7 -0
  257. package/dist/commonjs/serialization/ast/resource-utils.d.ts +10 -0
  258. package/dist/commonjs/serialization/ast/resource-utils.d.ts.map +1 -0
  259. package/dist/commonjs/serialization/ast/resource-utils.js +71 -0
  260. package/dist/commonjs/serialization/ast/resource-utils.js.map +7 -0
  261. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  262. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  263. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js +74 -0
  264. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js.map +7 -0
  265. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  266. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  267. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js +130 -0
  268. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js.map +7 -0
  269. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  270. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  271. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js +71 -0
  272. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js.map +7 -0
  273. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  274. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  275. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js +80 -0
  276. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js.map +7 -0
  277. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  278. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  279. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js +91 -0
  280. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js.map +7 -0
  281. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  282. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  283. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js +57 -0
  284. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js.map +7 -0
  285. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  286. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  287. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js +70 -0
  288. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js.map +7 -0
  289. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  290. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  291. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js +190 -0
  292. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js.map +7 -0
  293. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  294. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  295. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js +241 -0
  296. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js.map +7 -0
  297. package/dist/commonjs/serialization/bicep/index.d.ts +2 -0
  298. package/dist/commonjs/serialization/bicep/index.d.ts.map +1 -0
  299. package/dist/commonjs/serialization/bicep/index.js +28 -0
  300. package/dist/commonjs/serialization/bicep/index.js.map +7 -0
  301. package/dist/commonjs/serialization/bicep/render.d.ts +11 -0
  302. package/dist/commonjs/serialization/bicep/render.d.ts.map +1 -0
  303. package/dist/commonjs/serialization/bicep/render.js +312 -0
  304. package/dist/commonjs/serialization/bicep/render.js.map +7 -0
  305. package/dist/commonjs/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  306. package/dist/commonjs/serialization/encoding.d.ts.map +1 -0
  307. package/dist/commonjs/serialization/{json/encoding.js → encoding.js} +2 -12
  308. package/dist/commonjs/serialization/encoding.js.map +7 -0
  309. package/dist/commonjs/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  310. package/dist/commonjs/serialization/identifiers.d.ts.map +1 -0
  311. package/dist/commonjs/serialization/{json/util.js → identifiers.js} +4 -4
  312. package/dist/commonjs/serialization/{json/util.js.map → identifiers.js.map} +1 -1
  313. package/dist/commonjs/serialization/index.d.ts +1 -1
  314. package/dist/commonjs/serialization/index.d.ts.map +1 -1
  315. package/dist/commonjs/serialization/index.js.map +1 -1
  316. package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -1
  317. package/dist/commonjs/serialization/json/deserialize.js +115 -44
  318. package/dist/commonjs/serialization/json/deserialize.js.map +2 -2
  319. package/dist/commonjs/serialization/json/serialize.d.ts +1 -1
  320. package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -1
  321. package/dist/commonjs/serialization/json/serialize.js +6 -308
  322. package/dist/commonjs/serialization/json/serialize.js.map +3 -3
  323. package/dist/commonjs/serialization/pluralize-config.d.ts.map +1 -0
  324. package/dist/commonjs/serialization/{json/pluralize-config.js.map → pluralize-config.js.map} +1 -1
  325. package/dist/commonjs/serialization/symbol-map.d.ts +10 -0
  326. package/dist/commonjs/serialization/symbol-map.d.ts.map +1 -0
  327. package/dist/commonjs/serialization/symbol-map.js +72 -0
  328. package/dist/commonjs/serialization/symbol-map.js.map +7 -0
  329. package/dist/commonjs/shape/shape.d.ts +4 -4
  330. package/dist/commonjs/shape/shape.js.map +1 -1
  331. package/dist/commonjs/tsdoc-metadata.json +1 -1
  332. package/dist/esm/constructs/built-in-resources/resource-group.d.ts +7 -1
  333. package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  334. package/dist/esm/constructs/built-in-resources/resource-group.js +26 -6
  335. package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -1
  336. package/dist/esm/constructs/output.d.ts +1 -1
  337. package/dist/esm/constructs/output.d.ts.map +1 -1
  338. package/dist/esm/constructs/output.js.map +1 -1
  339. package/dist/esm/constructs/parameter.d.ts +1 -1
  340. package/dist/esm/constructs/parameter.d.ts.map +1 -1
  341. package/dist/esm/constructs/parameter.js.map +1 -1
  342. package/dist/esm/constructs/resource/resource-query.d.ts +3 -1
  343. package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -1
  344. package/dist/esm/constructs/resource/resource-query.js +10 -0
  345. package/dist/esm/constructs/resource/resource-query.js.map +1 -1
  346. package/dist/esm/constructs/resource/resource-relationships.d.ts +9 -0
  347. package/dist/esm/constructs/resource/resource-relationships.d.ts.map +1 -0
  348. package/dist/esm/constructs/resource/resource-relationships.js +35 -0
  349. package/dist/esm/constructs/resource/resource-relationships.js.map +1 -0
  350. package/dist/esm/constructs/resource/resource.d.ts +11 -17
  351. package/dist/esm/constructs/resource/resource.d.ts.map +1 -1
  352. package/dist/esm/constructs/resource/resource.js +70 -28
  353. package/dist/esm/constructs/resource/resource.js.map +1 -1
  354. package/dist/esm/constructs/stack.d.ts +2 -16
  355. package/dist/esm/constructs/stack.d.ts.map +1 -1
  356. package/dist/esm/constructs/stack.js +1 -15
  357. package/dist/esm/constructs/stack.js.map +1 -1
  358. package/dist/esm/expression/ast-nodes.d.ts +1 -1
  359. package/dist/esm/expression/ast-nodes.d.ts.map +1 -1
  360. package/dist/esm/expression/ast-nodes.js.map +1 -1
  361. package/dist/esm/expression/expressions.d.ts +2 -9
  362. package/dist/esm/expression/expressions.d.ts.map +1 -1
  363. package/dist/esm/expression/expressions.js +2 -9
  364. package/dist/esm/expression/expressions.js.map +1 -1
  365. package/dist/esm/expression/utils.d.ts +5 -0
  366. package/dist/esm/expression/utils.d.ts.map +1 -0
  367. package/dist/esm/expression/utils.js +25 -0
  368. package/dist/esm/expression/utils.js.map +1 -0
  369. package/dist/esm/index.d.ts +4 -4
  370. package/dist/esm/index.d.ts.map +1 -1
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/internal.d.ts +2 -5
  373. package/dist/esm/internal.d.ts.map +1 -1
  374. package/dist/esm/internal.js +1 -3
  375. package/dist/esm/internal.js.map +1 -1
  376. package/dist/esm/naming/name-validation.d.ts +15 -0
  377. package/dist/esm/naming/name-validation.d.ts.map +1 -0
  378. package/dist/esm/naming/name-validation.js +82 -0
  379. package/dist/esm/naming/name-validation.js.map +1 -0
  380. package/dist/esm/naming/naming-policy.d.ts +7 -7
  381. package/dist/esm/naming/naming-policy.d.ts.map +1 -1
  382. package/dist/esm/naming/naming-policy.js +166 -33
  383. package/dist/esm/naming/naming-policy.js.map +1 -1
  384. package/dist/esm/naming/naming-rules.d.ts +12 -11
  385. package/dist/esm/naming/naming-rules.d.ts.map +1 -1
  386. package/dist/esm/naming/naming-rules.js +2 -9
  387. package/dist/esm/naming/naming-rules.js.map +1 -1
  388. package/dist/esm/package.json +1 -1
  389. package/dist/{commonjs/serialization/json/lower.d.ts → esm/serialization/arm-object-conversion.d.ts} +11 -11
  390. package/dist/esm/serialization/arm-object-conversion.d.ts.map +1 -0
  391. package/dist/{browser/serialization/json/lower.js → esm/serialization/arm-object-conversion.js} +20 -20
  392. package/dist/esm/serialization/arm-object-conversion.js.map +1 -0
  393. package/dist/esm/serialization/ast/declaration-builder.d.ts +10 -0
  394. package/dist/esm/serialization/ast/declaration-builder.d.ts.map +1 -0
  395. package/dist/esm/serialization/ast/declaration-builder.js +265 -0
  396. package/dist/esm/serialization/ast/declaration-builder.js.map +1 -0
  397. package/dist/esm/serialization/ast/declaration-dependencies.d.ts +18 -0
  398. package/dist/esm/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  399. package/dist/esm/serialization/ast/declaration-dependencies.js +96 -0
  400. package/dist/esm/serialization/ast/declaration-dependencies.js.map +1 -0
  401. package/dist/esm/serialization/ast/expression-builder.d.ts +14 -0
  402. package/dist/esm/serialization/ast/expression-builder.d.ts.map +1 -0
  403. package/dist/esm/serialization/ast/expression-builder.js +313 -0
  404. package/dist/esm/serialization/ast/expression-builder.js.map +1 -0
  405. package/dist/esm/serialization/ast/expression-restorer.d.ts +8 -0
  406. package/dist/esm/serialization/ast/expression-restorer.d.ts.map +1 -0
  407. package/dist/esm/serialization/ast/expression-restorer.js +162 -0
  408. package/dist/esm/serialization/ast/expression-restorer.js.map +1 -0
  409. package/dist/esm/serialization/ast/expression-rewriter.d.ts +29 -0
  410. package/dist/esm/serialization/ast/expression-rewriter.d.ts.map +1 -0
  411. package/dist/esm/serialization/ast/expression-rewriter.js +257 -0
  412. package/dist/esm/serialization/ast/expression-rewriter.js.map +1 -0
  413. package/dist/esm/serialization/ast/expression-walker.d.ts +16 -0
  414. package/dist/esm/serialization/ast/expression-walker.d.ts.map +1 -0
  415. package/dist/esm/serialization/ast/expression-walker.js +154 -0
  416. package/dist/esm/serialization/ast/expression-walker.js.map +1 -0
  417. package/dist/esm/serialization/ast/generated/ast.d.ts.map +1 -0
  418. package/dist/esm/serialization/ast/generated/ast.js.map +1 -0
  419. package/dist/esm/serialization/ast/index.d.ts +7 -0
  420. package/dist/esm/serialization/ast/index.d.ts.map +1 -0
  421. package/dist/esm/serialization/ast/index.js.map +1 -0
  422. package/dist/esm/serialization/ast/resource-utils.d.ts +10 -0
  423. package/dist/esm/serialization/ast/resource-utils.d.ts.map +1 -0
  424. package/dist/esm/serialization/ast/resource-utils.js +52 -0
  425. package/dist/esm/serialization/ast/resource-utils.js.map +1 -0
  426. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  427. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  428. package/dist/esm/serialization/bicep/file-layout/authored-context.js +57 -0
  429. package/dist/esm/serialization/bicep/file-layout/authored-context.js.map +1 -0
  430. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  431. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  432. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js +100 -0
  433. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  434. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  435. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  436. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js +46 -0
  437. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  438. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  439. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  440. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js +68 -0
  441. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  442. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  443. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  444. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
  445. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  446. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  447. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  448. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js +32 -0
  449. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  450. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  451. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  452. package/dist/esm/serialization/bicep/file-layout/file-paths.js +46 -0
  453. package/dist/esm/serialization/bicep/file-layout/file-paths.js.map +1 -0
  454. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  455. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  456. package/dist/esm/serialization/bicep/file-layout/file-preparation.js +140 -0
  457. package/dist/esm/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  458. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  459. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  460. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js +225 -0
  461. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  462. package/dist/esm/serialization/bicep/index.d.ts +2 -0
  463. package/dist/esm/serialization/bicep/index.d.ts.map +1 -0
  464. package/dist/esm/serialization/bicep/index.js +4 -0
  465. package/dist/esm/serialization/bicep/index.js.map +1 -0
  466. package/dist/esm/serialization/bicep/render.d.ts +11 -0
  467. package/dist/esm/serialization/bicep/render.d.ts.map +1 -0
  468. package/dist/esm/serialization/bicep/render.js +293 -0
  469. package/dist/esm/serialization/bicep/render.js.map +1 -0
  470. package/dist/esm/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  471. package/dist/esm/serialization/encoding.d.ts.map +1 -0
  472. package/dist/esm/serialization/{json/encoding.js → encoding.js} +2 -12
  473. package/dist/esm/serialization/encoding.js.map +1 -0
  474. package/dist/esm/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  475. package/dist/esm/serialization/identifiers.d.ts.map +1 -0
  476. package/dist/esm/serialization/{json/util.js → identifiers.js} +1 -1
  477. package/dist/esm/serialization/identifiers.js.map +1 -0
  478. package/dist/esm/serialization/index.d.ts +1 -1
  479. package/dist/esm/serialization/index.d.ts.map +1 -1
  480. package/dist/esm/serialization/index.js.map +1 -1
  481. package/dist/esm/serialization/json/deserialize.d.ts.map +1 -1
  482. package/dist/esm/serialization/json/deserialize.js +131 -39
  483. package/dist/esm/serialization/json/deserialize.js.map +1 -1
  484. package/dist/esm/serialization/json/serialize.d.ts +1 -1
  485. package/dist/esm/serialization/json/serialize.d.ts.map +1 -1
  486. package/dist/esm/serialization/json/serialize.js +5 -360
  487. package/dist/esm/serialization/json/serialize.js.map +1 -1
  488. package/dist/esm/serialization/pluralize-config.d.ts.map +1 -0
  489. package/dist/esm/serialization/pluralize-config.js.map +1 -0
  490. package/dist/esm/serialization/symbol-map.d.ts +10 -0
  491. package/dist/esm/serialization/symbol-map.d.ts.map +1 -0
  492. package/dist/esm/serialization/symbol-map.js +40 -0
  493. package/dist/esm/serialization/symbol-map.js.map +1 -0
  494. package/dist/esm/shape/shape.d.ts +4 -4
  495. package/dist/esm/shape/shape.js +2 -2
  496. package/dist/esm/shape/shape.js.map +1 -1
  497. package/package.json +3 -2
  498. package/dist/browser/serialization/contract/generated/ast.d.ts.map +0 -1
  499. package/dist/browser/serialization/contract/generated/ast.js.map +0 -1
  500. package/dist/browser/serialization/contract/index.d.ts +0 -2
  501. package/dist/browser/serialization/contract/index.d.ts.map +0 -1
  502. package/dist/browser/serialization/contract/index.js.map +0 -1
  503. package/dist/browser/serialization/json/encoding.d.ts.map +0 -1
  504. package/dist/browser/serialization/json/encoding.js.map +0 -1
  505. package/dist/browser/serialization/json/expression.d.ts +0 -32
  506. package/dist/browser/serialization/json/expression.d.ts.map +0 -1
  507. package/dist/browser/serialization/json/expression.js +0 -494
  508. package/dist/browser/serialization/json/expression.js.map +0 -1
  509. package/dist/browser/serialization/json/lower.d.ts.map +0 -1
  510. package/dist/browser/serialization/json/lower.js.map +0 -1
  511. package/dist/browser/serialization/json/pluralize-config.d.ts.map +0 -1
  512. package/dist/browser/serialization/json/pluralize-config.js.map +0 -1
  513. package/dist/browser/serialization/json/util.d.ts.map +0 -1
  514. package/dist/browser/serialization/json/util.js.map +0 -1
  515. package/dist/browser/serialization/utils.d.ts +0 -3
  516. package/dist/browser/serialization/utils.d.ts.map +0 -1
  517. package/dist/browser/serialization/utils.js +0 -146
  518. package/dist/browser/serialization/utils.js.map +0 -1
  519. package/dist/commonjs/serialization/contract/generated/ast.d.ts.map +0 -1
  520. package/dist/commonjs/serialization/contract/index.d.ts +0 -2
  521. package/dist/commonjs/serialization/contract/index.d.ts.map +0 -1
  522. package/dist/commonjs/serialization/contract/index.js.map +0 -7
  523. package/dist/commonjs/serialization/json/encoding.d.ts.map +0 -1
  524. package/dist/commonjs/serialization/json/encoding.js.map +0 -7
  525. package/dist/commonjs/serialization/json/expression.d.ts +0 -32
  526. package/dist/commonjs/serialization/json/expression.d.ts.map +0 -1
  527. package/dist/commonjs/serialization/json/expression.js +0 -509
  528. package/dist/commonjs/serialization/json/expression.js.map +0 -7
  529. package/dist/commonjs/serialization/json/lower.d.ts.map +0 -1
  530. package/dist/commonjs/serialization/json/lower.js.map +0 -7
  531. package/dist/commonjs/serialization/json/pluralize-config.d.ts.map +0 -1
  532. package/dist/commonjs/serialization/json/util.d.ts.map +0 -1
  533. package/dist/commonjs/serialization/utils.d.ts +0 -3
  534. package/dist/commonjs/serialization/utils.d.ts.map +0 -1
  535. package/dist/commonjs/serialization/utils.js +0 -169
  536. package/dist/commonjs/serialization/utils.js.map +0 -7
  537. package/dist/esm/serialization/contract/generated/ast.d.ts.map +0 -1
  538. package/dist/esm/serialization/contract/generated/ast.js.map +0 -1
  539. package/dist/esm/serialization/contract/index.d.ts +0 -2
  540. package/dist/esm/serialization/contract/index.d.ts.map +0 -1
  541. package/dist/esm/serialization/contract/index.js.map +0 -1
  542. package/dist/esm/serialization/json/encoding.d.ts.map +0 -1
  543. package/dist/esm/serialization/json/encoding.js.map +0 -1
  544. package/dist/esm/serialization/json/expression.d.ts +0 -32
  545. package/dist/esm/serialization/json/expression.d.ts.map +0 -1
  546. package/dist/esm/serialization/json/expression.js +0 -494
  547. package/dist/esm/serialization/json/expression.js.map +0 -1
  548. package/dist/esm/serialization/json/lower.d.ts.map +0 -1
  549. package/dist/esm/serialization/json/lower.js.map +0 -1
  550. package/dist/esm/serialization/json/pluralize-config.d.ts.map +0 -1
  551. package/dist/esm/serialization/json/pluralize-config.js.map +0 -1
  552. package/dist/esm/serialization/json/util.d.ts.map +0 -1
  553. package/dist/esm/serialization/json/util.js.map +0 -1
  554. package/dist/esm/serialization/utils.d.ts +0 -3
  555. package/dist/esm/serialization/utils.d.ts.map +0 -1
  556. package/dist/esm/serialization/utils.js +0 -146
  557. package/dist/esm/serialization/utils.js.map +0 -1
  558. /package/dist/browser/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  559. /package/dist/browser/serialization/{contract → ast}/generated/ast.js +0 -0
  560. /package/dist/browser/serialization/{contract → ast}/index.js +0 -0
  561. /package/dist/browser/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  562. /package/dist/browser/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
  563. /package/dist/commonjs/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  564. /package/dist/commonjs/serialization/{contract → ast}/generated/ast.js +0 -0
  565. /package/dist/commonjs/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  566. /package/dist/commonjs/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
  567. /package/dist/esm/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  568. /package/dist/esm/serialization/{contract → ast}/generated/ast.js +0 -0
  569. /package/dist/esm/serialization/{contract → ast}/index.js +0 -0
  570. /package/dist/esm/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  571. /package/dist/esm/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
@@ -0,0 +1,241 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var reference_wiring_exports = {};
19
+ __export(reference_wiring_exports, {
20
+ wireDeploymentFiles: () => wireDeploymentFiles
21
+ });
22
+ module.exports = __toCommonJS(reference_wiring_exports);
23
+ var import_declaration_dependencies = require("../../ast/declaration-dependencies.js");
24
+ var import_expression_builder = require("../../ast/expression-builder.js");
25
+ var import_expression_rewriter = require("../../ast/expression-rewriter.js");
26
+ var import_file_dependencies = require("./file-dependencies.js");
27
+ var import_file_paths = require("./file-paths.js");
28
+ var import_resource_utils = require("../../ast/resource-utils.js");
29
+ function rewriteFileReferences(ast, resolve) {
30
+ const rewrite = (expression) => (0, import_expression_rewriter.rewriteExpressionReferences)(expression, resolve);
31
+ for (const [name, resource] of ast.resources) {
32
+ ast.resources.set(name, (0, import_expression_rewriter.rewriteDeclarationExpressions)(resource, rewrite));
33
+ }
34
+ for (const [name, variable] of ast.variables) {
35
+ ast.variables.set(name, (0, import_expression_rewriter.rewriteDeclarationExpressions)(variable, rewrite));
36
+ }
37
+ for (const [name, output] of ast.outputs) {
38
+ ast.outputs.set(name, (0, import_expression_rewriter.rewriteDeclarationExpressions)(output, rewrite));
39
+ }
40
+ for (const [name, parameter] of ast.parameters) {
41
+ ast.parameters.set(name, (0, import_expression_rewriter.rewriteDeclarationExpressions)(parameter, rewrite));
42
+ }
43
+ for (const [name, module2] of ast.modules) {
44
+ ast.modules.set(name, (0, import_expression_rewriter.rewriteDeclarationExpressions)(module2, rewrite));
45
+ }
46
+ }
47
+ function prepareModuleOutput(reference, prepared, ownerByResource, preferredName) {
48
+ const { stackAst, entryAssignedResources, entryExistingResourceCandidates } = prepared;
49
+ if (!stackAst.resources.has(reference.identifier)) {
50
+ throw new Error(`Unknown resource reference "${reference.identifier}".`);
51
+ }
52
+ const owner = ownerByResource.get(reference.identifier);
53
+ if (owner === void 0) {
54
+ if (!entryAssignedResources.has(reference.identifier) && !entryExistingResourceCandidates.has(reference.identifier)) {
55
+ throw new Error(`Missing deployment owner for "${reference.identifier}".`);
56
+ }
57
+ return reference.expression;
58
+ }
59
+ const key = JSON.stringify(reference.expression);
60
+ let outputName = owner.outputNames.get(key);
61
+ if (outputName === void 0) {
62
+ outputName = owner.namer.outputName(reference, preferredName);
63
+ owner.file.ast.outputs.set(outputName, {
64
+ bicepIdentifier: outputName,
65
+ valueType: { kind: "primitive-type", name: "any" },
66
+ value: reference.expression
67
+ });
68
+ owner.outputNames.set(key, outputName);
69
+ }
70
+ return (0, import_expression_builder.moduleOutputExpression)(owner.moduleName, outputName);
71
+ }
72
+ function wireDeploymentFiles(stackName, prepared) {
73
+ const { stackAst, entry, entryAssignedResources, modules, entryExistingResourceCandidates } = prepared;
74
+ const entryAst = entry.ast;
75
+ const ownerByResource = /* @__PURE__ */ new Map();
76
+ for (const owner of modules) {
77
+ for (const resource of owner.assignedResources) {
78
+ ownerByResource.set(resource, owner);
79
+ }
80
+ }
81
+ for (const owner of modules) {
82
+ const { file, assignedResources, moduleScope, moduleName, namer } = owner;
83
+ const { ast } = file;
84
+ const moduleDependencies = /* @__PURE__ */ new Set();
85
+ for (const name of assignedResources) {
86
+ const node = ast.resources.get(name);
87
+ const dependencies = (0, import_resource_utils.getResourceBody)(node.value).value.dependsOn;
88
+ if (dependencies === void 0) continue;
89
+ if (dependencies.kind !== "array") {
90
+ throw new Error(`Invalid dependsOn for resource "${name}".`);
91
+ }
92
+ const local = [];
93
+ for (const dependency of dependencies.items) {
94
+ if (dependency.kind !== "identifier") {
95
+ throw new Error(`Invalid dependsOn target for resource "${name}".`);
96
+ }
97
+ const identifier = dependency.id;
98
+ if (!stackAst.resources.has(identifier)) {
99
+ throw new Error(`Dependency is outside Stack "${stackName}".`);
100
+ }
101
+ const target = ownerByResource.get(identifier);
102
+ if (target !== void 0 && target !== owner) {
103
+ moduleDependencies.add(target.moduleName);
104
+ } else if (target === void 0 && entryAssignedResources.has(identifier)) {
105
+ moduleDependencies.add(identifier);
106
+ } else {
107
+ local.push({ kind: "identifier", id: identifier });
108
+ }
109
+ }
110
+ ast.resources.set(name, {
111
+ ...node,
112
+ value: (0, import_resource_utils.updateResourceBody)(node.value, (body) => {
113
+ const { dependsOn: _dependsOn, ...rest } = body.value;
114
+ return {
115
+ ...body,
116
+ value: {
117
+ ...rest,
118
+ ...local.length === 0 ? {} : { dependsOn: { kind: "array", items: local } }
119
+ }
120
+ };
121
+ })
122
+ });
123
+ }
124
+ const parameterAssignments = new Map(
125
+ [...ast.parameters.values()].map((parameter) => [
126
+ parameter.bicepIdentifier,
127
+ { kind: "identifier", id: parameter.bicepIdentifier }
128
+ ])
129
+ );
130
+ const generatedParameters = /* @__PURE__ */ new Map();
131
+ const parameterNames = /* @__PURE__ */ new Map();
132
+ rewriteFileReferences(ast, (reference) => {
133
+ if (reference.path.length === 0 || ast.resources.has(reference.identifier) || !stackAst.resources.has(reference.identifier)) {
134
+ return void 0;
135
+ }
136
+ const key = JSON.stringify(reference.expression);
137
+ let parameterName = parameterNames.get(key);
138
+ if (parameterName === void 0) {
139
+ parameterName = namer.parameterName(reference);
140
+ parameterNames.set(key, parameterName);
141
+ generatedParameters.set(parameterName, {
142
+ bicepIdentifier: parameterName,
143
+ valueType: { kind: "primitive-type", name: "any" }
144
+ });
145
+ parameterAssignments.set(
146
+ parameterName,
147
+ prepareModuleOutput(reference, prepared, ownerByResource, parameterName)
148
+ );
149
+ }
150
+ return { kind: "identifier", id: parameterName };
151
+ });
152
+ for (const [name, parameter] of generatedParameters) {
153
+ ast.parameters.set(name, parameter);
154
+ }
155
+ entryAst.modules.set(moduleName, {
156
+ bicepIdentifier: moduleName,
157
+ path: (0, import_file_paths.relativeImportPath)(entry.fileName, file.fileName),
158
+ value: {
159
+ kind: "object",
160
+ value: {
161
+ name: { kind: "string", value: moduleName },
162
+ ...moduleScope === void 0 ? {} : { scope: moduleScope },
163
+ ...parameterAssignments.size === 0 ? {} : {
164
+ params: {
165
+ kind: "object",
166
+ value: Object.fromEntries(parameterAssignments)
167
+ }
168
+ },
169
+ ...moduleDependencies.size === 0 ? {} : {
170
+ dependsOn: {
171
+ kind: "array",
172
+ items: [...moduleDependencies].map((id) => ({
173
+ kind: "identifier",
174
+ id
175
+ }))
176
+ }
177
+ }
178
+ }
179
+ }
180
+ });
181
+ }
182
+ (0, import_file_dependencies.resolveFileDependencies)(entryAst, stackAst, entryExistingResourceCandidates);
183
+ for (const [name, resource] of entryAst.resources) {
184
+ const dependencies = (0, import_resource_utils.getResourceBody)(resource.value).value.dependsOn;
185
+ if (dependencies === void 0) continue;
186
+ if (dependencies.kind !== "array") {
187
+ throw new Error(`Invalid dependsOn for resource "${name}".`);
188
+ }
189
+ const identifiers = /* @__PURE__ */ new Set();
190
+ for (const dependency of dependencies.items) {
191
+ if (dependency.kind !== "identifier") {
192
+ throw new Error(`Invalid dependsOn target for resource "${name}".`);
193
+ }
194
+ if (!stackAst.resources.has(dependency.id)) {
195
+ throw new Error(`Dependency is outside Stack "${stackName}".`);
196
+ }
197
+ identifiers.add(ownerByResource.get(dependency.id)?.moduleName ?? dependency.id);
198
+ }
199
+ entryAst.resources.set(name, {
200
+ ...resource,
201
+ value: (0, import_resource_utils.updateResourceBody)(resource.value, (body) => ({
202
+ ...body,
203
+ value: {
204
+ ...body.value,
205
+ dependsOn: {
206
+ kind: "array",
207
+ items: [...identifiers].map((id) => ({
208
+ kind: "identifier",
209
+ id
210
+ }))
211
+ }
212
+ }
213
+ }))
214
+ });
215
+ }
216
+ rewriteFileReferences(entryAst, (reference) => {
217
+ if (reference.path.length === 0 || entryAst.resources.has(reference.identifier) || !stackAst.resources.has(reference.identifier)) {
218
+ return void 0;
219
+ }
220
+ return prepareModuleOutput(reference, prepared, ownerByResource);
221
+ });
222
+ const entryDeclarations = new Map([
223
+ ...entryAst.resources,
224
+ ...entryAst.parameters,
225
+ ...entryAst.variables,
226
+ ...entryAst.modules
227
+ ]);
228
+ for (const [name, module2] of entryAst.modules) {
229
+ if ((0, import_declaration_dependencies.collectDependenciesForDeclaration)(module2, {
230
+ recursive: true,
231
+ declarations: entryDeclarations
232
+ }).has(name)) {
233
+ throw new Error(`Cyclic module dependency involving "${name}" in Stack "${stackName}".`);
234
+ }
235
+ }
236
+ }
237
+ // Annotate the CommonJS export names for ESM import in node:
238
+ 0 && (module.exports = {
239
+ wireDeploymentFiles
240
+ });
241
+ //# sourceMappingURL=reference-wiring.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/serialization/bicep/file-layout/reference-wiring.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { collectDependenciesForDeclaration } from \"../../ast/declaration-dependencies.js\";\nimport { moduleOutputExpression } from \"../../ast/expression-builder.js\";\nimport {\n rewriteDeclarationExpressions,\n rewriteExpressionReferences,\n type ExpressionReference,\n type ExpressionReferenceResolver,\n} from \"../../ast/expression-rewriter.js\";\nimport type { DeclarationNode, ExpressionNode, ParameterDeclarationNode } from \"../../ast/index.js\";\nimport { resolveFileDependencies } from \"./file-dependencies.js\";\nimport { relativeImportPath } from \"./file-paths.js\";\nimport type { BicepAst, PreparedDeploymentFiles, PreparedModule } from \"./file-preparation.js\";\nimport { getResourceBody, updateResourceBody } from \"../../ast/resource-utils.js\";\n\nfunction rewriteFileReferences(ast: BicepAst, resolve: ExpressionReferenceResolver): void {\n const rewrite = (expression: ExpressionNode): ExpressionNode =>\n rewriteExpressionReferences(expression, resolve);\n for (const [name, resource] of ast.resources) {\n ast.resources.set(name, rewriteDeclarationExpressions(resource, rewrite));\n }\n for (const [name, variable] of ast.variables) {\n ast.variables.set(name, rewriteDeclarationExpressions(variable, rewrite));\n }\n for (const [name, output] of ast.outputs) {\n ast.outputs.set(name, rewriteDeclarationExpressions(output, rewrite));\n }\n for (const [name, parameter] of ast.parameters) {\n ast.parameters.set(name, rewriteDeclarationExpressions(parameter, rewrite));\n }\n for (const [name, module] of ast.modules) {\n ast.modules.set(name, rewriteDeclarationExpressions(module, rewrite));\n }\n}\n\nfunction prepareModuleOutput(\n reference: ExpressionReference,\n prepared: PreparedDeploymentFiles,\n ownerByResource: ReadonlyMap<string, PreparedModule>,\n preferredName?: string,\n): ExpressionNode {\n const { stackAst, entryAssignedResources, entryExistingResourceCandidates } = prepared;\n if (!stackAst.resources.has(reference.identifier)) {\n throw new Error(`Unknown resource reference \"${reference.identifier}\".`);\n }\n const owner = ownerByResource.get(reference.identifier);\n if (owner === undefined) {\n if (\n !entryAssignedResources.has(reference.identifier) &&\n !entryExistingResourceCandidates.has(reference.identifier)\n ) {\n throw new Error(`Missing deployment owner for \"${reference.identifier}\".`);\n }\n return reference.expression;\n }\n const key = JSON.stringify(reference.expression);\n let outputName = owner.outputNames.get(key);\n if (outputName === undefined) {\n outputName = owner.namer.outputName(reference, preferredName);\n owner.file.ast.outputs.set(outputName, {\n bicepIdentifier: outputName,\n valueType: { kind: \"primitive-type\", name: \"any\" },\n value: reference.expression,\n });\n owner.outputNames.set(key, outputName);\n }\n return moduleOutputExpression(owner.moduleName, outputName);\n}\n\nexport function wireDeploymentFiles(stackName: string, prepared: PreparedDeploymentFiles): void {\n const { stackAst, entry, entryAssignedResources, modules, entryExistingResourceCandidates } =\n prepared;\n const entryAst = entry.ast;\n const ownerByResource = new Map<string, PreparedModule>();\n for (const owner of modules) {\n for (const resource of owner.assignedResources) {\n ownerByResource.set(resource, owner);\n }\n }\n\n for (const owner of modules) {\n const { file, assignedResources, moduleScope, moduleName, namer } = owner;\n const { ast } = file;\n const moduleDependencies = new Set<string>();\n for (const name of assignedResources) {\n const node = ast.resources.get(name)!;\n const dependencies = getResourceBody(node.value).value.dependsOn;\n if (dependencies === undefined) continue;\n if (dependencies.kind !== \"array\") {\n throw new Error(`Invalid dependsOn for resource \"${name}\".`);\n }\n const local: ExpressionNode[] = [];\n for (const dependency of dependencies.items) {\n if (dependency.kind !== \"identifier\") {\n throw new Error(`Invalid dependsOn target for resource \"${name}\".`);\n }\n const identifier = dependency.id;\n if (!stackAst.resources.has(identifier)) {\n throw new Error(`Dependency is outside Stack \"${stackName}\".`);\n }\n const target = ownerByResource.get(identifier);\n if (target !== undefined && target !== owner) {\n moduleDependencies.add(target.moduleName);\n } else if (target === undefined && entryAssignedResources.has(identifier)) {\n moduleDependencies.add(identifier);\n } else {\n local.push({ kind: \"identifier\", id: identifier });\n }\n }\n ast.resources.set(name, {\n ...node,\n value: updateResourceBody(node.value, (body) => {\n const { dependsOn: _dependsOn, ...rest } = body.value;\n return {\n ...body,\n value: {\n ...rest,\n ...(local.length === 0 ? {} : { dependsOn: { kind: \"array\", items: local } }),\n },\n };\n }),\n });\n }\n const parameterAssignments = new Map<string, ExpressionNode>(\n [...ast.parameters.values()].map((parameter) => [\n parameter.bicepIdentifier,\n { kind: \"identifier\", id: parameter.bicepIdentifier },\n ]),\n );\n const generatedParameters = new Map<string, ParameterDeclarationNode>();\n const parameterNames = new Map<string, string>();\n rewriteFileReferences(ast, (reference) => {\n if (\n reference.path.length === 0 ||\n ast.resources.has(reference.identifier) ||\n !stackAst.resources.has(reference.identifier)\n ) {\n return undefined;\n }\n const key = JSON.stringify(reference.expression);\n let parameterName = parameterNames.get(key);\n if (parameterName === undefined) {\n parameterName = namer.parameterName(reference);\n parameterNames.set(key, parameterName);\n generatedParameters.set(parameterName, {\n bicepIdentifier: parameterName,\n valueType: { kind: \"primitive-type\", name: \"any\" },\n });\n parameterAssignments.set(\n parameterName,\n prepareModuleOutput(reference, prepared, ownerByResource, parameterName),\n );\n }\n return { kind: \"identifier\", id: parameterName };\n });\n for (const [name, parameter] of generatedParameters) {\n ast.parameters.set(name, parameter);\n }\n entryAst.modules.set(moduleName, {\n bicepIdentifier: moduleName,\n path: relativeImportPath(entry.fileName, file.fileName),\n value: {\n kind: \"object\",\n value: {\n name: { kind: \"string\", value: moduleName },\n ...(moduleScope === undefined ? {} : { scope: moduleScope }),\n ...(parameterAssignments.size === 0\n ? {}\n : {\n params: {\n kind: \"object\",\n value: Object.fromEntries(parameterAssignments),\n },\n }),\n ...(moduleDependencies.size === 0\n ? {}\n : {\n dependsOn: {\n kind: \"array\",\n items: [...moduleDependencies].map((id) => ({\n kind: \"identifier\",\n id,\n })),\n },\n }),\n },\n },\n });\n }\n resolveFileDependencies(entryAst, stackAst, entryExistingResourceCandidates);\n for (const [name, resource] of entryAst.resources) {\n const dependencies = getResourceBody(resource.value).value.dependsOn;\n if (dependencies === undefined) continue;\n if (dependencies.kind !== \"array\") {\n throw new Error(`Invalid dependsOn for resource \"${name}\".`);\n }\n const identifiers = new Set<string>();\n for (const dependency of dependencies.items) {\n if (dependency.kind !== \"identifier\") {\n throw new Error(`Invalid dependsOn target for resource \"${name}\".`);\n }\n if (!stackAst.resources.has(dependency.id)) {\n throw new Error(`Dependency is outside Stack \"${stackName}\".`);\n }\n identifiers.add(ownerByResource.get(dependency.id)?.moduleName ?? dependency.id);\n }\n entryAst.resources.set(name, {\n ...resource,\n value: updateResourceBody(resource.value, (body) => ({\n ...body,\n value: {\n ...body.value,\n dependsOn: {\n kind: \"array\",\n items: [...identifiers].map((id) => ({\n kind: \"identifier\",\n id,\n })),\n },\n },\n })),\n });\n }\n rewriteFileReferences(entryAst, (reference) => {\n if (\n reference.path.length === 0 ||\n entryAst.resources.has(reference.identifier) ||\n !stackAst.resources.has(reference.identifier)\n ) {\n return undefined;\n }\n return prepareModuleOutput(reference, prepared, ownerByResource);\n });\n const entryDeclarations = new Map<string, DeclarationNode>([\n ...entryAst.resources,\n ...entryAst.parameters,\n ...entryAst.variables,\n ...entryAst.modules,\n ]);\n for (const [name, module] of entryAst.modules) {\n if (\n collectDependenciesForDeclaration(module, {\n recursive: true,\n declarations: entryDeclarations,\n }).has(name)\n ) {\n throw new Error(`Cyclic module dependency involving \"${name}\" in Stack \"${stackName}\".`);\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["module"]
7
+ }
@@ -0,0 +1,2 @@
1
+ export { renderBicepFiles, type RenderedBicepFile } from "./render.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/serialization/bicep/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var bicep_exports = {};
19
+ __export(bicep_exports, {
20
+ renderBicepFiles: () => import_render.renderBicepFiles
21
+ });
22
+ module.exports = __toCommonJS(bicep_exports);
23
+ var import_render = require("./render.js");
24
+ // Annotate the CommonJS export names for ESM import in node:
25
+ 0 && (module.exports = {
26
+ renderBicepFiles
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/serialization/bicep/index.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { renderBicepFiles, type RenderedBicepFile } from \"./render.js\";\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAAyD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import type { InfraNode } from "../ast/index.js";
2
+ import { Stack } from "../../constructs/stack.js";
3
+ /** A generated Bicep source file and its relative output path. */
4
+ export interface RenderedBicepFile {
5
+ readonly path: string;
6
+ readonly contents: string;
7
+ }
8
+ /** Render authored Stacks into Bicep files without writing or deploying them. */
9
+ export declare function renderBicepFiles(input: Stack | readonly Stack[]): readonly RenderedBicepFile[];
10
+ export declare function renderBicepFile(file: InfraNode): RenderedBicepFile;
11
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/serialization/bicep/render.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAIV,SAAS,EAOV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AA0BlD,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,EAAE,GAAG,SAAS,iBAAiB,EAAE,CAmB9F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAiBlE"}
@@ -0,0 +1,312 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var render_exports = {};
19
+ __export(render_exports, {
20
+ renderBicepFile: () => renderBicepFile,
21
+ renderBicepFiles: () => renderBicepFiles
22
+ });
23
+ module.exports = __toCommonJS(render_exports);
24
+ var import_stack = require("../../constructs/stack.js");
25
+ var import_build_bicep_files = require("./file-layout/build-bicep-files.js");
26
+ const PRECEDENCE = {
27
+ "??": 1,
28
+ "||": 2,
29
+ "&&": 3,
30
+ "==": 4,
31
+ "!=": 4,
32
+ "=~": 4,
33
+ "!~": 4,
34
+ "<": 5,
35
+ "<=": 5,
36
+ ">": 5,
37
+ ">=": 5,
38
+ "+": 6,
39
+ "-": 6,
40
+ "*": 7,
41
+ "/": 7,
42
+ "%": 7
43
+ };
44
+ const TERNARY_CONDITION_PRECEDENCE = 0.5;
45
+ const ACCESS_PRECEDENCE = 9;
46
+ function renderBicepFiles(input) {
47
+ const stacks = Array.isArray(input) ? input : [input];
48
+ if (stacks.length === 0) return [];
49
+ const names = /* @__PURE__ */ new Set();
50
+ const files = stacks.flatMap((stack) => {
51
+ if (!(stack instanceof import_stack.Stack)) {
52
+ throw new Error(
53
+ "Bicep generation requires authored Stacks. Restore supported JSON definitions with deserialize() first."
54
+ );
55
+ }
56
+ return (0, import_build_bicep_files.buildBicepFiles)(stack).map((file) => renderBicepFile(file));
57
+ });
58
+ for (const file of files) {
59
+ if (names.has(file.path)) {
60
+ throw new Error(`Duplicate Bicep file path "${file.path}". Give Stacks distinct names.`);
61
+ }
62
+ names.add(file.path);
63
+ }
64
+ return files;
65
+ }
66
+ function renderBicepFile(file) {
67
+ const sections = [];
68
+ if (file.targetScope !== void 0) {
69
+ sections.push(`targetScope = ${renderStringLiteral(file.targetScope)}`);
70
+ }
71
+ sections.push(...renderNamedDeclarations(file.parameters, renderParameter));
72
+ sections.push(...renderNamedDeclarations(file.variables, renderVariable));
73
+ sections.push(...renderNamedDeclarations(file.resources, renderResource));
74
+ sections.push(...renderNamedDeclarations(file.modules, renderModule));
75
+ sections.push(...renderNamedDeclarations(file.outputs, renderOutput));
76
+ return {
77
+ path: file.fileName,
78
+ contents: `${sections.filter((section) => section.length > 0).join("\n\n")}
79
+ `
80
+ };
81
+ }
82
+ function renderNamedDeclarations(record, render) {
83
+ if (record === void 0) {
84
+ return [];
85
+ }
86
+ return Object.values(record).map((value) => render(value.bicepIdentifier, value));
87
+ }
88
+ function renderDecorators(decorators) {
89
+ if (decorators === void 0) {
90
+ return "";
91
+ }
92
+ const lines = [];
93
+ if (decorators.description !== void 0) {
94
+ lines.push(`@description(${renderStringLiteral(decorators.description)})`);
95
+ }
96
+ if (decorators.secure) lines.push("@secure()");
97
+ if (decorators.minValue !== void 0) {
98
+ lines.push(`@minValue(${decorators.minValue})`);
99
+ }
100
+ if (decorators.maxValue !== void 0) {
101
+ lines.push(`@maxValue(${decorators.maxValue})`);
102
+ }
103
+ if (decorators.minLength !== void 0) {
104
+ lines.push(`@minLength(${decorators.minLength})`);
105
+ }
106
+ if (decorators.maxLength !== void 0) {
107
+ lines.push(`@maxLength(${decorators.maxLength})`);
108
+ }
109
+ if (decorators.metadata !== void 0) {
110
+ const obj = { kind: "object", value: decorators.metadata };
111
+ lines.push(`@metadata(${renderExpression(obj)})`);
112
+ }
113
+ if (decorators.allowed !== void 0) {
114
+ const arr = {
115
+ kind: "array",
116
+ items: [...decorators.allowed]
117
+ };
118
+ lines.push(`@allowed(${renderExpression(arr)})`);
119
+ }
120
+ if (decorators.discriminator !== void 0) {
121
+ lines.push(`@discriminator(${renderStringLiteral(decorators.discriminator)})`);
122
+ }
123
+ if (decorators.sealed) lines.push("@sealed()");
124
+ if (decorators.export) lines.push("@export()");
125
+ if (decorators.batchSize !== void 0) {
126
+ lines.push(`@batchSize(${decorators.batchSize})`);
127
+ }
128
+ return lines.length > 0 ? `${lines.join("\n")}
129
+ ` : "";
130
+ }
131
+ function renderParameter(name, node) {
132
+ return `${renderDecorators(node.decorators)}param ${name} ${renderType(node.valueType)}${node.defaultValue === void 0 ? "" : ` = ${renderExpression(node.defaultValue)}`}`;
133
+ }
134
+ function renderVariable(name, node) {
135
+ return `${renderDecorators(node.decorators)}var ${name} = ${renderExpression(node.value)}`;
136
+ }
137
+ function renderOutput(name, node) {
138
+ return `${renderDecorators(node.decorators)}output ${name} ${renderType(node.valueType)} = ${renderExpression(node.value)}`;
139
+ }
140
+ function renderResource(name, node) {
141
+ return `${renderDecorators(node.decorators)}resource ${name} ${renderStringLiteral(`${node.type}@${node.apiVersion}`)}${node.existing ? " existing" : ""} = ${renderDeclarableBody(node.value)}`;
142
+ }
143
+ function renderModule(name, node) {
144
+ return `${renderDecorators(node.decorators)}module ${name} ${renderStringLiteral(node.path)} = ${renderDeclarableBody(node.value)}`;
145
+ }
146
+ function renderDeclarableBody(node) {
147
+ switch (node.kind) {
148
+ case "object":
149
+ return renderExpression(node);
150
+ case "if-condition":
151
+ return `if (${renderExpression(node.condition)}) ${renderExpression(node.body)}`;
152
+ case "for-expression":
153
+ return renderExpression(node);
154
+ default:
155
+ return assertNever(node);
156
+ }
157
+ }
158
+ function renderExpression(node, parentPrecedence) {
159
+ switch (node.kind) {
160
+ case "null":
161
+ return "null";
162
+ case "boolean":
163
+ return node.value ? "true" : "false";
164
+ case "integer":
165
+ return node.value;
166
+ case "string":
167
+ return renderStringLiteral(node.value);
168
+ case "array":
169
+ if (node.items.length === 0) {
170
+ return "[]";
171
+ }
172
+ return `[
173
+ ${indent(node.items.map((item) => renderExpression(item)).join("\n"))}
174
+ ]`;
175
+ case "object": {
176
+ const entries = Object.entries(node.value);
177
+ if (entries.length === 0) {
178
+ return "{}";
179
+ }
180
+ return `{
181
+ ${indent(entries.map(([key, value]) => `${renderPropertyKey(key)}: ${renderExpression(value)}`).join("\n"))}
182
+ }`;
183
+ }
184
+ case "identifier":
185
+ return node.id;
186
+ case "function-call": {
187
+ if (typeof node.target === "string" && node.target === "concat" && node.args.length > 0) {
188
+ const inner = node.args.map(
189
+ (arg) => arg.kind === "string" ? escapeStringContent(arg.value) : `\${${renderExpression(arg)}}`
190
+ ).join("");
191
+ return `'${inner}'`;
192
+ }
193
+ const target = typeof node.target === "string" ? node.target : renderExpression(node.target);
194
+ return `${target}(${node.args.map((arg) => renderExpression(arg)).join(", ")})`;
195
+ }
196
+ case "instance-function-call":
197
+ return `${renderExpression(node.base, ACCESS_PRECEDENCE)}.${node.name}(${node.args.map((arg) => renderExpression(arg)).join(", ")})`;
198
+ case "property-access":
199
+ return `${renderExpression(node.base, ACCESS_PRECEDENCE)}${node.nullish ? ".?" : "."}${node.property}`;
200
+ case "array-access":
201
+ return `${renderExpression(node.base, ACCESS_PRECEDENCE)}[${node.nullish ? "?" : ""}${node.fromEnd ? "^" : ""}${renderExpression(node.index)}]`;
202
+ case "binary-operation": {
203
+ const prec = PRECEDENCE[node.operator] ?? 0;
204
+ const inner = `${renderExpression(node.left, prec)} ${node.operator} ${renderExpression(node.right, prec + 0.5)}`;
205
+ return parentPrecedence !== void 0 && prec < parentPrecedence ? `(${inner})` : inner;
206
+ }
207
+ case "unary-operation": {
208
+ const UNARY_PREC = 8;
209
+ const inner = `${node.operator}${renderExpression(node.argument, UNARY_PREC)}`;
210
+ return parentPrecedence !== void 0 && parentPrecedence > UNARY_PREC ? `(${inner})` : inner;
211
+ }
212
+ case "ternary-operation": {
213
+ const inner = `${renderExpression(node.condition, TERNARY_CONDITION_PRECEDENCE)} ? ${renderExpression(node.trueValue)} : ${renderExpression(node.falseValue)}`;
214
+ return parentPrecedence !== void 0 && parentPrecedence > 0 ? `(${inner})` : inner;
215
+ }
216
+ case "if-condition":
217
+ return `if (${renderExpression(node.condition)}) ${renderExpression(node.body)}`;
218
+ case "for-expression": {
219
+ const variables = node.indexVariable === void 0 ? node.itemVariable : `(${node.itemVariable}, ${node.indexVariable})`;
220
+ return `[for ${variables} in ${renderExpression(node.collection)}: ${renderExpression(node.body)}]`;
221
+ }
222
+ case "interpolated-string": {
223
+ const inner = node.segments.map(
224
+ (seg) => seg.kind === "string" ? escapeStringContent(seg.value) : `\${${renderExpression(seg)}}`
225
+ ).join("");
226
+ return `'${inner}'`;
227
+ }
228
+ default:
229
+ return assertNever(node);
230
+ }
231
+ }
232
+ function renderType(node) {
233
+ switch (node.kind) {
234
+ case "primitive-type":
235
+ return node.name;
236
+ case "type-reference":
237
+ return node.name;
238
+ case "string-type-literal":
239
+ return renderStringLiteral(node.value);
240
+ case "integer-type-literal":
241
+ return node.value;
242
+ case "boolean-type-literal":
243
+ return node.value ? "true" : "false";
244
+ case "null-type-literal":
245
+ return "null";
246
+ case "array-type":
247
+ return `${needsParenthesizedArrayItem(node.item) ? `(${renderType(node.item)})` : renderType(node.item)}[]`;
248
+ case "object-type-property":
249
+ return `${renderDecorators(node.decorators)}${renderPropertyKey(node.key)}${node.optional ? "?" : ""}: ${renderType(node.valueType)}`;
250
+ case "object-type-additional-properties":
251
+ return `${renderDecorators(node.decorators)}*: ${renderType(node.valueType)}`;
252
+ case "object-type": {
253
+ const members = [
254
+ ...node.properties.map((property) => renderType(property)),
255
+ ...node.additionalProperties === void 0 ? [] : [renderType(node.additionalProperties)]
256
+ ];
257
+ if (members.length === 0) {
258
+ return "{}";
259
+ }
260
+ return `{
261
+ ${indent(members.join("\n"))}
262
+ }`;
263
+ }
264
+ case "union-type-member":
265
+ return renderType(node.valueType);
266
+ case "union-type":
267
+ return node.members.map((member) => renderType(member.valueType)).join(" | ");
268
+ case "nullable-type":
269
+ return `${renderType(node.base)}?`;
270
+ case "parameterized-type-argument":
271
+ return renderType(node.valueType);
272
+ case "parameterized-type-instantiation":
273
+ return `${renderType(node.base)}<${node.args.map((arg) => renderType(arg.valueType)).join(", ")}>`;
274
+ default:
275
+ return assertNever(node);
276
+ }
277
+ }
278
+ function needsParenthesizedArrayItem(node) {
279
+ switch (node.kind) {
280
+ case "primitive-type":
281
+ case "type-reference":
282
+ case "parameterized-type-instantiation":
283
+ return false;
284
+ default:
285
+ return true;
286
+ }
287
+ }
288
+ function renderPropertyKey(key) {
289
+ return /^[A-Za-z_][A-Za-z0-9_]*$/u.test(key) ? key : renderStringLiteral(key);
290
+ }
291
+ function renderStringLiteral(value) {
292
+ return `'${escapeStringContent(value)}'`;
293
+ }
294
+ function escapeStringContent(value) {
295
+ return value.replace(/\\/g, "\\\\").replace(/'/g, "\\'").replace(/\$\{/g, "\\${").replace(/\r/g, "\\r").replace(/\n/g, "\\n").replace(/\t/g, "\\t");
296
+ }
297
+ function indent(value, level = 1) {
298
+ const prefix = " ".repeat(level);
299
+ return value.split("\n").map((line) => `${prefix}${line}`).join("\n");
300
+ }
301
+ function unsupported(kind) {
302
+ return new Error(`Unsupported Bicep renderer node kind: ${kind}.`);
303
+ }
304
+ function assertNever(value) {
305
+ throw unsupported(value.kind ?? "unknown");
306
+ }
307
+ // Annotate the CommonJS export names for ESM import in node:
308
+ 0 && (module.exports = {
309
+ renderBicepFile,
310
+ renderBicepFiles
311
+ });
312
+ //# sourceMappingURL=render.js.map