@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.
- package/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +40 -0
- package/dist/browser/constructs/built-in-resources/resource-group.d.ts +50 -0
- package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -0
- package/dist/browser/constructs/built-in-resources/resource-group.js +100 -0
- package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -0
- package/dist/browser/constructs/output.d.ts +80 -0
- package/dist/browser/constructs/output.d.ts.map +1 -0
- package/dist/browser/constructs/output.js +75 -0
- package/dist/browser/constructs/output.js.map +1 -0
- package/dist/browser/constructs/parameter.d.ts +77 -0
- package/dist/browser/constructs/parameter.d.ts.map +1 -0
- package/dist/browser/constructs/parameter.js +93 -0
- package/dist/browser/constructs/parameter.js.map +1 -0
- package/dist/browser/constructs/provisioning-component.d.ts +91 -0
- package/dist/browser/constructs/provisioning-component.d.ts.map +1 -0
- package/dist/browser/constructs/provisioning-component.js +150 -0
- package/dist/browser/constructs/provisioning-component.js.map +1 -0
- package/dist/browser/constructs/resource/resource-proxy.d.ts +134 -0
- package/dist/browser/constructs/resource/resource-proxy.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-proxy.js +517 -0
- package/dist/browser/constructs/resource/resource-proxy.js.map +1 -0
- package/dist/browser/constructs/resource/resource-query.d.ts +23 -0
- package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-query.js +69 -0
- package/dist/browser/constructs/resource/resource-query.js.map +1 -0
- package/dist/browser/constructs/resource/resource-registry.d.ts +99 -0
- package/dist/browser/constructs/resource/resource-registry.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-registry.js +51 -0
- package/dist/browser/constructs/resource/resource-registry.js.map +1 -0
- package/dist/browser/constructs/resource/resource-type-registry.d.ts +46 -0
- package/dist/browser/constructs/resource/resource-type-registry.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-type-registry.js +156 -0
- package/dist/browser/constructs/resource/resource-type-registry.js.map +1 -0
- package/dist/browser/constructs/resource/resource-utils.d.ts +60 -0
- package/dist/browser/constructs/resource/resource-utils.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-utils.js +75 -0
- package/dist/browser/constructs/resource/resource-utils.js.map +1 -0
- package/dist/browser/constructs/resource/resource.d.ts +460 -0
- package/dist/browser/constructs/resource/resource.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource.js +582 -0
- package/dist/browser/constructs/resource/resource.js.map +1 -0
- package/dist/browser/constructs/stack.d.ts +110 -0
- package/dist/browser/constructs/stack.d.ts.map +1 -0
- package/dist/browser/constructs/stack.js +110 -0
- package/dist/browser/constructs/stack.js.map +1 -0
- package/dist/browser/constructs/variable.d.ts +63 -0
- package/dist/browser/constructs/variable.d.ts.map +1 -0
- package/dist/browser/constructs/variable.js +74 -0
- package/dist/browser/constructs/variable.js.map +1 -0
- package/dist/browser/deployment-context/deployment-context.d.ts +27 -0
- package/dist/browser/deployment-context/deployment-context.d.ts.map +1 -0
- package/dist/browser/deployment-context/deployment-context.js +4 -0
- package/dist/browser/deployment-context/deployment-context.js.map +1 -0
- package/dist/browser/expression/ast-nodes.d.ts +100 -0
- package/dist/browser/expression/ast-nodes.d.ts.map +1 -0
- package/dist/browser/expression/ast-nodes.js +125 -0
- package/dist/browser/expression/ast-nodes.js.map +1 -0
- package/dist/browser/expression/expressions.d.ts +164 -0
- package/dist/browser/expression/expressions.d.ts.map +1 -0
- package/dist/browser/expression/expressions.js +211 -0
- package/dist/browser/expression/expressions.js.map +1 -0
- package/dist/browser/fn.d.ts +194 -0
- package/dist/browser/fn.d.ts.map +1 -0
- package/dist/browser/fn.js +334 -0
- package/dist/browser/fn.js.map +1 -0
- package/dist/browser/index.d.ts +25 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +17 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/internal.d.ts +13 -0
- package/dist/browser/internal.d.ts.map +1 -0
- package/dist/browser/internal.js +10 -0
- package/dist/browser/internal.js.map +1 -0
- package/dist/browser/naming/naming-policy.d.ts +56 -0
- package/dist/browser/naming/naming-policy.d.ts.map +1 -0
- package/dist/browser/naming/naming-policy.js +97 -0
- package/dist/browser/naming/naming-policy.js.map +1 -0
- package/dist/browser/naming/naming-rules.d.ts +15 -0
- package/dist/browser/naming/naming-rules.d.ts.map +1 -0
- package/dist/browser/naming/naming-rules.js +15 -0
- package/dist/browser/naming/naming-rules.js.map +1 -0
- package/dist/browser/package.json +8 -0
- package/dist/browser/serialization/contract/generated/ast.d.ts +508 -0
- package/dist/browser/serialization/contract/generated/ast.d.ts.map +1 -0
- package/dist/browser/serialization/contract/generated/ast.js +23 -0
- package/dist/browser/serialization/contract/generated/ast.js.map +1 -0
- package/dist/browser/serialization/contract/index.d.ts +2 -0
- package/dist/browser/serialization/contract/index.d.ts.map +1 -0
- package/dist/browser/serialization/contract/index.js +4 -0
- package/dist/browser/serialization/contract/index.js.map +1 -0
- package/dist/browser/serialization/index.d.ts +4 -0
- package/dist/browser/serialization/index.d.ts.map +1 -0
- package/dist/browser/serialization/index.js +5 -0
- package/dist/browser/serialization/index.js.map +1 -0
- package/dist/browser/serialization/json/deserialize.d.ts +24 -0
- package/dist/browser/serialization/json/deserialize.d.ts.map +1 -0
- package/dist/browser/serialization/json/deserialize.js +437 -0
- package/dist/browser/serialization/json/deserialize.js.map +1 -0
- package/dist/browser/serialization/json/encoding.d.ts +4 -0
- package/dist/browser/serialization/json/encoding.d.ts.map +1 -0
- package/dist/browser/serialization/json/encoding.js +319 -0
- package/dist/browser/serialization/json/encoding.js.map +1 -0
- package/dist/browser/serialization/json/expression.d.ts +32 -0
- package/dist/browser/serialization/json/expression.d.ts.map +1 -0
- package/dist/browser/serialization/json/expression.js +494 -0
- package/dist/browser/serialization/json/expression.js.map +1 -0
- package/dist/browser/serialization/json/lower.d.ts +41 -0
- package/dist/browser/serialization/json/lower.d.ts.map +1 -0
- package/dist/browser/serialization/json/lower.js +334 -0
- package/dist/browser/serialization/json/lower.js.map +1 -0
- package/dist/browser/serialization/json/pluralize-config.d.ts +3 -0
- package/dist/browser/serialization/json/pluralize-config.d.ts.map +1 -0
- package/dist/browser/serialization/json/pluralize-config.js +7 -0
- package/dist/browser/serialization/json/pluralize-config.js.map +1 -0
- package/dist/browser/serialization/json/serialize.d.ts +12 -0
- package/dist/browser/serialization/json/serialize.d.ts.map +1 -0
- package/dist/browser/serialization/json/serialize.js +389 -0
- package/dist/browser/serialization/json/serialize.js.map +1 -0
- package/dist/browser/serialization/json/util.d.ts +2 -0
- package/dist/browser/serialization/json/util.d.ts.map +1 -0
- package/dist/browser/serialization/json/util.js +19 -0
- package/dist/browser/serialization/json/util.js.map +1 -0
- package/dist/browser/serialization/utils.d.ts +3 -0
- package/dist/browser/serialization/utils.d.ts.map +1 -0
- package/dist/browser/serialization/utils.js +146 -0
- package/dist/browser/serialization/utils.js.map +1 -0
- package/dist/browser/shape/shape-registry.d.ts +51 -0
- package/dist/browser/shape/shape-registry.d.ts.map +1 -0
- package/dist/browser/shape/shape-registry.js +41 -0
- package/dist/browser/shape/shape-registry.js.map +1 -0
- package/dist/browser/shape/shape.d.ts +407 -0
- package/dist/browser/shape/shape.d.ts.map +1 -0
- package/dist/browser/shape/shape.js +424 -0
- package/dist/browser/shape/shape.js.map +1 -0
- package/dist/browser/shape/value-encoding.d.ts +121 -0
- package/dist/browser/shape/value-encoding.d.ts.map +1 -0
- package/dist/browser/shape/value-encoding.js +32 -0
- package/dist/browser/shape/value-encoding.js.map +1 -0
- package/dist/browser/types.d.ts +9 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/types.js +4 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/browser/util.d.ts +33 -0
- package/dist/browser/util.d.ts.map +1 -0
- package/dist/browser/util.js +74 -0
- package/dist/browser/util.js.map +1 -0
- package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +50 -0
- package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -0
- package/dist/commonjs/constructs/built-in-resources/resource-group.js +114 -0
- package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +7 -0
- package/dist/commonjs/constructs/output.d.ts +80 -0
- package/dist/commonjs/constructs/output.d.ts.map +1 -0
- package/dist/commonjs/constructs/output.js +75 -0
- package/dist/commonjs/constructs/output.js.map +7 -0
- package/dist/commonjs/constructs/parameter.d.ts +77 -0
- package/dist/commonjs/constructs/parameter.d.ts.map +1 -0
- package/dist/commonjs/constructs/parameter.js +95 -0
- package/dist/commonjs/constructs/parameter.js.map +7 -0
- package/dist/commonjs/constructs/provisioning-component.d.ts +91 -0
- package/dist/commonjs/constructs/provisioning-component.d.ts.map +1 -0
- package/dist/commonjs/constructs/provisioning-component.js +130 -0
- package/dist/commonjs/constructs/provisioning-component.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource-proxy.d.ts +134 -0
- package/dist/commonjs/constructs/resource/resource-proxy.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-proxy.js +456 -0
- package/dist/commonjs/constructs/resource/resource-proxy.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource-query.d.ts +23 -0
- package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-query.js +68 -0
- package/dist/commonjs/constructs/resource/resource-query.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource-registry.d.ts +99 -0
- package/dist/commonjs/constructs/resource/resource-registry.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-registry.js +49 -0
- package/dist/commonjs/constructs/resource/resource-registry.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource-type-registry.d.ts +46 -0
- package/dist/commonjs/constructs/resource/resource-type-registry.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-type-registry.js +178 -0
- package/dist/commonjs/constructs/resource/resource-type-registry.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource-utils.d.ts +60 -0
- package/dist/commonjs/constructs/resource/resource-utils.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-utils.js +51 -0
- package/dist/commonjs/constructs/resource/resource-utils.js.map +7 -0
- package/dist/commonjs/constructs/resource/resource.d.ts +460 -0
- package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource.js +455 -0
- package/dist/commonjs/constructs/resource/resource.js.map +7 -0
- package/dist/commonjs/constructs/stack.d.ts +110 -0
- package/dist/commonjs/constructs/stack.d.ts.map +1 -0
- package/dist/commonjs/constructs/stack.js +101 -0
- package/dist/commonjs/constructs/stack.js.map +7 -0
- package/dist/commonjs/constructs/variable.d.ts +63 -0
- package/dist/commonjs/constructs/variable.d.ts.map +1 -0
- package/dist/commonjs/constructs/variable.js +85 -0
- package/dist/commonjs/constructs/variable.js.map +7 -0
- package/dist/commonjs/deployment-context/deployment-context.d.ts +27 -0
- package/dist/commonjs/deployment-context/deployment-context.d.ts.map +1 -0
- package/dist/commonjs/deployment-context/deployment-context.js +16 -0
- package/dist/commonjs/deployment-context/deployment-context.js.map +7 -0
- package/dist/commonjs/expression/ast-nodes.d.ts +100 -0
- package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -0
- package/dist/commonjs/expression/ast-nodes.js +152 -0
- package/dist/commonjs/expression/ast-nodes.js.map +7 -0
- package/dist/commonjs/expression/expressions.d.ts +164 -0
- package/dist/commonjs/expression/expressions.d.ts.map +1 -0
- package/dist/commonjs/expression/expressions.js +171 -0
- package/dist/commonjs/expression/expressions.js.map +7 -0
- package/dist/commonjs/fn.d.ts +194 -0
- package/dist/commonjs/fn.d.ts.map +1 -0
- package/dist/commonjs/fn.js +382 -0
- package/dist/commonjs/fn.js.map +7 -0
- package/dist/commonjs/index.d.ts +25 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +93 -0
- package/dist/commonjs/index.js.map +7 -0
- package/dist/commonjs/internal.d.ts +13 -0
- package/dist/commonjs/internal.d.ts.map +1 -0
- package/dist/commonjs/internal.js +88 -0
- package/dist/commonjs/internal.js.map +7 -0
- package/dist/commonjs/naming/naming-policy.d.ts +56 -0
- package/dist/commonjs/naming/naming-policy.d.ts.map +1 -0
- package/dist/commonjs/naming/naming-policy.js +99 -0
- package/dist/commonjs/naming/naming-policy.js.map +7 -0
- package/dist/commonjs/naming/naming-rules.d.ts +15 -0
- package/dist/commonjs/naming/naming-rules.d.ts.map +1 -0
- package/dist/commonjs/naming/naming-rules.js +39 -0
- package/dist/commonjs/naming/naming-rules.js.map +7 -0
- package/dist/commonjs/package.json +8 -0
- package/dist/commonjs/serialization/contract/generated/ast.d.ts +508 -0
- package/dist/commonjs/serialization/contract/generated/ast.d.ts.map +1 -0
- package/dist/commonjs/serialization/contract/generated/ast.js +40 -0
- package/dist/commonjs/serialization/contract/generated/ast.js.map +7 -0
- package/dist/commonjs/serialization/contract/index.d.ts +2 -0
- package/dist/commonjs/serialization/contract/index.d.ts.map +1 -0
- package/dist/commonjs/serialization/contract/index.js +22 -0
- package/dist/commonjs/serialization/contract/index.js.map +7 -0
- package/dist/commonjs/serialization/index.d.ts +4 -0
- package/dist/commonjs/serialization/index.d.ts.map +1 -0
- package/dist/commonjs/serialization/index.js +31 -0
- package/dist/commonjs/serialization/index.js.map +7 -0
- package/dist/commonjs/serialization/json/deserialize.d.ts +24 -0
- package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/deserialize.js +385 -0
- package/dist/commonjs/serialization/json/deserialize.js.map +7 -0
- package/dist/commonjs/serialization/json/encoding.d.ts +4 -0
- package/dist/commonjs/serialization/json/encoding.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/encoding.js +306 -0
- package/dist/commonjs/serialization/json/encoding.js.map +7 -0
- package/dist/commonjs/serialization/json/expression.d.ts +32 -0
- package/dist/commonjs/serialization/json/expression.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/expression.js +509 -0
- package/dist/commonjs/serialization/json/expression.js.map +7 -0
- package/dist/commonjs/serialization/json/lower.d.ts +41 -0
- package/dist/commonjs/serialization/json/lower.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/lower.js +272 -0
- package/dist/commonjs/serialization/json/lower.js.map +7 -0
- package/dist/commonjs/serialization/json/pluralize-config.d.ts +3 -0
- package/dist/commonjs/serialization/json/pluralize-config.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/pluralize-config.js +37 -0
- package/dist/commonjs/serialization/json/pluralize-config.js.map +7 -0
- package/dist/commonjs/serialization/json/serialize.d.ts +12 -0
- package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/serialize.js +352 -0
- package/dist/commonjs/serialization/json/serialize.js.map +7 -0
- package/dist/commonjs/serialization/json/util.d.ts +2 -0
- package/dist/commonjs/serialization/json/util.d.ts.map +1 -0
- package/dist/commonjs/serialization/json/util.js +37 -0
- package/dist/commonjs/serialization/json/util.js.map +7 -0
- package/dist/commonjs/serialization/utils.d.ts +3 -0
- package/dist/commonjs/serialization/utils.d.ts.map +1 -0
- package/dist/commonjs/serialization/utils.js +169 -0
- package/dist/commonjs/serialization/utils.js.map +7 -0
- package/dist/commonjs/shape/shape-registry.d.ts +51 -0
- package/dist/commonjs/shape/shape-registry.d.ts.map +1 -0
- package/dist/commonjs/shape/shape-registry.js +40 -0
- package/dist/commonjs/shape/shape-registry.js.map +7 -0
- package/dist/commonjs/shape/shape.d.ts +407 -0
- package/dist/commonjs/shape/shape.d.ts.map +1 -0
- package/dist/commonjs/shape/shape.js +290 -0
- package/dist/commonjs/shape/shape.js.map +7 -0
- package/dist/commonjs/shape/value-encoding.d.ts +121 -0
- package/dist/commonjs/shape/value-encoding.d.ts.map +1 -0
- package/dist/commonjs/shape/value-encoding.js +62 -0
- package/dist/commonjs/shape/value-encoding.js.map +7 -0
- package/dist/commonjs/tsdoc-metadata.json +11 -0
- package/dist/commonjs/types.d.ts +9 -0
- package/dist/commonjs/types.d.ts.map +1 -0
- package/dist/commonjs/types.js +16 -0
- package/dist/commonjs/types.js.map +7 -0
- package/dist/commonjs/util.d.ts +33 -0
- package/dist/commonjs/util.d.ts.map +1 -0
- package/dist/commonjs/util.js +73 -0
- package/dist/commonjs/util.js.map +7 -0
- package/dist/esm/constructs/built-in-resources/resource-group.d.ts +50 -0
- package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -0
- package/dist/esm/constructs/built-in-resources/resource-group.js +100 -0
- package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -0
- package/dist/esm/constructs/output.d.ts +80 -0
- package/dist/esm/constructs/output.d.ts.map +1 -0
- package/dist/esm/constructs/output.js +75 -0
- package/dist/esm/constructs/output.js.map +1 -0
- package/dist/esm/constructs/parameter.d.ts +77 -0
- package/dist/esm/constructs/parameter.d.ts.map +1 -0
- package/dist/esm/constructs/parameter.js +93 -0
- package/dist/esm/constructs/parameter.js.map +1 -0
- package/dist/esm/constructs/provisioning-component.d.ts +91 -0
- package/dist/esm/constructs/provisioning-component.d.ts.map +1 -0
- package/dist/esm/constructs/provisioning-component.js +150 -0
- package/dist/esm/constructs/provisioning-component.js.map +1 -0
- package/dist/esm/constructs/resource/resource-proxy.d.ts +134 -0
- package/dist/esm/constructs/resource/resource-proxy.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-proxy.js +517 -0
- package/dist/esm/constructs/resource/resource-proxy.js.map +1 -0
- package/dist/esm/constructs/resource/resource-query.d.ts +23 -0
- package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-query.js +69 -0
- package/dist/esm/constructs/resource/resource-query.js.map +1 -0
- package/dist/esm/constructs/resource/resource-registry.d.ts +99 -0
- package/dist/esm/constructs/resource/resource-registry.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-registry.js +51 -0
- package/dist/esm/constructs/resource/resource-registry.js.map +1 -0
- package/dist/esm/constructs/resource/resource-type-registry.d.ts +46 -0
- package/dist/esm/constructs/resource/resource-type-registry.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-type-registry.js +156 -0
- package/dist/esm/constructs/resource/resource-type-registry.js.map +1 -0
- package/dist/esm/constructs/resource/resource-utils.d.ts +60 -0
- package/dist/esm/constructs/resource/resource-utils.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-utils.js +75 -0
- package/dist/esm/constructs/resource/resource-utils.js.map +1 -0
- package/dist/esm/constructs/resource/resource.d.ts +460 -0
- package/dist/esm/constructs/resource/resource.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource.js +582 -0
- package/dist/esm/constructs/resource/resource.js.map +1 -0
- package/dist/esm/constructs/stack.d.ts +110 -0
- package/dist/esm/constructs/stack.d.ts.map +1 -0
- package/dist/esm/constructs/stack.js +110 -0
- package/dist/esm/constructs/stack.js.map +1 -0
- package/dist/esm/constructs/variable.d.ts +63 -0
- package/dist/esm/constructs/variable.d.ts.map +1 -0
- package/dist/esm/constructs/variable.js +74 -0
- package/dist/esm/constructs/variable.js.map +1 -0
- package/dist/esm/deployment-context/deployment-context.d.ts +27 -0
- package/dist/esm/deployment-context/deployment-context.d.ts.map +1 -0
- package/dist/esm/deployment-context/deployment-context.js +4 -0
- package/dist/esm/deployment-context/deployment-context.js.map +1 -0
- package/dist/esm/expression/ast-nodes.d.ts +100 -0
- package/dist/esm/expression/ast-nodes.d.ts.map +1 -0
- package/dist/esm/expression/ast-nodes.js +125 -0
- package/dist/esm/expression/ast-nodes.js.map +1 -0
- package/dist/esm/expression/expressions.d.ts +164 -0
- package/dist/esm/expression/expressions.d.ts.map +1 -0
- package/dist/esm/expression/expressions.js +211 -0
- package/dist/esm/expression/expressions.js.map +1 -0
- package/dist/esm/fn.d.ts +194 -0
- package/dist/esm/fn.d.ts.map +1 -0
- package/dist/esm/fn.js +334 -0
- package/dist/esm/fn.js.map +1 -0
- package/dist/esm/index.d.ts +25 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.d.ts +13 -0
- package/dist/esm/internal.d.ts.map +1 -0
- package/dist/esm/internal.js +10 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/naming/naming-policy.d.ts +56 -0
- package/dist/esm/naming/naming-policy.d.ts.map +1 -0
- package/dist/esm/naming/naming-policy.js +97 -0
- package/dist/esm/naming/naming-policy.js.map +1 -0
- package/dist/esm/naming/naming-rules.d.ts +15 -0
- package/dist/esm/naming/naming-rules.d.ts.map +1 -0
- package/dist/esm/naming/naming-rules.js +15 -0
- package/dist/esm/naming/naming-rules.js.map +1 -0
- package/dist/esm/package.json +8 -0
- package/dist/esm/serialization/contract/generated/ast.d.ts +508 -0
- package/dist/esm/serialization/contract/generated/ast.d.ts.map +1 -0
- package/dist/esm/serialization/contract/generated/ast.js +23 -0
- package/dist/esm/serialization/contract/generated/ast.js.map +1 -0
- package/dist/esm/serialization/contract/index.d.ts +2 -0
- package/dist/esm/serialization/contract/index.d.ts.map +1 -0
- package/dist/esm/serialization/contract/index.js +4 -0
- package/dist/esm/serialization/contract/index.js.map +1 -0
- package/dist/esm/serialization/index.d.ts +4 -0
- package/dist/esm/serialization/index.d.ts.map +1 -0
- package/dist/esm/serialization/index.js +5 -0
- package/dist/esm/serialization/index.js.map +1 -0
- package/dist/esm/serialization/json/deserialize.d.ts +24 -0
- package/dist/esm/serialization/json/deserialize.d.ts.map +1 -0
- package/dist/esm/serialization/json/deserialize.js +437 -0
- package/dist/esm/serialization/json/deserialize.js.map +1 -0
- package/dist/esm/serialization/json/encoding.d.ts +4 -0
- package/dist/esm/serialization/json/encoding.d.ts.map +1 -0
- package/dist/esm/serialization/json/encoding.js +319 -0
- package/dist/esm/serialization/json/encoding.js.map +1 -0
- package/dist/esm/serialization/json/expression.d.ts +32 -0
- package/dist/esm/serialization/json/expression.d.ts.map +1 -0
- package/dist/esm/serialization/json/expression.js +494 -0
- package/dist/esm/serialization/json/expression.js.map +1 -0
- package/dist/esm/serialization/json/lower.d.ts +41 -0
- package/dist/esm/serialization/json/lower.d.ts.map +1 -0
- package/dist/esm/serialization/json/lower.js +334 -0
- package/dist/esm/serialization/json/lower.js.map +1 -0
- package/dist/esm/serialization/json/pluralize-config.d.ts +3 -0
- package/dist/esm/serialization/json/pluralize-config.d.ts.map +1 -0
- package/dist/esm/serialization/json/pluralize-config.js +7 -0
- package/dist/esm/serialization/json/pluralize-config.js.map +1 -0
- package/dist/esm/serialization/json/serialize.d.ts +12 -0
- package/dist/esm/serialization/json/serialize.d.ts.map +1 -0
- package/dist/esm/serialization/json/serialize.js +389 -0
- package/dist/esm/serialization/json/serialize.js.map +1 -0
- package/dist/esm/serialization/json/util.d.ts +2 -0
- package/dist/esm/serialization/json/util.d.ts.map +1 -0
- package/dist/esm/serialization/json/util.js +19 -0
- package/dist/esm/serialization/json/util.js.map +1 -0
- package/dist/esm/serialization/utils.d.ts +3 -0
- package/dist/esm/serialization/utils.d.ts.map +1 -0
- package/dist/esm/serialization/utils.js +146 -0
- package/dist/esm/serialization/utils.js.map +1 -0
- package/dist/esm/shape/shape-registry.d.ts +51 -0
- package/dist/esm/shape/shape-registry.d.ts.map +1 -0
- package/dist/esm/shape/shape-registry.js +41 -0
- package/dist/esm/shape/shape-registry.js.map +1 -0
- package/dist/esm/shape/shape.d.ts +407 -0
- package/dist/esm/shape/shape.d.ts.map +1 -0
- package/dist/esm/shape/shape.js +424 -0
- package/dist/esm/shape/shape.js.map +1 -0
- package/dist/esm/shape/value-encoding.d.ts +121 -0
- package/dist/esm/shape/value-encoding.d.ts.map +1 -0
- package/dist/esm/shape/value-encoding.js +32 -0
- package/dist/esm/shape/value-encoding.js.map +1 -0
- package/dist/esm/types.d.ts +9 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +4 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/util.d.ts +33 -0
- package/dist/esm/util.d.ts.map +1 -0
- package/dist/esm/util.js +74 -0
- package/dist/esm/util.js.map +1 -0
- package/package.json +117 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { ProvisioningComponent } from "./provisioning-component.js";
|
|
2
|
+
import type { ExpressionOrValue } from "../expression/expressions.js";
|
|
3
|
+
import type { NamingPolicy } from "../naming/naming-policy.js";
|
|
4
|
+
import { OutputCollection } from "./output.js";
|
|
5
|
+
import { ParameterCollection } from "./parameter.js";
|
|
6
|
+
import { VariableCollection } from "./variable.js";
|
|
7
|
+
import { type QueryOptions } from "./resource/resource-query.js";
|
|
8
|
+
import { type Loop, type LoopedResource, type Resource, type ResourceOptions } from "./resource/resource.js";
|
|
9
|
+
import type { ResourceCtor } from "./resource/resource-registry.js";
|
|
10
|
+
import type { TargetScope } from "../serialization/contract/index.js";
|
|
11
|
+
export interface StackOptions {
|
|
12
|
+
readonly targetScope?: TargetScope | undefined;
|
|
13
|
+
readonly location?: ExpressionOrValue<string> | undefined;
|
|
14
|
+
readonly tags?: Record<string, ExpressionOrValue<string>> | undefined;
|
|
15
|
+
readonly namingPolicy?: NamingPolicy | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* A Stack defines a deployment unit.
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* Each stack produces one or more Bicep files — resources at different
|
|
22
|
+
* scopes (subscription vs. resource group) are split into separate files
|
|
23
|
+
* linked by module references.
|
|
24
|
+
*
|
|
25
|
+
* Resources register themselves by passing the stack (or a child component)
|
|
26
|
+
* as their first constructor argument. `Stack.add()` is available as a
|
|
27
|
+
* convenience for creating child components with the stack as parent.
|
|
28
|
+
*
|
|
29
|
+
* The `targetScope` option controls the Bicep target scope. Default is
|
|
30
|
+
* `"subscription"`, which requires explicit `ResourceGroup` instances.
|
|
31
|
+
* Set `"resourceGroup"` to deploy resources directly into an existing
|
|
32
|
+
* resource group.
|
|
33
|
+
*
|
|
34
|
+
* Every stack registers itself in `Stack.roots` for collection by tools
|
|
35
|
+
* like the playground and CLI.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript snippet:ignore
|
|
39
|
+
* import { Stack, ResourceGroup } from "@azure/provisioning-core";
|
|
40
|
+
* import { KeyVault } from "@azure/provisioning-keyvault";
|
|
41
|
+
*
|
|
42
|
+
* const stack = new Stack("my-app");
|
|
43
|
+
* const rg = new ResourceGroup(stack, { name: "rg-my-app", location: "eastus" });
|
|
44
|
+
* const vault = new KeyVault(rg, {
|
|
45
|
+
* name: "kv-my-app",
|
|
46
|
+
* properties: {
|
|
47
|
+
* tenantId: "11111111-1111-1111-1111-111111111111",
|
|
48
|
+
* sku: { family: "A", name: "standard" },
|
|
49
|
+
* },
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class Stack extends ProvisioningComponent {
|
|
54
|
+
#private;
|
|
55
|
+
readonly name: string;
|
|
56
|
+
readonly targetScope: TargetScope;
|
|
57
|
+
readonly parameters: ParameterCollection;
|
|
58
|
+
readonly variables: VariableCollection;
|
|
59
|
+
readonly outputs: OutputCollection;
|
|
60
|
+
/** All root stacks created since the last call to `Stack.clearRoots()`. */
|
|
61
|
+
static get roots(): readonly Stack[];
|
|
62
|
+
/**
|
|
63
|
+
* Returns all root stacks and clears the registry. Useful for collecting
|
|
64
|
+
* all stacks after executing user code (e.g. in the playground or CLI).
|
|
65
|
+
*/
|
|
66
|
+
static clearRoots(): Stack[];
|
|
67
|
+
/** Create a root stack. */
|
|
68
|
+
constructor(name: string, options?: StackOptions);
|
|
69
|
+
/**
|
|
70
|
+
* The scalar resources in this stack. With no `type`, returns
|
|
71
|
+
* every scalar resource; pass a resource class to filter and narrow to
|
|
72
|
+
* that subclass. Returns a plain array — use native `.filter` / `.find` /
|
|
73
|
+
* `.map` for anything further.
|
|
74
|
+
*
|
|
75
|
+
* By default walks the whole tree; pass `{ recursive: false }` to consider
|
|
76
|
+
* only the stack's direct children.
|
|
77
|
+
*/
|
|
78
|
+
getResources(options?: QueryOptions): Resource[];
|
|
79
|
+
getResources<T extends Resource>(type: ResourceCtor<T>, options?: QueryOptions): T[];
|
|
80
|
+
/**
|
|
81
|
+
* Find the **first** scalar resource of `type` whose literal name equals
|
|
82
|
+
* `name`, or `undefined` if none matches.
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* Returns the first match in tree order. ARM names are unique only *per
|
|
86
|
+
* resource type within a scope*, so a stack MAY legitimately contain more
|
|
87
|
+
* than one resource of the same `type` and `name` (e.g. across different
|
|
88
|
+
* resource groups) — this returns whichever is found first. Use
|
|
89
|
+
* `getResources(type)` and filter yourself if you need all matches.
|
|
90
|
+
*
|
|
91
|
+
* Only scalar resources are searched, and names that do not resolve to a
|
|
92
|
+
* string literal are never matched. Pass `{ recursive: false }` to search
|
|
93
|
+
* only the stack's direct children.
|
|
94
|
+
*/
|
|
95
|
+
getResource<T extends Resource>(type: ResourceCtor<T>, name: string, options?: QueryOptions): T | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* Create a child under this stack (with the stack as its parent context),
|
|
98
|
+
* as a convenience for `new Ctor(stack, ...args)`.
|
|
99
|
+
*
|
|
100
|
+
* Constructs a single child instance and returns it.
|
|
101
|
+
*/
|
|
102
|
+
add<T extends new (context: ProvisioningComponent, ...args: any[]) => ProvisioningComponent>(ctor: T, ...args: ConstructorParameters<T> extends [any, ...infer Rest] ? Rest : never): InstanceType<T>;
|
|
103
|
+
}
|
|
104
|
+
/** @internal */
|
|
105
|
+
export declare function getLoopedResources(stack: Stack, options?: QueryOptions): LoopedResource<Resource>[];
|
|
106
|
+
/** @internal */
|
|
107
|
+
export declare function getLoopedResources<T extends Resource>(stack: Stack, type: ResourceCtor<T>, options?: QueryOptions): LoopedResource<T>[];
|
|
108
|
+
/** @internal */
|
|
109
|
+
export declare function addLoopedResource<T extends Resource, P>(stack: Stack, ctor: new (context: Stack, props: P, options?: ResourceOptions) => T, loop: Loop<unknown>, ...rest: undefined extends P ? [props?: P, options?: ResourceOptions] : [props: P, options?: ResourceOptions]): LoopedResource<T>;
|
|
110
|
+
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/constructs/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
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 stack_exports = {};
|
|
19
|
+
__export(stack_exports, {
|
|
20
|
+
Stack: () => Stack,
|
|
21
|
+
addLoopedResource: () => addLoopedResource,
|
|
22
|
+
getLoopedResources: () => getLoopedResources
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(stack_exports);
|
|
25
|
+
var import_provisioning_component = require("./provisioning-component.js");
|
|
26
|
+
var import_naming_policy = require("../naming/naming-policy.js");
|
|
27
|
+
var import_output = require("./output.js");
|
|
28
|
+
var import_parameter = require("./parameter.js");
|
|
29
|
+
var import_variable = require("./variable.js");
|
|
30
|
+
var import_resource_query = require("./resource/resource-query.js");
|
|
31
|
+
var import_resource = require("./resource/resource.js");
|
|
32
|
+
class Stack extends import_provisioning_component.ProvisioningComponent {
|
|
33
|
+
name;
|
|
34
|
+
targetScope;
|
|
35
|
+
parameters = new import_parameter.ParameterCollection();
|
|
36
|
+
variables = new import_variable.VariableCollection();
|
|
37
|
+
outputs = new import_output.OutputCollection();
|
|
38
|
+
// --- Static root stack registry ---
|
|
39
|
+
static #roots = [];
|
|
40
|
+
/** All root stacks created since the last call to `Stack.clearRoots()`. */
|
|
41
|
+
static get roots() {
|
|
42
|
+
return Stack.#roots;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns all root stacks and clears the registry. Useful for collecting
|
|
46
|
+
* all stacks after executing user code (e.g. in the playground or CLI).
|
|
47
|
+
*/
|
|
48
|
+
static clearRoots() {
|
|
49
|
+
return Stack.#roots.splice(0, Stack.#roots.length);
|
|
50
|
+
}
|
|
51
|
+
/** Create a root stack. */
|
|
52
|
+
constructor(name, options) {
|
|
53
|
+
super();
|
|
54
|
+
const opts = options ?? {};
|
|
55
|
+
this.name = name;
|
|
56
|
+
this.targetScope = opts.targetScope ?? "subscription";
|
|
57
|
+
Stack.#roots.push(this);
|
|
58
|
+
this._localDeploymentContext = {
|
|
59
|
+
location: opts.location,
|
|
60
|
+
tags: opts.tags,
|
|
61
|
+
namingPolicy: opts.namingPolicy ?? new import_naming_policy.DefaultNamingPolicy({ workload: name })
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
getResources(typeOrOptions, maybeOptions) {
|
|
65
|
+
return (0, import_resource_query.getResources)(this, typeOrOptions, maybeOptions);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Find the **first** scalar resource of `type` whose literal name equals
|
|
69
|
+
* `name`, or `undefined` if none matches.
|
|
70
|
+
*
|
|
71
|
+
* @remarks
|
|
72
|
+
* Returns the first match in tree order. ARM names are unique only *per
|
|
73
|
+
* resource type within a scope*, so a stack MAY legitimately contain more
|
|
74
|
+
* than one resource of the same `type` and `name` (e.g. across different
|
|
75
|
+
* resource groups) — this returns whichever is found first. Use
|
|
76
|
+
* `getResources(type)` and filter yourself if you need all matches.
|
|
77
|
+
*
|
|
78
|
+
* Only scalar resources are searched, and names that do not resolve to a
|
|
79
|
+
* string literal are never matched. Pass `{ recursive: false }` to search
|
|
80
|
+
* only the stack's direct children.
|
|
81
|
+
*/
|
|
82
|
+
getResource(type, name, options) {
|
|
83
|
+
return (0, import_resource_query.getResource)(this, type, name, options);
|
|
84
|
+
}
|
|
85
|
+
add(ctor, ...rest) {
|
|
86
|
+
return new ctor(this.self, ...rest);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function getLoopedResources(stack, typeOrOptions, maybeOptions) {
|
|
90
|
+
return (0, import_resource_query.getLoopedResources)(stack, typeOrOptions, maybeOptions);
|
|
91
|
+
}
|
|
92
|
+
function addLoopedResource(stack, ctor, loop, ...rest) {
|
|
93
|
+
return (0, import_resource.createLoopedResource)(ctor, loop, stack.self, ...rest);
|
|
94
|
+
}
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
97
|
+
Stack,
|
|
98
|
+
addLoopedResource,
|
|
99
|
+
getLoopedResources
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/constructs/stack.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ProvisioningComponent } from \"./provisioning-component.js\";\nimport type { ExpressionOrValue } from \"../expression/expressions.js\";\nimport type { NamingPolicy } from \"../naming/naming-policy.js\";\nimport { DefaultNamingPolicy } from \"../naming/naming-policy.js\";\nimport { OutputCollection } from \"./output.js\";\nimport { ParameterCollection } from \"./parameter.js\";\nimport { VariableCollection } from \"./variable.js\";\nimport {\n getLoopedResources as runGetLoopedResources,\n getResources as runGetResources,\n getResource as runGetResource,\n type QueryOptions,\n} from \"./resource/resource-query.js\";\nimport {\n createLoopedResource,\n type Loop,\n type LoopedResource,\n type Resource,\n type ResourceOptions,\n} from \"./resource/resource.js\";\nimport type { ResourceCtor } from \"./resource/resource-registry.js\";\nimport type { TargetScope } from \"../serialization/contract/index.js\";\n\n// ---------------------------------------------------------------------------\n// Stack \u2014 class-based API for creating stacks\n// ---------------------------------------------------------------------------\n\nexport interface StackOptions {\n readonly targetScope?: TargetScope | undefined;\n readonly location?: ExpressionOrValue<string> | undefined;\n readonly tags?: Record<string, ExpressionOrValue<string>> | undefined;\n readonly namingPolicy?: NamingPolicy | undefined;\n}\n\n/**\n * A Stack defines a deployment unit.\n *\n * @remarks\n * Each stack produces one or more Bicep files \u2014 resources at different\n * scopes (subscription vs. resource group) are split into separate files\n * linked by module references.\n *\n * Resources register themselves by passing the stack (or a child component)\n * as their first constructor argument. `Stack.add()` is available as a\n * convenience for creating child components with the stack as parent.\n *\n * The `targetScope` option controls the Bicep target scope. Default is\n * `\"subscription\"`, which requires explicit `ResourceGroup` instances.\n * Set `\"resourceGroup\"` to deploy resources directly into an existing\n * resource group.\n *\n * Every stack registers itself in `Stack.roots` for collection by tools\n * like the playground and CLI.\n *\n * @example\n * ```typescript snippet:ignore\n * import { Stack, ResourceGroup } from \"@azure/provisioning-core\";\n * import { KeyVault } from \"@azure/provisioning-keyvault\";\n *\n * const stack = new Stack(\"my-app\");\n * const rg = new ResourceGroup(stack, { name: \"rg-my-app\", location: \"eastus\" });\n * const vault = new KeyVault(rg, {\n * name: \"kv-my-app\",\n * properties: {\n * tenantId: \"11111111-1111-1111-1111-111111111111\",\n * sku: { family: \"A\", name: \"standard\" },\n * },\n * });\n * ```\n */\nexport class Stack extends ProvisioningComponent {\n readonly name: string;\n readonly targetScope: TargetScope;\n readonly parameters: ParameterCollection = new ParameterCollection();\n readonly variables: VariableCollection = new VariableCollection();\n readonly outputs: OutputCollection = new OutputCollection();\n\n // --- Static root stack registry ---\n\n static #roots: Stack[] = [];\n\n /** All root stacks created since the last call to `Stack.clearRoots()`. */\n static get roots(): readonly Stack[] {\n return Stack.#roots;\n }\n\n /**\n * Returns all root stacks and clears the registry. Useful for collecting\n * all stacks after executing user code (e.g. in the playground or CLI).\n */\n static clearRoots(): Stack[] {\n return Stack.#roots.splice(0, Stack.#roots.length);\n }\n\n /** Create a root stack. */\n constructor(name: string, options?: StackOptions) {\n super();\n const opts = options ?? {};\n this.name = name;\n this.targetScope = opts.targetScope ?? \"subscription\";\n Stack.#roots.push(this);\n this._localDeploymentContext = {\n location: opts.location,\n tags: opts.tags,\n namingPolicy: opts.namingPolicy ?? new DefaultNamingPolicy({ workload: name }),\n };\n }\n\n // --- Query ---\n // Query the resources in this stack. Exposed on `Stack` (not `ProvisioningComponent`)\n // because \"all resources in the stack\" is unambiguous, whereas\n // `resource.getResources()` \u2014 which excludes the resource itself \u2014\n // would be confusing. For multiple stacks, use\n // `stacks.flatMap(s => s.getResources(...))`.\n\n /**\n * The scalar resources in this stack. With no `type`, returns\n * every scalar resource; pass a resource class to filter and narrow to\n * that subclass. Returns a plain array \u2014 use native `.filter` / `.find` /\n * `.map` for anything further.\n *\n * By default walks the whole tree; pass `{ recursive: false }` to consider\n * only the stack's direct children.\n */\n getResources(options?: QueryOptions): Resource[];\n getResources<T extends Resource>(type: ResourceCtor<T>, options?: QueryOptions): T[];\n getResources(\n typeOrOptions?: ResourceCtor<Resource> | QueryOptions,\n maybeOptions?: QueryOptions,\n ): Resource[] {\n return runGetResources(this, typeOrOptions as never, maybeOptions);\n }\n\n /**\n * Find the **first** scalar resource of `type` whose literal name equals\n * `name`, or `undefined` if none matches.\n *\n * @remarks\n * Returns the first match in tree order. ARM names are unique only *per\n * resource type within a scope*, so a stack MAY legitimately contain more\n * than one resource of the same `type` and `name` (e.g. across different\n * resource groups) \u2014 this returns whichever is found first. Use\n * `getResources(type)` and filter yourself if you need all matches.\n *\n * Only scalar resources are searched, and names that do not resolve to a\n * string literal are never matched. Pass `{ recursive: false }` to search\n * only the stack's direct children.\n */\n getResource<T extends Resource>(\n type: ResourceCtor<T>,\n name: string,\n options?: QueryOptions,\n ): T | undefined {\n return runGetResource(this, type, name, options);\n }\n\n /**\n * Create a child under this stack (with the stack as its parent context),\n * as a convenience for `new Ctor(stack, ...args)`.\n *\n * Constructs a single child instance and returns it.\n */\n add<T extends new (context: ProvisioningComponent, ...args: any[]) => ProvisioningComponent>(\n ctor: T,\n ...args: ConstructorParameters<T> extends [any, ...infer Rest] ? Rest : never\n ): InstanceType<T>;\n add(\n ctor: new (context: ProvisioningComponent, ...args: any[]) => ProvisioningComponent,\n ...rest: any[]\n ): ProvisioningComponent {\n return new ctor(this.self, ...rest);\n }\n}\n\n/** @internal */\nexport function getLoopedResources(\n stack: Stack,\n options?: QueryOptions,\n): LoopedResource<Resource>[];\n/** @internal */\nexport function getLoopedResources<T extends Resource>(\n stack: Stack,\n type: ResourceCtor<T>,\n options?: QueryOptions,\n): LoopedResource<T>[];\nexport function getLoopedResources(\n stack: Stack,\n typeOrOptions?: ResourceCtor<Resource> | QueryOptions,\n maybeOptions?: QueryOptions,\n): LoopedResource<Resource>[] {\n return runGetLoopedResources(stack, typeOrOptions as never, maybeOptions);\n}\n\n/** @internal */\nexport function addLoopedResource<T extends Resource, P>(\n stack: Stack,\n ctor: new (context: Stack, props: P, options?: ResourceOptions) => T,\n loop: Loop<unknown>,\n ...rest: undefined extends P\n ? [props?: P, options?: ResourceOptions]\n : [props: P, options?: ResourceOptions]\n): LoopedResource<T> {\n return createLoopedResource(ctor, loop, stack.self, ...rest);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oCAAsC;AAGtC,2BAAoC;AACpC,oBAAiC;AACjC,uBAAoC;AACpC,sBAAmC;AACnC,4BAKO;AACP,sBAMO;AAmDA,MAAM,cAAc,oDAAsB;AAAA,EACtC;AAAA,EACA;AAAA,EACA,aAAkC,IAAI,qCAAoB;AAAA,EAC1D,YAAgC,IAAI,mCAAmB;AAAA,EACvD,UAA4B,IAAI,+BAAiB;AAAA;AAAA,EAI1D,OAAO,SAAkB,CAAC;AAAA;AAAA,EAG1B,WAAW,QAA0B;AACnC,WAAO,MAAM;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,aAAsB;AAC3B,WAAO,MAAM,OAAO,OAAO,GAAG,MAAM,OAAO,MAAM;AAAA,EACnD;AAAA;AAAA,EAGA,YAAY,MAAc,SAAwB;AAChD,UAAM;AACN,UAAM,OAAO,WAAW,CAAC;AACzB,SAAK,OAAO;AACZ,SAAK,cAAc,KAAK,eAAe;AACvC,UAAM,OAAO,KAAK,IAAI;AACtB,SAAK,0BAA0B;AAAA,MAC7B,UAAU,KAAK;AAAA,MACf,MAAM,KAAK;AAAA,MACX,cAAc,KAAK,gBAAgB,IAAI,yCAAoB,EAAE,UAAU,KAAK,CAAC;AAAA,IAC/E;AAAA,EACF;AAAA,EAoBA,aACE,eACA,cACY;AACZ,eAAO,sBAAAA,cAAgB,MAAM,eAAwB,YAAY;AAAA,EACnE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,YACE,MACA,MACA,SACe;AACf,eAAO,sBAAAC,aAAe,MAAM,MAAM,MAAM,OAAO;AAAA,EACjD;AAAA,EAYA,IACE,SACG,MACoB;AACvB,WAAO,IAAI,KAAK,KAAK,MAAM,GAAG,IAAI;AAAA,EACpC;AACF;AAaO,SAAS,mBACd,OACA,eACA,cAC4B;AAC5B,aAAO,sBAAAC,oBAAsB,OAAO,eAAwB,YAAY;AAC1E;AAGO,SAAS,kBACd,OACA,MACA,SACG,MAGgB;AACnB,aAAO,sCAAqB,MAAM,MAAM,MAAM,MAAM,GAAG,IAAI;AAC7D;",
|
|
6
|
+
"names": ["runGetResources", "runGetResource", "runGetLoopedResources"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Expression, InputOf } from "../expression/expressions.js";
|
|
2
|
+
import type { Stack } from "./stack.js";
|
|
3
|
+
export type ExpressionValue<T> = T extends Expression<infer U> ? U : T;
|
|
4
|
+
/**
|
|
5
|
+
* A value accepted as a deployment variable's value: any JSON literal
|
|
6
|
+
* (scalar, `null`, array, object — recursively), an `Expression`, or a
|
|
7
|
+
* resource view (`InputOf<unknown>`). The literal members are required so
|
|
8
|
+
* plain object/array literals are accepted (a bare `InputOf<unknown>` is a
|
|
9
|
+
* weak type and would reject them).
|
|
10
|
+
*/
|
|
11
|
+
export type VariableValue = string | number | boolean | null | readonly VariableValue[] | {
|
|
12
|
+
readonly [key: string]: VariableValue;
|
|
13
|
+
} | InputOf<unknown>;
|
|
14
|
+
export type VariableOptions = {
|
|
15
|
+
readonly description?: string | undefined;
|
|
16
|
+
readonly export?: boolean | undefined;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Pure declaration data for a deployment variable. Stored on the stack
|
|
20
|
+
* (paired with the returned expression handle in {@link VariableEntry});
|
|
21
|
+
* read by the serializer at emit time. Not part of the value-level handle.
|
|
22
|
+
*/
|
|
23
|
+
export interface VariableMetadata extends VariableOptions {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly value: VariableValue;
|
|
26
|
+
}
|
|
27
|
+
export type Variable<TValue extends VariableValue = VariableValue> = Expression<ExpressionValue<TValue>>;
|
|
28
|
+
/**
|
|
29
|
+
* Authoring-time collection of a stack's deployment variables. Backed by an
|
|
30
|
+
* ordered private array; supports add/get/delete/iteration. Look variables up
|
|
31
|
+
* by name via {@link VariableCollection.get}.
|
|
32
|
+
*/
|
|
33
|
+
export declare class VariableCollection {
|
|
34
|
+
#private;
|
|
35
|
+
/** Add a variable; returns its expression handle. Throws on duplicate name. */
|
|
36
|
+
add<TValue extends VariableValue = VariableValue>(name: string, value: TValue, options?: VariableOptions): Variable<TValue>;
|
|
37
|
+
/** The expression handle for a variable, or `undefined`. */
|
|
38
|
+
get(name: string): Variable | undefined;
|
|
39
|
+
/** The declaration metadata for a variable, or `undefined`. */
|
|
40
|
+
getMetadata(name: string): VariableMetadata | undefined;
|
|
41
|
+
/** All variable handles, in insertion order. */
|
|
42
|
+
list(): readonly Variable[];
|
|
43
|
+
/** All declaration metadata, in insertion order. */
|
|
44
|
+
listMetadata(): readonly VariableMetadata[];
|
|
45
|
+
has(name: string): boolean;
|
|
46
|
+
/** Remove a variable by name. Returns whether one was removed. */
|
|
47
|
+
delete(name: string): boolean;
|
|
48
|
+
get size(): number;
|
|
49
|
+
[Symbol.iterator](): IterableIterator<Variable>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* A computed value evaluated at deploy time, compiled to a Bicep `var` declaration.
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript snippet:ignore
|
|
56
|
+
* import { Stack, createVariable } from "@azure/provisioning-core";
|
|
57
|
+
*
|
|
58
|
+
* const stack = new Stack("my-app");
|
|
59
|
+
* const suffix = createVariable(stack, "suffix", "prod");
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function createVariable<TValue extends VariableValue = VariableValue>(stack: Stack, name: string, value: TValue, options?: VariableOptions): Variable<TValue>;
|
|
63
|
+
//# sourceMappingURL=variable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../src/constructs/variable.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,aAAa,EAAE,GACxB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;AAErB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAOD,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,IAAI,UAAU,CAC7E,eAAe,CAAC,MAAM,CAAC,CACxB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,kBAAkB;;IAG7B,+EAA+E;IAC/E,GAAG,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,EAC9C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAAC,MAAM,CAAC;IAYnB,4DAA4D;IAC5D,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIvC,+DAA+D;IAC/D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIvD,gDAAgD;IAChD,IAAI,IAAI,SAAS,QAAQ,EAAE;IAI3B,oDAAoD;IACpD,YAAY,IAAI,SAAS,gBAAgB,EAAE;IAI3C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,kEAAkE;IAClE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO7B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC;CAOhD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,aAAa,GAAG,aAAa,EACzE,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAAC,MAAM,CAAC,CAElB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
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 variable_exports = {};
|
|
19
|
+
__export(variable_exports, {
|
|
20
|
+
VariableCollection: () => VariableCollection,
|
|
21
|
+
createVariable: () => createVariable
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(variable_exports);
|
|
24
|
+
var import_expressions = require("../expression/expressions.js");
|
|
25
|
+
var import_ast_nodes = require("../expression/ast-nodes.js");
|
|
26
|
+
var import_util = require("../util.js");
|
|
27
|
+
class VariableCollection {
|
|
28
|
+
#entries = [];
|
|
29
|
+
/** Add a variable; returns its expression handle. Throws on duplicate name. */
|
|
30
|
+
add(name, value, options) {
|
|
31
|
+
(0, import_util.assertBicepIdentifier)(name, "Deployment variable");
|
|
32
|
+
if (this.has(name)) {
|
|
33
|
+
throw new Error(`Duplicate deployment variable name: ${name}`);
|
|
34
|
+
}
|
|
35
|
+
const variable = (0, import_expressions.wrapExpression)(
|
|
36
|
+
(0, import_ast_nodes.symbolicValueExpressionNode)(name)
|
|
37
|
+
);
|
|
38
|
+
this.#entries.push({ metadata: { name, value, ...options }, variable });
|
|
39
|
+
return variable;
|
|
40
|
+
}
|
|
41
|
+
/** The expression handle for a variable, or `undefined`. */
|
|
42
|
+
get(name) {
|
|
43
|
+
return this.#find(name)?.variable;
|
|
44
|
+
}
|
|
45
|
+
/** The declaration metadata for a variable, or `undefined`. */
|
|
46
|
+
getMetadata(name) {
|
|
47
|
+
return this.#find(name)?.metadata;
|
|
48
|
+
}
|
|
49
|
+
/** All variable handles, in insertion order. */
|
|
50
|
+
list() {
|
|
51
|
+
return this.#entries.map((e) => e.variable);
|
|
52
|
+
}
|
|
53
|
+
/** All declaration metadata, in insertion order. */
|
|
54
|
+
listMetadata() {
|
|
55
|
+
return this.#entries.map((e) => e.metadata);
|
|
56
|
+
}
|
|
57
|
+
has(name) {
|
|
58
|
+
return this.#find(name) !== void 0;
|
|
59
|
+
}
|
|
60
|
+
/** Remove a variable by name. Returns whether one was removed. */
|
|
61
|
+
delete(name) {
|
|
62
|
+
const i = this.#entries.findIndex((e) => e.metadata.name === name);
|
|
63
|
+
if (i === -1) return false;
|
|
64
|
+
this.#entries.splice(i, 1);
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
get size() {
|
|
68
|
+
return this.#entries.length;
|
|
69
|
+
}
|
|
70
|
+
[Symbol.iterator]() {
|
|
71
|
+
return this.#entries.map((e) => e.variable)[Symbol.iterator]();
|
|
72
|
+
}
|
|
73
|
+
#find(name) {
|
|
74
|
+
return this.#entries.find((e) => e.metadata.name === name);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function createVariable(stack, name, value, options) {
|
|
78
|
+
return stack.variables.add(name, value, options);
|
|
79
|
+
}
|
|
80
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
81
|
+
0 && (module.exports = {
|
|
82
|
+
VariableCollection,
|
|
83
|
+
createVariable
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=variable.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/constructs/variable.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { Expression, InputOf } from \"../expression/expressions.js\";\nimport { wrapExpression } from \"../expression/expressions.js\";\nimport { symbolicValueExpressionNode } from \"../expression/ast-nodes.js\";\nimport type { Stack } from \"./stack.js\";\nimport { assertBicepIdentifier } from \"../util.js\";\n\nexport type ExpressionValue<T> = T extends Expression<infer U> ? U : T;\n\n/**\n * A value accepted as a deployment variable's value: any JSON literal\n * (scalar, `null`, array, object \u2014 recursively), an `Expression`, or a\n * resource view (`InputOf<unknown>`). The literal members are required so\n * plain object/array literals are accepted (a bare `InputOf<unknown>` is a\n * weak type and would reject them).\n */\nexport type VariableValue =\n | string\n | number\n | boolean\n | null\n | readonly VariableValue[]\n | { readonly [key: string]: VariableValue }\n | InputOf<unknown>;\n\nexport type VariableOptions = {\n readonly description?: string | undefined;\n readonly export?: boolean | undefined;\n};\n\n/**\n * Pure declaration data for a deployment variable. Stored on the stack\n * (paired with the returned expression handle in {@link VariableEntry});\n * read by the serializer at emit time. Not part of the value-level handle.\n */\nexport interface VariableMetadata extends VariableOptions {\n readonly name: string;\n readonly value: VariableValue;\n}\n\ninterface VariableEntry {\n readonly metadata: VariableMetadata;\n readonly variable: Expression<unknown>;\n}\n\nexport type Variable<TValue extends VariableValue = VariableValue> = Expression<\n ExpressionValue<TValue>\n>;\n\n/**\n * Authoring-time collection of a stack's deployment variables. Backed by an\n * ordered private array; supports add/get/delete/iteration. Look variables up\n * by name via {@link VariableCollection.get}.\n */\nexport class VariableCollection {\n #entries: VariableEntry[] = [];\n\n /** Add a variable; returns its expression handle. Throws on duplicate name. */\n add<TValue extends VariableValue = VariableValue>(\n name: string,\n value: TValue,\n options?: VariableOptions,\n ): Variable<TValue> {\n assertBicepIdentifier(name, \"Deployment variable\");\n if (this.has(name)) {\n throw new Error(`Duplicate deployment variable name: ${name}`);\n }\n const variable = wrapExpression<ExpressionValue<TValue>>(\n symbolicValueExpressionNode<ExpressionValue<TValue>, string>(name),\n );\n this.#entries.push({ metadata: { name, value, ...options }, variable });\n return variable;\n }\n\n /** The expression handle for a variable, or `undefined`. */\n get(name: string): Variable | undefined {\n return this.#find(name)?.variable;\n }\n\n /** The declaration metadata for a variable, or `undefined`. */\n getMetadata(name: string): VariableMetadata | undefined {\n return this.#find(name)?.metadata;\n }\n\n /** All variable handles, in insertion order. */\n list(): readonly Variable[] {\n return this.#entries.map((e) => e.variable);\n }\n\n /** All declaration metadata, in insertion order. */\n listMetadata(): readonly VariableMetadata[] {\n return this.#entries.map((e) => e.metadata);\n }\n\n has(name: string): boolean {\n return this.#find(name) !== undefined;\n }\n\n /** Remove a variable by name. Returns whether one was removed. */\n delete(name: string): boolean {\n const i = this.#entries.findIndex((e) => e.metadata.name === name);\n if (i === -1) return false;\n this.#entries.splice(i, 1);\n return true;\n }\n\n get size(): number {\n return this.#entries.length;\n }\n\n [Symbol.iterator](): IterableIterator<Variable> {\n return this.#entries.map((e) => e.variable)[Symbol.iterator]();\n }\n\n #find(name: string): VariableEntry | undefined {\n return this.#entries.find((e) => e.metadata.name === name);\n }\n}\n\n/**\n * A computed value evaluated at deploy time, compiled to a Bicep `var` declaration.\n *\n * @example\n * ```typescript snippet:ignore\n * import { Stack, createVariable } from \"@azure/provisioning-core\";\n *\n * const stack = new Stack(\"my-app\");\n * const suffix = createVariable(stack, \"suffix\", \"prod\");\n * ```\n */\nexport function createVariable<TValue extends VariableValue = VariableValue>(\n stack: Stack,\n name: string,\n value: TValue,\n options?: VariableOptions,\n): Variable<TValue> {\n return stack.variables.add(name, value, options);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,yBAA+B;AAC/B,uBAA4C;AAE5C,kBAAsC;AAiD/B,MAAM,mBAAmB;AAAA,EAC9B,WAA4B,CAAC;AAAA;AAAA,EAG7B,IACE,MACA,OACA,SACkB;AAClB,2CAAsB,MAAM,qBAAqB;AACjD,QAAI,KAAK,IAAI,IAAI,GAAG;AAClB,YAAM,IAAI,MAAM,uCAAuC,IAAI,EAAE;AAAA,IAC/D;AACA,UAAM,eAAW;AAAA,UACf,8CAA6D,IAAI;AAAA,IACnE;AACA,SAAK,SAAS,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACtE,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,IAAI,MAAoC;AACtC,WAAO,KAAK,MAAM,IAAI,GAAG;AAAA,EAC3B;AAAA;AAAA,EAGA,YAAY,MAA4C;AACtD,WAAO,KAAK,MAAM,IAAI,GAAG;AAAA,EAC3B;AAAA;AAAA,EAGA,OAA4B;AAC1B,WAAO,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ;AAAA,EAC5C;AAAA;AAAA,EAGA,eAA4C;AAC1C,WAAO,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ;AAAA,EAC5C;AAAA,EAEA,IAAI,MAAuB;AACzB,WAAO,KAAK,MAAM,IAAI,MAAM;AAAA,EAC9B;AAAA;AAAA,EAGA,OAAO,MAAuB;AAC5B,UAAM,IAAI,KAAK,SAAS,UAAU,CAAC,MAAM,EAAE,SAAS,SAAS,IAAI;AACjE,QAAI,MAAM,GAAI,QAAO;AACrB,SAAK,SAAS,OAAO,GAAG,CAAC;AACzB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,CAAC,OAAO,QAAQ,IAAgC;AAC9C,WAAO,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,QAAQ,EAAE;AAAA,EAC/D;AAAA,EAEA,MAAM,MAAyC;AAC7C,WAAO,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,SAAS,IAAI;AAAA,EAC3D;AACF;AAaO,SAAS,eACd,OACA,MACA,OACA,SACkB;AAClB,SAAO,MAAM,UAAU,IAAI,MAAM,OAAO,OAAO;AACjD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ExpressionOrValue } from "../expression/expressions.js";
|
|
2
|
+
import type { NamingPolicy } from "../naming/naming-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* Inherited environment that flows down the component tree.
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Each node may attach a local contribution via `ProvisioningComponent._localDeploymentContext`
|
|
8
|
+
* (today, only `Stack` and `ResourceGroup` do). When a `Resource` reads the
|
|
9
|
+
* effective context, the framework walks ancestors and resolves each field:
|
|
10
|
+
*
|
|
11
|
+
* - `location`: nearest ancestor with a value wins.
|
|
12
|
+
* - `namingPolicy`: nearest ancestor with a value wins.
|
|
13
|
+
* - `tags`: flat-merged across **all** ancestors; innermost wins on key conflict.
|
|
14
|
+
*
|
|
15
|
+
* Per-resource Bicep `scope:` is not part of this — a resource's deployment
|
|
16
|
+
* scope is determined by which file or module it lands in, which in turn is
|
|
17
|
+
* determined by the ProvisioningComponent tree (the nearest `ResourceGroup`/`Stack` ancestor).
|
|
18
|
+
*
|
|
19
|
+
* The same interface describes both a node's local contribution and the
|
|
20
|
+
* fully-resolved view returned by `ProvisioningComponent.deploymentContext`.
|
|
21
|
+
*/
|
|
22
|
+
export interface DeploymentContext {
|
|
23
|
+
readonly location?: ExpressionOrValue<string> | undefined;
|
|
24
|
+
readonly tags?: Record<string, ExpressionOrValue<string>> | undefined;
|
|
25
|
+
readonly namingPolicy?: NamingPolicy | undefined;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=deployment-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-context.d.ts","sourceRoot":"","sources":["../../../src/deployment-context/deployment-context.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAClD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var deployment_context_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(deployment_context_exports);
|
|
16
|
+
//# sourceMappingURL=deployment-context.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/deployment-context/deployment-context.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ExpressionOrValue } from \"../expression/expressions.js\";\nimport type { NamingPolicy } from \"../naming/naming-policy.js\";\n\n/**\n * Inherited environment that flows down the component tree.\n *\n * @remarks\n * Each node may attach a local contribution via `ProvisioningComponent._localDeploymentContext`\n * (today, only `Stack` and `ResourceGroup` do). When a `Resource` reads the\n * effective context, the framework walks ancestors and resolves each field:\n *\n * - `location`: nearest ancestor with a value wins.\n * - `namingPolicy`: nearest ancestor with a value wins.\n * - `tags`: flat-merged across **all** ancestors; innermost wins on key conflict.\n *\n * Per-resource Bicep `scope:` is not part of this \u2014 a resource's deployment\n * scope is determined by which file or module it lands in, which in turn is\n * determined by the ProvisioningComponent tree (the nearest `ResourceGroup`/`Stack` ancestor).\n *\n * The same interface describes both a node's local contribution and the\n * fully-resolved view returned by `ProvisioningComponent.deploymentContext`.\n */\nexport interface DeploymentContext {\n readonly location?: ExpressionOrValue<string> | undefined;\n readonly tags?: Record<string, ExpressionOrValue<string>> | undefined;\n readonly namingPolicy?: NamingPolicy | undefined;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { Resource } from "../constructs/resource/resource.js";
|
|
2
|
+
import type { BinaryOperator, UnaryOperator } from "../serialization/contract/index.js";
|
|
3
|
+
import type { PropertySegment } from "../types.js";
|
|
4
|
+
export type { BinaryOperator, UnaryOperator };
|
|
5
|
+
export interface FunctionCallExpressionNode<_TValue = unknown, TOperator extends string = string> {
|
|
6
|
+
readonly kind: "fn-call";
|
|
7
|
+
readonly operator: TOperator;
|
|
8
|
+
readonly args: readonly unknown[];
|
|
9
|
+
}
|
|
10
|
+
export interface SymbolicValueExpressionNode<_TValue = unknown, TPath extends string = string> {
|
|
11
|
+
readonly kind: "symbolic-value";
|
|
12
|
+
readonly path: TPath;
|
|
13
|
+
}
|
|
14
|
+
export interface IdentifierExpressionNode<_TValue = unknown> {
|
|
15
|
+
readonly kind: "identifier";
|
|
16
|
+
readonly id: string | Resource;
|
|
17
|
+
}
|
|
18
|
+
export interface PropertyAccessExpressionNode<_TValue = unknown> {
|
|
19
|
+
readonly kind: "property-access";
|
|
20
|
+
readonly base: ExpressionNode;
|
|
21
|
+
readonly property: string;
|
|
22
|
+
readonly nullish: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Optional ARM wire-path segments. When present, the serialization
|
|
25
|
+
* lowering pass rewrites this single access into a chain that walks
|
|
26
|
+
* these segments (handling renames + `@flattenProperty` hoisting).
|
|
27
|
+
* Untyped / hand-built expressions leave this `undefined` and pass
|
|
28
|
+
* through unchanged.
|
|
29
|
+
*/
|
|
30
|
+
readonly armPath?: readonly string[] | undefined;
|
|
31
|
+
}
|
|
32
|
+
export interface ArrayAccessExpressionNode<_TValue = unknown> {
|
|
33
|
+
readonly kind: "array-access";
|
|
34
|
+
readonly base: ExpressionNode;
|
|
35
|
+
/**
|
|
36
|
+
* The index into the array. A literal `number`/`string` lowers to an
|
|
37
|
+
* integer/string array-access (or a property-access for identifier-like
|
|
38
|
+
* strings) at serialize time. Any {@link ExpressionNode} is serialized
|
|
39
|
+
* recursively into the wire array-access's `index` slot — e.g. a looped
|
|
40
|
+
* `.at(loop.index)` stores the unwrapped `symbolic-value` node (emitting
|
|
41
|
+
* `sym[i]`), and a computed offset stores a `binary` / `fn-call` node
|
|
42
|
+
* (`sym[i + 1]`). `Expression<T>` proxies are always unwrapped to their
|
|
43
|
+
* raw node before landing here, per the "state holds normalized raw
|
|
44
|
+
* nodes" invariant — so a proxy is never stored directly.
|
|
45
|
+
*/
|
|
46
|
+
readonly index: ArrayAccessIndex;
|
|
47
|
+
readonly nullish: boolean;
|
|
48
|
+
readonly fromEnd: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface BinaryExpressionNode<_TValue = unknown> {
|
|
51
|
+
readonly kind: "binary";
|
|
52
|
+
readonly operator: BinaryOperator;
|
|
53
|
+
readonly left: unknown;
|
|
54
|
+
readonly right: unknown;
|
|
55
|
+
}
|
|
56
|
+
export interface UnaryExpressionNode<_TValue = unknown> {
|
|
57
|
+
readonly kind: "unary";
|
|
58
|
+
readonly operator: UnaryOperator;
|
|
59
|
+
readonly argument: unknown;
|
|
60
|
+
}
|
|
61
|
+
export interface TernaryExpressionNode<_TValue = unknown> {
|
|
62
|
+
readonly kind: "ternary";
|
|
63
|
+
readonly condition: unknown;
|
|
64
|
+
readonly trueValue: unknown;
|
|
65
|
+
readonly falseValue: unknown;
|
|
66
|
+
}
|
|
67
|
+
export interface InstanceFunctionCallExpressionNode<_TValue = unknown> {
|
|
68
|
+
readonly kind: "instance-function-call";
|
|
69
|
+
readonly base: ExpressionNode;
|
|
70
|
+
readonly name: string;
|
|
71
|
+
readonly args: readonly unknown[];
|
|
72
|
+
}
|
|
73
|
+
export interface InterpolatedStringExpressionNode<_TValue = unknown> {
|
|
74
|
+
readonly kind: "interpolated-string";
|
|
75
|
+
readonly segments: readonly unknown[];
|
|
76
|
+
}
|
|
77
|
+
export type ExpressionNode<T = unknown> = FunctionCallExpressionNode<T> | SymbolicValueExpressionNode<T> | IdentifierExpressionNode<T> | PropertyAccessExpressionNode<T> | ArrayAccessExpressionNode<T> | BinaryExpressionNode<T> | UnaryExpressionNode<T> | TernaryExpressionNode<T> | InstanceFunctionCallExpressionNode<T> | InterpolatedStringExpressionNode<T>;
|
|
78
|
+
/**
|
|
79
|
+
* The index stored on an {@link ArrayAccessExpressionNode}: a literal
|
|
80
|
+
* `number` or `string`, or a raw {@link ExpressionNode} evaluated at
|
|
81
|
+
* serialize time (e.g. a loop's `symbolic-value` index, or a `binary` /
|
|
82
|
+
* `fn-call` node for a computed offset). `Expression<T>` proxies are
|
|
83
|
+
* unwrapped to their raw node before being stored, so the proxy type is
|
|
84
|
+
* intentionally absent here.
|
|
85
|
+
*/
|
|
86
|
+
export type ArrayAccessIndex = number | string | ExpressionNode;
|
|
87
|
+
/** Tests whether a value structurally matches a raw expression AST node. */
|
|
88
|
+
export declare function isExpressionNode(value: unknown): value is ExpressionNode;
|
|
89
|
+
export declare function functionCallExpressionNode<TValue = unknown, TOperator extends string = string>(operator: TOperator, args: readonly unknown[]): FunctionCallExpressionNode<TValue, TOperator>;
|
|
90
|
+
export declare function symbolicValueExpressionNode<TValue = unknown, TPath extends string = string>(path: TPath): SymbolicValueExpressionNode<TValue, TPath>;
|
|
91
|
+
export declare function identifierExpressionNode<TValue = unknown>(identifier: string | Resource): IdentifierExpressionNode<TValue>;
|
|
92
|
+
export declare function propertyAccessExpressionNode<TValue = unknown>(base: ExpressionNode, property: string, options?: Partial<Pick<PropertyAccessExpressionNode, "armPath" | "nullish">>): PropertyAccessExpressionNode<TValue>;
|
|
93
|
+
export declare function arrayAccessExpressionNode<TValue = unknown>(base: ExpressionNode, index: ArrayAccessIndex, options?: Partial<Pick<ArrayAccessExpressionNode, "nullish" | "fromEnd">>): ArrayAccessExpressionNode<TValue>;
|
|
94
|
+
export declare function binaryExpressionNode<TValue = unknown>(operator: BinaryOperator, left: unknown, right: unknown): BinaryExpressionNode<TValue>;
|
|
95
|
+
export declare function unaryExpressionNode<TValue = unknown>(operator: UnaryOperator, argument: unknown): UnaryExpressionNode<TValue>;
|
|
96
|
+
export declare function ternaryExpressionNode<TValue = unknown>(condition: unknown, trueValue: unknown, falseValue: unknown): TernaryExpressionNode<TValue>;
|
|
97
|
+
export declare function instanceFunctionCallExpressionNode<TValue = unknown>(base: ExpressionNode, name: string, args: readonly unknown[]): InstanceFunctionCallExpressionNode<TValue>;
|
|
98
|
+
export declare function interpolatedStringExpressionNode<TValue = unknown>(segments: readonly unknown[]): InterpolatedStringExpressionNode<TValue>;
|
|
99
|
+
export declare function accessExpressionNode(base: ExpressionNode, member: PropertySegment, options?: Partial<Pick<PropertyAccessExpressionNode, "armPath" | "nullish">>): PropertyAccessExpressionNode | ArrayAccessExpressionNode;
|
|
100
|
+
//# sourceMappingURL=ast-nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast-nodes.d.ts","sourceRoot":"","sources":["../../../src/expression/ast-nodes.ts"],"names":[],"mappings":"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"}
|