@azure/provisioning-core 1.0.0-beta.1

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 (440) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +40 -0
  4. package/dist/browser/constructs/built-in-resources/resource-group.d.ts +50 -0
  5. package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  6. package/dist/browser/constructs/built-in-resources/resource-group.js +100 -0
  7. package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -0
  8. package/dist/browser/constructs/output.d.ts +80 -0
  9. package/dist/browser/constructs/output.d.ts.map +1 -0
  10. package/dist/browser/constructs/output.js +75 -0
  11. package/dist/browser/constructs/output.js.map +1 -0
  12. package/dist/browser/constructs/parameter.d.ts +77 -0
  13. package/dist/browser/constructs/parameter.d.ts.map +1 -0
  14. package/dist/browser/constructs/parameter.js +93 -0
  15. package/dist/browser/constructs/parameter.js.map +1 -0
  16. package/dist/browser/constructs/provisioning-component.d.ts +91 -0
  17. package/dist/browser/constructs/provisioning-component.d.ts.map +1 -0
  18. package/dist/browser/constructs/provisioning-component.js +150 -0
  19. package/dist/browser/constructs/provisioning-component.js.map +1 -0
  20. package/dist/browser/constructs/resource/resource-proxy.d.ts +134 -0
  21. package/dist/browser/constructs/resource/resource-proxy.d.ts.map +1 -0
  22. package/dist/browser/constructs/resource/resource-proxy.js +517 -0
  23. package/dist/browser/constructs/resource/resource-proxy.js.map +1 -0
  24. package/dist/browser/constructs/resource/resource-query.d.ts +23 -0
  25. package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -0
  26. package/dist/browser/constructs/resource/resource-query.js +69 -0
  27. package/dist/browser/constructs/resource/resource-query.js.map +1 -0
  28. package/dist/browser/constructs/resource/resource-registry.d.ts +99 -0
  29. package/dist/browser/constructs/resource/resource-registry.d.ts.map +1 -0
  30. package/dist/browser/constructs/resource/resource-registry.js +51 -0
  31. package/dist/browser/constructs/resource/resource-registry.js.map +1 -0
  32. package/dist/browser/constructs/resource/resource-type-registry.d.ts +46 -0
  33. package/dist/browser/constructs/resource/resource-type-registry.d.ts.map +1 -0
  34. package/dist/browser/constructs/resource/resource-type-registry.js +156 -0
  35. package/dist/browser/constructs/resource/resource-type-registry.js.map +1 -0
  36. package/dist/browser/constructs/resource/resource-utils.d.ts +60 -0
  37. package/dist/browser/constructs/resource/resource-utils.d.ts.map +1 -0
  38. package/dist/browser/constructs/resource/resource-utils.js +75 -0
  39. package/dist/browser/constructs/resource/resource-utils.js.map +1 -0
  40. package/dist/browser/constructs/resource/resource.d.ts +460 -0
  41. package/dist/browser/constructs/resource/resource.d.ts.map +1 -0
  42. package/dist/browser/constructs/resource/resource.js +582 -0
  43. package/dist/browser/constructs/resource/resource.js.map +1 -0
  44. package/dist/browser/constructs/stack.d.ts +110 -0
  45. package/dist/browser/constructs/stack.d.ts.map +1 -0
  46. package/dist/browser/constructs/stack.js +110 -0
  47. package/dist/browser/constructs/stack.js.map +1 -0
  48. package/dist/browser/constructs/variable.d.ts +63 -0
  49. package/dist/browser/constructs/variable.d.ts.map +1 -0
  50. package/dist/browser/constructs/variable.js +74 -0
  51. package/dist/browser/constructs/variable.js.map +1 -0
  52. package/dist/browser/deployment-context/deployment-context.d.ts +27 -0
  53. package/dist/browser/deployment-context/deployment-context.d.ts.map +1 -0
  54. package/dist/browser/deployment-context/deployment-context.js +4 -0
  55. package/dist/browser/deployment-context/deployment-context.js.map +1 -0
  56. package/dist/browser/expression/ast-nodes.d.ts +100 -0
  57. package/dist/browser/expression/ast-nodes.d.ts.map +1 -0
  58. package/dist/browser/expression/ast-nodes.js +125 -0
  59. package/dist/browser/expression/ast-nodes.js.map +1 -0
  60. package/dist/browser/expression/expressions.d.ts +164 -0
  61. package/dist/browser/expression/expressions.d.ts.map +1 -0
  62. package/dist/browser/expression/expressions.js +211 -0
  63. package/dist/browser/expression/expressions.js.map +1 -0
  64. package/dist/browser/fn.d.ts +194 -0
  65. package/dist/browser/fn.d.ts.map +1 -0
  66. package/dist/browser/fn.js +334 -0
  67. package/dist/browser/fn.js.map +1 -0
  68. package/dist/browser/index.d.ts +25 -0
  69. package/dist/browser/index.d.ts.map +1 -0
  70. package/dist/browser/index.js +17 -0
  71. package/dist/browser/index.js.map +1 -0
  72. package/dist/browser/internal.d.ts +13 -0
  73. package/dist/browser/internal.d.ts.map +1 -0
  74. package/dist/browser/internal.js +10 -0
  75. package/dist/browser/internal.js.map +1 -0
  76. package/dist/browser/naming/naming-policy.d.ts +56 -0
  77. package/dist/browser/naming/naming-policy.d.ts.map +1 -0
  78. package/dist/browser/naming/naming-policy.js +97 -0
  79. package/dist/browser/naming/naming-policy.js.map +1 -0
  80. package/dist/browser/naming/naming-rules.d.ts +15 -0
  81. package/dist/browser/naming/naming-rules.d.ts.map +1 -0
  82. package/dist/browser/naming/naming-rules.js +15 -0
  83. package/dist/browser/naming/naming-rules.js.map +1 -0
  84. package/dist/browser/package.json +8 -0
  85. package/dist/browser/serialization/contract/generated/ast.d.ts +508 -0
  86. package/dist/browser/serialization/contract/generated/ast.d.ts.map +1 -0
  87. package/dist/browser/serialization/contract/generated/ast.js +23 -0
  88. package/dist/browser/serialization/contract/generated/ast.js.map +1 -0
  89. package/dist/browser/serialization/contract/index.d.ts +2 -0
  90. package/dist/browser/serialization/contract/index.d.ts.map +1 -0
  91. package/dist/browser/serialization/contract/index.js +4 -0
  92. package/dist/browser/serialization/contract/index.js.map +1 -0
  93. package/dist/browser/serialization/index.d.ts +4 -0
  94. package/dist/browser/serialization/index.d.ts.map +1 -0
  95. package/dist/browser/serialization/index.js +5 -0
  96. package/dist/browser/serialization/index.js.map +1 -0
  97. package/dist/browser/serialization/json/deserialize.d.ts +24 -0
  98. package/dist/browser/serialization/json/deserialize.d.ts.map +1 -0
  99. package/dist/browser/serialization/json/deserialize.js +437 -0
  100. package/dist/browser/serialization/json/deserialize.js.map +1 -0
  101. package/dist/browser/serialization/json/encoding.d.ts +4 -0
  102. package/dist/browser/serialization/json/encoding.d.ts.map +1 -0
  103. package/dist/browser/serialization/json/encoding.js +319 -0
  104. package/dist/browser/serialization/json/encoding.js.map +1 -0
  105. package/dist/browser/serialization/json/expression.d.ts +32 -0
  106. package/dist/browser/serialization/json/expression.d.ts.map +1 -0
  107. package/dist/browser/serialization/json/expression.js +494 -0
  108. package/dist/browser/serialization/json/expression.js.map +1 -0
  109. package/dist/browser/serialization/json/lower.d.ts +41 -0
  110. package/dist/browser/serialization/json/lower.d.ts.map +1 -0
  111. package/dist/browser/serialization/json/lower.js +334 -0
  112. package/dist/browser/serialization/json/lower.js.map +1 -0
  113. package/dist/browser/serialization/json/pluralize-config.d.ts +3 -0
  114. package/dist/browser/serialization/json/pluralize-config.d.ts.map +1 -0
  115. package/dist/browser/serialization/json/pluralize-config.js +7 -0
  116. package/dist/browser/serialization/json/pluralize-config.js.map +1 -0
  117. package/dist/browser/serialization/json/serialize.d.ts +12 -0
  118. package/dist/browser/serialization/json/serialize.d.ts.map +1 -0
  119. package/dist/browser/serialization/json/serialize.js +389 -0
  120. package/dist/browser/serialization/json/serialize.js.map +1 -0
  121. package/dist/browser/serialization/json/util.d.ts +2 -0
  122. package/dist/browser/serialization/json/util.d.ts.map +1 -0
  123. package/dist/browser/serialization/json/util.js +19 -0
  124. package/dist/browser/serialization/json/util.js.map +1 -0
  125. package/dist/browser/serialization/utils.d.ts +3 -0
  126. package/dist/browser/serialization/utils.d.ts.map +1 -0
  127. package/dist/browser/serialization/utils.js +146 -0
  128. package/dist/browser/serialization/utils.js.map +1 -0
  129. package/dist/browser/shape/shape-registry.d.ts +51 -0
  130. package/dist/browser/shape/shape-registry.d.ts.map +1 -0
  131. package/dist/browser/shape/shape-registry.js +41 -0
  132. package/dist/browser/shape/shape-registry.js.map +1 -0
  133. package/dist/browser/shape/shape.d.ts +407 -0
  134. package/dist/browser/shape/shape.d.ts.map +1 -0
  135. package/dist/browser/shape/shape.js +424 -0
  136. package/dist/browser/shape/shape.js.map +1 -0
  137. package/dist/browser/shape/value-encoding.d.ts +121 -0
  138. package/dist/browser/shape/value-encoding.d.ts.map +1 -0
  139. package/dist/browser/shape/value-encoding.js +32 -0
  140. package/dist/browser/shape/value-encoding.js.map +1 -0
  141. package/dist/browser/types.d.ts +9 -0
  142. package/dist/browser/types.d.ts.map +1 -0
  143. package/dist/browser/types.js +4 -0
  144. package/dist/browser/types.js.map +1 -0
  145. package/dist/browser/util.d.ts +33 -0
  146. package/dist/browser/util.d.ts.map +1 -0
  147. package/dist/browser/util.js +74 -0
  148. package/dist/browser/util.js.map +1 -0
  149. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +50 -0
  150. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  151. package/dist/commonjs/constructs/built-in-resources/resource-group.js +114 -0
  152. package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +7 -0
  153. package/dist/commonjs/constructs/output.d.ts +80 -0
  154. package/dist/commonjs/constructs/output.d.ts.map +1 -0
  155. package/dist/commonjs/constructs/output.js +75 -0
  156. package/dist/commonjs/constructs/output.js.map +7 -0
  157. package/dist/commonjs/constructs/parameter.d.ts +77 -0
  158. package/dist/commonjs/constructs/parameter.d.ts.map +1 -0
  159. package/dist/commonjs/constructs/parameter.js +95 -0
  160. package/dist/commonjs/constructs/parameter.js.map +7 -0
  161. package/dist/commonjs/constructs/provisioning-component.d.ts +91 -0
  162. package/dist/commonjs/constructs/provisioning-component.d.ts.map +1 -0
  163. package/dist/commonjs/constructs/provisioning-component.js +130 -0
  164. package/dist/commonjs/constructs/provisioning-component.js.map +7 -0
  165. package/dist/commonjs/constructs/resource/resource-proxy.d.ts +134 -0
  166. package/dist/commonjs/constructs/resource/resource-proxy.d.ts.map +1 -0
  167. package/dist/commonjs/constructs/resource/resource-proxy.js +456 -0
  168. package/dist/commonjs/constructs/resource/resource-proxy.js.map +7 -0
  169. package/dist/commonjs/constructs/resource/resource-query.d.ts +23 -0
  170. package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -0
  171. package/dist/commonjs/constructs/resource/resource-query.js +68 -0
  172. package/dist/commonjs/constructs/resource/resource-query.js.map +7 -0
  173. package/dist/commonjs/constructs/resource/resource-registry.d.ts +99 -0
  174. package/dist/commonjs/constructs/resource/resource-registry.d.ts.map +1 -0
  175. package/dist/commonjs/constructs/resource/resource-registry.js +49 -0
  176. package/dist/commonjs/constructs/resource/resource-registry.js.map +7 -0
  177. package/dist/commonjs/constructs/resource/resource-type-registry.d.ts +46 -0
  178. package/dist/commonjs/constructs/resource/resource-type-registry.d.ts.map +1 -0
  179. package/dist/commonjs/constructs/resource/resource-type-registry.js +178 -0
  180. package/dist/commonjs/constructs/resource/resource-type-registry.js.map +7 -0
  181. package/dist/commonjs/constructs/resource/resource-utils.d.ts +60 -0
  182. package/dist/commonjs/constructs/resource/resource-utils.d.ts.map +1 -0
  183. package/dist/commonjs/constructs/resource/resource-utils.js +51 -0
  184. package/dist/commonjs/constructs/resource/resource-utils.js.map +7 -0
  185. package/dist/commonjs/constructs/resource/resource.d.ts +460 -0
  186. package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -0
  187. package/dist/commonjs/constructs/resource/resource.js +455 -0
  188. package/dist/commonjs/constructs/resource/resource.js.map +7 -0
  189. package/dist/commonjs/constructs/stack.d.ts +110 -0
  190. package/dist/commonjs/constructs/stack.d.ts.map +1 -0
  191. package/dist/commonjs/constructs/stack.js +101 -0
  192. package/dist/commonjs/constructs/stack.js.map +7 -0
  193. package/dist/commonjs/constructs/variable.d.ts +63 -0
  194. package/dist/commonjs/constructs/variable.d.ts.map +1 -0
  195. package/dist/commonjs/constructs/variable.js +85 -0
  196. package/dist/commonjs/constructs/variable.js.map +7 -0
  197. package/dist/commonjs/deployment-context/deployment-context.d.ts +27 -0
  198. package/dist/commonjs/deployment-context/deployment-context.d.ts.map +1 -0
  199. package/dist/commonjs/deployment-context/deployment-context.js +16 -0
  200. package/dist/commonjs/deployment-context/deployment-context.js.map +7 -0
  201. package/dist/commonjs/expression/ast-nodes.d.ts +100 -0
  202. package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -0
  203. package/dist/commonjs/expression/ast-nodes.js +152 -0
  204. package/dist/commonjs/expression/ast-nodes.js.map +7 -0
  205. package/dist/commonjs/expression/expressions.d.ts +164 -0
  206. package/dist/commonjs/expression/expressions.d.ts.map +1 -0
  207. package/dist/commonjs/expression/expressions.js +171 -0
  208. package/dist/commonjs/expression/expressions.js.map +7 -0
  209. package/dist/commonjs/fn.d.ts +194 -0
  210. package/dist/commonjs/fn.d.ts.map +1 -0
  211. package/dist/commonjs/fn.js +382 -0
  212. package/dist/commonjs/fn.js.map +7 -0
  213. package/dist/commonjs/index.d.ts +25 -0
  214. package/dist/commonjs/index.d.ts.map +1 -0
  215. package/dist/commonjs/index.js +93 -0
  216. package/dist/commonjs/index.js.map +7 -0
  217. package/dist/commonjs/internal.d.ts +13 -0
  218. package/dist/commonjs/internal.d.ts.map +1 -0
  219. package/dist/commonjs/internal.js +88 -0
  220. package/dist/commonjs/internal.js.map +7 -0
  221. package/dist/commonjs/naming/naming-policy.d.ts +56 -0
  222. package/dist/commonjs/naming/naming-policy.d.ts.map +1 -0
  223. package/dist/commonjs/naming/naming-policy.js +99 -0
  224. package/dist/commonjs/naming/naming-policy.js.map +7 -0
  225. package/dist/commonjs/naming/naming-rules.d.ts +15 -0
  226. package/dist/commonjs/naming/naming-rules.d.ts.map +1 -0
  227. package/dist/commonjs/naming/naming-rules.js +39 -0
  228. package/dist/commonjs/naming/naming-rules.js.map +7 -0
  229. package/dist/commonjs/package.json +8 -0
  230. package/dist/commonjs/serialization/contract/generated/ast.d.ts +508 -0
  231. package/dist/commonjs/serialization/contract/generated/ast.d.ts.map +1 -0
  232. package/dist/commonjs/serialization/contract/generated/ast.js +40 -0
  233. package/dist/commonjs/serialization/contract/generated/ast.js.map +7 -0
  234. package/dist/commonjs/serialization/contract/index.d.ts +2 -0
  235. package/dist/commonjs/serialization/contract/index.d.ts.map +1 -0
  236. package/dist/commonjs/serialization/contract/index.js +22 -0
  237. package/dist/commonjs/serialization/contract/index.js.map +7 -0
  238. package/dist/commonjs/serialization/index.d.ts +4 -0
  239. package/dist/commonjs/serialization/index.d.ts.map +1 -0
  240. package/dist/commonjs/serialization/index.js +31 -0
  241. package/dist/commonjs/serialization/index.js.map +7 -0
  242. package/dist/commonjs/serialization/json/deserialize.d.ts +24 -0
  243. package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -0
  244. package/dist/commonjs/serialization/json/deserialize.js +385 -0
  245. package/dist/commonjs/serialization/json/deserialize.js.map +7 -0
  246. package/dist/commonjs/serialization/json/encoding.d.ts +4 -0
  247. package/dist/commonjs/serialization/json/encoding.d.ts.map +1 -0
  248. package/dist/commonjs/serialization/json/encoding.js +306 -0
  249. package/dist/commonjs/serialization/json/encoding.js.map +7 -0
  250. package/dist/commonjs/serialization/json/expression.d.ts +32 -0
  251. package/dist/commonjs/serialization/json/expression.d.ts.map +1 -0
  252. package/dist/commonjs/serialization/json/expression.js +509 -0
  253. package/dist/commonjs/serialization/json/expression.js.map +7 -0
  254. package/dist/commonjs/serialization/json/lower.d.ts +41 -0
  255. package/dist/commonjs/serialization/json/lower.d.ts.map +1 -0
  256. package/dist/commonjs/serialization/json/lower.js +272 -0
  257. package/dist/commonjs/serialization/json/lower.js.map +7 -0
  258. package/dist/commonjs/serialization/json/pluralize-config.d.ts +3 -0
  259. package/dist/commonjs/serialization/json/pluralize-config.d.ts.map +1 -0
  260. package/dist/commonjs/serialization/json/pluralize-config.js +37 -0
  261. package/dist/commonjs/serialization/json/pluralize-config.js.map +7 -0
  262. package/dist/commonjs/serialization/json/serialize.d.ts +12 -0
  263. package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -0
  264. package/dist/commonjs/serialization/json/serialize.js +352 -0
  265. package/dist/commonjs/serialization/json/serialize.js.map +7 -0
  266. package/dist/commonjs/serialization/json/util.d.ts +2 -0
  267. package/dist/commonjs/serialization/json/util.d.ts.map +1 -0
  268. package/dist/commonjs/serialization/json/util.js +37 -0
  269. package/dist/commonjs/serialization/json/util.js.map +7 -0
  270. package/dist/commonjs/serialization/utils.d.ts +3 -0
  271. package/dist/commonjs/serialization/utils.d.ts.map +1 -0
  272. package/dist/commonjs/serialization/utils.js +169 -0
  273. package/dist/commonjs/serialization/utils.js.map +7 -0
  274. package/dist/commonjs/shape/shape-registry.d.ts +51 -0
  275. package/dist/commonjs/shape/shape-registry.d.ts.map +1 -0
  276. package/dist/commonjs/shape/shape-registry.js +40 -0
  277. package/dist/commonjs/shape/shape-registry.js.map +7 -0
  278. package/dist/commonjs/shape/shape.d.ts +407 -0
  279. package/dist/commonjs/shape/shape.d.ts.map +1 -0
  280. package/dist/commonjs/shape/shape.js +290 -0
  281. package/dist/commonjs/shape/shape.js.map +7 -0
  282. package/dist/commonjs/shape/value-encoding.d.ts +121 -0
  283. package/dist/commonjs/shape/value-encoding.d.ts.map +1 -0
  284. package/dist/commonjs/shape/value-encoding.js +62 -0
  285. package/dist/commonjs/shape/value-encoding.js.map +7 -0
  286. package/dist/commonjs/tsdoc-metadata.json +11 -0
  287. package/dist/commonjs/types.d.ts +9 -0
  288. package/dist/commonjs/types.d.ts.map +1 -0
  289. package/dist/commonjs/types.js +16 -0
  290. package/dist/commonjs/types.js.map +7 -0
  291. package/dist/commonjs/util.d.ts +33 -0
  292. package/dist/commonjs/util.d.ts.map +1 -0
  293. package/dist/commonjs/util.js +73 -0
  294. package/dist/commonjs/util.js.map +7 -0
  295. package/dist/esm/constructs/built-in-resources/resource-group.d.ts +50 -0
  296. package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -0
  297. package/dist/esm/constructs/built-in-resources/resource-group.js +100 -0
  298. package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -0
  299. package/dist/esm/constructs/output.d.ts +80 -0
  300. package/dist/esm/constructs/output.d.ts.map +1 -0
  301. package/dist/esm/constructs/output.js +75 -0
  302. package/dist/esm/constructs/output.js.map +1 -0
  303. package/dist/esm/constructs/parameter.d.ts +77 -0
  304. package/dist/esm/constructs/parameter.d.ts.map +1 -0
  305. package/dist/esm/constructs/parameter.js +93 -0
  306. package/dist/esm/constructs/parameter.js.map +1 -0
  307. package/dist/esm/constructs/provisioning-component.d.ts +91 -0
  308. package/dist/esm/constructs/provisioning-component.d.ts.map +1 -0
  309. package/dist/esm/constructs/provisioning-component.js +150 -0
  310. package/dist/esm/constructs/provisioning-component.js.map +1 -0
  311. package/dist/esm/constructs/resource/resource-proxy.d.ts +134 -0
  312. package/dist/esm/constructs/resource/resource-proxy.d.ts.map +1 -0
  313. package/dist/esm/constructs/resource/resource-proxy.js +517 -0
  314. package/dist/esm/constructs/resource/resource-proxy.js.map +1 -0
  315. package/dist/esm/constructs/resource/resource-query.d.ts +23 -0
  316. package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -0
  317. package/dist/esm/constructs/resource/resource-query.js +69 -0
  318. package/dist/esm/constructs/resource/resource-query.js.map +1 -0
  319. package/dist/esm/constructs/resource/resource-registry.d.ts +99 -0
  320. package/dist/esm/constructs/resource/resource-registry.d.ts.map +1 -0
  321. package/dist/esm/constructs/resource/resource-registry.js +51 -0
  322. package/dist/esm/constructs/resource/resource-registry.js.map +1 -0
  323. package/dist/esm/constructs/resource/resource-type-registry.d.ts +46 -0
  324. package/dist/esm/constructs/resource/resource-type-registry.d.ts.map +1 -0
  325. package/dist/esm/constructs/resource/resource-type-registry.js +156 -0
  326. package/dist/esm/constructs/resource/resource-type-registry.js.map +1 -0
  327. package/dist/esm/constructs/resource/resource-utils.d.ts +60 -0
  328. package/dist/esm/constructs/resource/resource-utils.d.ts.map +1 -0
  329. package/dist/esm/constructs/resource/resource-utils.js +75 -0
  330. package/dist/esm/constructs/resource/resource-utils.js.map +1 -0
  331. package/dist/esm/constructs/resource/resource.d.ts +460 -0
  332. package/dist/esm/constructs/resource/resource.d.ts.map +1 -0
  333. package/dist/esm/constructs/resource/resource.js +582 -0
  334. package/dist/esm/constructs/resource/resource.js.map +1 -0
  335. package/dist/esm/constructs/stack.d.ts +110 -0
  336. package/dist/esm/constructs/stack.d.ts.map +1 -0
  337. package/dist/esm/constructs/stack.js +110 -0
  338. package/dist/esm/constructs/stack.js.map +1 -0
  339. package/dist/esm/constructs/variable.d.ts +63 -0
  340. package/dist/esm/constructs/variable.d.ts.map +1 -0
  341. package/dist/esm/constructs/variable.js +74 -0
  342. package/dist/esm/constructs/variable.js.map +1 -0
  343. package/dist/esm/deployment-context/deployment-context.d.ts +27 -0
  344. package/dist/esm/deployment-context/deployment-context.d.ts.map +1 -0
  345. package/dist/esm/deployment-context/deployment-context.js +4 -0
  346. package/dist/esm/deployment-context/deployment-context.js.map +1 -0
  347. package/dist/esm/expression/ast-nodes.d.ts +100 -0
  348. package/dist/esm/expression/ast-nodes.d.ts.map +1 -0
  349. package/dist/esm/expression/ast-nodes.js +125 -0
  350. package/dist/esm/expression/ast-nodes.js.map +1 -0
  351. package/dist/esm/expression/expressions.d.ts +164 -0
  352. package/dist/esm/expression/expressions.d.ts.map +1 -0
  353. package/dist/esm/expression/expressions.js +211 -0
  354. package/dist/esm/expression/expressions.js.map +1 -0
  355. package/dist/esm/fn.d.ts +194 -0
  356. package/dist/esm/fn.d.ts.map +1 -0
  357. package/dist/esm/fn.js +334 -0
  358. package/dist/esm/fn.js.map +1 -0
  359. package/dist/esm/index.d.ts +25 -0
  360. package/dist/esm/index.d.ts.map +1 -0
  361. package/dist/esm/index.js +17 -0
  362. package/dist/esm/index.js.map +1 -0
  363. package/dist/esm/internal.d.ts +13 -0
  364. package/dist/esm/internal.d.ts.map +1 -0
  365. package/dist/esm/internal.js +10 -0
  366. package/dist/esm/internal.js.map +1 -0
  367. package/dist/esm/naming/naming-policy.d.ts +56 -0
  368. package/dist/esm/naming/naming-policy.d.ts.map +1 -0
  369. package/dist/esm/naming/naming-policy.js +97 -0
  370. package/dist/esm/naming/naming-policy.js.map +1 -0
  371. package/dist/esm/naming/naming-rules.d.ts +15 -0
  372. package/dist/esm/naming/naming-rules.d.ts.map +1 -0
  373. package/dist/esm/naming/naming-rules.js +15 -0
  374. package/dist/esm/naming/naming-rules.js.map +1 -0
  375. package/dist/esm/package.json +8 -0
  376. package/dist/esm/serialization/contract/generated/ast.d.ts +508 -0
  377. package/dist/esm/serialization/contract/generated/ast.d.ts.map +1 -0
  378. package/dist/esm/serialization/contract/generated/ast.js +23 -0
  379. package/dist/esm/serialization/contract/generated/ast.js.map +1 -0
  380. package/dist/esm/serialization/contract/index.d.ts +2 -0
  381. package/dist/esm/serialization/contract/index.d.ts.map +1 -0
  382. package/dist/esm/serialization/contract/index.js +4 -0
  383. package/dist/esm/serialization/contract/index.js.map +1 -0
  384. package/dist/esm/serialization/index.d.ts +4 -0
  385. package/dist/esm/serialization/index.d.ts.map +1 -0
  386. package/dist/esm/serialization/index.js +5 -0
  387. package/dist/esm/serialization/index.js.map +1 -0
  388. package/dist/esm/serialization/json/deserialize.d.ts +24 -0
  389. package/dist/esm/serialization/json/deserialize.d.ts.map +1 -0
  390. package/dist/esm/serialization/json/deserialize.js +437 -0
  391. package/dist/esm/serialization/json/deserialize.js.map +1 -0
  392. package/dist/esm/serialization/json/encoding.d.ts +4 -0
  393. package/dist/esm/serialization/json/encoding.d.ts.map +1 -0
  394. package/dist/esm/serialization/json/encoding.js +319 -0
  395. package/dist/esm/serialization/json/encoding.js.map +1 -0
  396. package/dist/esm/serialization/json/expression.d.ts +32 -0
  397. package/dist/esm/serialization/json/expression.d.ts.map +1 -0
  398. package/dist/esm/serialization/json/expression.js +494 -0
  399. package/dist/esm/serialization/json/expression.js.map +1 -0
  400. package/dist/esm/serialization/json/lower.d.ts +41 -0
  401. package/dist/esm/serialization/json/lower.d.ts.map +1 -0
  402. package/dist/esm/serialization/json/lower.js +334 -0
  403. package/dist/esm/serialization/json/lower.js.map +1 -0
  404. package/dist/esm/serialization/json/pluralize-config.d.ts +3 -0
  405. package/dist/esm/serialization/json/pluralize-config.d.ts.map +1 -0
  406. package/dist/esm/serialization/json/pluralize-config.js +7 -0
  407. package/dist/esm/serialization/json/pluralize-config.js.map +1 -0
  408. package/dist/esm/serialization/json/serialize.d.ts +12 -0
  409. package/dist/esm/serialization/json/serialize.d.ts.map +1 -0
  410. package/dist/esm/serialization/json/serialize.js +389 -0
  411. package/dist/esm/serialization/json/serialize.js.map +1 -0
  412. package/dist/esm/serialization/json/util.d.ts +2 -0
  413. package/dist/esm/serialization/json/util.d.ts.map +1 -0
  414. package/dist/esm/serialization/json/util.js +19 -0
  415. package/dist/esm/serialization/json/util.js.map +1 -0
  416. package/dist/esm/serialization/utils.d.ts +3 -0
  417. package/dist/esm/serialization/utils.d.ts.map +1 -0
  418. package/dist/esm/serialization/utils.js +146 -0
  419. package/dist/esm/serialization/utils.js.map +1 -0
  420. package/dist/esm/shape/shape-registry.d.ts +51 -0
  421. package/dist/esm/shape/shape-registry.d.ts.map +1 -0
  422. package/dist/esm/shape/shape-registry.js +41 -0
  423. package/dist/esm/shape/shape-registry.js.map +1 -0
  424. package/dist/esm/shape/shape.d.ts +407 -0
  425. package/dist/esm/shape/shape.d.ts.map +1 -0
  426. package/dist/esm/shape/shape.js +424 -0
  427. package/dist/esm/shape/shape.js.map +1 -0
  428. package/dist/esm/shape/value-encoding.d.ts +121 -0
  429. package/dist/esm/shape/value-encoding.d.ts.map +1 -0
  430. package/dist/esm/shape/value-encoding.js +32 -0
  431. package/dist/esm/shape/value-encoding.js.map +1 -0
  432. package/dist/esm/types.d.ts +9 -0
  433. package/dist/esm/types.d.ts.map +1 -0
  434. package/dist/esm/types.js +4 -0
  435. package/dist/esm/types.js.map +1 -0
  436. package/dist/esm/util.d.ts +33 -0
  437. package/dist/esm/util.d.ts.map +1 -0
  438. package/dist/esm/util.js +74 -0
  439. package/dist/esm/util.js.map +1 -0
  440. package/package.json +117 -0
@@ -0,0 +1,32 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export const INTEGER_SCALAR_NAMES = [
4
+ "integer",
5
+ "safeint",
6
+ "int8",
7
+ "int16",
8
+ "int32",
9
+ "int64",
10
+ "uint8",
11
+ "uint16",
12
+ "uint32",
13
+ "uint64",
14
+ ];
15
+ export const NUMERIC_SCALAR_NAMES = [
16
+ ...INTEGER_SCALAR_NAMES,
17
+ "numeric",
18
+ "decimal",
19
+ "decimal128",
20
+ "float",
21
+ "float32",
22
+ "float64",
23
+ ];
24
+ const integerScalarNames = new Set(INTEGER_SCALAR_NAMES);
25
+ const numericScalarNames = new Set(NUMERIC_SCALAR_NAMES);
26
+ export function isIntegerScalarName(name) {
27
+ return integerScalarNames.has(name);
28
+ }
29
+ export function isNumericScalarName(name) {
30
+ return numericScalarNames.has(name);
31
+ }
32
+ //# sourceMappingURL=value-encoding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value-encoding.js","sourceRoot":"","sources":["../../../src/shape/value-encoding.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,SAAS;IACT,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,GAAG,oBAAoB;IACvB,SAAS;IACT,SAAS;IACT,YAAY;IACZ,OAAO;IACP,SAAS;IACT,SAAS;CACD,CAAC;AAIX,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9E,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE9E,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const INTEGER_SCALAR_NAMES = [\n \"integer\",\n \"safeint\",\n \"int8\",\n \"int16\",\n \"int32\",\n \"int64\",\n \"uint8\",\n \"uint16\",\n \"uint32\",\n \"uint64\",\n] as const;\n\nexport type IntegerScalarName = (typeof INTEGER_SCALAR_NAMES)[number];\n\nexport const NUMERIC_SCALAR_NAMES = [\n ...INTEGER_SCALAR_NAMES,\n \"numeric\",\n \"decimal\",\n \"decimal128\",\n \"float\",\n \"float32\",\n \"float64\",\n] as const;\n\nexport type NumericScalarName = (typeof NUMERIC_SCALAR_NAMES)[number];\n\nconst integerScalarNames: ReadonlySet<string> = new Set(INTEGER_SCALAR_NAMES);\nconst numericScalarNames: ReadonlySet<string> = new Set(NUMERIC_SCALAR_NAMES);\n\nexport function isIntegerScalarName(name: string): name is IntegerScalarName {\n return integerScalarNames.has(name);\n}\n\nexport function isNumericScalarName(name: string): name is NumericScalarName {\n return numericScalarNames.has(name);\n}\n\nexport interface DateTimeTextEncodingDescriptor {\n readonly kind: \"date-time-text\";\n readonly source: \"utcDateTime\" | \"offsetDateTime\";\n readonly format: \"rfc3339\" | \"rfc7231\";\n readonly clientMode: \"client\" | \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport interface UnixTimestampEncodingDescriptor {\n readonly kind: \"unix-timestamp\";\n readonly source: \"utcDateTime\";\n readonly unit: \"seconds\";\n readonly clientMode: \"client\" | \"wire\";\n readonly wire: {\n readonly kind: \"integer\";\n readonly scalar: IntegerScalarName;\n };\n}\n\nexport interface DurationIso8601EncodingDescriptor {\n readonly kind: \"duration-iso8601\";\n readonly source: \"duration\";\n readonly clientMode: \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport interface DurationNumericEncodingDescriptor {\n readonly kind: \"duration-numeric\";\n readonly source: \"duration\";\n readonly unit: \"seconds\" | \"milliseconds\";\n readonly clientMode: \"wire\";\n readonly wire: {\n readonly kind: \"integer\";\n readonly scalar: IntegerScalarName;\n };\n}\n\nexport interface BytesEncodingDescriptor {\n readonly kind: \"bytes\";\n readonly source: \"bytes\";\n readonly format: \"base64\" | \"base64url\";\n readonly clientMode: \"client\" | \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport interface PlainDateEncodingDescriptor {\n readonly kind: \"plain-date\";\n readonly source: \"plainDate\";\n readonly clientMode: \"client\" | \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport interface NumericStringEncodingDescriptor {\n readonly kind: \"numeric-string\";\n readonly source: \"integer\" | \"number\";\n readonly sourceScalar: NumericScalarName;\n readonly clientMode: \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport interface BooleanStringEncodingDescriptor {\n readonly kind: \"boolean-string\";\n readonly source: \"boolean\";\n readonly clientMode: \"client\" | \"wire\";\n readonly wire: { readonly kind: \"string\" };\n}\n\nexport type ValueEncodingDescriptor =\n | DateTimeTextEncodingDescriptor\n | UnixTimestampEncodingDescriptor\n | DurationIso8601EncodingDescriptor\n | DurationNumericEncodingDescriptor\n | BytesEncodingDescriptor\n | PlainDateEncodingDescriptor\n | NumericStringEncodingDescriptor\n | BooleanStringEncodingDescriptor;\n\n/**\n * Encodings whose client-side value is a JavaScript `string`.\n *\n * The source TypeSpec scalar can be a date/time, duration, byte sequence,\n * numeric value, or boolean. `clientMode: \"wire\"` is the important invariant:\n * it means the generated TypeScript API exposes the encoded string itself.\n */\nexport type StringValueEncodingDescriptor =\n | (DateTimeTextEncodingDescriptor & { readonly clientMode: \"wire\" })\n | DurationIso8601EncodingDescriptor\n | (BytesEncodingDescriptor & { readonly clientMode: \"wire\" })\n | (PlainDateEncodingDescriptor & { readonly clientMode: \"wire\" })\n | NumericStringEncodingDescriptor\n | (BooleanStringEncodingDescriptor & { readonly clientMode: \"wire\" });\n\n/** Encoding supported by a client-side JavaScript `boolean`. */\nexport type BooleanValueEncodingDescriptor = BooleanStringEncodingDescriptor & {\n readonly clientMode: \"client\";\n};\n\n/** Encodings whose client-side value is a JavaScript `number`. */\nexport type NumberValueEncodingDescriptor =\n | (UnixTimestampEncodingDescriptor & { readonly clientMode: \"wire\" })\n | DurationNumericEncodingDescriptor;\n\n/** Encoding supported by a client-side JavaScript `Uint8Array`. */\nexport type BytesValueEncodingDescriptor = BytesEncodingDescriptor & {\n readonly clientMode: \"client\";\n};\n\n/**\n * Encodings whose client-side value is a JavaScript `Date`.\n *\n * `offsetDateTime` is intentionally absent: the emitter exposes it as a\n * string so the original offset is not erased.\n */\nexport type DateValueEncodingDescriptor =\n | (DateTimeTextEncodingDescriptor & {\n readonly source: \"utcDateTime\";\n readonly clientMode: \"client\";\n })\n | (UnixTimestampEncodingDescriptor & { readonly clientMode: \"client\" })\n | (PlainDateEncodingDescriptor & { readonly clientMode: \"client\" });\n"]}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * General-purpose type aliases used across the core package.
3
+ *
4
+ * Keep this file dependency-free so it can be imported from any layer
5
+ * (AST, proxy, resource, shape) without introducing cycles.
6
+ */
7
+ /** A single member access segment: an object property name or an array index. */
8
+ export type PropertySegment = string | number;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,iFAAiF;AACjF,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * General-purpose type aliases used across the core package.\n *\n * Keep this file dependency-free so it can be imported from any layer\n * (AST, proxy, resource, shape) without introducing cycles.\n */\n\n/** A single member access segment: an object property name or an array index. */\nexport type PropertySegment = string | number;\n"]}
@@ -0,0 +1,33 @@
1
+ /** Reject declaration names that cannot be emitted as Bicep identifiers. */
2
+ export declare function assertBicepIdentifier(name: string, kind: string): void;
3
+ /**
4
+ * Filters an object to only include properties with defined (non-undefined) values.
5
+ * Useful for constructing objects with fixed types that use optional properties
6
+ * (e.g. InfraNode) where `exactOptionalPropertyTypes` prevents assigning undefined.
7
+ *
8
+ * Keys whose value type includes undefined become optional in the return type.
9
+ * Keys whose value type is exactly undefined are removed entirely.
10
+ */
11
+ export declare function definedProps<T extends Record<string, unknown>>(obj: T): {
12
+ [K in keyof T as undefined extends T[K] ? never : K]: T[K];
13
+ } & {
14
+ [K in keyof T as undefined extends T[K] ? (T[K] extends undefined ? never : K) : never]+?: Exclude<T[K], undefined>;
15
+ };
16
+ /**
17
+ * Asserts that a value is assignable to a primitive Bicep type
18
+ * (`string`, `int`, `bool`, `object`, `array`).
19
+ *
20
+ * @remarks
21
+ * The value may be a literal, an `Expression`, a resource view, or a
22
+ * `Resource`. Only **concrete literals** are validated; symbolic values
23
+ * (expressions / views / resources) are skipped because their type is
24
+ * enforced by the type system at author time. `undefined` and non-primitive
25
+ * (`any`/structural) types are also no-ops. Throws on a literal/type
26
+ * mismatch.
27
+ *
28
+ * @param value - The candidate value (literal or symbolic).
29
+ * @param type - The primitive Bicep type to check against.
30
+ * @param label - Optional prefix for the error message (e.g. the declaration).
31
+ */
32
+ export declare function assertValueAssignableToType(value: unknown, type: string, label?: string): void;
33
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAQA,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,GAAG,EAAE,CAAC,GACL;KAAG,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG;KAEhE,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,CACtF,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAC9B,CAEA;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CA+B9F"}
@@ -0,0 +1,74 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { isExpression } from "./expression/expressions.js";
4
+ import { isResource } from "./constructs/resource/resource-utils.js";
5
+ const BICEP_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/u;
6
+ /** Reject declaration names that cannot be emitted as Bicep identifiers. */
7
+ export function assertBicepIdentifier(name, kind) {
8
+ if (!BICEP_IDENTIFIER.test(name)) {
9
+ throw new Error(`${kind} name "${name}" must be a valid Bicep identifier (letters, digits, and underscores; not starting with a digit).`);
10
+ }
11
+ }
12
+ /**
13
+ * Filters an object to only include properties with defined (non-undefined) values.
14
+ * Useful for constructing objects with fixed types that use optional properties
15
+ * (e.g. InfraNode) where `exactOptionalPropertyTypes` prevents assigning undefined.
16
+ *
17
+ * Keys whose value type includes undefined become optional in the return type.
18
+ * Keys whose value type is exactly undefined are removed entirely.
19
+ */
20
+ export function definedProps(obj) {
21
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
22
+ }
23
+ /**
24
+ * Asserts that a value is assignable to a primitive Bicep type
25
+ * (`string`, `int`, `bool`, `object`, `array`).
26
+ *
27
+ * @remarks
28
+ * The value may be a literal, an `Expression`, a resource view, or a
29
+ * `Resource`. Only **concrete literals** are validated; symbolic values
30
+ * (expressions / views / resources) are skipped because their type is
31
+ * enforced by the type system at author time. `undefined` and non-primitive
32
+ * (`any`/structural) types are also no-ops. Throws on a literal/type
33
+ * mismatch.
34
+ *
35
+ * @param value - The candidate value (literal or symbolic).
36
+ * @param type - The primitive Bicep type to check against.
37
+ * @param label - Optional prefix for the error message (e.g. the declaration).
38
+ */
39
+ export function assertValueAssignableToType(value, type, label) {
40
+ if (value === undefined)
41
+ return;
42
+ if (isExpression(value) || isResource(value))
43
+ return;
44
+ const prefix = label ? `${label} ` : "";
45
+ const fail = (got) => {
46
+ throw new Error(`${prefix}expected type "${type}" but got ${got}.`);
47
+ };
48
+ switch (type) {
49
+ case "string":
50
+ if (typeof value !== "string")
51
+ fail(typeof value);
52
+ break;
53
+ case "int":
54
+ if (typeof value !== "number" || !Number.isInteger(value)) {
55
+ fail(typeof value === "number" ? "non-integer number" : typeof value);
56
+ }
57
+ break;
58
+ case "bool":
59
+ if (typeof value !== "boolean")
60
+ fail(typeof value);
61
+ break;
62
+ case "object":
63
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
64
+ fail(Array.isArray(value) ? "array" : value === null ? "null" : typeof value);
65
+ }
66
+ break;
67
+ case "array":
68
+ if (!Array.isArray(value))
69
+ fail(value === null ? "null" : typeof value);
70
+ break;
71
+ // "any" and other (structural) types: no runtime check.
72
+ }
73
+ }
74
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAErE,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAY;IAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,UAAU,IAAI,mGAAmG,CACzH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAM;IAMN,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAQ,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc,EAAE,IAAY,EAAE,KAAc;IACtF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO;IAErD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAS,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,kBAAkB,IAAI,aAAa,GAAG,GAAG,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,KAAK;YACR,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;YACxE,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;YAChF,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;YACxE,MAAM;QACR,wDAAwD;IAC1D,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isExpression } from \"./expression/expressions.js\";\nimport { isResource } from \"./constructs/resource/resource-utils.js\";\n\nconst BICEP_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/u;\n\n/** Reject declaration names that cannot be emitted as Bicep identifiers. */\nexport function assertBicepIdentifier(name: string, kind: string): void {\n if (!BICEP_IDENTIFIER.test(name)) {\n throw new Error(\n `${kind} name \"${name}\" must be a valid Bicep identifier (letters, digits, and underscores; not starting with a digit).`,\n );\n }\n}\n\n/**\n * Filters an object to only include properties with defined (non-undefined) values.\n * Useful for constructing objects with fixed types that use optional properties\n * (e.g. InfraNode) where `exactOptionalPropertyTypes` prevents assigning undefined.\n *\n * Keys whose value type includes undefined become optional in the return type.\n * Keys whose value type is exactly undefined are removed entirely.\n */\nexport function definedProps<T extends Record<string, unknown>>(\n obj: T,\n): { [K in keyof T as undefined extends T[K] ? never : K]: T[K] } & {\n [\n K in keyof T as undefined extends T[K] ? (T[K] extends undefined ? never : K) : never\n ]+?: Exclude<T[K], undefined>;\n} {\n return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined)) as any;\n}\n\n/**\n * Asserts that a value is assignable to a primitive Bicep type\n * (`string`, `int`, `bool`, `object`, `array`).\n *\n * @remarks\n * The value may be a literal, an `Expression`, a resource view, or a\n * `Resource`. Only **concrete literals** are validated; symbolic values\n * (expressions / views / resources) are skipped because their type is\n * enforced by the type system at author time. `undefined` and non-primitive\n * (`any`/structural) types are also no-ops. Throws on a literal/type\n * mismatch.\n *\n * @param value - The candidate value (literal or symbolic).\n * @param type - The primitive Bicep type to check against.\n * @param label - Optional prefix for the error message (e.g. the declaration).\n */\nexport function assertValueAssignableToType(value: unknown, type: string, label?: string): void {\n if (value === undefined) return;\n if (isExpression(value) || isResource(value)) return;\n\n const prefix = label ? `${label} ` : \"\";\n const fail = (got: string): never => {\n throw new Error(`${prefix}expected type \"${type}\" but got ${got}.`);\n };\n\n switch (type) {\n case \"string\":\n if (typeof value !== \"string\") fail(typeof value);\n break;\n case \"int\":\n if (typeof value !== \"number\" || !Number.isInteger(value)) {\n fail(typeof value === \"number\" ? \"non-integer number\" : typeof value);\n }\n break;\n case \"bool\":\n if (typeof value !== \"boolean\") fail(typeof value);\n break;\n case \"object\":\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n fail(Array.isArray(value) ? \"array\" : value === null ? \"null\" : typeof value);\n }\n break;\n case \"array\":\n if (!Array.isArray(value)) fail(value === null ? \"null\" : typeof value);\n break;\n // \"any\" and other (structural) types: no runtime check.\n }\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,117 @@
1
+ {
2
+ "name": "@azure/provisioning-core",
3
+ "version": "1.0.0-beta.1",
4
+ "description": "Core primitives for the Azure Provisioning library",
5
+ "sdk-type": "provisioning",
6
+ "autoPublish": false,
7
+ "type": "module",
8
+ "main": "./dist/commonjs/index.js",
9
+ "module": "./dist/esm/index.js",
10
+ "types": "./dist/commonjs/index.d.ts",
11
+ "browser": "./dist/browser/index.js",
12
+ "exports": {
13
+ "./package.json": "./package.json",
14
+ ".": {
15
+ "browser": {
16
+ "types": "./dist/browser/index.d.ts",
17
+ "default": "./dist/browser/index.js"
18
+ },
19
+ "import": {
20
+ "types": "./dist/esm/index.d.ts",
21
+ "default": "./dist/esm/index.js"
22
+ },
23
+ "require": {
24
+ "types": "./dist/commonjs/index.d.ts",
25
+ "default": "./dist/commonjs/index.js"
26
+ }
27
+ },
28
+ "./internal": {
29
+ "browser": {
30
+ "types": "./dist/browser/internal.d.ts",
31
+ "default": "./dist/browser/internal.js"
32
+ },
33
+ "import": {
34
+ "types": "./dist/esm/internal.d.ts",
35
+ "default": "./dist/esm/internal.js"
36
+ },
37
+ "require": {
38
+ "types": "./dist/commonjs/internal.d.ts",
39
+ "default": "./dist/commonjs/internal.js"
40
+ }
41
+ },
42
+ "./serialization": {
43
+ "browser": {
44
+ "types": "./dist/browser/serialization/index.d.ts",
45
+ "default": "./dist/browser/serialization/index.js"
46
+ },
47
+ "import": {
48
+ "types": "./dist/esm/serialization/index.d.ts",
49
+ "default": "./dist/esm/serialization/index.js"
50
+ },
51
+ "require": {
52
+ "types": "./dist/commonjs/serialization/index.d.ts",
53
+ "default": "./dist/commonjs/serialization/index.js"
54
+ }
55
+ }
56
+ },
57
+ "files": [
58
+ "dist/",
59
+ "LICENSE",
60
+ "README.md",
61
+ "CHANGELOG.md"
62
+ ],
63
+ "engines": {
64
+ "node": ">=22.0.0"
65
+ },
66
+ "sideEffects": true,
67
+ "author": "Microsoft Corporation",
68
+ "license": "MIT",
69
+ "repository": {
70
+ "type": "git",
71
+ "url": "git+https://github.com/Azure/azure-sdk-for-js",
72
+ "directory": "sdk/core/provisioning-core"
73
+ },
74
+ "bugs": {
75
+ "url": "https://github.com/Azure/azure-sdk-for-js/issues"
76
+ },
77
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/provisioning-core/README.md",
78
+ "prettier": "@azure/eslint-plugin-azure-sdk/prettier.json",
79
+ "dependencies": {
80
+ "pluralize": "^8.0.0",
81
+ "tslib": "^2.8.1"
82
+ },
83
+ "devDependencies": {
84
+ "@azure/dev-tool": "^1.0.0",
85
+ "@azure/eslint-plugin-azure-sdk": "^3.0.0",
86
+ "@types/node": "^22.0.0",
87
+ "@types/pluralize": "^0.0.33",
88
+ "@vitest/browser-playwright": "^5.0.0",
89
+ "@vitest/coverage-istanbul": "^5.0.0",
90
+ "eslint": "^10.8.0",
91
+ "playwright": "^1.60.0",
92
+ "prettier": "^3.9.1",
93
+ "rimraf": "^6.1.0",
94
+ "typescript": "~6.0.2",
95
+ "vitest": "^5.0.0"
96
+ },
97
+ "keywords": [
98
+ "azure",
99
+ "cloud"
100
+ ],
101
+ "scripts": {
102
+ "build": "npm run clean && dev-tool run build-package && dev-tool run extract-api",
103
+ "build:samples": "echo Skipped.",
104
+ "check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,mjs,cjs,json}\" \"config/*.json\"",
105
+ "clean": "rimraf --glob dist dist-* temp types *.tgz *.log",
106
+ "execute:samples": "echo skipped",
107
+ "extract-api": "dev-tool run build-package && dev-tool run extract-api",
108
+ "format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.{ts,cts,mts}\" \"test/**/*.{ts,cts,mts}\" \"*.{js,mjs,cjs,json}\" \"config/*.json\"",
109
+ "lint": "eslint package.json src test",
110
+ "lint:fix": "eslint package.json src test --fix --fix-type [problem,suggestion]",
111
+ "pack": "pnpm pack 2>&1",
112
+ "test": "tsc -b --noEmit && npm run test:node && npm run test:browser",
113
+ "test:browser": "dev-tool run test:vitest --no-test-proxy --browser",
114
+ "test:node": "dev-tool run test:vitest --no-test-proxy",
115
+ "update-snippets": "dev-tool run update-snippets"
116
+ }
117
+ }