@azure/provisioning-core 0.1.0-alpha.20261026.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 (795) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +3 -3
  3. package/README.md +61 -90
  4. package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  5. package/dist/{constructs → browser/constructs}/built-in-resources/resource-group.js +1 -2
  6. package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -0
  7. package/dist/browser/constructs/output.d.ts.map +1 -0
  8. package/dist/{constructs → browser/constructs}/output.js +1 -2
  9. package/dist/browser/constructs/output.js.map +1 -0
  10. package/dist/{constructs → browser/constructs}/parameter.d.ts.map +1 -1
  11. package/dist/browser/constructs/parameter.js.map +1 -0
  12. package/dist/browser/constructs/provisioning-component.d.ts.map +1 -0
  13. package/dist/browser/constructs/provisioning-component.js.map +1 -0
  14. package/dist/browser/constructs/resource/resource-proxy.d.ts.map +1 -0
  15. package/dist/{constructs → browser/constructs}/resource/resource-proxy.js +7 -13
  16. package/dist/browser/constructs/resource/resource-proxy.js.map +1 -0
  17. package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -0
  18. package/dist/{constructs → browser/constructs}/resource/resource-query.js +2 -4
  19. package/dist/browser/constructs/resource/resource-query.js.map +1 -0
  20. package/dist/browser/constructs/resource/resource-registry.d.ts.map +1 -0
  21. package/dist/{constructs → browser/constructs}/resource/resource-registry.js +1 -1
  22. package/dist/browser/constructs/resource/resource-registry.js.map +1 -0
  23. package/dist/browser/constructs/resource/resource-relationships.d.ts.map +1 -0
  24. package/dist/{constructs → browser/constructs}/resource/resource-relationships.js +3 -6
  25. package/dist/browser/constructs/resource/resource-relationships.js.map +1 -0
  26. package/dist/browser/constructs/resource/resource-type-registry.d.ts.map +1 -0
  27. package/dist/browser/constructs/resource/resource-type-registry.js.map +1 -0
  28. package/dist/browser/constructs/resource/resource-utils.d.ts.map +1 -0
  29. package/dist/{constructs → browser/constructs}/resource/resource-utils.js +1 -3
  30. package/dist/browser/constructs/resource/resource-utils.js.map +1 -0
  31. package/dist/browser/constructs/resource/resource.d.ts.map +1 -0
  32. package/dist/{constructs → browser/constructs}/resource/resource.js +8 -12
  33. package/dist/browser/constructs/resource/resource.js.map +1 -0
  34. package/dist/browser/constructs/stack.d.ts.map +1 -0
  35. package/dist/browser/constructs/stack.js.map +1 -0
  36. package/dist/browser/constructs/variable.d.ts.map +1 -0
  37. package/dist/browser/constructs/variable.js.map +1 -0
  38. package/dist/browser/deployment-context/deployment-context.d.ts.map +1 -0
  39. package/dist/browser/deployment-context/deployment-context.js.map +1 -0
  40. package/dist/browser/expression/ast-nodes.d.ts.map +1 -0
  41. package/dist/{expression → browser/expression}/ast-nodes.js +2 -4
  42. package/dist/browser/expression/ast-nodes.js.map +1 -0
  43. package/dist/browser/expression/expressions.d.ts.map +1 -0
  44. package/dist/{expression → browser/expression}/expressions.js +1 -1
  45. package/dist/browser/expression/expressions.js.map +1 -0
  46. package/dist/browser/expression/utils.d.ts.map +1 -0
  47. package/dist/browser/expression/utils.js.map +1 -0
  48. package/dist/browser/fn.d.ts.map +1 -0
  49. package/dist/{fn.js → browser/fn.js} +6 -25
  50. package/dist/browser/fn.js.map +1 -0
  51. package/dist/browser/index.d.ts.map +1 -0
  52. package/dist/{index.js → browser/index.js} +0 -2
  53. package/dist/browser/index.js.map +1 -0
  54. package/dist/{internal.d.ts → browser/internal.d.ts} +1 -1
  55. package/dist/browser/internal.d.ts.map +1 -0
  56. package/dist/{internal.js → browser/internal.js} +1 -1
  57. package/dist/browser/internal.js.map +1 -0
  58. package/dist/browser/naming/name-validation.d.ts.map +1 -0
  59. package/dist/{naming → browser/naming}/name-validation.js +1 -1
  60. package/dist/browser/naming/name-validation.js.map +1 -0
  61. package/dist/browser/naming/naming-policy.d.ts.map +1 -0
  62. package/dist/{naming → browser/naming}/naming-policy.js +3 -5
  63. package/dist/browser/naming/naming-policy.js.map +1 -0
  64. package/dist/browser/naming/naming-rules.d.ts.map +1 -0
  65. package/dist/browser/naming/naming-rules.js.map +1 -0
  66. package/dist/browser/package.json +8 -0
  67. package/dist/browser/serialization/arm-object-conversion.d.ts.map +1 -0
  68. package/dist/{serialization → browser/serialization}/arm-object-conversion.js +9 -18
  69. package/dist/browser/serialization/arm-object-conversion.js.map +1 -0
  70. package/dist/browser/serialization/ast/declaration-builder.d.ts.map +1 -0
  71. package/dist/{serialization → browser/serialization}/ast/declaration-builder.js +5 -12
  72. package/dist/browser/serialization/ast/declaration-builder.js.map +1 -0
  73. package/dist/browser/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  74. package/dist/{serialization → browser/serialization}/ast/declaration-dependencies.js +1 -2
  75. package/dist/browser/serialization/ast/declaration-dependencies.js.map +1 -0
  76. package/dist/browser/serialization/ast/expression-builder.d.ts.map +1 -0
  77. package/dist/{serialization → browser/serialization}/ast/expression-builder.js +2 -4
  78. package/dist/browser/serialization/ast/expression-builder.js.map +1 -0
  79. package/dist/browser/serialization/ast/expression-restorer.d.ts.map +1 -0
  80. package/dist/{serialization → browser/serialization}/ast/expression-restorer.js +11 -4
  81. package/dist/browser/serialization/ast/expression-restorer.js.map +1 -0
  82. package/dist/browser/serialization/ast/expression-rewriter.d.ts.map +1 -0
  83. package/dist/{serialization → browser/serialization}/ast/expression-rewriter.js +12 -34
  84. package/dist/browser/serialization/ast/expression-rewriter.js.map +1 -0
  85. package/dist/browser/serialization/ast/expression-walker.d.ts.map +1 -0
  86. package/dist/browser/serialization/ast/expression-walker.js.map +1 -0
  87. package/dist/{serialization → browser/serialization}/ast/generated/ast.d.ts.map +1 -1
  88. package/dist/browser/serialization/ast/generated/ast.js.map +1 -0
  89. package/dist/browser/serialization/ast/index.d.ts.map +1 -0
  90. package/dist/browser/serialization/ast/index.js.map +1 -0
  91. package/dist/browser/serialization/ast/resource-utils.d.ts.map +1 -0
  92. package/dist/browser/serialization/ast/resource-utils.js.map +1 -0
  93. package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  94. package/dist/{serialization → browser/serialization}/bicep/file-layout/authored-context.js +1 -2
  95. package/dist/browser/serialization/bicep/file-layout/authored-context.js.map +1 -0
  96. package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  97. package/dist/{serialization → browser/serialization}/bicep/file-layout/bicep-namer.js +11 -20
  98. package/dist/browser/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  99. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  100. package/dist/{serialization → browser/serialization}/bicep/file-layout/build-bicep-files.js +7 -20
  101. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  102. package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  103. package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-planning.js +2 -3
  104. package/dist/browser/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  105. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  106. package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-resource-utils.js +5 -9
  107. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  108. package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  109. package/dist/{serialization → browser/serialization}/bicep/file-layout/file-dependencies.js +2 -7
  110. package/dist/browser/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  111. package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  112. package/dist/{serialization → browser/serialization}/bicep/file-layout/file-paths.js +1 -3
  113. package/dist/browser/serialization/bicep/file-layout/file-paths.js.map +1 -0
  114. package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  115. package/dist/{serialization → browser/serialization}/bicep/file-layout/file-preparation.js +8 -16
  116. package/dist/browser/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  117. package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  118. package/dist/{serialization → browser/serialization}/bicep/file-layout/reference-wiring.js +4 -7
  119. package/dist/browser/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  120. package/dist/browser/serialization/bicep/index.d.ts.map +1 -0
  121. package/dist/browser/serialization/bicep/index.js.map +1 -0
  122. package/dist/browser/serialization/bicep/render.d.ts.map +1 -0
  123. package/dist/{serialization → browser/serialization}/bicep/render.js +18 -34
  124. package/dist/browser/serialization/bicep/render.js.map +1 -0
  125. package/dist/browser/serialization/encoding.d.ts.map +1 -0
  126. package/dist/{serialization → browser/serialization}/encoding.js +2 -6
  127. package/dist/browser/serialization/encoding.js.map +1 -0
  128. package/dist/browser/serialization/identifiers.d.ts.map +1 -0
  129. package/dist/browser/serialization/identifiers.js.map +1 -0
  130. package/dist/browser/serialization/index.d.ts.map +1 -0
  131. package/dist/browser/serialization/index.js.map +1 -0
  132. package/dist/browser/serialization/json/deserialize.d.ts.map +1 -0
  133. package/dist/{serialization → browser/serialization}/json/deserialize.js +23 -64
  134. package/dist/browser/serialization/json/deserialize.js.map +1 -0
  135. package/dist/browser/serialization/json/serialize.d.ts.map +1 -0
  136. package/dist/{serialization → browser/serialization}/json/serialize.js +1 -3
  137. package/dist/browser/serialization/json/serialize.js.map +1 -0
  138. package/dist/browser/serialization/pluralize-config.d.ts.map +1 -0
  139. package/dist/browser/serialization/pluralize-config.js.map +1 -0
  140. package/dist/browser/serialization/symbol-map.d.ts.map +1 -0
  141. package/dist/browser/serialization/symbol-map.js.map +1 -0
  142. package/dist/browser/shape/shape-registry.d.ts.map +1 -0
  143. package/dist/browser/shape/shape-registry.js.map +1 -0
  144. package/dist/browser/shape/shape.d.ts.map +1 -0
  145. package/dist/{shape → browser/shape}/shape.js +6 -7
  146. package/dist/browser/shape/shape.js.map +1 -0
  147. package/dist/browser/shape/value-encoding.d.ts.map +1 -0
  148. package/dist/browser/shape/value-encoding.js.map +1 -0
  149. package/dist/browser/types.d.ts.map +1 -0
  150. package/dist/browser/types.js.map +1 -0
  151. package/dist/{util.d.ts → browser/util.d.ts} +1 -1
  152. package/dist/browser/util.d.ts.map +1 -0
  153. package/dist/{util.js → browser/util.js} +1 -5
  154. package/dist/browser/util.js.map +1 -0
  155. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +56 -0
  156. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  157. package/dist/commonjs/constructs/built-in-resources/resource-group.js +135 -0
  158. package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +7 -0
  159. package/dist/commonjs/constructs/output.d.ts +80 -0
  160. package/dist/commonjs/constructs/output.d.ts.map +1 -0
  161. package/dist/commonjs/constructs/output.js +75 -0
  162. package/dist/commonjs/constructs/output.js.map +7 -0
  163. package/dist/commonjs/constructs/parameter.d.ts +77 -0
  164. package/dist/commonjs/constructs/parameter.d.ts.map +1 -0
  165. package/dist/commonjs/constructs/parameter.js +95 -0
  166. package/dist/commonjs/constructs/parameter.js.map +7 -0
  167. package/dist/commonjs/constructs/provisioning-component.d.ts +91 -0
  168. package/dist/commonjs/constructs/provisioning-component.d.ts.map +1 -0
  169. package/dist/commonjs/constructs/provisioning-component.js +130 -0
  170. package/dist/commonjs/constructs/provisioning-component.js.map +7 -0
  171. package/dist/commonjs/constructs/resource/resource-proxy.d.ts +134 -0
  172. package/dist/commonjs/constructs/resource/resource-proxy.d.ts.map +1 -0
  173. package/dist/commonjs/constructs/resource/resource-proxy.js +456 -0
  174. package/dist/commonjs/constructs/resource/resource-proxy.js.map +7 -0
  175. package/dist/commonjs/constructs/resource/resource-query.d.ts +25 -0
  176. package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -0
  177. package/dist/commonjs/constructs/resource/resource-query.js +79 -0
  178. package/dist/commonjs/constructs/resource/resource-query.js.map +7 -0
  179. package/dist/commonjs/constructs/resource/resource-registry.d.ts +99 -0
  180. package/dist/commonjs/constructs/resource/resource-registry.d.ts.map +1 -0
  181. package/dist/commonjs/constructs/resource/resource-registry.js +49 -0
  182. package/dist/commonjs/constructs/resource/resource-registry.js.map +7 -0
  183. package/dist/commonjs/constructs/resource/resource-relationships.d.ts +9 -0
  184. package/dist/commonjs/constructs/resource/resource-relationships.d.ts.map +1 -0
  185. package/dist/commonjs/constructs/resource/resource-relationships.js +59 -0
  186. package/dist/commonjs/constructs/resource/resource-relationships.js.map +7 -0
  187. package/dist/commonjs/constructs/resource/resource-type-registry.d.ts +46 -0
  188. package/dist/commonjs/constructs/resource/resource-type-registry.d.ts.map +1 -0
  189. package/dist/commonjs/constructs/resource/resource-type-registry.js +178 -0
  190. package/dist/commonjs/constructs/resource/resource-type-registry.js.map +7 -0
  191. package/dist/commonjs/constructs/resource/resource-utils.d.ts +60 -0
  192. package/dist/commonjs/constructs/resource/resource-utils.d.ts.map +1 -0
  193. package/dist/commonjs/constructs/resource/resource-utils.js +51 -0
  194. package/dist/commonjs/constructs/resource/resource-utils.js.map +7 -0
  195. package/dist/commonjs/constructs/resource/resource.d.ts +454 -0
  196. package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -0
  197. package/dist/commonjs/constructs/resource/resource.js +477 -0
  198. package/dist/commonjs/constructs/resource/resource.js.map +7 -0
  199. package/dist/commonjs/constructs/stack.d.ts +96 -0
  200. package/dist/commonjs/constructs/stack.d.ts.map +1 -0
  201. package/dist/commonjs/constructs/stack.js +101 -0
  202. package/dist/commonjs/constructs/stack.js.map +7 -0
  203. package/dist/commonjs/constructs/variable.d.ts +63 -0
  204. package/dist/commonjs/constructs/variable.d.ts.map +1 -0
  205. package/dist/commonjs/constructs/variable.js +85 -0
  206. package/dist/commonjs/constructs/variable.js.map +7 -0
  207. package/dist/commonjs/deployment-context/deployment-context.d.ts +27 -0
  208. package/dist/commonjs/deployment-context/deployment-context.d.ts.map +1 -0
  209. package/dist/commonjs/deployment-context/deployment-context.js +16 -0
  210. package/dist/commonjs/deployment-context/deployment-context.js.map +7 -0
  211. package/dist/commonjs/expression/ast-nodes.d.ts +100 -0
  212. package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -0
  213. package/dist/commonjs/expression/ast-nodes.js +152 -0
  214. package/dist/commonjs/expression/ast-nodes.js.map +7 -0
  215. package/dist/commonjs/expression/expressions.d.ts +157 -0
  216. package/dist/commonjs/expression/expressions.d.ts.map +1 -0
  217. package/dist/commonjs/expression/expressions.js +171 -0
  218. package/dist/commonjs/expression/expressions.js.map +7 -0
  219. package/dist/commonjs/expression/utils.d.ts +5 -0
  220. package/dist/commonjs/expression/utils.d.ts.map +1 -0
  221. package/dist/commonjs/expression/utils.js +43 -0
  222. package/dist/commonjs/expression/utils.js.map +7 -0
  223. package/dist/commonjs/fn.d.ts +194 -0
  224. package/dist/commonjs/fn.d.ts.map +1 -0
  225. package/dist/commonjs/fn.js +382 -0
  226. package/dist/commonjs/fn.js.map +7 -0
  227. package/dist/commonjs/index.d.ts +25 -0
  228. package/dist/commonjs/index.d.ts.map +1 -0
  229. package/dist/commonjs/index.js +93 -0
  230. package/dist/commonjs/index.js.map +7 -0
  231. package/dist/commonjs/internal.d.ts +10 -0
  232. package/dist/commonjs/internal.d.ts.map +1 -0
  233. package/dist/commonjs/internal.js +82 -0
  234. package/dist/commonjs/internal.js.map +7 -0
  235. package/dist/commonjs/naming/name-validation.d.ts +15 -0
  236. package/dist/commonjs/naming/name-validation.d.ts.map +1 -0
  237. package/dist/commonjs/naming/name-validation.js +74 -0
  238. package/dist/commonjs/naming/name-validation.js.map +7 -0
  239. package/dist/commonjs/naming/naming-policy.d.ts +56 -0
  240. package/dist/commonjs/naming/naming-policy.d.ts.map +1 -0
  241. package/dist/commonjs/naming/naming-policy.js +209 -0
  242. package/dist/commonjs/naming/naming-policy.js.map +7 -0
  243. package/dist/commonjs/naming/naming-rules.d.ts +16 -0
  244. package/dist/commonjs/naming/naming-rules.d.ts.map +1 -0
  245. package/dist/commonjs/naming/naming-rules.js +32 -0
  246. package/dist/commonjs/naming/naming-rules.js.map +7 -0
  247. package/dist/commonjs/package.json +8 -0
  248. package/dist/commonjs/serialization/arm-object-conversion.d.ts +41 -0
  249. package/dist/commonjs/serialization/arm-object-conversion.d.ts.map +1 -0
  250. package/dist/commonjs/serialization/arm-object-conversion.js +272 -0
  251. package/dist/commonjs/serialization/arm-object-conversion.js.map +7 -0
  252. package/dist/commonjs/serialization/ast/declaration-builder.d.ts +10 -0
  253. package/dist/commonjs/serialization/ast/declaration-builder.d.ts.map +1 -0
  254. package/dist/commonjs/serialization/ast/declaration-builder.js +274 -0
  255. package/dist/commonjs/serialization/ast/declaration-builder.js.map +7 -0
  256. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts +18 -0
  257. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  258. package/dist/commonjs/serialization/ast/declaration-dependencies.js +109 -0
  259. package/dist/commonjs/serialization/ast/declaration-dependencies.js.map +7 -0
  260. package/dist/commonjs/serialization/ast/expression-builder.d.ts +14 -0
  261. package/dist/commonjs/serialization/ast/expression-builder.d.ts.map +1 -0
  262. package/dist/commonjs/serialization/ast/expression-builder.js +316 -0
  263. package/dist/commonjs/serialization/ast/expression-builder.js.map +7 -0
  264. package/dist/commonjs/serialization/ast/expression-restorer.d.ts +8 -0
  265. package/dist/commonjs/serialization/ast/expression-restorer.d.ts.map +1 -0
  266. package/dist/commonjs/serialization/ast/expression-restorer.js +193 -0
  267. package/dist/commonjs/serialization/ast/expression-restorer.js.map +7 -0
  268. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts +29 -0
  269. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts.map +1 -0
  270. package/dist/commonjs/serialization/ast/expression-rewriter.js +270 -0
  271. package/dist/commonjs/serialization/ast/expression-rewriter.js.map +7 -0
  272. package/dist/commonjs/serialization/ast/expression-walker.d.ts +16 -0
  273. package/dist/commonjs/serialization/ast/expression-walker.d.ts.map +1 -0
  274. package/dist/commonjs/serialization/ast/expression-walker.js +165 -0
  275. package/dist/commonjs/serialization/ast/expression-walker.js.map +7 -0
  276. package/dist/commonjs/serialization/ast/generated/ast.d.ts +508 -0
  277. package/dist/commonjs/serialization/ast/generated/ast.d.ts.map +1 -0
  278. package/dist/commonjs/serialization/ast/generated/ast.js +40 -0
  279. package/dist/commonjs/serialization/ast/generated/ast.js.map +7 -0
  280. package/dist/commonjs/serialization/ast/index.d.ts +7 -0
  281. package/dist/commonjs/serialization/ast/index.d.ts.map +1 -0
  282. package/dist/commonjs/serialization/ast/index.js +22 -0
  283. package/dist/commonjs/serialization/ast/index.js.map +7 -0
  284. package/dist/commonjs/serialization/ast/resource-utils.d.ts +10 -0
  285. package/dist/commonjs/serialization/ast/resource-utils.d.ts.map +1 -0
  286. package/dist/commonjs/serialization/ast/resource-utils.js +71 -0
  287. package/dist/commonjs/serialization/ast/resource-utils.js.map +7 -0
  288. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  289. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  290. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js +74 -0
  291. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js.map +7 -0
  292. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  293. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  294. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js +130 -0
  295. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js.map +7 -0
  296. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  297. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  298. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js +71 -0
  299. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js.map +7 -0
  300. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  301. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  302. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js +80 -0
  303. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js.map +7 -0
  304. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  305. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  306. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js +91 -0
  307. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js.map +7 -0
  308. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  309. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  310. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js +57 -0
  311. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js.map +7 -0
  312. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  313. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  314. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js +70 -0
  315. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js.map +7 -0
  316. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  317. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  318. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js +190 -0
  319. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js.map +7 -0
  320. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  321. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  322. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js +241 -0
  323. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js.map +7 -0
  324. package/dist/commonjs/serialization/bicep/index.d.ts +2 -0
  325. package/dist/commonjs/serialization/bicep/index.d.ts.map +1 -0
  326. package/dist/commonjs/serialization/bicep/index.js +28 -0
  327. package/dist/commonjs/serialization/bicep/index.js.map +7 -0
  328. package/dist/commonjs/serialization/bicep/render.d.ts +11 -0
  329. package/dist/commonjs/serialization/bicep/render.d.ts.map +1 -0
  330. package/dist/commonjs/serialization/bicep/render.js +312 -0
  331. package/dist/commonjs/serialization/bicep/render.js.map +7 -0
  332. package/dist/commonjs/serialization/encoding.d.ts +4 -0
  333. package/dist/commonjs/serialization/encoding.d.ts.map +1 -0
  334. package/dist/commonjs/serialization/encoding.js +296 -0
  335. package/dist/commonjs/serialization/encoding.js.map +7 -0
  336. package/dist/commonjs/serialization/identifiers.d.ts +2 -0
  337. package/dist/commonjs/serialization/identifiers.d.ts.map +1 -0
  338. package/dist/commonjs/serialization/identifiers.js +37 -0
  339. package/dist/commonjs/serialization/identifiers.js.map +7 -0
  340. package/dist/commonjs/serialization/index.d.ts +4 -0
  341. package/dist/commonjs/serialization/index.d.ts.map +1 -0
  342. package/dist/commonjs/serialization/index.js +31 -0
  343. package/dist/commonjs/serialization/index.js.map +7 -0
  344. package/dist/commonjs/serialization/json/deserialize.d.ts +24 -0
  345. package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -0
  346. package/dist/commonjs/serialization/json/deserialize.js +456 -0
  347. package/dist/commonjs/serialization/json/deserialize.js.map +7 -0
  348. package/dist/commonjs/serialization/json/serialize.d.ts +12 -0
  349. package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -0
  350. package/dist/commonjs/serialization/json/serialize.js +50 -0
  351. package/dist/commonjs/serialization/json/serialize.js.map +7 -0
  352. package/dist/commonjs/serialization/pluralize-config.d.ts +3 -0
  353. package/dist/commonjs/serialization/pluralize-config.d.ts.map +1 -0
  354. package/dist/commonjs/serialization/pluralize-config.js +37 -0
  355. package/dist/commonjs/serialization/pluralize-config.js.map +7 -0
  356. package/dist/commonjs/serialization/symbol-map.d.ts +10 -0
  357. package/dist/commonjs/serialization/symbol-map.d.ts.map +1 -0
  358. package/dist/commonjs/serialization/symbol-map.js +72 -0
  359. package/dist/commonjs/serialization/symbol-map.js.map +7 -0
  360. package/dist/commonjs/shape/shape-registry.d.ts +51 -0
  361. package/dist/commonjs/shape/shape-registry.d.ts.map +1 -0
  362. package/dist/commonjs/shape/shape-registry.js +40 -0
  363. package/dist/commonjs/shape/shape-registry.js.map +7 -0
  364. package/dist/commonjs/shape/shape.d.ts +407 -0
  365. package/dist/commonjs/shape/shape.d.ts.map +1 -0
  366. package/dist/commonjs/shape/shape.js +290 -0
  367. package/dist/commonjs/shape/shape.js.map +7 -0
  368. package/dist/commonjs/shape/value-encoding.d.ts +121 -0
  369. package/dist/commonjs/shape/value-encoding.d.ts.map +1 -0
  370. package/dist/commonjs/shape/value-encoding.js +62 -0
  371. package/dist/commonjs/shape/value-encoding.js.map +7 -0
  372. package/dist/commonjs/tsdoc-metadata.json +11 -0
  373. package/dist/commonjs/types.d.ts +9 -0
  374. package/dist/commonjs/types.d.ts.map +1 -0
  375. package/dist/commonjs/types.js +16 -0
  376. package/dist/commonjs/types.js.map +7 -0
  377. package/dist/commonjs/util.d.ts +33 -0
  378. package/dist/commonjs/util.d.ts.map +1 -0
  379. package/dist/commonjs/util.js +73 -0
  380. package/dist/commonjs/util.js.map +7 -0
  381. package/dist/esm/constructs/built-in-resources/resource-group.d.ts +56 -0
  382. package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  383. package/dist/esm/constructs/built-in-resources/resource-group.js +120 -0
  384. package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -0
  385. package/dist/esm/constructs/output.d.ts +80 -0
  386. package/dist/esm/constructs/output.d.ts.map +1 -0
  387. package/dist/esm/constructs/output.js +75 -0
  388. package/dist/esm/constructs/output.js.map +1 -0
  389. package/dist/esm/constructs/parameter.d.ts +77 -0
  390. package/dist/esm/constructs/parameter.d.ts.map +1 -0
  391. package/dist/esm/constructs/parameter.js +93 -0
  392. package/dist/esm/constructs/parameter.js.map +1 -0
  393. package/dist/esm/constructs/provisioning-component.d.ts +91 -0
  394. package/dist/esm/constructs/provisioning-component.d.ts.map +1 -0
  395. package/dist/esm/constructs/provisioning-component.js +150 -0
  396. package/dist/esm/constructs/provisioning-component.js.map +1 -0
  397. package/dist/esm/constructs/resource/resource-proxy.d.ts +134 -0
  398. package/dist/esm/constructs/resource/resource-proxy.d.ts.map +1 -0
  399. package/dist/esm/constructs/resource/resource-proxy.js +517 -0
  400. package/dist/esm/constructs/resource/resource-proxy.js.map +1 -0
  401. package/dist/esm/constructs/resource/resource-query.d.ts +25 -0
  402. package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -0
  403. package/dist/esm/constructs/resource/resource-query.js +79 -0
  404. package/dist/esm/constructs/resource/resource-query.js.map +1 -0
  405. package/dist/esm/constructs/resource/resource-registry.d.ts +99 -0
  406. package/dist/esm/constructs/resource/resource-registry.d.ts.map +1 -0
  407. package/dist/esm/constructs/resource/resource-registry.js +51 -0
  408. package/dist/esm/constructs/resource/resource-registry.js.map +1 -0
  409. package/dist/esm/constructs/resource/resource-relationships.d.ts +9 -0
  410. package/dist/esm/constructs/resource/resource-relationships.d.ts.map +1 -0
  411. package/dist/esm/constructs/resource/resource-relationships.js +35 -0
  412. package/dist/esm/constructs/resource/resource-relationships.js.map +1 -0
  413. package/dist/esm/constructs/resource/resource-type-registry.d.ts +46 -0
  414. package/dist/esm/constructs/resource/resource-type-registry.d.ts.map +1 -0
  415. package/dist/esm/constructs/resource/resource-type-registry.js +156 -0
  416. package/dist/esm/constructs/resource/resource-type-registry.js.map +1 -0
  417. package/dist/esm/constructs/resource/resource-utils.d.ts +60 -0
  418. package/dist/esm/constructs/resource/resource-utils.d.ts.map +1 -0
  419. package/dist/esm/constructs/resource/resource-utils.js +75 -0
  420. package/dist/esm/constructs/resource/resource-utils.js.map +1 -0
  421. package/dist/esm/constructs/resource/resource.d.ts +454 -0
  422. package/dist/esm/constructs/resource/resource.d.ts.map +1 -0
  423. package/dist/esm/constructs/resource/resource.js +624 -0
  424. package/dist/esm/constructs/resource/resource.js.map +1 -0
  425. package/dist/esm/constructs/stack.d.ts +96 -0
  426. package/dist/esm/constructs/stack.d.ts.map +1 -0
  427. package/dist/esm/constructs/stack.js +96 -0
  428. package/dist/esm/constructs/stack.js.map +1 -0
  429. package/dist/esm/constructs/variable.d.ts +63 -0
  430. package/dist/esm/constructs/variable.d.ts.map +1 -0
  431. package/dist/esm/constructs/variable.js +74 -0
  432. package/dist/esm/constructs/variable.js.map +1 -0
  433. package/dist/esm/deployment-context/deployment-context.d.ts +27 -0
  434. package/dist/esm/deployment-context/deployment-context.d.ts.map +1 -0
  435. package/dist/esm/deployment-context/deployment-context.js +4 -0
  436. package/dist/esm/deployment-context/deployment-context.js.map +1 -0
  437. package/dist/esm/expression/ast-nodes.d.ts +100 -0
  438. package/dist/esm/expression/ast-nodes.d.ts.map +1 -0
  439. package/dist/esm/expression/ast-nodes.js +125 -0
  440. package/dist/esm/expression/ast-nodes.js.map +1 -0
  441. package/dist/esm/expression/expressions.d.ts +157 -0
  442. package/dist/esm/expression/expressions.d.ts.map +1 -0
  443. package/dist/esm/expression/expressions.js +204 -0
  444. package/dist/esm/expression/expressions.js.map +1 -0
  445. package/dist/esm/expression/utils.d.ts +5 -0
  446. package/dist/esm/expression/utils.d.ts.map +1 -0
  447. package/dist/esm/expression/utils.js +25 -0
  448. package/dist/esm/expression/utils.js.map +1 -0
  449. package/dist/esm/fn.d.ts +194 -0
  450. package/dist/esm/fn.d.ts.map +1 -0
  451. package/dist/esm/fn.js +334 -0
  452. package/dist/esm/fn.js.map +1 -0
  453. package/dist/esm/index.d.ts +25 -0
  454. package/dist/esm/index.d.ts.map +1 -0
  455. package/dist/esm/index.js +17 -0
  456. package/dist/esm/index.js.map +1 -0
  457. package/dist/esm/internal.d.ts +10 -0
  458. package/dist/esm/internal.d.ts.map +1 -0
  459. package/dist/esm/internal.js +8 -0
  460. package/dist/esm/internal.js.map +1 -0
  461. package/dist/esm/naming/name-validation.d.ts +15 -0
  462. package/dist/esm/naming/name-validation.d.ts.map +1 -0
  463. package/dist/esm/naming/name-validation.js +82 -0
  464. package/dist/esm/naming/name-validation.js.map +1 -0
  465. package/dist/esm/naming/naming-policy.d.ts +56 -0
  466. package/dist/esm/naming/naming-policy.d.ts.map +1 -0
  467. package/dist/esm/naming/naming-policy.js +230 -0
  468. package/dist/esm/naming/naming-policy.js.map +1 -0
  469. package/dist/esm/naming/naming-rules.d.ts +16 -0
  470. package/dist/esm/naming/naming-rules.d.ts.map +1 -0
  471. package/dist/esm/naming/naming-rules.js +8 -0
  472. package/dist/esm/naming/naming-rules.js.map +1 -0
  473. package/dist/esm/package.json +8 -0
  474. package/dist/esm/serialization/arm-object-conversion.d.ts +41 -0
  475. package/dist/esm/serialization/arm-object-conversion.d.ts.map +1 -0
  476. package/dist/esm/serialization/arm-object-conversion.js +334 -0
  477. package/dist/esm/serialization/arm-object-conversion.js.map +1 -0
  478. package/dist/esm/serialization/ast/declaration-builder.d.ts +10 -0
  479. package/dist/esm/serialization/ast/declaration-builder.d.ts.map +1 -0
  480. package/dist/esm/serialization/ast/declaration-builder.js +265 -0
  481. package/dist/esm/serialization/ast/declaration-builder.js.map +1 -0
  482. package/dist/esm/serialization/ast/declaration-dependencies.d.ts +18 -0
  483. package/dist/esm/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  484. package/dist/esm/serialization/ast/declaration-dependencies.js +96 -0
  485. package/dist/esm/serialization/ast/declaration-dependencies.js.map +1 -0
  486. package/dist/esm/serialization/ast/expression-builder.d.ts +14 -0
  487. package/dist/esm/serialization/ast/expression-builder.d.ts.map +1 -0
  488. package/dist/esm/serialization/ast/expression-builder.js +313 -0
  489. package/dist/esm/serialization/ast/expression-builder.js.map +1 -0
  490. package/dist/esm/serialization/ast/expression-restorer.d.ts +8 -0
  491. package/dist/esm/serialization/ast/expression-restorer.d.ts.map +1 -0
  492. package/dist/esm/serialization/ast/expression-restorer.js +162 -0
  493. package/dist/esm/serialization/ast/expression-restorer.js.map +1 -0
  494. package/dist/esm/serialization/ast/expression-rewriter.d.ts +29 -0
  495. package/dist/esm/serialization/ast/expression-rewriter.d.ts.map +1 -0
  496. package/dist/esm/serialization/ast/expression-rewriter.js +257 -0
  497. package/dist/esm/serialization/ast/expression-rewriter.js.map +1 -0
  498. package/dist/esm/serialization/ast/expression-walker.d.ts +16 -0
  499. package/dist/esm/serialization/ast/expression-walker.d.ts.map +1 -0
  500. package/dist/esm/serialization/ast/expression-walker.js +154 -0
  501. package/dist/esm/serialization/ast/expression-walker.js.map +1 -0
  502. package/dist/esm/serialization/ast/generated/ast.d.ts +508 -0
  503. package/dist/esm/serialization/ast/generated/ast.d.ts.map +1 -0
  504. package/dist/esm/serialization/ast/generated/ast.js +23 -0
  505. package/dist/esm/serialization/ast/generated/ast.js.map +1 -0
  506. package/dist/esm/serialization/ast/index.d.ts +7 -0
  507. package/dist/esm/serialization/ast/index.d.ts.map +1 -0
  508. package/dist/esm/serialization/ast/index.js +4 -0
  509. package/dist/esm/serialization/ast/index.js.map +1 -0
  510. package/dist/esm/serialization/ast/resource-utils.d.ts +10 -0
  511. package/dist/esm/serialization/ast/resource-utils.d.ts.map +1 -0
  512. package/dist/esm/serialization/ast/resource-utils.js +52 -0
  513. package/dist/esm/serialization/ast/resource-utils.js.map +1 -0
  514. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  515. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  516. package/dist/esm/serialization/bicep/file-layout/authored-context.js +57 -0
  517. package/dist/esm/serialization/bicep/file-layout/authored-context.js.map +1 -0
  518. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  519. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  520. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js +100 -0
  521. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  522. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  523. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  524. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js +46 -0
  525. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  526. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  527. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  528. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js +68 -0
  529. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  530. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  531. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  532. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
  533. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  534. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  535. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  536. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js +32 -0
  537. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  538. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  539. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  540. package/dist/esm/serialization/bicep/file-layout/file-paths.js +46 -0
  541. package/dist/esm/serialization/bicep/file-layout/file-paths.js.map +1 -0
  542. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  543. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  544. package/dist/esm/serialization/bicep/file-layout/file-preparation.js +140 -0
  545. package/dist/esm/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  546. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  547. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  548. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js +225 -0
  549. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  550. package/dist/esm/serialization/bicep/index.d.ts +2 -0
  551. package/dist/esm/serialization/bicep/index.d.ts.map +1 -0
  552. package/dist/esm/serialization/bicep/index.js +4 -0
  553. package/dist/esm/serialization/bicep/index.js.map +1 -0
  554. package/dist/esm/serialization/bicep/render.d.ts +11 -0
  555. package/dist/esm/serialization/bicep/render.d.ts.map +1 -0
  556. package/dist/esm/serialization/bicep/render.js +293 -0
  557. package/dist/esm/serialization/bicep/render.js.map +1 -0
  558. package/dist/esm/serialization/encoding.d.ts +4 -0
  559. package/dist/esm/serialization/encoding.d.ts.map +1 -0
  560. package/dist/esm/serialization/encoding.js +309 -0
  561. package/dist/esm/serialization/encoding.js.map +1 -0
  562. package/dist/esm/serialization/identifiers.d.ts +2 -0
  563. package/dist/esm/serialization/identifiers.d.ts.map +1 -0
  564. package/dist/esm/serialization/identifiers.js +19 -0
  565. package/dist/esm/serialization/identifiers.js.map +1 -0
  566. package/dist/esm/serialization/index.d.ts +4 -0
  567. package/dist/esm/serialization/index.d.ts.map +1 -0
  568. package/dist/esm/serialization/index.js +5 -0
  569. package/dist/esm/serialization/index.js.map +1 -0
  570. package/dist/esm/serialization/json/deserialize.d.ts +24 -0
  571. package/dist/esm/serialization/json/deserialize.d.ts.map +1 -0
  572. package/dist/esm/serialization/json/deserialize.js +529 -0
  573. package/dist/esm/serialization/json/deserialize.js.map +1 -0
  574. package/dist/esm/serialization/json/serialize.d.ts +12 -0
  575. package/dist/esm/serialization/json/serialize.d.ts.map +1 -0
  576. package/dist/esm/serialization/json/serialize.js +34 -0
  577. package/dist/esm/serialization/json/serialize.js.map +1 -0
  578. package/dist/esm/serialization/pluralize-config.d.ts +3 -0
  579. package/dist/esm/serialization/pluralize-config.d.ts.map +1 -0
  580. package/dist/esm/serialization/pluralize-config.js +7 -0
  581. package/dist/esm/serialization/pluralize-config.js.map +1 -0
  582. package/dist/esm/serialization/symbol-map.d.ts +10 -0
  583. package/dist/esm/serialization/symbol-map.d.ts.map +1 -0
  584. package/dist/esm/serialization/symbol-map.js +40 -0
  585. package/dist/esm/serialization/symbol-map.js.map +1 -0
  586. package/dist/esm/shape/shape-registry.d.ts +51 -0
  587. package/dist/esm/shape/shape-registry.d.ts.map +1 -0
  588. package/dist/esm/shape/shape-registry.js +41 -0
  589. package/dist/esm/shape/shape-registry.js.map +1 -0
  590. package/dist/esm/shape/shape.d.ts +407 -0
  591. package/dist/esm/shape/shape.d.ts.map +1 -0
  592. package/dist/esm/shape/shape.js +424 -0
  593. package/dist/esm/shape/shape.js.map +1 -0
  594. package/dist/esm/shape/value-encoding.d.ts +121 -0
  595. package/dist/esm/shape/value-encoding.d.ts.map +1 -0
  596. package/dist/esm/shape/value-encoding.js +32 -0
  597. package/dist/esm/shape/value-encoding.js.map +1 -0
  598. package/dist/esm/types.d.ts +9 -0
  599. package/dist/esm/types.d.ts.map +1 -0
  600. package/dist/esm/types.js +4 -0
  601. package/dist/esm/types.js.map +1 -0
  602. package/dist/esm/util.d.ts +33 -0
  603. package/dist/esm/util.d.ts.map +1 -0
  604. package/dist/esm/util.js +74 -0
  605. package/dist/esm/util.js.map +1 -0
  606. package/package.json +92 -27
  607. package/dist/constructs/built-in-resources/resource-group.d.ts.map +0 -1
  608. package/dist/constructs/built-in-resources/resource-group.js.map +0 -1
  609. package/dist/constructs/output.d.ts.map +0 -1
  610. package/dist/constructs/output.js.map +0 -1
  611. package/dist/constructs/parameter.js.map +0 -1
  612. package/dist/constructs/provisioning-component.d.ts.map +0 -1
  613. package/dist/constructs/provisioning-component.js.map +0 -1
  614. package/dist/constructs/resource/resource-proxy.d.ts.map +0 -1
  615. package/dist/constructs/resource/resource-proxy.js.map +0 -1
  616. package/dist/constructs/resource/resource-query.d.ts.map +0 -1
  617. package/dist/constructs/resource/resource-query.js.map +0 -1
  618. package/dist/constructs/resource/resource-registry.d.ts.map +0 -1
  619. package/dist/constructs/resource/resource-registry.js.map +0 -1
  620. package/dist/constructs/resource/resource-relationships.d.ts.map +0 -1
  621. package/dist/constructs/resource/resource-relationships.js.map +0 -1
  622. package/dist/constructs/resource/resource-type-registry.d.ts.map +0 -1
  623. package/dist/constructs/resource/resource-type-registry.js.map +0 -1
  624. package/dist/constructs/resource/resource-utils.d.ts.map +0 -1
  625. package/dist/constructs/resource/resource-utils.js.map +0 -1
  626. package/dist/constructs/resource/resource.d.ts.map +0 -1
  627. package/dist/constructs/resource/resource.js.map +0 -1
  628. package/dist/constructs/stack.d.ts.map +0 -1
  629. package/dist/constructs/stack.js.map +0 -1
  630. package/dist/constructs/variable.d.ts.map +0 -1
  631. package/dist/constructs/variable.js.map +0 -1
  632. package/dist/deployment-context/deployment-context.d.ts.map +0 -1
  633. package/dist/deployment-context/deployment-context.js.map +0 -1
  634. package/dist/expression/ast-nodes.d.ts.map +0 -1
  635. package/dist/expression/ast-nodes.js.map +0 -1
  636. package/dist/expression/expressions.d.ts.map +0 -1
  637. package/dist/expression/expressions.js.map +0 -1
  638. package/dist/expression/utils.d.ts.map +0 -1
  639. package/dist/expression/utils.js.map +0 -1
  640. package/dist/fn.d.ts.map +0 -1
  641. package/dist/fn.js.map +0 -1
  642. package/dist/index.d.ts.map +0 -1
  643. package/dist/index.js.map +0 -1
  644. package/dist/internal-loop.d.ts +0 -14
  645. package/dist/internal-loop.d.ts.map +0 -1
  646. package/dist/internal-loop.js +0 -16
  647. package/dist/internal-loop.js.map +0 -1
  648. package/dist/internal.d.ts.map +0 -1
  649. package/dist/internal.js.map +0 -1
  650. package/dist/naming/name-validation.d.ts.map +0 -1
  651. package/dist/naming/name-validation.js.map +0 -1
  652. package/dist/naming/naming-policy.d.ts.map +0 -1
  653. package/dist/naming/naming-policy.js.map +0 -1
  654. package/dist/naming/naming-rules.d.ts.map +0 -1
  655. package/dist/naming/naming-rules.js.map +0 -1
  656. package/dist/serialization/arm-object-conversion.d.ts.map +0 -1
  657. package/dist/serialization/arm-object-conversion.js.map +0 -1
  658. package/dist/serialization/ast/declaration-builder.d.ts.map +0 -1
  659. package/dist/serialization/ast/declaration-builder.js.map +0 -1
  660. package/dist/serialization/ast/declaration-dependencies.d.ts.map +0 -1
  661. package/dist/serialization/ast/declaration-dependencies.js.map +0 -1
  662. package/dist/serialization/ast/expression-builder.d.ts.map +0 -1
  663. package/dist/serialization/ast/expression-builder.js.map +0 -1
  664. package/dist/serialization/ast/expression-restorer.d.ts.map +0 -1
  665. package/dist/serialization/ast/expression-restorer.js.map +0 -1
  666. package/dist/serialization/ast/expression-rewriter.d.ts.map +0 -1
  667. package/dist/serialization/ast/expression-rewriter.js.map +0 -1
  668. package/dist/serialization/ast/expression-walker.d.ts.map +0 -1
  669. package/dist/serialization/ast/expression-walker.js.map +0 -1
  670. package/dist/serialization/ast/generated/ast.js.map +0 -1
  671. package/dist/serialization/ast/index.d.ts.map +0 -1
  672. package/dist/serialization/ast/index.js.map +0 -1
  673. package/dist/serialization/ast/resource-utils.d.ts.map +0 -1
  674. package/dist/serialization/ast/resource-utils.js.map +0 -1
  675. package/dist/serialization/bicep/file-layout/authored-context.d.ts.map +0 -1
  676. package/dist/serialization/bicep/file-layout/authored-context.js.map +0 -1
  677. package/dist/serialization/bicep/file-layout/bicep-namer.d.ts.map +0 -1
  678. package/dist/serialization/bicep/file-layout/bicep-namer.js.map +0 -1
  679. package/dist/serialization/bicep/file-layout/build-bicep-files.d.ts.map +0 -1
  680. package/dist/serialization/bicep/file-layout/build-bicep-files.js.map +0 -1
  681. package/dist/serialization/bicep/file-layout/deployment-planning.d.ts.map +0 -1
  682. package/dist/serialization/bicep/file-layout/deployment-planning.js.map +0 -1
  683. package/dist/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +0 -1
  684. package/dist/serialization/bicep/file-layout/deployment-resource-utils.js.map +0 -1
  685. package/dist/serialization/bicep/file-layout/file-dependencies.d.ts.map +0 -1
  686. package/dist/serialization/bicep/file-layout/file-dependencies.js.map +0 -1
  687. package/dist/serialization/bicep/file-layout/file-paths.d.ts.map +0 -1
  688. package/dist/serialization/bicep/file-layout/file-paths.js.map +0 -1
  689. package/dist/serialization/bicep/file-layout/file-preparation.d.ts.map +0 -1
  690. package/dist/serialization/bicep/file-layout/file-preparation.js.map +0 -1
  691. package/dist/serialization/bicep/file-layout/reference-wiring.d.ts.map +0 -1
  692. package/dist/serialization/bicep/file-layout/reference-wiring.js.map +0 -1
  693. package/dist/serialization/bicep/index.d.ts.map +0 -1
  694. package/dist/serialization/bicep/index.js.map +0 -1
  695. package/dist/serialization/bicep/render.d.ts.map +0 -1
  696. package/dist/serialization/bicep/render.js.map +0 -1
  697. package/dist/serialization/encoding.d.ts.map +0 -1
  698. package/dist/serialization/encoding.js.map +0 -1
  699. package/dist/serialization/identifiers.d.ts.map +0 -1
  700. package/dist/serialization/identifiers.js.map +0 -1
  701. package/dist/serialization/index.d.ts.map +0 -1
  702. package/dist/serialization/index.js.map +0 -1
  703. package/dist/serialization/json/deserialize.d.ts.map +0 -1
  704. package/dist/serialization/json/deserialize.js.map +0 -1
  705. package/dist/serialization/json/serialize.d.ts.map +0 -1
  706. package/dist/serialization/json/serialize.js.map +0 -1
  707. package/dist/serialization/pluralize-config.d.ts.map +0 -1
  708. package/dist/serialization/pluralize-config.js.map +0 -1
  709. package/dist/serialization/symbol-map.d.ts.map +0 -1
  710. package/dist/serialization/symbol-map.js.map +0 -1
  711. package/dist/shape/shape-registry.d.ts.map +0 -1
  712. package/dist/shape/shape-registry.js.map +0 -1
  713. package/dist/shape/shape.d.ts.map +0 -1
  714. package/dist/shape/shape.js.map +0 -1
  715. package/dist/shape/value-encoding.d.ts.map +0 -1
  716. package/dist/shape/value-encoding.js.map +0 -1
  717. package/dist/tsconfig.tsbuildinfo +0 -1
  718. package/dist/types.d.ts.map +0 -1
  719. package/dist/types.js.map +0 -1
  720. package/dist/util.d.ts.map +0 -1
  721. package/dist/util.js.map +0 -1
  722. /package/dist/{constructs → browser/constructs}/built-in-resources/resource-group.d.ts +0 -0
  723. /package/dist/{constructs → browser/constructs}/output.d.ts +0 -0
  724. /package/dist/{constructs → browser/constructs}/parameter.d.ts +0 -0
  725. /package/dist/{constructs → browser/constructs}/parameter.js +0 -0
  726. /package/dist/{constructs → browser/constructs}/provisioning-component.d.ts +0 -0
  727. /package/dist/{constructs → browser/constructs}/provisioning-component.js +0 -0
  728. /package/dist/{constructs → browser/constructs}/resource/resource-proxy.d.ts +0 -0
  729. /package/dist/{constructs → browser/constructs}/resource/resource-query.d.ts +0 -0
  730. /package/dist/{constructs → browser/constructs}/resource/resource-registry.d.ts +0 -0
  731. /package/dist/{constructs → browser/constructs}/resource/resource-relationships.d.ts +0 -0
  732. /package/dist/{constructs → browser/constructs}/resource/resource-type-registry.d.ts +0 -0
  733. /package/dist/{constructs → browser/constructs}/resource/resource-type-registry.js +0 -0
  734. /package/dist/{constructs → browser/constructs}/resource/resource-utils.d.ts +0 -0
  735. /package/dist/{constructs → browser/constructs}/resource/resource.d.ts +0 -0
  736. /package/dist/{constructs → browser/constructs}/stack.d.ts +0 -0
  737. /package/dist/{constructs → browser/constructs}/stack.js +0 -0
  738. /package/dist/{constructs → browser/constructs}/variable.d.ts +0 -0
  739. /package/dist/{constructs → browser/constructs}/variable.js +0 -0
  740. /package/dist/{deployment-context → browser/deployment-context}/deployment-context.d.ts +0 -0
  741. /package/dist/{deployment-context → browser/deployment-context}/deployment-context.js +0 -0
  742. /package/dist/{expression → browser/expression}/ast-nodes.d.ts +0 -0
  743. /package/dist/{expression → browser/expression}/expressions.d.ts +0 -0
  744. /package/dist/{expression → browser/expression}/utils.d.ts +0 -0
  745. /package/dist/{expression → browser/expression}/utils.js +0 -0
  746. /package/dist/{fn.d.ts → browser/fn.d.ts} +0 -0
  747. /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
  748. /package/dist/{naming → browser/naming}/name-validation.d.ts +0 -0
  749. /package/dist/{naming → browser/naming}/naming-policy.d.ts +0 -0
  750. /package/dist/{naming → browser/naming}/naming-rules.d.ts +0 -0
  751. /package/dist/{naming → browser/naming}/naming-rules.js +0 -0
  752. /package/dist/{serialization → browser/serialization}/arm-object-conversion.d.ts +0 -0
  753. /package/dist/{serialization → browser/serialization}/ast/declaration-builder.d.ts +0 -0
  754. /package/dist/{serialization → browser/serialization}/ast/declaration-dependencies.d.ts +0 -0
  755. /package/dist/{serialization → browser/serialization}/ast/expression-builder.d.ts +0 -0
  756. /package/dist/{serialization → browser/serialization}/ast/expression-restorer.d.ts +0 -0
  757. /package/dist/{serialization → browser/serialization}/ast/expression-rewriter.d.ts +0 -0
  758. /package/dist/{serialization → browser/serialization}/ast/expression-walker.d.ts +0 -0
  759. /package/dist/{serialization → browser/serialization}/ast/expression-walker.js +0 -0
  760. /package/dist/{serialization → browser/serialization}/ast/generated/ast.d.ts +0 -0
  761. /package/dist/{serialization → browser/serialization}/ast/generated/ast.js +0 -0
  762. /package/dist/{serialization → browser/serialization}/ast/index.d.ts +0 -0
  763. /package/dist/{serialization → browser/serialization}/ast/index.js +0 -0
  764. /package/dist/{serialization → browser/serialization}/ast/resource-utils.d.ts +0 -0
  765. /package/dist/{serialization → browser/serialization}/ast/resource-utils.js +0 -0
  766. /package/dist/{serialization → browser/serialization}/bicep/file-layout/authored-context.d.ts +0 -0
  767. /package/dist/{serialization → browser/serialization}/bicep/file-layout/bicep-namer.d.ts +0 -0
  768. /package/dist/{serialization → browser/serialization}/bicep/file-layout/build-bicep-files.d.ts +0 -0
  769. /package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-planning.d.ts +0 -0
  770. /package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-resource-utils.d.ts +0 -0
  771. /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-dependencies.d.ts +0 -0
  772. /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-paths.d.ts +0 -0
  773. /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-preparation.d.ts +0 -0
  774. /package/dist/{serialization → browser/serialization}/bicep/file-layout/reference-wiring.d.ts +0 -0
  775. /package/dist/{serialization → browser/serialization}/bicep/index.d.ts +0 -0
  776. /package/dist/{serialization → browser/serialization}/bicep/index.js +0 -0
  777. /package/dist/{serialization → browser/serialization}/bicep/render.d.ts +0 -0
  778. /package/dist/{serialization → browser/serialization}/encoding.d.ts +0 -0
  779. /package/dist/{serialization → browser/serialization}/identifiers.d.ts +0 -0
  780. /package/dist/{serialization → browser/serialization}/identifiers.js +0 -0
  781. /package/dist/{serialization → browser/serialization}/index.d.ts +0 -0
  782. /package/dist/{serialization → browser/serialization}/index.js +0 -0
  783. /package/dist/{serialization → browser/serialization}/json/deserialize.d.ts +0 -0
  784. /package/dist/{serialization → browser/serialization}/json/serialize.d.ts +0 -0
  785. /package/dist/{serialization → browser/serialization}/pluralize-config.d.ts +0 -0
  786. /package/dist/{serialization → browser/serialization}/pluralize-config.js +0 -0
  787. /package/dist/{serialization → browser/serialization}/symbol-map.d.ts +0 -0
  788. /package/dist/{serialization → browser/serialization}/symbol-map.js +0 -0
  789. /package/dist/{shape → browser/shape}/shape-registry.d.ts +0 -0
  790. /package/dist/{shape → browser/shape}/shape-registry.js +0 -0
  791. /package/dist/{shape → browser/shape}/shape.d.ts +0 -0
  792. /package/dist/{shape → browser/shape}/value-encoding.d.ts +0 -0
  793. /package/dist/{shape → browser/shape}/value-encoding.js +0 -0
  794. /package/dist/{types.d.ts → browser/types.d.ts} +0 -0
  795. /package/dist/{types.js → browser/types.js} +0 -0
@@ -0,0 +1,134 @@
1
+ import { type Expression, type ExpressionOrValue } from "../../expression/expressions.js";
2
+ import { type ArrayAccessIndex } from "../../expression/ast-nodes.js";
3
+ import type { PropertySegment } from "../../types.js";
4
+ import type { LoopedResource, Resource, ResourceDeclaration } from "./resource.js";
5
+ export declare const RAW_RESOURCE_HANDLE: unique symbol;
6
+ export declare const RESOURCE_BRAND: unique symbol;
7
+ /**
8
+ * Brand present on every `LoopedResource` instance. Lives here (rather than
9
+ * on the `LoopedResource` class) so tree-walking utilities can brand-check
10
+ * for looped declarations without a runtime import of `resource.ts` — which
11
+ * would create an eval-time import cycle (`resource.ts` extends `ProvisioningComponent`).
12
+ * Use {@link isLoopedResource} in normal code.
13
+ */
14
+ export declare const LOOPED_RESOURCE_BRAND: unique symbol;
15
+ /**
16
+ * Brand present on every `ResourceDeclaration` instance (both scalar
17
+ * `Resource` and looped `LoopedResource`). Use
18
+ * {@link isResourceDeclaration} instead of a direct
19
+ * brand check.
20
+ */
21
+ export declare const RESOURCE_DECLARATION_BRAND: unique symbol;
22
+ /**
23
+ * Present on indexed resource proxies (see {@link createIndexedResourceProxy}).
24
+ * Reading it off any resource-like value returns the stored index expression
25
+ * for indexed proxies, and `undefined` for plain outer proxies. The base
26
+ * `Resource` constructor probes for it on the `context` argument to detect
27
+ * `parents.at(i)` / `parents.current()` being passed as a child parent
28
+ * context; other consumers may probe it for their own purposes (the proxy
29
+ * itself doesn't imply any parent-child relationship — the index is simply
30
+ * what identifies which element of a looped declaration this proxy refers
31
+ * to).
32
+ */
33
+ export declare const PROXY_INDEX_REF: unique symbol;
34
+ /**
35
+ * Present on indexed resource proxies. Reading it returns the underlying
36
+ * outer-proxy resource that the indexed proxy wraps. Used by the base
37
+ * `Resource` constructor to normalize `this.parent` back to the raw parent
38
+ * (so tree walks and symbol-map lookups continue to work) while
39
+ * `PROXY_INDEX_REF` carries the "which index" information onto `state`.
40
+ */
41
+ export declare const INDEXED_PROXY_TARGET: unique symbol;
42
+ /**
43
+ * State-object key under which the base `Resource` constructor records the
44
+ * index expression when the `context` argument is an indexed proxy (i.e.,
45
+ * `parent.at(i)` / `parent.current()`). The serializer reads this key
46
+ * from the child's raw state to emit `parent: parentSym[<index>]` instead
47
+ * of the bare `parent: parentSym` form. Kept as a shared const so writer
48
+ * (`resource.ts`) and reader (`serialize.ts`) never drift.
49
+ *
50
+ * Lives on the **child**, not the parent: siblings under the same parent
51
+ * can be created via different indexed proxies (e.g. `new Child(p.at(0), …)`
52
+ * and `new Child(p.at(1), …)` both resolve `.parent` to the same raw parent,
53
+ * so the index that distinguishes them must be recorded per-child).
54
+ */
55
+ export declare const STATE_PARENT_INDEX: "parentIndex";
56
+ /**
57
+ * The identity a member-proxy needs to lower into a Bicep expression and to
58
+ * back reads/writes. Bundles the three roles that were previously passed
59
+ * positionally to {@link createResourceMemberProxy}:
60
+ *
61
+ * - `resource` — the tree-registered declaration that supplies BOTH the
62
+ * symbol root (`identifierExpressionNode(resource)`) and the ARM shape
63
+ * source (`getResourceShape`). For a scalar resource this is the outer
64
+ * resource proxy; for an indexed looped element it is the raw
65
+ * `LoopedResource` declaration (the tree citizen), NOT the ephemeral
66
+ * `.at(i)` handle — that handle isn't in the component tree, so it can't
67
+ * resolve to a Bicep symbol.
68
+ * - `root` — the raw backing object that stores assigned values, used by
69
+ * `deref(...)` and nested writes.
70
+ * - `index` — optional array index. When set, the emitted expression roots
71
+ * at `resource[index]` instead of `resource`, so `many.at(i).prop.blob`
72
+ * serializes as `sym[i].prop.blob`. Populated for `.at(i)` / `.current()`
73
+ * handles by {@link createIndexedResourceProxy}.
74
+ */
75
+ export interface ResourceProxySource {
76
+ readonly resource: Resource;
77
+ readonly root: Record<string, unknown>;
78
+ readonly index?: ArrayAccessIndex;
79
+ }
80
+ export type Deref<T> = T extends Expression<infer U> ? U : T;
81
+ export declare function deref<T>(value: T): Deref<T>;
82
+ export declare function normalizeAssignedValue(value: unknown, currentResource?: Resource): unknown;
83
+ export declare function createResourceMemberProxy<TValue>(source: ResourceProxySource, path: readonly PropertySegment[]): Expression<TValue> & TValue;
84
+ export declare function createResourceProxy<TType extends string, TResource extends Resource<TType> & object>(resource: TResource): TResource;
85
+ export declare function unwrapResourceHandle<T extends ResourceDeclaration>(resource: T): T;
86
+ /**
87
+ * Returns a passthrough proxy over `resource` that carries an "index"
88
+ * expression alongside the wrapped resource. Two purposes:
89
+ *
90
+ * 1. **Property reads** — ARM getters on the underlying `Resource` funnel
91
+ * through `this.expr(...)`. The indexed proxy intercepts `expr` and
92
+ * threads `resourceIndexExpression` into the member proxy so that reads
93
+ * render as `sym[index].<path>` on the wire. Direct data-property reads
94
+ * like `.type` / `.apiVersion` / `.condition` / `.existing` fall through
95
+ * unchanged (they are authoring/type metadata, not ARM reads).
96
+ *
97
+ * 2. **Child parent context** — passing `parents.at(0)` as the first
98
+ * argument to a child constructor must (a) let the child register into
99
+ * the raw parent's tree, and (b) record the index so the serializer can
100
+ * emit `parent: parentSym[i]`.
101
+ * This proxy passes framework members (`children`, `deploymentContext`,
102
+ * `_localDeploymentContext`, `hasDeploymentContext`, `.parent`, `.self`,
103
+ * ...) through unchanged so the base `Resource` constructor's
104
+ * interaction with `context` works exactly as it would with the raw
105
+ * parent. `PROXY_INDEX_REF` and `INDEXED_PROXY_TARGET` expose the
106
+ * index and the raw target to the base `Resource` constructor.
107
+ *
108
+ * The `index` can be a literal number, a literal string, or any expression
109
+ * (typically a loop's `.index` symbolic value). It is unwrapped from any
110
+ * `Expression<T>` proxy at construction time so downstream code stores a
111
+ * primitive or an `ExpressionNode`, never an `Expression` proxy.
112
+ *
113
+ * **The indexed proxy is an ephemeral wrapper, not a tree node.** A fresh
114
+ * proxy is minted per `.at(i)` call and is not stored in
115
+ * any `parent.children` array; only the raw outer resource proxy
116
+ * participates in the ProvisioningComponent tree. When a child is created with an
117
+ * indexed proxy as `context`, `ProvisioningComponent`'s ctor writes
118
+ * `this.parent = indexedProxy` briefly, but the base `Resource` ctor then overwrites
119
+ * `this.parent` back to the raw parent (via `INDEXED_PROXY_TARGET`) so the
120
+ * tree only ever references raw resource proxies. The indexed wrapper is
121
+ * garbage-collectable once the child ctor returns; its sole job is to
122
+ * carry the index through construction into `state.parentIndex`.
123
+ */
124
+ /**
125
+ * Static type an indexed proxy exposes, derived from the declaration it
126
+ * wraps. A `LoopedResource<T>` narrows to `T` — the concrete resource
127
+ * type — so `parent.at(i)` exposes the full ARM and child-accessor
128
+ * surface, resolved element-scoped at runtime. Any scalar {@link Resource}
129
+ * yields itself.
130
+ */
131
+ type IndexedProxyOf<D extends ResourceDeclaration> = D extends LoopedResource<infer T> ? T : D;
132
+ export declare function createIndexedResourceProxy<D extends ResourceDeclaration>(resource: D, index: ExpressionOrValue<number>): IndexedProxyOf<D>;
133
+ export {};
134
+ //# sourceMappingURL=resource-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-proxy.d.ts","sourceRoot":"","sources":["../../../../src/constructs/resource/resource-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAKL,KAAK,gBAAgB,EAEtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAInF,eAAO,MAAM,mBAAmB,eAAgC,CAAC;AACjE,eAAO,MAAM,cAAc,eAAkD,CAAC;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,eAAwD,CAAC;AAE3F;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,eAEtC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,eAAyD,CAAC;AAEtF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,eAA8D,CAAC;AAEhG;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,EAAG,aAAsB,CAAC;AAkBzD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAqCD,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAW3C;AA+FD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CA+B1F;AA8KD,wBAAgB,yBAAyB,CAAC,MAAM,EAC9C,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,SAAS,eAAe,EAAE,GAC/B,UAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAmB7B;AAgBD,wBAAgB,mBAAmB,CACjC,KAAK,SAAS,MAAM,EACpB,SAAS,SAAS,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,EAC1C,QAAQ,EAAE,SAAS,GAAG,SAAS,CAoFhC;AAcD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,mBAAmB,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAQlF;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH;;;;;;GAMG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,mBAAmB,IAAI,CAAC,SAAS,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAQ/F,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,mBAAmB,EACtE,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAC/B,cAAc,CAAC,CAAC,CAAC,CAwHnB"}
@@ -0,0 +1,456 @@
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 resource_proxy_exports = {};
19
+ __export(resource_proxy_exports, {
20
+ INDEXED_PROXY_TARGET: () => INDEXED_PROXY_TARGET,
21
+ LOOPED_RESOURCE_BRAND: () => LOOPED_RESOURCE_BRAND,
22
+ PROXY_INDEX_REF: () => PROXY_INDEX_REF,
23
+ RAW_RESOURCE_HANDLE: () => RAW_RESOURCE_HANDLE,
24
+ RESOURCE_BRAND: () => RESOURCE_BRAND,
25
+ RESOURCE_DECLARATION_BRAND: () => RESOURCE_DECLARATION_BRAND,
26
+ STATE_PARENT_INDEX: () => STATE_PARENT_INDEX,
27
+ createIndexedResourceProxy: () => createIndexedResourceProxy,
28
+ createResourceMemberProxy: () => createResourceMemberProxy,
29
+ createResourceProxy: () => createResourceProxy,
30
+ deref: () => deref,
31
+ normalizeAssignedValue: () => normalizeAssignedValue,
32
+ unwrapResourceHandle: () => unwrapResourceHandle
33
+ });
34
+ module.exports = __toCommonJS(resource_proxy_exports);
35
+ var import_expressions = require("../../expression/expressions.js");
36
+ var import_ast_nodes = require("../../expression/ast-nodes.js");
37
+ var import_shape = require("../../shape/shape.js");
38
+ var import_shape_registry = require("../../shape/shape-registry.js");
39
+ const RAW_RESOURCE_HANDLE = /* @__PURE__ */ Symbol("raw-resource-handle");
40
+ const RESOURCE_BRAND = /* @__PURE__ */ Symbol.for("@azure/provisioning-core.Resource");
41
+ const LOOPED_RESOURCE_BRAND = /* @__PURE__ */ Symbol.for("@azure/provisioning-core.LoopedResource");
42
+ const RESOURCE_DECLARATION_BRAND = /* @__PURE__ */ Symbol.for(
43
+ "@azure/provisioning-core.ResourceDeclaration"
44
+ );
45
+ const PROXY_INDEX_REF = /* @__PURE__ */ Symbol.for("@azure/provisioning-core.PROXY_INDEX_REF");
46
+ const INDEXED_PROXY_TARGET = /* @__PURE__ */ Symbol.for("@azure/provisioning-core.INDEXED_PROXY_TARGET");
47
+ const STATE_PARENT_INDEX = "parentIndex";
48
+ function stepsToPath(steps) {
49
+ return steps.map((s) => s.segment);
50
+ }
51
+ const PROPERTY_PROXY_STATE = /* @__PURE__ */ Symbol("property-proxy-state");
52
+ function isPropertyProxy(value) {
53
+ return typeof value === "object" && value !== null && Reflect.get(value, PROPERTY_PROXY_STATE) !== void 0;
54
+ }
55
+ function getPropertyProxyState(value) {
56
+ return value[PROPERTY_PROXY_STATE];
57
+ }
58
+ function deref(value) {
59
+ if (isPropertyProxy(value)) {
60
+ const state = getPropertyProxyState(value);
61
+ return getValueAtPath(state.root, stepsToPath(state.steps));
62
+ }
63
+ if (isResourceHandle(value)) {
64
+ return unwrapResourceHandle(value);
65
+ }
66
+ return value;
67
+ }
68
+ function isPlainObject(value) {
69
+ if (typeof value !== "object" || value === null) {
70
+ return false;
71
+ }
72
+ const prototype = Object.getPrototypeOf(value);
73
+ return prototype === Object.prototype || prototype === null;
74
+ }
75
+ function getValueAtPath(root, path) {
76
+ let current = root;
77
+ for (const segment of path) {
78
+ if (typeof current !== "object" || current === null) {
79
+ return void 0;
80
+ }
81
+ if (!Object.prototype.hasOwnProperty.call(current, String(segment))) {
82
+ return void 0;
83
+ }
84
+ current = current[String(segment)];
85
+ }
86
+ return current;
87
+ }
88
+ function setValueAtPath(root, path, value) {
89
+ let current = root;
90
+ for (let index = 0; index < path.length - 1; index += 1) {
91
+ const segment = String(path[index]);
92
+ const nextSegment = path[index + 1];
93
+ const existing = Object.prototype.hasOwnProperty.call(current, segment) ? current[segment] : void 0;
94
+ if (typeof existing === "object" && existing !== null) {
95
+ current = existing;
96
+ continue;
97
+ }
98
+ const container = typeof nextSegment === "number" ? [] : /* @__PURE__ */ Object.create(null);
99
+ Object.defineProperty(current, segment, {
100
+ value: container,
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true
104
+ });
105
+ current = container;
106
+ }
107
+ Object.defineProperty(current, String(path[path.length - 1]), {
108
+ value,
109
+ enumerable: true,
110
+ configurable: true,
111
+ writable: true
112
+ });
113
+ }
114
+ function createMemberAccessPathExpression(resource, steps, index) {
115
+ let current = (0, import_ast_nodes.identifierExpressionNode)(resource);
116
+ if (index !== void 0) {
117
+ current = (0, import_ast_nodes.arrayAccessExpressionNode)(current, index);
118
+ }
119
+ for (const { segment, armPath } of steps) {
120
+ current = (0, import_ast_nodes.accessExpressionNode)(current, segment, { armPath });
121
+ }
122
+ return current;
123
+ }
124
+ function normalizeAssignedValue(value, currentResource) {
125
+ if (isPropertyProxy(value)) {
126
+ const state = getPropertyProxyState(value);
127
+ if (currentResource && state.resource === currentResource) {
128
+ return getValueAtPath(state.root, stepsToPath(state.steps));
129
+ }
130
+ return createMemberAccessPathExpression(state.resource, state.steps, state.index);
131
+ }
132
+ if (isResourceHandle(value)) {
133
+ return (0, import_ast_nodes.identifierExpressionNode)(value);
134
+ }
135
+ if ((0, import_expressions.isExpression)(value)) {
136
+ return (0, import_expressions.unwrapExpression)(value);
137
+ }
138
+ if ((0, import_ast_nodes.isExpressionNode)(value)) {
139
+ return value;
140
+ }
141
+ if (Array.isArray(value)) {
142
+ return value.map((item) => normalizeAssignedValue(item, currentResource));
143
+ }
144
+ if (isPlainObject(value)) {
145
+ return normalizeObjectValue(value, currentResource);
146
+ }
147
+ return value;
148
+ }
149
+ function normalizeObjectValue(obj, currentResource) {
150
+ const entries = Object.entries(obj);
151
+ const result = /* @__PURE__ */ Object.create(null);
152
+ for (const [key, value] of entries) {
153
+ if (isPropertyProxy(value)) {
154
+ const state = getPropertyProxyState(value);
155
+ if (currentResource && state.resource === currentResource) {
156
+ result[key] = getValueAtPath(state.root, stepsToPath(state.steps));
157
+ continue;
158
+ }
159
+ }
160
+ result[key] = normalizeAssignedValue(value, currentResource);
161
+ }
162
+ return result;
163
+ }
164
+ function toPropertySegment(property, nav, currentValue) {
165
+ const isIndexedContainer = nav?.kind === "array" || nav?.kind === "tuple" || Array.isArray(currentValue);
166
+ return isIndexedContainer && /^\d+$/u.test(property) ? Number(property) : property;
167
+ }
168
+ function getPropertyProxyTarget(state) {
169
+ const currentValue = getValueAtPath(state.root, stepsToPath(state.steps));
170
+ if (typeof currentValue === "object" && currentValue !== null) {
171
+ return currentValue;
172
+ }
173
+ return {};
174
+ }
175
+ function createPropertyProxy(state) {
176
+ const target = {};
177
+ return new Proxy(target, {
178
+ has(proxyTarget, property) {
179
+ if (property === PROPERTY_PROXY_STATE || property === import_expressions.EXPRESSION_BRAND) {
180
+ return true;
181
+ }
182
+ const backing = getPropertyProxyTarget(state);
183
+ if (Reflect.has(backing, property)) return true;
184
+ return Reflect.has(proxyTarget, property);
185
+ },
186
+ ownKeys() {
187
+ const backing = getPropertyProxyTarget(state);
188
+ return Reflect.ownKeys(backing).filter((k) => typeof k === "string");
189
+ },
190
+ getOwnPropertyDescriptor(_proxyTarget, property) {
191
+ const backing = getPropertyProxyTarget(state);
192
+ if (typeof property === "string" && Object.prototype.hasOwnProperty.call(backing, property)) {
193
+ return { enumerable: true, configurable: true, writable: true };
194
+ }
195
+ return void 0;
196
+ },
197
+ get(proxyTarget, property, receiver) {
198
+ if (property === PROPERTY_PROXY_STATE) {
199
+ return state;
200
+ }
201
+ if (property === import_expressions.EXPRESSION_BRAND) {
202
+ return createMemberAccessPathExpression(state.resource, state.steps, state.index);
203
+ }
204
+ if (property === Symbol.toPrimitive) {
205
+ return () => `[ResourceMember ${stepsToPath(state.steps).map(String).join(".")}]`;
206
+ }
207
+ if (typeof property !== "string") {
208
+ return Reflect.get(proxyTarget, property, receiver);
209
+ }
210
+ if (property === "toString") {
211
+ return () => `[ResourceMember ${stepsToPath(state.steps).map(String).join(".")}]`;
212
+ }
213
+ if (property === "valueOf") {
214
+ return () => createMemberAccessPathExpression(state.resource, state.steps, state.index);
215
+ }
216
+ if (property === "then") {
217
+ return void 0;
218
+ }
219
+ const currentValue = getValueAtPath(state.root, stepsToPath(state.steps));
220
+ const segment = toPropertySegment(property, state.nav, currentValue);
221
+ const step = (0, import_shape.navigateShape)(state.nav, segment, currentValue);
222
+ const nextArmPath = step.stamp?.armPath;
223
+ const nextNav = step.next;
224
+ return createPropertyProxy({
225
+ ...state,
226
+ steps: [...state.steps, { segment, armPath: nextArmPath }],
227
+ nav: nextNav
228
+ });
229
+ },
230
+ set(_proxyTarget, property, value) {
231
+ if (typeof property !== "string") {
232
+ return false;
233
+ }
234
+ if (state.index !== void 0) {
235
+ throwLoopedElementWriteError();
236
+ }
237
+ setValueAtPath(
238
+ state.root,
239
+ [
240
+ ...stepsToPath(state.steps),
241
+ toPropertySegment(
242
+ property,
243
+ state.nav,
244
+ getValueAtPath(state.root, stepsToPath(state.steps))
245
+ )
246
+ ],
247
+ normalizeAssignedValue(value, state.resource)
248
+ );
249
+ return true;
250
+ }
251
+ });
252
+ }
253
+ function isNonEnumerableOwnProperty(target, property) {
254
+ const descriptor = Reflect.getOwnPropertyDescriptor(target, property);
255
+ return descriptor?.enumerable === false;
256
+ }
257
+ function hasOwnOrPrototypeProperty(target, property) {
258
+ let current = target;
259
+ while (current !== null) {
260
+ if (Object.prototype.hasOwnProperty.call(current, property)) {
261
+ return true;
262
+ }
263
+ current = Object.getPrototypeOf(current);
264
+ }
265
+ return false;
266
+ }
267
+ function createResourceMemberProxy(source, path) {
268
+ const rootShape = getResourceShape(source.resource);
269
+ let nav = rootShape;
270
+ const steps = [];
271
+ for (const segment of path) {
272
+ const step = (0, import_shape.navigateShape)(nav, segment, getValueAtPath(source.root, stepsToPath(steps)));
273
+ steps.push({ segment, armPath: step.stamp?.armPath });
274
+ nav = step.next;
275
+ }
276
+ return createPropertyProxy({
277
+ ...source,
278
+ steps,
279
+ nav
280
+ });
281
+ }
282
+ function getResourceShape(resource) {
283
+ const state = resource[RAW_RESOURCE_HANDLE];
284
+ return (0, import_shape_registry.getShape)(resource.type, resource.apiVersion, state);
285
+ }
286
+ function createResourceProxy(resource) {
287
+ function getBackingResourceData(target) {
288
+ return Reflect.get(target, RAW_RESOURCE_HANDLE);
289
+ }
290
+ const proxy = new Proxy(resource, {
291
+ ownKeys(target) {
292
+ return Array.from(
293
+ /* @__PURE__ */ new Set([
294
+ ...Reflect.ownKeys(target),
295
+ ...Reflect.ownKeys(getBackingResourceData(target)).filter(
296
+ (key) => key !== RAW_RESOURCE_HANDLE
297
+ )
298
+ ])
299
+ );
300
+ },
301
+ getOwnPropertyDescriptor(target, property) {
302
+ const targetDescriptor = Reflect.getOwnPropertyDescriptor(target, property);
303
+ if (targetDescriptor !== void 0) {
304
+ return targetDescriptor;
305
+ }
306
+ const backing = getBackingResourceData(target);
307
+ if (Object.prototype.hasOwnProperty.call(backing, property)) {
308
+ return { enumerable: true, configurable: true, writable: true };
309
+ }
310
+ return void 0;
311
+ },
312
+ get(target, property, receiver) {
313
+ if (typeof property !== "string") {
314
+ return Reflect.get(target, property, receiver);
315
+ }
316
+ if (property === "then") {
317
+ return Reflect.get(target, property, receiver);
318
+ }
319
+ if (hasOwnOrPrototypeProperty(target, property) || isNonEnumerableOwnProperty(target, property)) {
320
+ return Reflect.get(target, property, receiver);
321
+ }
322
+ const rootState = unwrapResourceHandle(proxy);
323
+ const rootShape = getResourceShape(target);
324
+ const segment = toPropertySegment(property, rootShape, rootState);
325
+ const step = (0, import_shape.navigateShape)(rootShape, segment, rootState);
326
+ const armPath = step.stamp?.armPath;
327
+ const nav = step.next;
328
+ return createPropertyProxy({
329
+ resource: proxy,
330
+ root: rootState,
331
+ steps: [{ segment, armPath }],
332
+ nav
333
+ });
334
+ },
335
+ set(target, property, value, receiver) {
336
+ if (typeof property !== "string") {
337
+ return Reflect.set(target, property, value, receiver);
338
+ }
339
+ if (hasOwnOrPrototypeProperty(target, property) || isNonEnumerableOwnProperty(target, property)) {
340
+ return Reflect.set(target, property, value, receiver);
341
+ }
342
+ setValueAtPath(
343
+ unwrapResourceHandle(proxy),
344
+ [toPropertySegment(property, getResourceShape(target), unwrapResourceHandle(proxy))],
345
+ normalizeAssignedValue(value, proxy)
346
+ );
347
+ return true;
348
+ }
349
+ });
350
+ return proxy;
351
+ }
352
+ function isResourceHandle(value) {
353
+ return typeof value === "object" && value !== null && value[RESOURCE_BRAND] === true;
354
+ }
355
+ function unwrapResourceHandle(resource) {
356
+ const maybeRaw = Reflect.get(resource, RAW_RESOURCE_HANDLE);
357
+ if (maybeRaw === void 0) {
358
+ return resource;
359
+ }
360
+ return maybeRaw;
361
+ }
362
+ function throwLoopedElementWriteError() {
363
+ throw new Error(
364
+ "Cannot assign to a property of a looped resource declaration. Individual loop iterations cannot be mutated. Set the property in the declaration passed to `fromLoop(loop, ...)`"
365
+ );
366
+ }
367
+ function createIndexedResourceProxy(resource, index) {
368
+ const resourceIndexExpression = (0, import_expressions.isExpression)(index) ? (0, import_expressions.unwrapExpression)(index) : index;
369
+ const root = unwrapResourceHandle(resource);
370
+ const subclassProto = resource.wrappedCtor?.prototype;
371
+ return new Proxy(resource, {
372
+ // Deliberately NO `getPrototypeOf` trap. Exposing the subclass
373
+ // prototype here would make `proxy instanceof Subclass` report `true`,
374
+ // invoking subclass getters/methods against the bare `LoopedResource`
375
+ // target (which lacks the subclass's own instance slots). Property
376
+ // reads and writes don't need it: the `get`/`set` traps below have
377
+ // their own `subclassProto` fallbacks that run accessors with
378
+ // `this = receiver` (the proxy) so `this.expr(...)` resolves against the
379
+ // indexed element.
380
+ get(target, property, receiver) {
381
+ if (property === PROXY_INDEX_REF) return resourceIndexExpression;
382
+ if (property === INDEXED_PROXY_TARGET) return target;
383
+ if (property === "expr") {
384
+ return function boundIndexedExpr(...path) {
385
+ return createResourceMemberProxy(
386
+ {
387
+ resource: target,
388
+ root,
389
+ index: resourceIndexExpression
390
+ },
391
+ path
392
+ );
393
+ };
394
+ }
395
+ if (property === "setProperty") {
396
+ return throwLoopedElementWriteError;
397
+ }
398
+ if (property in target) {
399
+ const value = Reflect.get(target, property, target);
400
+ return typeof value === "function" ? value.bind(target) : value;
401
+ }
402
+ if (subclassProto !== void 0) {
403
+ let proto = subclassProto;
404
+ while (proto !== null && proto !== Object.prototype) {
405
+ const descriptor = Object.getOwnPropertyDescriptor(proto, property);
406
+ if (descriptor !== void 0) {
407
+ if (descriptor.get !== void 0) {
408
+ return descriptor.get.call(receiver);
409
+ }
410
+ const value = descriptor.value;
411
+ return typeof value === "function" ? value.bind(target) : value;
412
+ }
413
+ proto = Object.getPrototypeOf(proto);
414
+ }
415
+ }
416
+ return void 0;
417
+ },
418
+ // Route writes to an ARM property setter with `this = receiver` (the
419
+ // proxy), allowing its `setProperty` call to hit the rejection above.
420
+ // Falls back to a plain write on the raw target.
421
+ set(target, property, value, receiver) {
422
+ if (subclassProto !== void 0) {
423
+ let proto = subclassProto;
424
+ while (proto !== null && proto !== Object.prototype) {
425
+ const descriptor = Object.getOwnPropertyDescriptor(proto, property);
426
+ if (descriptor !== void 0) {
427
+ if (descriptor.set !== void 0) {
428
+ descriptor.set.call(receiver, value);
429
+ return true;
430
+ }
431
+ break;
432
+ }
433
+ proto = Object.getPrototypeOf(proto);
434
+ }
435
+ }
436
+ return Reflect.set(target, property, value, target);
437
+ }
438
+ });
439
+ }
440
+ // Annotate the CommonJS export names for ESM import in node:
441
+ 0 && (module.exports = {
442
+ INDEXED_PROXY_TARGET,
443
+ LOOPED_RESOURCE_BRAND,
444
+ PROXY_INDEX_REF,
445
+ RAW_RESOURCE_HANDLE,
446
+ RESOURCE_BRAND,
447
+ RESOURCE_DECLARATION_BRAND,
448
+ STATE_PARENT_INDEX,
449
+ createIndexedResourceProxy,
450
+ createResourceMemberProxy,
451
+ createResourceProxy,
452
+ deref,
453
+ normalizeAssignedValue,
454
+ unwrapResourceHandle
455
+ });
456
+ //# sourceMappingURL=resource-proxy.js.map