@azure/provisioning-core 0.1.0-alpha.20261026.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/LICENSE +3 -3
- package/README.md +61 -90
- package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/built-in-resources/resource-group.js +1 -2
- package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -0
- package/dist/browser/constructs/output.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/output.js +1 -2
- package/dist/browser/constructs/output.js.map +1 -0
- package/dist/{constructs → browser/constructs}/parameter.d.ts.map +1 -1
- package/dist/browser/constructs/parameter.js.map +1 -0
- package/dist/browser/constructs/provisioning-component.d.ts.map +1 -0
- package/dist/browser/constructs/provisioning-component.js.map +1 -0
- package/dist/browser/constructs/resource/resource-proxy.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource-proxy.js +7 -13
- package/dist/browser/constructs/resource/resource-proxy.js.map +1 -0
- package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource-query.js +2 -4
- package/dist/browser/constructs/resource/resource-query.js.map +1 -0
- package/dist/browser/constructs/resource/resource-registry.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource-registry.js +1 -1
- package/dist/browser/constructs/resource/resource-registry.js.map +1 -0
- package/dist/browser/constructs/resource/resource-relationships.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource-relationships.js +3 -6
- package/dist/browser/constructs/resource/resource-relationships.js.map +1 -0
- package/dist/browser/constructs/resource/resource-type-registry.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-type-registry.js.map +1 -0
- package/dist/browser/constructs/resource/resource-utils.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource-utils.js +1 -3
- package/dist/browser/constructs/resource/resource-utils.js.map +1 -0
- package/dist/browser/constructs/resource/resource.d.ts.map +1 -0
- package/dist/{constructs → browser/constructs}/resource/resource.js +8 -12
- package/dist/browser/constructs/resource/resource.js.map +1 -0
- package/dist/browser/constructs/stack.d.ts.map +1 -0
- package/dist/browser/constructs/stack.js.map +1 -0
- package/dist/browser/constructs/variable.d.ts.map +1 -0
- package/dist/browser/constructs/variable.js.map +1 -0
- package/dist/browser/deployment-context/deployment-context.d.ts.map +1 -0
- package/dist/browser/deployment-context/deployment-context.js.map +1 -0
- package/dist/browser/expression/ast-nodes.d.ts.map +1 -0
- package/dist/{expression → browser/expression}/ast-nodes.js +2 -4
- package/dist/browser/expression/ast-nodes.js.map +1 -0
- package/dist/browser/expression/expressions.d.ts.map +1 -0
- package/dist/{expression → browser/expression}/expressions.js +1 -1
- package/dist/browser/expression/expressions.js.map +1 -0
- package/dist/browser/expression/utils.d.ts.map +1 -0
- package/dist/browser/expression/utils.js.map +1 -0
- package/dist/browser/fn.d.ts.map +1 -0
- package/dist/{fn.js → browser/fn.js} +6 -25
- package/dist/browser/fn.js.map +1 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/{index.js → browser/index.js} +0 -2
- package/dist/browser/index.js.map +1 -0
- package/dist/{internal.d.ts → browser/internal.d.ts} +1 -1
- package/dist/browser/internal.d.ts.map +1 -0
- package/dist/{internal.js → browser/internal.js} +1 -1
- package/dist/browser/internal.js.map +1 -0
- package/dist/browser/naming/name-validation.d.ts.map +1 -0
- package/dist/{naming → browser/naming}/name-validation.js +1 -1
- package/dist/browser/naming/name-validation.js.map +1 -0
- package/dist/browser/naming/naming-policy.d.ts.map +1 -0
- package/dist/{naming → browser/naming}/naming-policy.js +3 -5
- package/dist/browser/naming/naming-policy.js.map +1 -0
- package/dist/browser/naming/naming-rules.d.ts.map +1 -0
- package/dist/browser/naming/naming-rules.js.map +1 -0
- package/dist/browser/package.json +8 -0
- package/dist/browser/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/arm-object-conversion.js +9 -18
- package/dist/browser/serialization/arm-object-conversion.js.map +1 -0
- package/dist/browser/serialization/ast/declaration-builder.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/declaration-builder.js +5 -12
- package/dist/browser/serialization/ast/declaration-builder.js.map +1 -0
- package/dist/browser/serialization/ast/declaration-dependencies.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/declaration-dependencies.js +1 -2
- package/dist/browser/serialization/ast/declaration-dependencies.js.map +1 -0
- package/dist/browser/serialization/ast/expression-builder.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/expression-builder.js +2 -4
- package/dist/browser/serialization/ast/expression-builder.js.map +1 -0
- package/dist/browser/serialization/ast/expression-restorer.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/expression-restorer.js +11 -4
- package/dist/browser/serialization/ast/expression-restorer.js.map +1 -0
- package/dist/browser/serialization/ast/expression-rewriter.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/expression-rewriter.js +12 -34
- package/dist/browser/serialization/ast/expression-rewriter.js.map +1 -0
- package/dist/browser/serialization/ast/expression-walker.d.ts.map +1 -0
- package/dist/browser/serialization/ast/expression-walker.js.map +1 -0
- package/dist/{serialization → browser/serialization}/ast/generated/ast.d.ts.map +1 -1
- package/dist/browser/serialization/ast/generated/ast.js.map +1 -0
- package/dist/browser/serialization/ast/index.d.ts.map +1 -0
- package/dist/browser/serialization/ast/index.js.map +1 -0
- package/dist/browser/serialization/ast/resource-utils.d.ts.map +1 -0
- package/dist/browser/serialization/ast/resource-utils.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/authored-context.js +1 -2
- package/dist/browser/serialization/bicep/file-layout/authored-context.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/bicep-namer.js +11 -20
- package/dist/browser/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/build-bicep-files.js +7 -20
- package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-planning.js +2 -3
- package/dist/browser/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-resource-utils.js +5 -9
- package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/file-dependencies.js +2 -7
- package/dist/browser/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/file-paths.js +1 -3
- package/dist/browser/serialization/bicep/file-layout/file-paths.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/file-preparation.js +8 -16
- package/dist/browser/serialization/bicep/file-layout/file-preparation.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/file-layout/reference-wiring.js +4 -7
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
- package/dist/browser/serialization/bicep/index.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/index.js.map +1 -0
- package/dist/browser/serialization/bicep/render.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/bicep/render.js +18 -34
- package/dist/browser/serialization/bicep/render.js.map +1 -0
- package/dist/browser/serialization/encoding.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/encoding.js +2 -6
- package/dist/browser/serialization/encoding.js.map +1 -0
- package/dist/browser/serialization/identifiers.d.ts.map +1 -0
- package/dist/browser/serialization/identifiers.js.map +1 -0
- package/dist/browser/serialization/index.d.ts.map +1 -0
- package/dist/browser/serialization/index.js.map +1 -0
- package/dist/browser/serialization/json/deserialize.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/json/deserialize.js +23 -64
- package/dist/browser/serialization/json/deserialize.js.map +1 -0
- package/dist/browser/serialization/json/serialize.d.ts.map +1 -0
- package/dist/{serialization → browser/serialization}/json/serialize.js +1 -3
- package/dist/browser/serialization/json/serialize.js.map +1 -0
- package/dist/browser/serialization/pluralize-config.d.ts.map +1 -0
- package/dist/browser/serialization/pluralize-config.js.map +1 -0
- package/dist/browser/serialization/symbol-map.d.ts.map +1 -0
- package/dist/browser/serialization/symbol-map.js.map +1 -0
- package/dist/browser/shape/shape-registry.d.ts.map +1 -0
- package/dist/browser/shape/shape-registry.js.map +1 -0
- package/dist/browser/shape/shape.d.ts.map +1 -0
- package/dist/{shape → browser/shape}/shape.js +6 -7
- package/dist/browser/shape/shape.js.map +1 -0
- package/dist/browser/shape/value-encoding.d.ts.map +1 -0
- package/dist/browser/shape/value-encoding.js.map +1 -0
- package/dist/browser/types.d.ts.map +1 -0
- package/dist/browser/types.js.map +1 -0
- package/dist/{util.d.ts → browser/util.d.ts} +1 -1
- package/dist/browser/util.d.ts.map +1 -0
- package/dist/{util.js → browser/util.js} +1 -5
- package/dist/browser/util.js.map +1 -0
- package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +56 -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 +135 -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 +25 -0
- package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-query.js +79 -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-relationships.d.ts +9 -0
- package/dist/commonjs/constructs/resource/resource-relationships.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource-relationships.js +59 -0
- package/dist/commonjs/constructs/resource/resource-relationships.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 +454 -0
- package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -0
- package/dist/commonjs/constructs/resource/resource.js +477 -0
- package/dist/commonjs/constructs/resource/resource.js.map +7 -0
- package/dist/commonjs/constructs/stack.d.ts +96 -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 +157 -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/expression/utils.d.ts +5 -0
- package/dist/commonjs/expression/utils.d.ts.map +1 -0
- package/dist/commonjs/expression/utils.js +43 -0
- package/dist/commonjs/expression/utils.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 +10 -0
- package/dist/commonjs/internal.d.ts.map +1 -0
- package/dist/commonjs/internal.js +82 -0
- package/dist/commonjs/internal.js.map +7 -0
- package/dist/commonjs/naming/name-validation.d.ts +15 -0
- package/dist/commonjs/naming/name-validation.d.ts.map +1 -0
- package/dist/commonjs/naming/name-validation.js +74 -0
- package/dist/commonjs/naming/name-validation.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 +209 -0
- package/dist/commonjs/naming/naming-policy.js.map +7 -0
- package/dist/commonjs/naming/naming-rules.d.ts +16 -0
- package/dist/commonjs/naming/naming-rules.d.ts.map +1 -0
- package/dist/commonjs/naming/naming-rules.js +32 -0
- package/dist/commonjs/naming/naming-rules.js.map +7 -0
- package/dist/commonjs/package.json +8 -0
- package/dist/commonjs/serialization/arm-object-conversion.d.ts +41 -0
- package/dist/commonjs/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/commonjs/serialization/arm-object-conversion.js +272 -0
- package/dist/commonjs/serialization/arm-object-conversion.js.map +7 -0
- package/dist/commonjs/serialization/ast/declaration-builder.d.ts +10 -0
- package/dist/commonjs/serialization/ast/declaration-builder.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/declaration-builder.js +274 -0
- package/dist/commonjs/serialization/ast/declaration-builder.js.map +7 -0
- package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts +18 -0
- package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/declaration-dependencies.js +109 -0
- package/dist/commonjs/serialization/ast/declaration-dependencies.js.map +7 -0
- package/dist/commonjs/serialization/ast/expression-builder.d.ts +14 -0
- package/dist/commonjs/serialization/ast/expression-builder.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/expression-builder.js +316 -0
- package/dist/commonjs/serialization/ast/expression-builder.js.map +7 -0
- package/dist/commonjs/serialization/ast/expression-restorer.d.ts +8 -0
- package/dist/commonjs/serialization/ast/expression-restorer.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/expression-restorer.js +193 -0
- package/dist/commonjs/serialization/ast/expression-restorer.js.map +7 -0
- package/dist/commonjs/serialization/ast/expression-rewriter.d.ts +29 -0
- package/dist/commonjs/serialization/ast/expression-rewriter.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/expression-rewriter.js +270 -0
- package/dist/commonjs/serialization/ast/expression-rewriter.js.map +7 -0
- package/dist/commonjs/serialization/ast/expression-walker.d.ts +16 -0
- package/dist/commonjs/serialization/ast/expression-walker.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/expression-walker.js +165 -0
- package/dist/commonjs/serialization/ast/expression-walker.js.map +7 -0
- package/dist/commonjs/serialization/ast/generated/ast.d.ts +508 -0
- package/dist/commonjs/serialization/ast/generated/ast.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/generated/ast.js +40 -0
- package/dist/commonjs/serialization/ast/generated/ast.js.map +7 -0
- package/dist/commonjs/serialization/ast/index.d.ts +7 -0
- package/dist/commonjs/serialization/ast/index.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/index.js +22 -0
- package/dist/commonjs/serialization/ast/index.js.map +7 -0
- package/dist/commonjs/serialization/ast/resource-utils.d.ts +10 -0
- package/dist/commonjs/serialization/ast/resource-utils.d.ts.map +1 -0
- package/dist/commonjs/serialization/ast/resource-utils.js +71 -0
- package/dist/commonjs/serialization/ast/resource-utils.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts +12 -0
- package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/authored-context.js +74 -0
- package/dist/commonjs/serialization/bicep/file-layout/authored-context.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
- package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js +130 -0
- package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js +71 -0
- package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js +80 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js +91 -0
- package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js +57 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts +3 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-paths.js +70 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-paths.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js +190 -0
- package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js.map +7 -0
- package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
- package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js +241 -0
- package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js.map +7 -0
- package/dist/commonjs/serialization/bicep/index.d.ts +2 -0
- package/dist/commonjs/serialization/bicep/index.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/index.js +28 -0
- package/dist/commonjs/serialization/bicep/index.js.map +7 -0
- package/dist/commonjs/serialization/bicep/render.d.ts +11 -0
- package/dist/commonjs/serialization/bicep/render.d.ts.map +1 -0
- package/dist/commonjs/serialization/bicep/render.js +312 -0
- package/dist/commonjs/serialization/bicep/render.js.map +7 -0
- package/dist/commonjs/serialization/encoding.d.ts +4 -0
- package/dist/commonjs/serialization/encoding.d.ts.map +1 -0
- package/dist/commonjs/serialization/encoding.js +296 -0
- package/dist/commonjs/serialization/encoding.js.map +7 -0
- package/dist/commonjs/serialization/identifiers.d.ts +2 -0
- package/dist/commonjs/serialization/identifiers.d.ts.map +1 -0
- package/dist/commonjs/serialization/identifiers.js +37 -0
- package/dist/commonjs/serialization/identifiers.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 +456 -0
- package/dist/commonjs/serialization/json/deserialize.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 +50 -0
- package/dist/commonjs/serialization/json/serialize.js.map +7 -0
- package/dist/commonjs/serialization/pluralize-config.d.ts +3 -0
- package/dist/commonjs/serialization/pluralize-config.d.ts.map +1 -0
- package/dist/commonjs/serialization/pluralize-config.js +37 -0
- package/dist/commonjs/serialization/pluralize-config.js.map +7 -0
- package/dist/commonjs/serialization/symbol-map.d.ts +10 -0
- package/dist/commonjs/serialization/symbol-map.d.ts.map +1 -0
- package/dist/commonjs/serialization/symbol-map.js +72 -0
- package/dist/commonjs/serialization/symbol-map.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 +56 -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 +120 -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 +25 -0
- package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-query.js +79 -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-relationships.d.ts +9 -0
- package/dist/esm/constructs/resource/resource-relationships.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource-relationships.js +35 -0
- package/dist/esm/constructs/resource/resource-relationships.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 +454 -0
- package/dist/esm/constructs/resource/resource.d.ts.map +1 -0
- package/dist/esm/constructs/resource/resource.js +624 -0
- package/dist/esm/constructs/resource/resource.js.map +1 -0
- package/dist/esm/constructs/stack.d.ts +96 -0
- package/dist/esm/constructs/stack.d.ts.map +1 -0
- package/dist/esm/constructs/stack.js +96 -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 +157 -0
- package/dist/esm/expression/expressions.d.ts.map +1 -0
- package/dist/esm/expression/expressions.js +204 -0
- package/dist/esm/expression/expressions.js.map +1 -0
- package/dist/esm/expression/utils.d.ts +5 -0
- package/dist/esm/expression/utils.d.ts.map +1 -0
- package/dist/esm/expression/utils.js +25 -0
- package/dist/esm/expression/utils.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 +10 -0
- package/dist/esm/internal.d.ts.map +1 -0
- package/dist/esm/internal.js +8 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/naming/name-validation.d.ts +15 -0
- package/dist/esm/naming/name-validation.d.ts.map +1 -0
- package/dist/esm/naming/name-validation.js +82 -0
- package/dist/esm/naming/name-validation.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 +230 -0
- package/dist/esm/naming/naming-policy.js.map +1 -0
- package/dist/esm/naming/naming-rules.d.ts +16 -0
- package/dist/esm/naming/naming-rules.d.ts.map +1 -0
- package/dist/esm/naming/naming-rules.js +8 -0
- package/dist/esm/naming/naming-rules.js.map +1 -0
- package/dist/esm/package.json +8 -0
- package/dist/esm/serialization/arm-object-conversion.d.ts +41 -0
- package/dist/esm/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/esm/serialization/arm-object-conversion.js +334 -0
- package/dist/esm/serialization/arm-object-conversion.js.map +1 -0
- package/dist/esm/serialization/ast/declaration-builder.d.ts +10 -0
- package/dist/esm/serialization/ast/declaration-builder.d.ts.map +1 -0
- package/dist/esm/serialization/ast/declaration-builder.js +265 -0
- package/dist/esm/serialization/ast/declaration-builder.js.map +1 -0
- package/dist/esm/serialization/ast/declaration-dependencies.d.ts +18 -0
- package/dist/esm/serialization/ast/declaration-dependencies.d.ts.map +1 -0
- package/dist/esm/serialization/ast/declaration-dependencies.js +96 -0
- package/dist/esm/serialization/ast/declaration-dependencies.js.map +1 -0
- package/dist/esm/serialization/ast/expression-builder.d.ts +14 -0
- package/dist/esm/serialization/ast/expression-builder.d.ts.map +1 -0
- package/dist/esm/serialization/ast/expression-builder.js +313 -0
- package/dist/esm/serialization/ast/expression-builder.js.map +1 -0
- package/dist/esm/serialization/ast/expression-restorer.d.ts +8 -0
- package/dist/esm/serialization/ast/expression-restorer.d.ts.map +1 -0
- package/dist/esm/serialization/ast/expression-restorer.js +162 -0
- package/dist/esm/serialization/ast/expression-restorer.js.map +1 -0
- package/dist/esm/serialization/ast/expression-rewriter.d.ts +29 -0
- package/dist/esm/serialization/ast/expression-rewriter.d.ts.map +1 -0
- package/dist/esm/serialization/ast/expression-rewriter.js +257 -0
- package/dist/esm/serialization/ast/expression-rewriter.js.map +1 -0
- package/dist/esm/serialization/ast/expression-walker.d.ts +16 -0
- package/dist/esm/serialization/ast/expression-walker.d.ts.map +1 -0
- package/dist/esm/serialization/ast/expression-walker.js +154 -0
- package/dist/esm/serialization/ast/expression-walker.js.map +1 -0
- package/dist/esm/serialization/ast/generated/ast.d.ts +508 -0
- package/dist/esm/serialization/ast/generated/ast.d.ts.map +1 -0
- package/dist/esm/serialization/ast/generated/ast.js +23 -0
- package/dist/esm/serialization/ast/generated/ast.js.map +1 -0
- package/dist/esm/serialization/ast/index.d.ts +7 -0
- package/dist/esm/serialization/ast/index.d.ts.map +1 -0
- package/dist/esm/serialization/ast/index.js +4 -0
- package/dist/esm/serialization/ast/index.js.map +1 -0
- package/dist/esm/serialization/ast/resource-utils.d.ts +10 -0
- package/dist/esm/serialization/ast/resource-utils.d.ts.map +1 -0
- package/dist/esm/serialization/ast/resource-utils.js +52 -0
- package/dist/esm/serialization/ast/resource-utils.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts +12 -0
- package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/authored-context.js +57 -0
- package/dist/esm/serialization/bicep/file-layout/authored-context.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
- package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/bicep-namer.js +100 -0
- package/dist/esm/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
- package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js +46 -0
- package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-planning.js +68 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
- package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
- package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-dependencies.js +32 -0
- package/dist/esm/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts +3 -0
- package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-paths.js +46 -0
- package/dist/esm/serialization/bicep/file-layout/file-paths.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
- package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/file-preparation.js +140 -0
- package/dist/esm/serialization/bicep/file-layout/file-preparation.js.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
- package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/file-layout/reference-wiring.js +225 -0
- package/dist/esm/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
- package/dist/esm/serialization/bicep/index.d.ts +2 -0
- package/dist/esm/serialization/bicep/index.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/index.js +4 -0
- package/dist/esm/serialization/bicep/index.js.map +1 -0
- package/dist/esm/serialization/bicep/render.d.ts +11 -0
- package/dist/esm/serialization/bicep/render.d.ts.map +1 -0
- package/dist/esm/serialization/bicep/render.js +293 -0
- package/dist/esm/serialization/bicep/render.js.map +1 -0
- package/dist/esm/serialization/encoding.d.ts +4 -0
- package/dist/esm/serialization/encoding.d.ts.map +1 -0
- package/dist/esm/serialization/encoding.js +309 -0
- package/dist/esm/serialization/encoding.js.map +1 -0
- package/dist/esm/serialization/identifiers.d.ts +2 -0
- package/dist/esm/serialization/identifiers.d.ts.map +1 -0
- package/dist/esm/serialization/identifiers.js +19 -0
- package/dist/esm/serialization/identifiers.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 +529 -0
- package/dist/esm/serialization/json/deserialize.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 +34 -0
- package/dist/esm/serialization/json/serialize.js.map +1 -0
- package/dist/esm/serialization/pluralize-config.d.ts +3 -0
- package/dist/esm/serialization/pluralize-config.d.ts.map +1 -0
- package/dist/esm/serialization/pluralize-config.js +7 -0
- package/dist/esm/serialization/pluralize-config.js.map +1 -0
- package/dist/esm/serialization/symbol-map.d.ts +10 -0
- package/dist/esm/serialization/symbol-map.d.ts.map +1 -0
- package/dist/esm/serialization/symbol-map.js +40 -0
- package/dist/esm/serialization/symbol-map.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 +92 -27
- package/dist/constructs/built-in-resources/resource-group.d.ts.map +0 -1
- package/dist/constructs/built-in-resources/resource-group.js.map +0 -1
- package/dist/constructs/output.d.ts.map +0 -1
- package/dist/constructs/output.js.map +0 -1
- package/dist/constructs/parameter.js.map +0 -1
- package/dist/constructs/provisioning-component.d.ts.map +0 -1
- package/dist/constructs/provisioning-component.js.map +0 -1
- package/dist/constructs/resource/resource-proxy.d.ts.map +0 -1
- package/dist/constructs/resource/resource-proxy.js.map +0 -1
- package/dist/constructs/resource/resource-query.d.ts.map +0 -1
- package/dist/constructs/resource/resource-query.js.map +0 -1
- package/dist/constructs/resource/resource-registry.d.ts.map +0 -1
- package/dist/constructs/resource/resource-registry.js.map +0 -1
- package/dist/constructs/resource/resource-relationships.d.ts.map +0 -1
- package/dist/constructs/resource/resource-relationships.js.map +0 -1
- package/dist/constructs/resource/resource-type-registry.d.ts.map +0 -1
- package/dist/constructs/resource/resource-type-registry.js.map +0 -1
- package/dist/constructs/resource/resource-utils.d.ts.map +0 -1
- package/dist/constructs/resource/resource-utils.js.map +0 -1
- package/dist/constructs/resource/resource.d.ts.map +0 -1
- package/dist/constructs/resource/resource.js.map +0 -1
- package/dist/constructs/stack.d.ts.map +0 -1
- package/dist/constructs/stack.js.map +0 -1
- package/dist/constructs/variable.d.ts.map +0 -1
- package/dist/constructs/variable.js.map +0 -1
- package/dist/deployment-context/deployment-context.d.ts.map +0 -1
- package/dist/deployment-context/deployment-context.js.map +0 -1
- package/dist/expression/ast-nodes.d.ts.map +0 -1
- package/dist/expression/ast-nodes.js.map +0 -1
- package/dist/expression/expressions.d.ts.map +0 -1
- package/dist/expression/expressions.js.map +0 -1
- package/dist/expression/utils.d.ts.map +0 -1
- package/dist/expression/utils.js.map +0 -1
- package/dist/fn.d.ts.map +0 -1
- package/dist/fn.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal-loop.d.ts +0 -14
- package/dist/internal-loop.d.ts.map +0 -1
- package/dist/internal-loop.js +0 -16
- package/dist/internal-loop.js.map +0 -1
- package/dist/internal.d.ts.map +0 -1
- package/dist/internal.js.map +0 -1
- package/dist/naming/name-validation.d.ts.map +0 -1
- package/dist/naming/name-validation.js.map +0 -1
- package/dist/naming/naming-policy.d.ts.map +0 -1
- package/dist/naming/naming-policy.js.map +0 -1
- package/dist/naming/naming-rules.d.ts.map +0 -1
- package/dist/naming/naming-rules.js.map +0 -1
- package/dist/serialization/arm-object-conversion.d.ts.map +0 -1
- package/dist/serialization/arm-object-conversion.js.map +0 -1
- package/dist/serialization/ast/declaration-builder.d.ts.map +0 -1
- package/dist/serialization/ast/declaration-builder.js.map +0 -1
- package/dist/serialization/ast/declaration-dependencies.d.ts.map +0 -1
- package/dist/serialization/ast/declaration-dependencies.js.map +0 -1
- package/dist/serialization/ast/expression-builder.d.ts.map +0 -1
- package/dist/serialization/ast/expression-builder.js.map +0 -1
- package/dist/serialization/ast/expression-restorer.d.ts.map +0 -1
- package/dist/serialization/ast/expression-restorer.js.map +0 -1
- package/dist/serialization/ast/expression-rewriter.d.ts.map +0 -1
- package/dist/serialization/ast/expression-rewriter.js.map +0 -1
- package/dist/serialization/ast/expression-walker.d.ts.map +0 -1
- package/dist/serialization/ast/expression-walker.js.map +0 -1
- package/dist/serialization/ast/generated/ast.js.map +0 -1
- package/dist/serialization/ast/index.d.ts.map +0 -1
- package/dist/serialization/ast/index.js.map +0 -1
- package/dist/serialization/ast/resource-utils.d.ts.map +0 -1
- package/dist/serialization/ast/resource-utils.js.map +0 -1
- package/dist/serialization/bicep/file-layout/authored-context.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/authored-context.js.map +0 -1
- package/dist/serialization/bicep/file-layout/bicep-namer.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/bicep-namer.js.map +0 -1
- package/dist/serialization/bicep/file-layout/build-bicep-files.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/build-bicep-files.js.map +0 -1
- package/dist/serialization/bicep/file-layout/deployment-planning.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/deployment-planning.js.map +0 -1
- package/dist/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/deployment-resource-utils.js.map +0 -1
- package/dist/serialization/bicep/file-layout/file-dependencies.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/file-dependencies.js.map +0 -1
- package/dist/serialization/bicep/file-layout/file-paths.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/file-paths.js.map +0 -1
- package/dist/serialization/bicep/file-layout/file-preparation.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/file-preparation.js.map +0 -1
- package/dist/serialization/bicep/file-layout/reference-wiring.d.ts.map +0 -1
- package/dist/serialization/bicep/file-layout/reference-wiring.js.map +0 -1
- package/dist/serialization/bicep/index.d.ts.map +0 -1
- package/dist/serialization/bicep/index.js.map +0 -1
- package/dist/serialization/bicep/render.d.ts.map +0 -1
- package/dist/serialization/bicep/render.js.map +0 -1
- package/dist/serialization/encoding.d.ts.map +0 -1
- package/dist/serialization/encoding.js.map +0 -1
- package/dist/serialization/identifiers.d.ts.map +0 -1
- package/dist/serialization/identifiers.js.map +0 -1
- package/dist/serialization/index.d.ts.map +0 -1
- package/dist/serialization/index.js.map +0 -1
- package/dist/serialization/json/deserialize.d.ts.map +0 -1
- package/dist/serialization/json/deserialize.js.map +0 -1
- package/dist/serialization/json/serialize.d.ts.map +0 -1
- package/dist/serialization/json/serialize.js.map +0 -1
- package/dist/serialization/pluralize-config.d.ts.map +0 -1
- package/dist/serialization/pluralize-config.js.map +0 -1
- package/dist/serialization/symbol-map.d.ts.map +0 -1
- package/dist/serialization/symbol-map.js.map +0 -1
- package/dist/shape/shape-registry.d.ts.map +0 -1
- package/dist/shape/shape-registry.js.map +0 -1
- package/dist/shape/shape.d.ts.map +0 -1
- package/dist/shape/shape.js.map +0 -1
- package/dist/shape/value-encoding.d.ts.map +0 -1
- package/dist/shape/value-encoding.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js.map +0 -1
- /package/dist/{constructs → browser/constructs}/built-in-resources/resource-group.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/output.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/parameter.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/parameter.js +0 -0
- /package/dist/{constructs → browser/constructs}/provisioning-component.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/provisioning-component.js +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-proxy.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-query.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-registry.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-relationships.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-type-registry.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-type-registry.js +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource-utils.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/resource/resource.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/stack.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/stack.js +0 -0
- /package/dist/{constructs → browser/constructs}/variable.d.ts +0 -0
- /package/dist/{constructs → browser/constructs}/variable.js +0 -0
- /package/dist/{deployment-context → browser/deployment-context}/deployment-context.d.ts +0 -0
- /package/dist/{deployment-context → browser/deployment-context}/deployment-context.js +0 -0
- /package/dist/{expression → browser/expression}/ast-nodes.d.ts +0 -0
- /package/dist/{expression → browser/expression}/expressions.d.ts +0 -0
- /package/dist/{expression → browser/expression}/utils.d.ts +0 -0
- /package/dist/{expression → browser/expression}/utils.js +0 -0
- /package/dist/{fn.d.ts → browser/fn.d.ts} +0 -0
- /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
- /package/dist/{naming → browser/naming}/name-validation.d.ts +0 -0
- /package/dist/{naming → browser/naming}/naming-policy.d.ts +0 -0
- /package/dist/{naming → browser/naming}/naming-rules.d.ts +0 -0
- /package/dist/{naming → browser/naming}/naming-rules.js +0 -0
- /package/dist/{serialization → browser/serialization}/arm-object-conversion.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/declaration-builder.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/declaration-dependencies.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/expression-builder.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/expression-restorer.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/expression-rewriter.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/expression-walker.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/expression-walker.js +0 -0
- /package/dist/{serialization → browser/serialization}/ast/generated/ast.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/generated/ast.js +0 -0
- /package/dist/{serialization → browser/serialization}/ast/index.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/index.js +0 -0
- /package/dist/{serialization → browser/serialization}/ast/resource-utils.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/ast/resource-utils.js +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/authored-context.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/bicep-namer.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/build-bicep-files.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-planning.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/deployment-resource-utils.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-dependencies.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-paths.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/file-preparation.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/file-layout/reference-wiring.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/index.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/index.js +0 -0
- /package/dist/{serialization → browser/serialization}/bicep/render.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/encoding.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/identifiers.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/identifiers.js +0 -0
- /package/dist/{serialization → browser/serialization}/index.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/index.js +0 -0
- /package/dist/{serialization → browser/serialization}/json/deserialize.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/json/serialize.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/pluralize-config.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/pluralize-config.js +0 -0
- /package/dist/{serialization → browser/serialization}/symbol-map.d.ts +0 -0
- /package/dist/{serialization → browser/serialization}/symbol-map.js +0 -0
- /package/dist/{shape → browser/shape}/shape-registry.d.ts +0 -0
- /package/dist/{shape → browser/shape}/shape-registry.js +0 -0
- /package/dist/{shape → browser/shape}/shape.d.ts +0 -0
- /package/dist/{shape → browser/shape}/value-encoding.d.ts +0 -0
- /package/dist/{shape → browser/shape}/value-encoding.js +0 -0
- /package/dist/{types.d.ts → browser/types.d.ts} +0 -0
- /package/dist/{types.js → browser/types.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fn.js","sourceRoot":"","sources":["../../src/fn.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n type Expression,\n type ExpressionOrValue,\n createBinaryExpression,\n createFunctionCallExpression,\n createTernaryExpression,\n createUnaryExpression,\n isExpression,\n} from \"./expression/expressions.js\";\n\n// ---------------------------------------------------------------------------\n// Arithmetic operators\n// ---------------------------------------------------------------------------\n/** Adds two numbers as a deploy-time expression. */\nexport function add(\n left: ExpressionOrValue<number>,\n right: ExpressionOrValue<number>,\n): Expression<number> {\n return createBinaryExpression<number>(\"+\", left, right);\n}\n\n/** Subtracts the right operand from the left at deployment time. */\nexport function sub(\n left: ExpressionOrValue<number>,\n right: ExpressionOrValue<number>,\n): Expression<number> {\n return createBinaryExpression<number>(\"-\", left, right);\n}\n\n/** Multiplies two numbers at deployment time. */\nexport function mul(\n left: ExpressionOrValue<number>,\n right: ExpressionOrValue<number>,\n): Expression<number> {\n return createBinaryExpression<number>(\"*\", left, right);\n}\n\n/** Divides the left operand by the right at deployment time. */\nexport function div(\n left: ExpressionOrValue<number>,\n right: ExpressionOrValue<number>,\n): Expression<number> {\n return createBinaryExpression<number>(\"/\", left, right);\n}\n\n/** Returns the remainder of dividing the left operand by the right. */\nexport function mod(\n left: ExpressionOrValue<number>,\n right: ExpressionOrValue<number>,\n): Expression<number> {\n return createBinaryExpression<number>(\"%\", left, right);\n}\n\n/** Negates a number at deployment time. */\nexport function neg(value: ExpressionOrValue<number>): Expression<number> {\n return createUnaryExpression<number>(\"-\", value);\n}\n\n// ---------------------------------------------------------------------------\n// Comparison operators\n// ---------------------------------------------------------------------------\n\n/** Tests whether two values are equal at deployment time. */\nexport function eq(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\"==\", left, right);\n}\n\n/** Tests whether two values differ at deployment time. */\nexport function neq(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\"!=\", left, right);\n}\n\n/** Tests whether the left value is greater than the right value. */\nexport function gt(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\">\", left, right);\n}\n\n/** Tests whether the left value is less than the right value. */\nexport function lt(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\"<\", left, right);\n}\n\n/** Tests whether the left value is greater than or equal to the right value. */\nexport function gte(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\">=\", left, right);\n}\n\n/** Tests whether the left value is less than or equal to the right value. */\nexport function lte(\n left: ExpressionOrValue<unknown>,\n right: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createBinaryExpression<boolean>(\"<=\", left, right);\n}\n\n// ---------------------------------------------------------------------------\n// Boolean operators\n// ---------------------------------------------------------------------------\n\n/**\n * Logical AND. Accepts 1 … N operands and folds left:\n * `and(a, b, c)` → `(a && b) && c`\n *\n * A single operand is returned as an `Expression<boolean>` (identity).\n */\nexport function and(...conditions: ExpressionOrValue<boolean>[]): Expression<boolean> {\n if (conditions.length === 0) {\n throw new Error(\"and() requires at least one argument\");\n }\n if (conditions.length === 1) {\n const c = conditions[0];\n if (isExpression(c)) return c as Expression<boolean>;\n return createUnaryExpression<boolean>(\"!\", createUnaryExpression<boolean>(\"!\", c));\n }\n let result: ExpressionOrValue<boolean> = conditions[0]!;\n for (let i = 1; i < conditions.length; i++) {\n result = createBinaryExpression<boolean>(\"&&\", result, conditions[i]!);\n }\n return result as Expression<boolean>;\n}\n\n/**\n * Logical OR. Accepts 1 … N operands and folds left:\n * `or(a, b, c)` → `(a || b) || c`\n */\nexport function or(...conditions: ExpressionOrValue<boolean>[]): Expression<boolean> {\n if (conditions.length === 0) {\n throw new Error(\"or() requires at least one argument\");\n }\n if (conditions.length === 1) {\n const c = conditions[0];\n if (isExpression(c)) return c as Expression<boolean>;\n return createUnaryExpression<boolean>(\"!\", createUnaryExpression<boolean>(\"!\", c));\n }\n let result: ExpressionOrValue<boolean> = conditions[0]!;\n for (let i = 1; i < conditions.length; i++) {\n result = createBinaryExpression<boolean>(\"||\", result, conditions[i]!);\n }\n return result as Expression<boolean>;\n}\n\n/** Negates a Boolean value at deployment time. */\nexport function not(value: ExpressionOrValue<boolean>): Expression<boolean> {\n return createUnaryExpression<boolean>(\"!\", value);\n}\n\n// ---------------------------------------------------------------------------\n// Conditional operators\n// ---------------------------------------------------------------------------\n\n/** Selects one of two values based on a deploy-time condition. */\nexport function cond<T>(\n condition: ExpressionOrValue<boolean>,\n trueValue: ExpressionOrValue<T>,\n falseValue: ExpressionOrValue<T>,\n): Expression<T> {\n return createTernaryExpression<T>(condition, trueValue, falseValue);\n}\n\n/** Returns the left value unless it is null, otherwise the right value. */\nexport function coalesce<T>(\n left: ExpressionOrValue<T>,\n right: ExpressionOrValue<T>,\n): Expression<T> {\n return createBinaryExpression<T>(\"??\", left, right);\n}\n\n// ---------------------------------------------------------------------------\n// String functions\n// ---------------------------------------------------------------------------\n\n// Detects the `[TemplateStringsArray, ...values]` shape produced by a\n// tagged-template call. Used by `concat` to support both `concat(\"a\", \"b\")`\n// and `` concat`a${x}b` `` forms.\nfunction isTemplateLiteralArgs(\n args: readonly unknown[],\n): args is [TemplateStringsArray, ...unknown[]] {\n return Array.isArray(args[0]) && \"raw\" in (args[0] as any) && Array.isArray((args[0] as any).raw);\n}\n\n// Interleaves a tagged-template's static `strings` with its dynamic `values`,\n// dropping empty leading/trailing static segments so the resulting array is\n// suitable as `concat()` arguments.\nfunction interleaveTemplateLiteralArgs(\n strings: TemplateStringsArray,\n values: readonly ExpressionOrValue<string>[],\n): ExpressionOrValue<string>[] {\n const result: ExpressionOrValue<string>[] = [];\n for (let i = 0; i < strings.length; i++) {\n const s = strings[i]!;\n if (s !== \"\") {\n result.push(s);\n }\n if (i < values.length) {\n result.push(values[i]!);\n }\n }\n return result;\n}\n\n/** Concatenates strings and expressions in a tagged template. */\nexport function concat(\n strings: TemplateStringsArray,\n ...values: ExpressionOrValue<string>[]\n): Expression<string>;\n/** Concatenates string values and expressions at deployment time. */\nexport function concat(...values: ExpressionOrValue<string>[]): Expression<string>;\nexport function concat(\n ...args: [TemplateStringsArray, ...ExpressionOrValue<string>[]] | ExpressionOrValue<string>[]\n): Expression<string> {\n if (isTemplateLiteralArgs(args)) {\n const [strings, ...values] = args;\n return createFunctionCallExpression<string>(\n \"concat\",\n interleaveTemplateLiteralArgs(strings, values),\n );\n }\n return createFunctionCallExpression<string>(\"concat\", args as ExpressionOrValue<string>[]);\n}\n\n/** Returns the first `count` characters of a string. */\nexport function take(\n value: ExpressionOrValue<string>,\n count: ExpressionOrValue<number>,\n): Expression<string> {\n return createFunctionCallExpression<string>(\"take\", [value, count]);\n}\n\n/** Converts a string to lowercase at deployment time. */\nexport function toLower(value: ExpressionOrValue<string>): Expression<string> {\n return createFunctionCallExpression<string>(\"toLower\", [value]);\n}\n\n/** Converts a string to uppercase at deployment time. */\nexport function toUpper(value: ExpressionOrValue<string>): Expression<string> {\n return createFunctionCallExpression<string>(\"toUpper\", [value]);\n}\n\n/** Returns part of a string, optionally starting at `start` for `count` characters. */\nexport function substring(\n value: ExpressionOrValue<string>,\n start?: ExpressionOrValue<number>,\n count?: ExpressionOrValue<number>,\n): Expression<string> {\n const args: ExpressionOrValue<string | number>[] = [value];\n if (start !== undefined) args.push(start);\n if (count !== undefined) args.push(count);\n return createFunctionCallExpression<string>(\"substring\", args);\n}\n\n/** Replaces occurrences of `oldValue` with `newValue` in a string. */\nexport function replace(\n value: ExpressionOrValue<string>,\n oldValue: ExpressionOrValue<string>,\n newValue: ExpressionOrValue<string>,\n): Expression<string> {\n return createFunctionCallExpression<string>(\"replace\", [value, oldValue, newValue]);\n}\n\n/** Splits a string into an array at each occurrence of `delimiter`. */\nexport function split(\n value: ExpressionOrValue<string>,\n delimiter: ExpressionOrValue<string>,\n): Expression<string[]> {\n return createFunctionCallExpression<string[]>(\"split\", [value, delimiter]);\n}\n\n/** Joins array elements into a string separated by `delimiter`. */\nexport function join(\n values: ExpressionOrValue<unknown[]>,\n delimiter: ExpressionOrValue<string>,\n): Expression<string> {\n return createFunctionCallExpression<string>(\"join\", [values, delimiter]);\n}\n\n/** Removes leading and trailing whitespace from a string. */\nexport function trim(value: ExpressionOrValue<string>): Expression<string> {\n return createFunctionCallExpression<string>(\"trim\", [value]);\n}\n\n/** Tests whether a string begins with `prefix`. */\nexport function startsWith(\n value: ExpressionOrValue<string>,\n prefix: ExpressionOrValue<string>,\n): Expression<boolean> {\n return createFunctionCallExpression<boolean>(\"startsWith\", [value, prefix]);\n}\n\n/** Tests whether a string ends with `suffix`. */\nexport function endsWith(\n value: ExpressionOrValue<string>,\n suffix: ExpressionOrValue<string>,\n): Expression<boolean> {\n return createFunctionCallExpression<boolean>(\"endsWith\", [value, suffix]);\n}\n\n/** Encodes a string as Base64 at deployment time. */\nexport function base64(value: ExpressionOrValue<string>): Expression<string> {\n return createFunctionCallExpression<string>(\"base64\", [value]);\n}\n\n/** Decodes Base64-encoded JSON into a value at deployment time. */\nexport function base64ToJson(value: ExpressionOrValue<string>): Expression<unknown> {\n return createFunctionCallExpression<unknown>(\"base64ToJson\", [value]);\n}\n\n/** Formats a string using indexed placeholders and the supplied values. */\nexport function format(\n formatString: ExpressionOrValue<string>,\n ...values: ExpressionOrValue<unknown>[]\n): Expression<string> {\n return createFunctionCallExpression<string>(\"format\", [formatString, ...values]);\n}\n\n/** Returns the last index of `searchString` within a string. */\nexport function lastIndexOf(\n value: ExpressionOrValue<string>,\n searchString: ExpressionOrValue<string>,\n): Expression<number> {\n return createFunctionCallExpression<number>(\"lastIndexOf\", [value, searchString]);\n}\n\n// ---------------------------------------------------------------------------\n// Unique / ID functions\n// ---------------------------------------------------------------------------\n\n/** Creates a deterministic string from the supplied values. */\nexport function uniqueString(...values: ExpressionOrValue<string>[]): Expression<string> {\n return createFunctionCallExpression<string>(\"uniqueString\", values);\n}\n\n/** Creates a deterministic GUID from the supplied values. */\nexport function guid(...values: ExpressionOrValue<string>[]): Expression<string> {\n return createFunctionCallExpression<string>(\"guid\", values);\n}\n\n/** Constructs a resource ID at the current deployment scope. */\nexport function resourceId(\n type: ExpressionOrValue<string>,\n ...names: ExpressionOrValue<string>[]\n): Expression<string> {\n return createFunctionCallExpression<string>(\"resourceId\", [type, ...names]);\n}\n\n/** Constructs an ID for a subscription-scoped resource. */\nexport function subscriptionResourceId(\n type: ExpressionOrValue<string>,\n ...names: ExpressionOrValue<string>[]\n): Expression<string> {\n return createFunctionCallExpression<string>(\"subscriptionResourceId\", [type, ...names]);\n}\n\n/** Constructs an extension resource ID relative to `baseId`. */\nexport function extensionResourceId(\n baseId: ExpressionOrValue<string>,\n type: ExpressionOrValue<string>,\n ...names: ExpressionOrValue<string>[]\n): Expression<string> {\n return createFunctionCallExpression<string>(\"extensionResourceId\", [baseId, type, ...names]);\n}\n\n// ---------------------------------------------------------------------------\n// Numeric functions\n// ---------------------------------------------------------------------------\n\n/** Converts a value to an integer at deployment time. */\nexport function int(value: ExpressionOrValue<unknown>): Expression<number> {\n return createFunctionCallExpression<number>(\"int\", [value]);\n}\n\n/** Returns the smallest of the supplied numbers. */\nexport function min(...values: ExpressionOrValue<number>[]): Expression<number> {\n return createFunctionCallExpression<number>(\"min\", values);\n}\n\n/** Returns the largest of the supplied numbers. */\nexport function max(...values: ExpressionOrValue<number>[]): Expression<number> {\n return createFunctionCallExpression<number>(\"max\", values);\n}\n\n// ---------------------------------------------------------------------------\n// Array / collection functions\n// ---------------------------------------------------------------------------\n\n/** Returns the length of a string, array, or object at deployment time. */\nexport function length(value: ExpressionOrValue<unknown>): Expression<number> {\n return createFunctionCallExpression<number>(\"length\", [value]);\n}\n\n/** Tests whether a string, array, or object is empty. */\nexport function empty(value: ExpressionOrValue<unknown>): Expression<boolean> {\n return createFunctionCallExpression<boolean>(\"empty\", [value]);\n}\n\n/** Returns the first element of an array. */\nexport function first<T>(arr: ExpressionOrValue<T[]>): Expression<T> {\n return createFunctionCallExpression<T>(\"first\", [arr]);\n}\n\n/** Returns the last element of an array. */\nexport function last<T>(arr: ExpressionOrValue<T[]>): Expression<T> {\n return createFunctionCallExpression<T>(\"last\", [arr]);\n}\n\n/** Tests whether a string, array, or object contains a value or key. */\nexport function contains(\n container: ExpressionOrValue<unknown>,\n value: ExpressionOrValue<unknown>,\n): Expression<boolean> {\n return createFunctionCallExpression<boolean>(\"contains\", [container, value]);\n}\n\n/** Returns the first index of `value` in an array, or -1 if absent. */\nexport function indexOf<T>(\n arr: ExpressionOrValue<T[]>,\n value: ExpressionOrValue<T>,\n): Expression<number> {\n return createFunctionCallExpression<number>(\"indexOf\", [arr, value]);\n}\n\n/** Flattens one level of nested arrays. */\nexport function flatten<T>(arr: ExpressionOrValue<T[][]>): Expression<T[]> {\n return createFunctionCallExpression<T[]>(\"flatten\", [arr]);\n}\n\n/** Returns the intersection of two arrays or objects. */\nexport function intersect<T, U>(\n a: ExpressionOrValue<T>,\n b: ExpressionOrValue<U>,\n): Expression<T & U> {\n return createFunctionCallExpression<T & U>(\"intersection\", [a, b]);\n}\n\n/** Returns the union of two arrays, with elements from either input. */\nexport function union<TElement, UElement>(\n a: ExpressionOrValue<readonly TElement[]>,\n b: ExpressionOrValue<readonly UElement[]>,\n): Expression<(TElement | UElement)[]>;\n/** Returns the union of two objects, with properties from both inputs. */\nexport function union<T extends object, U extends object>(\n a: T extends readonly unknown[] ? never : ExpressionOrValue<T>,\n b: U extends readonly unknown[] ? never : ExpressionOrValue<U>,\n): Expression<T & U>;\nexport function union(\n a: ExpressionOrValue<object>,\n b: ExpressionOrValue<object>,\n): Expression<object> {\n return createFunctionCallExpression<object>(\"union\", [a, b]);\n}\n\n/** Skips the first `count` elements of an array. */\nexport function skip<T>(\n arr: ExpressionOrValue<T[]>,\n count: ExpressionOrValue<number>,\n): Expression<T[]> {\n return createFunctionCallExpression<T[]>(\"skip\", [arr, count]);\n}\n\n/** Returns an array's elements in reverse order. */\nexport function reverse<T>(arr: ExpressionOrValue<T[]>): Expression<T[]> {\n return createFunctionCallExpression<T[]>(\"reverse\", [arr]);\n}\n\n// ---------------------------------------------------------------------------\n// Object functions\n// ---------------------------------------------------------------------------\n\n/** Parses JSON text into a deploy-time value. */\nexport function json(value: ExpressionOrValue<string>): Expression<unknown> {\n return createFunctionCallExpression<unknown>(\"json\", [value]);\n}\n\n/** Returns the property names of an object. */\nexport function objectKeys(obj: ExpressionOrValue<object>): Expression<string[]> {\n return createFunctionCallExpression<string[]>(\"objectKeys\", [obj]);\n}\n\n/** Returns an object's key/value pairs as an array. */\nexport function items(obj: ExpressionOrValue<object>): Expression<unknown[]> {\n return createFunctionCallExpression<unknown[]>(\"items\", [obj]);\n}\n\n// ---------------------------------------------------------------------------\n// Scope functions\n// ---------------------------------------------------------------------------\n\n/**\n * Typed shape of Bicep's `subscription()` runtime function. Only the\n * properties currently surfaced are listed; extend as needed.\n */\nexport interface SubscriptionScope {\n readonly subscriptionId: string;\n readonly tenantId: string;\n}\n\n/**\n * Typed shape of Bicep's `resourceGroup()` runtime function. Only the\n * properties currently surfaced are listed; extend as needed.\n */\nexport interface ResourceGroupScope {\n readonly name: string;\n readonly location: string;\n readonly id: string;\n}\n\n/**\n * Typed shape of Bicep's `tenant()` runtime function. Only the properties\n * currently surfaced are listed; extend as needed.\n */\nexport interface TenantScope {\n readonly tenantId: string;\n readonly id: string;\n}\n\n/**\n * Typed shape of Bicep's `managementGroup()` runtime function. Only the\n * properties currently surfaced are listed; extend as needed.\n */\nexport interface ManagementGroupScope {\n readonly name: string;\n readonly id: string;\n}\n\n/**\n * Bicep `subscription()` / `subscription(subscriptionId)`.\n *\n * - Zero-arg form returns details about the current subscription.\n * - One-arg form returns a scope object for setting `scope:` on a module\n * or extension resource.\n */\nexport function subscription(): Expression<SubscriptionScope>;\nexport function subscription(\n subscriptionId: ExpressionOrValue<string>,\n): Expression<SubscriptionScope>;\nexport function subscription(\n subscriptionId?: ExpressionOrValue<string>,\n): Expression<SubscriptionScope> {\n return createFunctionCallExpression<SubscriptionScope>(\n \"subscription\",\n subscriptionId === undefined ? [] : [subscriptionId],\n );\n}\n\n/**\n * Bicep `resourceGroup()` / `resourceGroup(name)` /\n * `resourceGroup(subscriptionId, name)`.\n *\n * - Zero-arg form returns details about the current resource group.\n * - One- and two-arg forms return a scope object for setting `scope:` on a\n * module or extension resource.\n */\nexport function resourceGroup(): Expression<ResourceGroupScope>;\nexport function resourceGroup(name: ExpressionOrValue<string>): Expression<ResourceGroupScope>;\nexport function resourceGroup(\n subscriptionId: ExpressionOrValue<string>,\n name: ExpressionOrValue<string>,\n): Expression<ResourceGroupScope>;\nexport function resourceGroup(\n ...args: ExpressionOrValue<string>[]\n): Expression<ResourceGroupScope> {\n return createFunctionCallExpression<ResourceGroupScope>(\"resourceGroup\", args);\n}\n\n/**\n * Bicep `tenant()`. Returns details about the current tenant (or a scope\n * object when placed in `scope:`). Takes no arguments.\n */\nexport function tenant(): Expression<TenantScope> {\n return createFunctionCallExpression<TenantScope>(\"tenant\", []);\n}\n\n/**\n * Bicep `managementGroup()` / `managementGroup(identifier)`.\n *\n * - Zero-arg form is only valid in management-group-scope deployments and\n * returns details about the current management group.\n * - One-arg form returns a scope object for setting `scope:` on a module\n * or extension resource.\n */\nexport function managementGroup(): Expression<ManagementGroupScope>;\nexport function managementGroup(\n identifier: ExpressionOrValue<string>,\n): Expression<ManagementGroupScope>;\nexport function managementGroup(\n identifier?: ExpressionOrValue<string>,\n): Expression<ManagementGroupScope> {\n return createFunctionCallExpression<ManagementGroupScope>(\n \"managementGroup\",\n identifier === undefined ? [] : [identifier],\n );\n}\n\n/** Bicep `deployment()`. Returns information about the current deployment. */\nexport function deployment(): Expression<unknown> {\n return createFunctionCallExpression<unknown>(\"deployment\", []);\n}\n\n/** Bicep `environment()`. Returns information about the Azure environment. */\nexport function environment(): Expression<unknown> {\n return createFunctionCallExpression<unknown>(\"environment\", []);\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type { PrimitiveTypeMap, PrimitiveTypeName, TargetScope, } from "./serialization/ast/index.js";
|
|
2
|
+
export { createOutput, OutputCollection, type OutputMetadata, type OutputOptions, type ScalarOutputType, type OutputType, type OutputValue, type OutputValueFor, } from "./constructs/output.js";
|
|
3
|
+
export { createParameter, ParameterCollection, type InferParamType, type Parameter, type ParameterMetadata, type ParameterOptions, } from "./constructs/parameter.js";
|
|
4
|
+
export { createVariable, type ExpressionValue, VariableCollection, type Variable, type VariableMetadata, type VariableOptions, type VariableValue, } from "./constructs/variable.js";
|
|
5
|
+
export { Stack, type StackOptions } from "./constructs/stack.js";
|
|
6
|
+
export { ProvisioningComponent, type ProvisioningComponentConstructor, } from "./constructs/provisioning-component.js";
|
|
7
|
+
export type { DeploymentContext } from "./deployment-context/deployment-context.js";
|
|
8
|
+
export { asDiscriminator, isExpression, type Expression, type ExpressionBrand, type ExpressionOrValue, type ExpressionShape, type ExpressionTag, type InputOf, type InputRecord, } from "./expression/expressions.js";
|
|
9
|
+
export type { ArrayAccessExpressionNode, ArrayAccessIndex, BinaryExpressionNode, BinaryOperator, ExpressionNode, FunctionCallExpressionNode, IdentifierExpressionNode, InstanceFunctionCallExpressionNode, InterpolatedStringExpressionNode, PropertyAccessExpressionNode, SymbolicValueExpressionNode, TernaryExpressionNode, UnaryExpressionNode, UnaryOperator, } from "./expression/ast-nodes.js";
|
|
10
|
+
export * as fn from "./fn.js";
|
|
11
|
+
export { DefaultNamingPolicy, namingRequiredPolicy, type NamingContext, type NamingPolicy, type NamingPolicyOptions, } from "./naming/naming-policy.js";
|
|
12
|
+
export type { ResourceNamingRules } from "./naming/naming-rules.js";
|
|
13
|
+
export { type QueryOptions } from "./constructs/resource/resource-query.js";
|
|
14
|
+
export { isResource, isResourceDeclaration, isResourceOf, } from "./constructs/resource/resource-utils.js";
|
|
15
|
+
export { ResourceDeclaration } from "./constructs/resource/resource.js";
|
|
16
|
+
export { deref, type Deref } from "./constructs/resource/resource-proxy.js";
|
|
17
|
+
export { type ScopeExpression, type ExistingResourceProps, type ResourceProps, type ResourceState, type ResourceOptions, } from "./constructs/resource/resource.js";
|
|
18
|
+
export { Resource } from "./constructs/resource/resource.js";
|
|
19
|
+
export type { ResourceCtor } from "./constructs/resource/resource-registry.js";
|
|
20
|
+
export type { FlatVariantPin, FlatVariantSelector, } from "./constructs/resource/resource-type-registry.js";
|
|
21
|
+
export type { AnyShape, ArrayShape, BooleanLiteralShape, BooleanShape, BytesShape, ContainerShape, DateShape, DeferredShape, DiscriminatedModelShape, DiscriminatorNames, EnumShape, FlatModelShape, ModelShape, NullShape, NumberLiteralShape, NumberShape, PropertyShape, RecordShape, StringLiteralShape, StringShape, TerminalValueShape, TupleShape, UnionShape, ValueShape, } from "./shape/shape.js";
|
|
22
|
+
export { INTEGER_SCALAR_NAMES, NUMERIC_SCALAR_NAMES, type BooleanStringEncodingDescriptor, type BooleanValueEncodingDescriptor, type BytesEncodingDescriptor, type BytesValueEncodingDescriptor, type DateTimeTextEncodingDescriptor, type DateValueEncodingDescriptor, type DurationIso8601EncodingDescriptor, type DurationNumericEncodingDescriptor, type IntegerScalarName, type NumberValueEncodingDescriptor, type NumericScalarName, type NumericStringEncodingDescriptor, type PlainDateEncodingDescriptor, type StringValueEncodingDescriptor, type UnixTimestampEncodingDescriptor, } from "./shape/value-encoding.js";
|
|
23
|
+
export type { PropertySegment } from "./types.js";
|
|
24
|
+
export { ResourceGroup, type ResourceGroupProps, } from "./constructs/built-in-resources/resource-group.js";
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export { createOutput, OutputCollection, } from "./constructs/output.js";
|
|
4
|
+
export { createParameter, ParameterCollection, } from "./constructs/parameter.js";
|
|
5
|
+
export { createVariable, VariableCollection, } from "./constructs/variable.js";
|
|
6
|
+
export { Stack } from "./constructs/stack.js";
|
|
7
|
+
export { ProvisioningComponent, } from "./constructs/provisioning-component.js";
|
|
8
|
+
export { asDiscriminator, isExpression, } from "./expression/expressions.js";
|
|
9
|
+
export * as fn from "./fn.js";
|
|
10
|
+
export { DefaultNamingPolicy, namingRequiredPolicy, } from "./naming/naming-policy.js";
|
|
11
|
+
export { isResource, isResourceDeclaration, isResourceOf, } from "./constructs/resource/resource-utils.js";
|
|
12
|
+
export { ResourceDeclaration } from "./constructs/resource/resource.js";
|
|
13
|
+
export { deref } from "./constructs/resource/resource-proxy.js";
|
|
14
|
+
export { Resource } from "./constructs/resource/resource.js";
|
|
15
|
+
export { INTEGER_SCALAR_NAMES, NUMERIC_SCALAR_NAMES, } from "./shape/value-encoding.js";
|
|
16
|
+
export { ResourceGroup, } from "./constructs/built-in-resources/resource-group.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EACL,YAAY,EACZ,gBAAgB,GAOjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,mBAAmB,GAKpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,EAEd,kBAAkB,GAKnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,EAAqB,MAAM,uBAAuB,CAAC;AACjE,OAAO,EACL,qBAAqB,GAEtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,eAAe,EACf,YAAY,GAQb,MAAM,6BAA6B,CAAC;AAiBrC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAIrB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,YAAY,GACb,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAc,MAAM,yCAAyC,CAAC;AAQ5E,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAgC7D,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAgBrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,aAAa,GAEd,MAAM,mDAAmD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport type {\n PrimitiveTypeMap,\n PrimitiveTypeName,\n TargetScope,\n} from \"./serialization/ast/index.js\";\nexport {\n createOutput,\n OutputCollection,\n type OutputMetadata,\n type OutputOptions,\n type ScalarOutputType,\n type OutputType,\n type OutputValue,\n type OutputValueFor,\n} from \"./constructs/output.js\";\nexport {\n createParameter,\n ParameterCollection,\n type InferParamType,\n type Parameter,\n type ParameterMetadata,\n type ParameterOptions,\n} from \"./constructs/parameter.js\";\nexport {\n createVariable,\n type ExpressionValue,\n VariableCollection,\n type Variable,\n type VariableMetadata,\n type VariableOptions,\n type VariableValue,\n} from \"./constructs/variable.js\";\nexport { Stack, type StackOptions } from \"./constructs/stack.js\";\nexport {\n ProvisioningComponent,\n type ProvisioningComponentConstructor,\n} from \"./constructs/provisioning-component.js\";\nexport type { DeploymentContext } from \"./deployment-context/deployment-context.js\";\nexport {\n asDiscriminator,\n isExpression,\n type Expression,\n type ExpressionBrand,\n type ExpressionOrValue,\n type ExpressionShape,\n type ExpressionTag,\n type InputOf,\n type InputRecord,\n} from \"./expression/expressions.js\";\nexport type {\n ArrayAccessExpressionNode,\n ArrayAccessIndex,\n BinaryExpressionNode,\n BinaryOperator,\n ExpressionNode,\n FunctionCallExpressionNode,\n IdentifierExpressionNode,\n InstanceFunctionCallExpressionNode,\n InterpolatedStringExpressionNode,\n PropertyAccessExpressionNode,\n SymbolicValueExpressionNode,\n TernaryExpressionNode,\n UnaryExpressionNode,\n UnaryOperator,\n} from \"./expression/ast-nodes.js\";\nexport * as fn from \"./fn.js\";\nexport {\n DefaultNamingPolicy,\n namingRequiredPolicy,\n type NamingContext,\n type NamingPolicy,\n type NamingPolicyOptions,\n} from \"./naming/naming-policy.js\";\nexport type { ResourceNamingRules } from \"./naming/naming-rules.js\";\nexport { type QueryOptions } from \"./constructs/resource/resource-query.js\";\nexport {\n isResource,\n isResourceDeclaration,\n isResourceOf,\n} from \"./constructs/resource/resource-utils.js\";\nexport { ResourceDeclaration } from \"./constructs/resource/resource.js\";\nexport { deref, type Deref } from \"./constructs/resource/resource-proxy.js\";\nexport {\n type ScopeExpression,\n type ExistingResourceProps,\n type ResourceProps,\n type ResourceState,\n type ResourceOptions,\n} from \"./constructs/resource/resource.js\";\nexport { Resource } from \"./constructs/resource/resource.js\";\nexport type { ResourceCtor } from \"./constructs/resource/resource-registry.js\";\nexport type {\n FlatVariantPin,\n FlatVariantSelector,\n} from \"./constructs/resource/resource-type-registry.js\";\nexport type {\n AnyShape,\n ArrayShape,\n BooleanLiteralShape,\n BooleanShape,\n BytesShape,\n ContainerShape,\n DateShape,\n DeferredShape,\n DiscriminatedModelShape,\n DiscriminatorNames,\n EnumShape,\n FlatModelShape,\n ModelShape,\n NullShape,\n NumberLiteralShape,\n NumberShape,\n PropertyShape,\n RecordShape,\n StringLiteralShape,\n StringShape,\n TerminalValueShape,\n TupleShape,\n UnionShape,\n ValueShape,\n} from \"./shape/shape.js\";\nexport {\n INTEGER_SCALAR_NAMES,\n NUMERIC_SCALAR_NAMES,\n type BooleanStringEncodingDescriptor,\n type BooleanValueEncodingDescriptor,\n type BytesEncodingDescriptor,\n type BytesValueEncodingDescriptor,\n type DateTimeTextEncodingDescriptor,\n type DateValueEncodingDescriptor,\n type DurationIso8601EncodingDescriptor,\n type DurationNumericEncodingDescriptor,\n type IntegerScalarName,\n type NumberValueEncodingDescriptor,\n type NumericScalarName,\n type NumericStringEncodingDescriptor,\n type PlainDateEncodingDescriptor,\n type StringValueEncodingDescriptor,\n type UnixTimestampEncodingDescriptor,\n} from \"./shape/value-encoding.js\";\nexport type { PropertySegment } from \"./types.js\";\nexport {\n ResourceGroup,\n type ResourceGroupProps,\n} from \"./constructs/built-in-resources/resource-group.js\";\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { renderBicepFiles, type RenderedBicepFile } from "./serialization/bicep/index.js";
|
|
2
|
+
export { unwrapExpression, wrapExpression, type InputArray, type InputOf, type InputRecord, type InputTuple, } from "./expression/expressions.js";
|
|
3
|
+
export { unwrapResourceHandle } from "./constructs/resource/resource-proxy.js";
|
|
4
|
+
export type { ResourceProps, SingletonExistingResourceProps, } from "./constructs/resource/resource.js";
|
|
5
|
+
export type { AnyShape, ArrayShape, BooleanLiteralShape, BooleanShape, BytesShape, ContainerShape, DateShape, DeferredShape, DiscriminatedModelShape, DiscriminatorNames, EnumShape, FlatModelShape, ModelShape, NullShape, NumberLiteralShape, NumberShape, PropertyShape, RecordShape, StringLiteralShape, StringShape, TerminalValueShape, TupleShape, UnionShape, ValueShape, } from "./shape/shape.js";
|
|
6
|
+
export { createAnyShape, createArrayShape, createBooleanLiteralShape, createBooleanShape, createBytesShape, createDateShape, createDeferredShape, createDiscriminatedModelShape, createEnumShape, createFlatModelShape, createNullShape, createNumberLiteralShape, createNumberShape, createRecordShape, createStringLiteralShape, createStringShape, createTupleShape, createUnionShape, } from "./shape/shape.js";
|
|
7
|
+
export type { FlatVariantSelection, FlatVariantSelector, } from "./constructs/resource/resource-type-registry.js";
|
|
8
|
+
export { INTEGER_SCALAR_NAMES, isIntegerScalarName, isNumericScalarName, NUMERIC_SCALAR_NAMES, type BooleanStringEncodingDescriptor, type BooleanValueEncodingDescriptor, type BytesEncodingDescriptor, type BytesValueEncodingDescriptor, type DateTimeTextEncodingDescriptor, type DateValueEncodingDescriptor, type DurationIso8601EncodingDescriptor, type DurationNumericEncodingDescriptor, type IntegerScalarName, type NumberValueEncodingDescriptor, type NumericScalarName, type NumericStringEncodingDescriptor, type PlainDateEncodingDescriptor, type StringValueEncodingDescriptor, type UnixTimestampEncodingDescriptor, type ValueEncodingDescriptor, } from "./shape/value-encoding.js";
|
|
9
|
+
export type { ResourceNamingRules } from "./naming/naming-rules.js";
|
|
10
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,YAAY,EACV,aAAa,EACb,8BAA8B,GAC/B,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,iBAAiB,EACtB,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACtB,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export { renderBicepFiles } from "./serialization/bicep/index.js";
|
|
4
|
+
export { unwrapExpression, wrapExpression, } from "./expression/expressions.js";
|
|
5
|
+
export { unwrapResourceHandle } from "./constructs/resource/resource-proxy.js";
|
|
6
|
+
export { createAnyShape, createArrayShape, createBooleanLiteralShape, createBooleanShape, createBytesShape, createDateShape, createDeferredShape, createDiscriminatedModelShape, createEnumShape, createFlatModelShape, createNullShape, createNumberLiteralShape, createNumberShape, createRecordShape, createStringLiteralShape, createStringShape, createTupleShape, createUnionShape, } from "./shape/shape.js";
|
|
7
|
+
export { INTEGER_SCALAR_NAMES, isIntegerScalarName, isNumericScalarName, NUMERIC_SCALAR_NAMES, } from "./shape/value-encoding.js";
|
|
8
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,gCAAgC,CAAC;AAE1F,OAAO,EACL,gBAAgB,EAChB,cAAc,GAKf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AA+B/E,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,6BAA6B,EAC7B,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GAiBrB,MAAM,2BAA2B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport { renderBicepFiles, type RenderedBicepFile } from \"./serialization/bicep/index.js\";\n\nexport {\n unwrapExpression,\n wrapExpression,\n type InputArray,\n type InputOf,\n type InputRecord,\n type InputTuple,\n} from \"./expression/expressions.js\";\nexport { unwrapResourceHandle } from \"./constructs/resource/resource-proxy.js\";\nexport type {\n ResourceProps,\n SingletonExistingResourceProps,\n} from \"./constructs/resource/resource.js\";\nexport type {\n AnyShape,\n ArrayShape,\n BooleanLiteralShape,\n BooleanShape,\n BytesShape,\n ContainerShape,\n DateShape,\n DeferredShape,\n DiscriminatedModelShape,\n DiscriminatorNames,\n EnumShape,\n FlatModelShape,\n ModelShape,\n NullShape,\n NumberLiteralShape,\n NumberShape,\n PropertyShape,\n RecordShape,\n StringLiteralShape,\n StringShape,\n TerminalValueShape,\n TupleShape,\n UnionShape,\n ValueShape,\n} from \"./shape/shape.js\";\nexport {\n createAnyShape,\n createArrayShape,\n createBooleanLiteralShape,\n createBooleanShape,\n createBytesShape,\n createDateShape,\n createDeferredShape,\n createDiscriminatedModelShape,\n createEnumShape,\n createFlatModelShape,\n createNullShape,\n createNumberLiteralShape,\n createNumberShape,\n createRecordShape,\n createStringLiteralShape,\n createStringShape,\n createTupleShape,\n createUnionShape,\n} from \"./shape/shape.js\";\nexport type {\n FlatVariantSelection,\n FlatVariantSelector,\n} from \"./constructs/resource/resource-type-registry.js\";\nexport {\n INTEGER_SCALAR_NAMES,\n isIntegerScalarName,\n isNumericScalarName,\n NUMERIC_SCALAR_NAMES,\n type BooleanStringEncodingDescriptor,\n type BooleanValueEncodingDescriptor,\n type BytesEncodingDescriptor,\n type BytesValueEncodingDescriptor,\n type DateTimeTextEncodingDescriptor,\n type DateValueEncodingDescriptor,\n type DurationIso8601EncodingDescriptor,\n type DurationNumericEncodingDescriptor,\n type IntegerScalarName,\n type NumberValueEncodingDescriptor,\n type NumericScalarName,\n type NumericStringEncodingDescriptor,\n type PlainDateEncodingDescriptor,\n type StringValueEncodingDescriptor,\n type UnixTimestampEncodingDescriptor,\n type ValueEncodingDescriptor,\n} from \"./shape/value-encoding.js\";\nexport type { ResourceNamingRules } from \"./naming/naming-rules.js\";\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ResourceNamingRules } from "./naming-rules.js";
|
|
2
|
+
export interface ResourceNameValidationOptions {
|
|
3
|
+
readonly generated?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Applies throwing validation at resource construction, name assignment,
|
|
7
|
+
* restoration, and naming-policy output boundaries.
|
|
8
|
+
*
|
|
9
|
+
* The resource type identifies the failing declaration in the error. When
|
|
10
|
+
* rules are absent, the default convention only checks the input shape.
|
|
11
|
+
*
|
|
12
|
+
* @throws For invalid literal names or invalid metadata.
|
|
13
|
+
*/
|
|
14
|
+
export declare function assertValidResourceName(value: unknown, type: string, rules: ResourceNamingRules | undefined, options?: ResourceNameValidationOptions): void;
|
|
15
|
+
//# sourceMappingURL=name-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-validation.d.ts","sourceRoot":"","sources":["../../../src/naming/name-validation.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AA0DD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,OAAO,GAAE,6BAAkC,GAC1C,IAAI,CASN"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Shared resource-name checks for authoring and automatic naming.
|
|
5
|
+
*
|
|
6
|
+
* Literal names are checked against TypeSpec-defined length bounds and a regular
|
|
7
|
+
* expression. Deployment-time expressions are preserved without inspection:
|
|
8
|
+
* their final value is not available during authoring, and partial validation
|
|
9
|
+
* cannot establish whether the deployed name will be valid.
|
|
10
|
+
*
|
|
11
|
+
* These checks neither rewrite explicit names nor check Azure name availability.
|
|
12
|
+
*/
|
|
13
|
+
import { isExpressionNode } from "../expression/ast-nodes.js";
|
|
14
|
+
import { isExpression, unwrapExpression } from "../expression/expressions.js";
|
|
15
|
+
import { DEFAULT_NAMING_RULES } from "./naming-rules.js";
|
|
16
|
+
/**
|
|
17
|
+
* Checks a literal string name against the unified resource rules.
|
|
18
|
+
*
|
|
19
|
+
* The pattern retains its JavaScript matching semantics, including missing
|
|
20
|
+
* anchors, and the pattern and length bounds must pass. Terminal resource
|
|
21
|
+
* constraints apply only to the final slash-separated segment. ARM name
|
|
22
|
+
* structure is left to Bicep and Azure Resource Manager.
|
|
23
|
+
*
|
|
24
|
+
* Safe integer identifiers and deployment-time expressions are preserved without
|
|
25
|
+
* applying string constraints.
|
|
26
|
+
*
|
|
27
|
+
* @returns Literal-name violations; empty for an accepted value.
|
|
28
|
+
* @throws If naming metadata has invalid length bounds, or if
|
|
29
|
+
* a pattern cannot be compiled as a JavaScript regex.
|
|
30
|
+
*/
|
|
31
|
+
function getResourceNameIssues(value, rules) {
|
|
32
|
+
for (const bound of [rules.minLength, rules.maxLength]) {
|
|
33
|
+
if (bound !== undefined && (!Number.isSafeInteger(bound) || bound < 0)) {
|
|
34
|
+
throw new Error("Resource naming length bounds must be non-negative safe integers.");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (rules.minLength !== undefined &&
|
|
38
|
+
rules.maxLength !== undefined &&
|
|
39
|
+
rules.minLength > rules.maxLength) {
|
|
40
|
+
throw new Error("Resource naming minimum length exceeds its maximum length.");
|
|
41
|
+
}
|
|
42
|
+
const node = isExpression(value) ? unwrapExpression(value) : value;
|
|
43
|
+
if (isExpressionNode(node))
|
|
44
|
+
return [];
|
|
45
|
+
if (typeof value === "number" && Number.isSafeInteger(value)) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
if (typeof value !== "string") {
|
|
49
|
+
return ["Name must be a string, a safe integer, or an expression."];
|
|
50
|
+
}
|
|
51
|
+
const literal = value.split("/").at(-1);
|
|
52
|
+
const issues = [];
|
|
53
|
+
if (rules.minLength !== undefined && literal.length < rules.minLength) {
|
|
54
|
+
issues.push(`Name must contain at least ${rules.minLength} characters (received ${literal.length}).`);
|
|
55
|
+
}
|
|
56
|
+
if (rules.maxLength !== undefined && literal.length > rules.maxLength) {
|
|
57
|
+
issues.push(`Name must contain at most ${rules.maxLength} characters (received ${literal.length}).`);
|
|
58
|
+
}
|
|
59
|
+
const pattern = rules.pattern;
|
|
60
|
+
if (pattern !== undefined && !new RegExp(pattern.regex).test(literal)) {
|
|
61
|
+
issues.push(pattern.message ?? `Name must match ${pattern.regex}.`);
|
|
62
|
+
}
|
|
63
|
+
return issues;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Applies throwing validation at resource construction, name assignment,
|
|
67
|
+
* restoration, and naming-policy output boundaries.
|
|
68
|
+
*
|
|
69
|
+
* The resource type identifies the failing declaration in the error. When
|
|
70
|
+
* rules are absent, the default convention only checks the input shape.
|
|
71
|
+
*
|
|
72
|
+
* @throws For invalid literal names or invalid metadata.
|
|
73
|
+
*/
|
|
74
|
+
export function assertValidResourceName(value, type, rules, options = {}) {
|
|
75
|
+
const issues = getResourceNameIssues(value, rules ?? DEFAULT_NAMING_RULES);
|
|
76
|
+
const generated = options.generated ?? false;
|
|
77
|
+
if (issues.length > 0) {
|
|
78
|
+
throw new Error(`${generated ? "Cannot generate a compliant name" : "Invalid name"} for '${type}': ` +
|
|
79
|
+
`${issues.join(" ")}${generated ? " Provide an explicit name or a compatible naming policy." : ""}`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=name-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-validation.js","sourceRoot":"","sources":["../../../src/naming/name-validation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Shared resource-name checks for authoring and automatic naming.\n *\n * Literal names are checked against TypeSpec-defined length bounds and a regular\n * expression. Deployment-time expressions are preserved without inspection:\n * their final value is not available during authoring, and partial validation\n * cannot establish whether the deployed name will be valid.\n *\n * These checks neither rewrite explicit names nor check Azure name availability.\n */\n\nimport { isExpressionNode } from \"../expression/ast-nodes.js\";\nimport { isExpression, unwrapExpression } from \"../expression/expressions.js\";\nimport { DEFAULT_NAMING_RULES, type ResourceNamingRules } from \"./naming-rules.js\";\n\nexport interface ResourceNameValidationOptions {\n readonly generated?: boolean;\n}\n\n/**\n * Checks a literal string name against the unified resource rules.\n *\n * The pattern retains its JavaScript matching semantics, including missing\n * anchors, and the pattern and length bounds must pass. Terminal resource\n * constraints apply only to the final slash-separated segment. ARM name\n * structure is left to Bicep and Azure Resource Manager.\n *\n * Safe integer identifiers and deployment-time expressions are preserved without\n * applying string constraints.\n *\n * @returns Literal-name violations; empty for an accepted value.\n * @throws If naming metadata has invalid length bounds, or if\n * a pattern cannot be compiled as a JavaScript regex.\n */\nfunction getResourceNameIssues(value: unknown, rules: ResourceNamingRules): readonly string[] {\n for (const bound of [rules.minLength, rules.maxLength]) {\n if (bound !== undefined && (!Number.isSafeInteger(bound) || bound < 0)) {\n throw new Error(\"Resource naming length bounds must be non-negative safe integers.\");\n }\n }\n if (\n rules.minLength !== undefined &&\n rules.maxLength !== undefined &&\n rules.minLength > rules.maxLength\n ) {\n throw new Error(\"Resource naming minimum length exceeds its maximum length.\");\n }\n const node = isExpression(value) ? unwrapExpression(value) : value;\n if (isExpressionNode(node)) return [];\n if (typeof value === \"number\" && Number.isSafeInteger(value)) {\n return [];\n }\n if (typeof value !== \"string\") {\n return [\"Name must be a string, a safe integer, or an expression.\"];\n }\n\n const literal = value.split(\"/\").at(-1)!;\n const issues: string[] = [];\n if (rules.minLength !== undefined && literal.length < rules.minLength) {\n issues.push(\n `Name must contain at least ${rules.minLength} characters (received ${literal.length}).`,\n );\n }\n if (rules.maxLength !== undefined && literal.length > rules.maxLength) {\n issues.push(\n `Name must contain at most ${rules.maxLength} characters (received ${literal.length}).`,\n );\n }\n const pattern = rules.pattern;\n if (pattern !== undefined && !new RegExp(pattern.regex).test(literal)) {\n issues.push(pattern.message ?? `Name must match ${pattern.regex}.`);\n }\n return issues;\n}\n\n/**\n * Applies throwing validation at resource construction, name assignment,\n * restoration, and naming-policy output boundaries.\n *\n * The resource type identifies the failing declaration in the error. When\n * rules are absent, the default convention only checks the input shape.\n *\n * @throws For invalid literal names or invalid metadata.\n */\nexport function assertValidResourceName(\n value: unknown,\n type: string,\n rules: ResourceNamingRules | undefined,\n options: ResourceNameValidationOptions = {},\n): void {\n const issues = getResourceNameIssues(value, rules ?? DEFAULT_NAMING_RULES);\n const generated = options.generated ?? false;\n if (issues.length > 0) {\n throw new Error(\n `${generated ? \"Cannot generate a compliant name\" : \"Invalid name\"} for '${type}': ` +\n `${issues.join(\" \")}${generated ? \" Provide an explicit name or a compatible naming policy.\" : \"\"}`,\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ExpressionOrValue } from "../expression/expressions.js";
|
|
2
|
+
import { type ResourceNamingRules } from "./naming-rules.js";
|
|
3
|
+
export interface NamingContext {
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly rules: ResourceNamingRules;
|
|
6
|
+
/** Required name segments relative to the actual declaration parent. */
|
|
7
|
+
readonly nameSegments?: number | undefined;
|
|
8
|
+
readonly label?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Strategy for generating Azure resource names when a resource is created
|
|
12
|
+
* without an explicit `name`.
|
|
13
|
+
*
|
|
14
|
+
* Implement this interface to provide a custom naming convention. Two
|
|
15
|
+
* built-in implementations are provided:
|
|
16
|
+
*
|
|
17
|
+
* - {@link DefaultNamingPolicy} — workload-based names with abbreviations,
|
|
18
|
+
* ordinals, and `uniqueString()` for globally-scoped resources.
|
|
19
|
+
* - {@link namingRequiredPolicy} — a singleton that throws if a resource
|
|
20
|
+
* doesn't provide an explicit `name`.
|
|
21
|
+
*/
|
|
22
|
+
export interface NamingPolicy {
|
|
23
|
+
/** Produces a candidate; resource construction validates the returned name. */
|
|
24
|
+
generateName(context: NamingContext): ExpressionOrValue<string>;
|
|
25
|
+
}
|
|
26
|
+
export interface NamingPolicyOptions {
|
|
27
|
+
readonly workload: string;
|
|
28
|
+
readonly environment?: string | undefined;
|
|
29
|
+
readonly region?: string | undefined;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Default workload-based naming policy.
|
|
33
|
+
*
|
|
34
|
+
* Generates names by composing the resource type abbreviation, workload,
|
|
35
|
+
* environment, region, label, and an ordinal suffix for repeated types.
|
|
36
|
+
* Global-scope resources get a `uniqueString(subscription().subscriptionId)`
|
|
37
|
+
* suffix to reduce name collisions; Azure name availability is not checked.
|
|
38
|
+
*/
|
|
39
|
+
export declare class DefaultNamingPolicy implements NamingPolicy {
|
|
40
|
+
#private;
|
|
41
|
+
constructor(options: NamingPolicyOptions);
|
|
42
|
+
generateName(context: NamingContext): ExpressionOrValue<string>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Naming policy that requires every resource to provide an explicit `name`.
|
|
46
|
+
*
|
|
47
|
+
* Throws an error when asked to generate a name. Use this on a stack to
|
|
48
|
+
* disable auto-naming entirely.
|
|
49
|
+
*/
|
|
50
|
+
export declare const namingRequiredPolicy: NamingPolicy;
|
|
51
|
+
/**
|
|
52
|
+
* Generates and validates a name at the resource construction boundary.
|
|
53
|
+
* Explicit constructor names are validated before declaration registration.
|
|
54
|
+
*/
|
|
55
|
+
export declare function generateResourceName(policy: NamingPolicy, type: string, namingRules: ResourceNamingRules | undefined, nameSegments: number | undefined): ExpressionOrValue<string>;
|
|
56
|
+
//# sourceMappingURL=naming-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming-policy.d.ts","sourceRoot":"","sources":["../../../src/naming/naming-policy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGnF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAoB,YAAW,YAAY;;gBAK1C,OAAO,EAAE,mBAAmB;IAIxC,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;CA0GhE;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,mBAAmB,GAAG,SAAS,EAC5C,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,iBAAiB,CAAC,MAAM,CAAC,CAW3B"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { RegExpParser } from "@eslint-community/regexpp";
|
|
4
|
+
import { isExpression, unwrapExpression } from "../expression/expressions.js";
|
|
5
|
+
import { concat, subscription, toLower, uniqueString } from "../fn.js";
|
|
6
|
+
import { DEFAULT_NAMING_RULES } from "./naming-rules.js";
|
|
7
|
+
import { assertValidResourceName } from "./name-validation.js";
|
|
8
|
+
/**
|
|
9
|
+
* Default workload-based naming policy.
|
|
10
|
+
*
|
|
11
|
+
* Generates names by composing the resource type abbreviation, workload,
|
|
12
|
+
* environment, region, label, and an ordinal suffix for repeated types.
|
|
13
|
+
* Global-scope resources get a `uniqueString(subscription().subscriptionId)`
|
|
14
|
+
* suffix to reduce name collisions; Azure name availability is not checked.
|
|
15
|
+
*/
|
|
16
|
+
export class DefaultNamingPolicy {
|
|
17
|
+
#options;
|
|
18
|
+
#ordinals = new Map();
|
|
19
|
+
#names = new Map();
|
|
20
|
+
constructor(options) {
|
|
21
|
+
this.#options = options;
|
|
22
|
+
}
|
|
23
|
+
generateName(context) {
|
|
24
|
+
const rules = context.rules;
|
|
25
|
+
const nameSegments = context.nameSegments ?? rules.nameSegments ?? 1;
|
|
26
|
+
if (!Number.isSafeInteger(nameSegments) || nameSegments < 1) {
|
|
27
|
+
throw new Error("Resource naming segment count must be a positive safe integer.");
|
|
28
|
+
}
|
|
29
|
+
if (nameSegments > 1) {
|
|
30
|
+
throw new Error(`Resource '${context.type}' requires an explicit ${nameSegments}-segment name including its undeclared ancestors.`);
|
|
31
|
+
}
|
|
32
|
+
const ordinal = this.#ordinals.get(context.type) ?? 0;
|
|
33
|
+
const alphabet = getNamingAlphabet(rules);
|
|
34
|
+
const sep = rules.separator ?? (alphabet.includes("-") ? "-" : "");
|
|
35
|
+
if ([...sep].some((character) => !alphabet.includes(character))) {
|
|
36
|
+
throw new Error(`Cannot generate a compliant name for '${context.type}': separator '${sep}' is incompatible with its naming rules.`);
|
|
37
|
+
}
|
|
38
|
+
const sanitize = (segment) => {
|
|
39
|
+
return [...segment]
|
|
40
|
+
.map((character) => (alphabet.includes(character) ? character : character.toLowerCase()))
|
|
41
|
+
.filter((character) => alphabet.includes(character))
|
|
42
|
+
.join("");
|
|
43
|
+
};
|
|
44
|
+
const segments = [];
|
|
45
|
+
if (rules.abbreviation) {
|
|
46
|
+
segments.push(sanitize(rules.abbreviation));
|
|
47
|
+
}
|
|
48
|
+
segments.push(sanitize(this.#options.workload));
|
|
49
|
+
if (this.#options.environment) {
|
|
50
|
+
segments.push(sanitize(this.#options.environment));
|
|
51
|
+
}
|
|
52
|
+
if (this.#options.region) {
|
|
53
|
+
segments.push(sanitize(this.#options.region));
|
|
54
|
+
}
|
|
55
|
+
if (context.label) {
|
|
56
|
+
segments.push(sanitize(context.label));
|
|
57
|
+
}
|
|
58
|
+
const ordinalSuffix = ordinal > 0 ? String(ordinal + 1) : "";
|
|
59
|
+
let base = segments.filter(Boolean).join(sep);
|
|
60
|
+
const startingAlphabet = getNamingAlphabet(rules, "start");
|
|
61
|
+
const endingAlphabet = getNamingAlphabet(rules, "end");
|
|
62
|
+
const padding = startingAlphabet[0];
|
|
63
|
+
if (padding === undefined || endingAlphabet.length === 0) {
|
|
64
|
+
throw new Error(`Cannot generate a compliant name for '${context.type}': no supported generation alphabet. Provide an explicit name.`);
|
|
65
|
+
}
|
|
66
|
+
if (base.length > 0 && !startingAlphabet.includes(base[0])) {
|
|
67
|
+
base = padding + base;
|
|
68
|
+
}
|
|
69
|
+
// This is a convention budget when TypeSpec supplies no maximum, not a
|
|
70
|
+
// constraint imposed on explicit names.
|
|
71
|
+
const maxLength = rules.maxLength ?? Math.max(24, rules.minLength ?? 0);
|
|
72
|
+
const minLength = rules.minLength ?? 1;
|
|
73
|
+
const truncateWithOrdinal = (available) => {
|
|
74
|
+
const ordinalPrefix = ordinalSuffix ? sep : "";
|
|
75
|
+
const baseLimit = available - ordinalPrefix.length - ordinalSuffix.length;
|
|
76
|
+
if (baseLimit < 1) {
|
|
77
|
+
throw new Error(`Cannot generate a compliant name for '${context.type}': maximum length ${maxLength} cannot accommodate the required suffixes. Provide an explicit name.`);
|
|
78
|
+
}
|
|
79
|
+
return `${base.slice(0, baseLimit)}${ordinalPrefix}${ordinalSuffix}`;
|
|
80
|
+
};
|
|
81
|
+
let name;
|
|
82
|
+
if (rules.scope === "global") {
|
|
83
|
+
// Bicep uniqueString() always returns 13 characters. Reserve that suffix
|
|
84
|
+
// and the ordinal before truncating so repeated resources stay unique.
|
|
85
|
+
const uniqueSuffixLength = 13;
|
|
86
|
+
const prefixBudget = maxLength - sep.length - uniqueSuffixLength;
|
|
87
|
+
base = base.padEnd(Math.max(1, minLength - sep.length - uniqueSuffixLength), padding);
|
|
88
|
+
let prefix = truncateWithOrdinal(prefixBudget);
|
|
89
|
+
if (sep && prefix.endsWith(sep)) {
|
|
90
|
+
prefix = prefix.slice(0, -sep.length).padEnd(1, padding);
|
|
91
|
+
}
|
|
92
|
+
prefix = prefix.padEnd(Math.max(1, minLength - sep.length - uniqueSuffixLength), padding);
|
|
93
|
+
name = concat(prefix + sep, uniqueString(subscription().subscriptionId));
|
|
94
|
+
if (!alphabet.includes("A"))
|
|
95
|
+
name = toLower(name);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
base = base.padEnd(minLength, padding);
|
|
99
|
+
let truncated = truncateWithOrdinal(maxLength);
|
|
100
|
+
if (!endingAlphabet.includes(truncated.at(-1))) {
|
|
101
|
+
truncated = truncated.slice(0, -1) + endingAlphabet[0];
|
|
102
|
+
}
|
|
103
|
+
name = truncated;
|
|
104
|
+
}
|
|
105
|
+
const key = JSON.stringify(name, (_key, value) => isExpression(value) ? unwrapExpression(value) : value);
|
|
106
|
+
const names = this.#names.get(context.type) ?? new Set();
|
|
107
|
+
if (names.has(key)) {
|
|
108
|
+
throw new Error(`Cannot generate a distinct name for '${context.type}' within its naming rules. Provide an explicit name.`);
|
|
109
|
+
}
|
|
110
|
+
names.add(key);
|
|
111
|
+
this.#names.set(context.type, names);
|
|
112
|
+
this.#ordinals.set(context.type, ordinal + 1);
|
|
113
|
+
return name;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Naming policy that requires every resource to provide an explicit `name`.
|
|
118
|
+
*
|
|
119
|
+
* Throws an error when asked to generate a name. Use this on a stack to
|
|
120
|
+
* disable auto-naming entirely.
|
|
121
|
+
*/
|
|
122
|
+
export const namingRequiredPolicy = {
|
|
123
|
+
generateName(context) {
|
|
124
|
+
throw new Error(`Resource of type '${context.type}' requires an explicit 'name' ` +
|
|
125
|
+
`(the stack uses 'namingRequiredPolicy').`);
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Generates and validates a name at the resource construction boundary.
|
|
130
|
+
* Explicit constructor names are validated before declaration registration.
|
|
131
|
+
*/
|
|
132
|
+
export function generateResourceName(policy, type, namingRules, nameSegments) {
|
|
133
|
+
const rules = namingRules ?? DEFAULT_NAMING_RULES;
|
|
134
|
+
const generated = policy.generateName({
|
|
135
|
+
type,
|
|
136
|
+
rules,
|
|
137
|
+
nameSegments: nameSegments ?? rules.nameSegments,
|
|
138
|
+
});
|
|
139
|
+
assertValidResourceName(generated, type, rules, {
|
|
140
|
+
generated: true,
|
|
141
|
+
});
|
|
142
|
+
return generated;
|
|
143
|
+
}
|
|
144
|
+
const NAME_ALPHABET = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._";
|
|
145
|
+
const patternParser = new RegExpParser();
|
|
146
|
+
/**
|
|
147
|
+
* Selects generation tokens from a parsed regex AST. Shapes outside the
|
|
148
|
+
* workload-based convention remain usable for literal-name validation.
|
|
149
|
+
*/
|
|
150
|
+
function getPatternTokens(regex) {
|
|
151
|
+
const pattern = patternParser.parsePattern(regex);
|
|
152
|
+
if (pattern.alternatives.length !== 1)
|
|
153
|
+
return undefined;
|
|
154
|
+
const elements = pattern.alternatives[0].elements;
|
|
155
|
+
const start = elements[0];
|
|
156
|
+
const end = elements.at(-1);
|
|
157
|
+
if (start?.type !== "Assertion" || start.kind !== "start")
|
|
158
|
+
return undefined;
|
|
159
|
+
const anchored = end?.type === "Assertion" && end.kind === "end";
|
|
160
|
+
const body = elements.slice(1, anchored ? -1 : undefined);
|
|
161
|
+
const [head, tail] = body;
|
|
162
|
+
// Prefer the separator-free sublanguage of repeated hyphen-separated classes.
|
|
163
|
+
if (body.length === 2 &&
|
|
164
|
+
head?.type === "Quantifier" &&
|
|
165
|
+
head.min === 1 &&
|
|
166
|
+
head.max === Infinity &&
|
|
167
|
+
head.element.type === "CharacterClass" &&
|
|
168
|
+
tail?.type === "Quantifier" &&
|
|
169
|
+
tail.min === 0 &&
|
|
170
|
+
tail.max === Infinity &&
|
|
171
|
+
(tail.element.type === "Group" || tail.element.type === "CapturingGroup") &&
|
|
172
|
+
tail.element.alternatives.length === 1) {
|
|
173
|
+
const repeated = tail.element.alternatives[0].elements;
|
|
174
|
+
const [separator, part] = repeated;
|
|
175
|
+
if (repeated.length === 2 &&
|
|
176
|
+
separator?.type === "Character" &&
|
|
177
|
+
separator.value === 45 &&
|
|
178
|
+
part?.type === "Quantifier" &&
|
|
179
|
+
part.min === 1 &&
|
|
180
|
+
part.max === Infinity &&
|
|
181
|
+
part.element.raw === head.element.raw) {
|
|
182
|
+
return [
|
|
183
|
+
{ characters: new RegExp(`^(?:${head.element.raw})$`), min: 1 },
|
|
184
|
+
...(anchored ? [] : [{ characters: /^.$/, min: 0 }]),
|
|
185
|
+
];
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
if (!anchored)
|
|
189
|
+
return undefined;
|
|
190
|
+
const tokens = [];
|
|
191
|
+
for (const element of body) {
|
|
192
|
+
if (element.type === "Quantifier" && element.max === 0)
|
|
193
|
+
continue;
|
|
194
|
+
const atom = element.type === "Quantifier" ? element.element : element;
|
|
195
|
+
if (atom.type !== "Character" &&
|
|
196
|
+
atom.type !== "CharacterClass" &&
|
|
197
|
+
atom.type !== "CharacterSet") {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
tokens.push({
|
|
201
|
+
characters: new RegExp(`^(?:${atom.raw})$`),
|
|
202
|
+
min: element.type === "Quantifier" ? element.min : 1,
|
|
203
|
+
});
|
|
204
|
+
if (tokens.length > 128)
|
|
205
|
+
return undefined;
|
|
206
|
+
}
|
|
207
|
+
return tokens;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Selects candidate characters for sanitization, padding, and boundary repair.
|
|
211
|
+
* Candidates are not a validity guarantee; the complete name is still checked.
|
|
212
|
+
*/
|
|
213
|
+
function getNamingAlphabet(rules, boundary) {
|
|
214
|
+
const alphabet = rules.pattern !== undefined
|
|
215
|
+
? NAME_ALPHABET
|
|
216
|
+
: "abcdefghijklmnopqrstuvwxyz0123456789" + (rules.separator ?? "");
|
|
217
|
+
if (rules.pattern === undefined || rules.pattern.regex === "") {
|
|
218
|
+
return alphabet;
|
|
219
|
+
}
|
|
220
|
+
const tokens = getPatternTokens(rules.pattern.regex);
|
|
221
|
+
if (tokens === undefined)
|
|
222
|
+
return alphabet.replace(/[A-Z._-]/g, "");
|
|
223
|
+
const ordered = boundary === "end" ? [...tokens].reverse() : tokens;
|
|
224
|
+
const firstRequired = ordered.findIndex((token) => token.min > 0);
|
|
225
|
+
const candidates = boundary === undefined || firstRequired < 0 ? ordered : ordered.slice(0, firstRequired + 1);
|
|
226
|
+
return [...alphabet]
|
|
227
|
+
.filter((character) => candidates.some((token) => token.characters.test(character)))
|
|
228
|
+
.join("");
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=naming-policy.js.map
|