@azure/provisioning-core 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/README.md +49 -10
- package/dist/browser/constructs/built-in-resources/resource-group.d.ts +7 -1
- package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -1
- package/dist/browser/constructs/built-in-resources/resource-group.js +26 -6
- package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -1
- package/dist/browser/constructs/output.d.ts +1 -1
- package/dist/browser/constructs/output.d.ts.map +1 -1
- package/dist/browser/constructs/output.js.map +1 -1
- package/dist/browser/constructs/parameter.d.ts +1 -1
- package/dist/browser/constructs/parameter.d.ts.map +1 -1
- package/dist/browser/constructs/parameter.js.map +1 -1
- package/dist/browser/constructs/resource/resource-query.d.ts +3 -1
- package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -1
- package/dist/browser/constructs/resource/resource-query.js +10 -0
- package/dist/browser/constructs/resource/resource-query.js.map +1 -1
- package/dist/browser/constructs/resource/resource-relationships.d.ts +9 -0
- package/dist/browser/constructs/resource/resource-relationships.d.ts.map +1 -0
- package/dist/browser/constructs/resource/resource-relationships.js +35 -0
- package/dist/browser/constructs/resource/resource-relationships.js.map +1 -0
- package/dist/browser/constructs/resource/resource.d.ts +11 -17
- package/dist/browser/constructs/resource/resource.d.ts.map +1 -1
- package/dist/browser/constructs/resource/resource.js +70 -28
- package/dist/browser/constructs/resource/resource.js.map +1 -1
- package/dist/browser/constructs/stack.d.ts +2 -16
- package/dist/browser/constructs/stack.d.ts.map +1 -1
- package/dist/browser/constructs/stack.js +1 -15
- package/dist/browser/constructs/stack.js.map +1 -1
- package/dist/browser/expression/ast-nodes.d.ts +1 -1
- package/dist/browser/expression/ast-nodes.d.ts.map +1 -1
- package/dist/browser/expression/ast-nodes.js.map +1 -1
- package/dist/browser/expression/expressions.d.ts +2 -9
- package/dist/browser/expression/expressions.d.ts.map +1 -1
- package/dist/browser/expression/expressions.js +2 -9
- package/dist/browser/expression/expressions.js.map +1 -1
- package/dist/browser/expression/utils.d.ts +5 -0
- package/dist/browser/expression/utils.d.ts.map +1 -0
- package/dist/browser/expression/utils.js +25 -0
- package/dist/browser/expression/utils.js.map +1 -0
- package/dist/browser/index.d.ts +4 -4
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/internal.d.ts +2 -5
- package/dist/browser/internal.d.ts.map +1 -1
- package/dist/browser/internal.js +1 -3
- package/dist/browser/internal.js.map +1 -1
- package/dist/browser/naming/name-validation.d.ts +15 -0
- package/dist/browser/naming/name-validation.d.ts.map +1 -0
- package/dist/browser/naming/name-validation.js +82 -0
- package/dist/browser/naming/name-validation.js.map +1 -0
- package/dist/browser/naming/naming-policy.d.ts +7 -7
- package/dist/browser/naming/naming-policy.d.ts.map +1 -1
- package/dist/browser/naming/naming-policy.js +166 -33
- package/dist/browser/naming/naming-policy.js.map +1 -1
- package/dist/browser/naming/naming-rules.d.ts +12 -11
- package/dist/browser/naming/naming-rules.d.ts.map +1 -1
- package/dist/browser/naming/naming-rules.js +2 -9
- package/dist/browser/naming/naming-rules.js.map +1 -1
- package/dist/browser/package.json +1 -1
- package/dist/{esm/serialization/json/lower.d.ts → browser/serialization/arm-object-conversion.d.ts} +11 -11
- package/dist/browser/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/{esm/serialization/json/lower.js → browser/serialization/arm-object-conversion.js} +20 -20
- package/dist/browser/serialization/arm-object-conversion.js.map +1 -0
- package/dist/browser/serialization/ast/declaration-builder.d.ts +10 -0
- package/dist/browser/serialization/ast/declaration-builder.d.ts.map +1 -0
- package/dist/browser/serialization/ast/declaration-builder.js +265 -0
- package/dist/browser/serialization/ast/declaration-builder.js.map +1 -0
- package/dist/browser/serialization/ast/declaration-dependencies.d.ts +18 -0
- package/dist/browser/serialization/ast/declaration-dependencies.d.ts.map +1 -0
- package/dist/browser/serialization/ast/declaration-dependencies.js +96 -0
- package/dist/browser/serialization/ast/declaration-dependencies.js.map +1 -0
- package/dist/browser/serialization/ast/expression-builder.d.ts +14 -0
- package/dist/browser/serialization/ast/expression-builder.d.ts.map +1 -0
- package/dist/browser/serialization/ast/expression-builder.js +313 -0
- package/dist/browser/serialization/ast/expression-builder.js.map +1 -0
- package/dist/browser/serialization/ast/expression-restorer.d.ts +8 -0
- package/dist/browser/serialization/ast/expression-restorer.d.ts.map +1 -0
- package/dist/browser/serialization/ast/expression-restorer.js +162 -0
- package/dist/browser/serialization/ast/expression-restorer.js.map +1 -0
- package/dist/browser/serialization/ast/expression-rewriter.d.ts +29 -0
- package/dist/browser/serialization/ast/expression-rewriter.d.ts.map +1 -0
- package/dist/browser/serialization/ast/expression-rewriter.js +257 -0
- package/dist/browser/serialization/ast/expression-rewriter.js.map +1 -0
- package/dist/browser/serialization/ast/expression-walker.d.ts +16 -0
- package/dist/browser/serialization/ast/expression-walker.d.ts.map +1 -0
- package/dist/browser/serialization/ast/expression-walker.js +154 -0
- package/dist/browser/serialization/ast/expression-walker.js.map +1 -0
- package/dist/browser/serialization/ast/generated/ast.d.ts.map +1 -0
- package/dist/browser/serialization/ast/generated/ast.js.map +1 -0
- package/dist/browser/serialization/ast/index.d.ts +7 -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 +10 -0
- package/dist/browser/serialization/ast/resource-utils.d.ts.map +1 -0
- package/dist/browser/serialization/ast/resource-utils.js +52 -0
- package/dist/browser/serialization/ast/resource-utils.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts +12 -0
- package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/authored-context.js +57 -0
- package/dist/browser/serialization/bicep/file-layout/authored-context.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
- package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/bicep-namer.js +100 -0
- 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 +7 -0
- package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js +46 -0
- 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 +19 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-planning.js +68 -0
- 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 +8 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
- 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 +4 -0
- package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-dependencies.js +32 -0
- package/dist/browser/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts +3 -0
- package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-paths.js +46 -0
- package/dist/browser/serialization/bicep/file-layout/file-paths.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
- package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/file-preparation.js +140 -0
- package/dist/browser/serialization/bicep/file-layout/file-preparation.js.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.js +225 -0
- package/dist/browser/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
- package/dist/browser/serialization/bicep/index.d.ts +2 -0
- package/dist/browser/serialization/bicep/index.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/index.js +4 -0
- package/dist/browser/serialization/bicep/index.js.map +1 -0
- package/dist/browser/serialization/bicep/render.d.ts +11 -0
- package/dist/browser/serialization/bicep/render.d.ts.map +1 -0
- package/dist/browser/serialization/bicep/render.js +293 -0
- package/dist/browser/serialization/bicep/render.js.map +1 -0
- package/dist/browser/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
- package/dist/browser/serialization/encoding.d.ts.map +1 -0
- package/dist/browser/serialization/{json/encoding.js → encoding.js} +2 -12
- package/dist/browser/serialization/encoding.js.map +1 -0
- package/dist/browser/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
- package/dist/browser/serialization/identifiers.d.ts.map +1 -0
- package/dist/browser/serialization/{json/util.js → identifiers.js} +1 -1
- package/dist/browser/serialization/identifiers.js.map +1 -0
- package/dist/browser/serialization/index.d.ts +1 -1
- package/dist/browser/serialization/index.d.ts.map +1 -1
- package/dist/browser/serialization/index.js.map +1 -1
- package/dist/browser/serialization/json/deserialize.d.ts.map +1 -1
- package/dist/browser/serialization/json/deserialize.js +131 -39
- package/dist/browser/serialization/json/deserialize.js.map +1 -1
- package/dist/browser/serialization/json/serialize.d.ts +1 -1
- package/dist/browser/serialization/json/serialize.d.ts.map +1 -1
- package/dist/browser/serialization/json/serialize.js +5 -360
- package/dist/browser/serialization/json/serialize.js.map +1 -1
- 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 +10 -0
- package/dist/browser/serialization/symbol-map.d.ts.map +1 -0
- package/dist/browser/serialization/symbol-map.js +40 -0
- package/dist/browser/serialization/symbol-map.js.map +1 -0
- package/dist/browser/shape/shape.d.ts +4 -4
- package/dist/browser/shape/shape.js +2 -2
- package/dist/browser/shape/shape.js.map +1 -1
- package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +7 -1
- package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -1
- package/dist/commonjs/constructs/built-in-resources/resource-group.js +27 -6
- package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +2 -2
- package/dist/commonjs/constructs/output.d.ts +1 -1
- package/dist/commonjs/constructs/output.d.ts.map +1 -1
- package/dist/commonjs/constructs/output.js.map +1 -1
- package/dist/commonjs/constructs/parameter.d.ts +1 -1
- package/dist/commonjs/constructs/parameter.d.ts.map +1 -1
- package/dist/commonjs/constructs/parameter.js.map +1 -1
- package/dist/commonjs/constructs/resource/resource-query.d.ts +3 -1
- package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -1
- package/dist/commonjs/constructs/resource/resource-query.js +11 -0
- package/dist/commonjs/constructs/resource/resource-query.js.map +2 -2
- 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.d.ts +11 -17
- package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -1
- package/dist/commonjs/constructs/resource/resource.js +57 -35
- package/dist/commonjs/constructs/resource/resource.js.map +2 -2
- package/dist/commonjs/constructs/stack.d.ts +2 -16
- package/dist/commonjs/constructs/stack.d.ts.map +1 -1
- package/dist/commonjs/constructs/stack.js.map +2 -2
- package/dist/commonjs/expression/ast-nodes.d.ts +1 -1
- package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -1
- package/dist/commonjs/expression/ast-nodes.js.map +1 -1
- package/dist/commonjs/expression/expressions.d.ts +2 -9
- package/dist/commonjs/expression/expressions.d.ts.map +1 -1
- package/dist/commonjs/expression/expressions.js.map +2 -2
- 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/index.d.ts +4 -4
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js.map +2 -2
- package/dist/commonjs/internal.d.ts +2 -5
- package/dist/commonjs/internal.d.ts.map +1 -1
- package/dist/commonjs/internal.js +3 -9
- package/dist/commonjs/internal.js.map +2 -2
- 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 +7 -7
- package/dist/commonjs/naming/naming-policy.d.ts.map +1 -1
- package/dist/commonjs/naming/naming-policy.js +136 -26
- package/dist/commonjs/naming/naming-policy.js.map +2 -2
- package/dist/commonjs/naming/naming-rules.d.ts +12 -11
- package/dist/commonjs/naming/naming-rules.d.ts.map +1 -1
- package/dist/commonjs/naming/naming-rules.js +4 -11
- package/dist/commonjs/naming/naming-rules.js.map +2 -2
- package/dist/commonjs/package.json +1 -1
- package/dist/{browser/serialization/json/lower.d.ts → commonjs/serialization/arm-object-conversion.d.ts} +11 -11
- package/dist/commonjs/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/commonjs/serialization/{json/lower.js → arm-object-conversion.js} +15 -15
- 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.map +1 -0
- package/dist/commonjs/serialization/{contract → ast}/generated/ast.js.map +1 -1
- 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/{contract → ast}/index.js +3 -3
- 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/{json/encoding.d.ts → encoding.d.ts} +1 -1
- package/dist/commonjs/serialization/encoding.d.ts.map +1 -0
- package/dist/commonjs/serialization/{json/encoding.js → encoding.js} +2 -12
- package/dist/commonjs/serialization/encoding.js.map +7 -0
- package/dist/commonjs/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
- package/dist/commonjs/serialization/identifiers.d.ts.map +1 -0
- package/dist/commonjs/serialization/{json/util.js → identifiers.js} +4 -4
- package/dist/commonjs/serialization/{json/util.js.map → identifiers.js.map} +1 -1
- package/dist/commonjs/serialization/index.d.ts +1 -1
- package/dist/commonjs/serialization/index.d.ts.map +1 -1
- package/dist/commonjs/serialization/index.js.map +1 -1
- package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -1
- package/dist/commonjs/serialization/json/deserialize.js +115 -44
- package/dist/commonjs/serialization/json/deserialize.js.map +2 -2
- package/dist/commonjs/serialization/json/serialize.d.ts +1 -1
- package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -1
- package/dist/commonjs/serialization/json/serialize.js +6 -308
- package/dist/commonjs/serialization/json/serialize.js.map +3 -3
- package/dist/commonjs/serialization/pluralize-config.d.ts.map +1 -0
- package/dist/commonjs/serialization/{json/pluralize-config.js.map → pluralize-config.js.map} +1 -1
- 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.d.ts +4 -4
- package/dist/commonjs/shape/shape.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/esm/constructs/built-in-resources/resource-group.d.ts +7 -1
- package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -1
- package/dist/esm/constructs/built-in-resources/resource-group.js +26 -6
- package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -1
- package/dist/esm/constructs/output.d.ts +1 -1
- package/dist/esm/constructs/output.d.ts.map +1 -1
- package/dist/esm/constructs/output.js.map +1 -1
- package/dist/esm/constructs/parameter.d.ts +1 -1
- package/dist/esm/constructs/parameter.d.ts.map +1 -1
- package/dist/esm/constructs/parameter.js.map +1 -1
- package/dist/esm/constructs/resource/resource-query.d.ts +3 -1
- package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -1
- package/dist/esm/constructs/resource/resource-query.js +10 -0
- package/dist/esm/constructs/resource/resource-query.js.map +1 -1
- 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.d.ts +11 -17
- package/dist/esm/constructs/resource/resource.d.ts.map +1 -1
- package/dist/esm/constructs/resource/resource.js +70 -28
- package/dist/esm/constructs/resource/resource.js.map +1 -1
- package/dist/esm/constructs/stack.d.ts +2 -16
- package/dist/esm/constructs/stack.d.ts.map +1 -1
- package/dist/esm/constructs/stack.js +1 -15
- package/dist/esm/constructs/stack.js.map +1 -1
- package/dist/esm/expression/ast-nodes.d.ts +1 -1
- package/dist/esm/expression/ast-nodes.d.ts.map +1 -1
- package/dist/esm/expression/ast-nodes.js.map +1 -1
- package/dist/esm/expression/expressions.d.ts +2 -9
- package/dist/esm/expression/expressions.d.ts.map +1 -1
- package/dist/esm/expression/expressions.js +2 -9
- package/dist/esm/expression/expressions.js.map +1 -1
- 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/index.d.ts +4 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal.d.ts +2 -5
- package/dist/esm/internal.d.ts.map +1 -1
- package/dist/esm/internal.js +1 -3
- package/dist/esm/internal.js.map +1 -1
- 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 +7 -7
- package/dist/esm/naming/naming-policy.d.ts.map +1 -1
- package/dist/esm/naming/naming-policy.js +166 -33
- package/dist/esm/naming/naming-policy.js.map +1 -1
- package/dist/esm/naming/naming-rules.d.ts +12 -11
- package/dist/esm/naming/naming-rules.d.ts.map +1 -1
- package/dist/esm/naming/naming-rules.js +2 -9
- package/dist/esm/naming/naming-rules.js.map +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/{commonjs/serialization/json/lower.d.ts → esm/serialization/arm-object-conversion.d.ts} +11 -11
- package/dist/esm/serialization/arm-object-conversion.d.ts.map +1 -0
- package/dist/{browser/serialization/json/lower.js → esm/serialization/arm-object-conversion.js} +20 -20
- 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.map +1 -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.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/{json/encoding.d.ts → encoding.d.ts} +1 -1
- package/dist/esm/serialization/encoding.d.ts.map +1 -0
- package/dist/esm/serialization/{json/encoding.js → encoding.js} +2 -12
- package/dist/esm/serialization/encoding.js.map +1 -0
- package/dist/esm/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
- package/dist/esm/serialization/identifiers.d.ts.map +1 -0
- package/dist/esm/serialization/{json/util.js → identifiers.js} +1 -1
- package/dist/esm/serialization/identifiers.js.map +1 -0
- package/dist/esm/serialization/index.d.ts +1 -1
- package/dist/esm/serialization/index.d.ts.map +1 -1
- package/dist/esm/serialization/index.js.map +1 -1
- package/dist/esm/serialization/json/deserialize.d.ts.map +1 -1
- package/dist/esm/serialization/json/deserialize.js +131 -39
- package/dist/esm/serialization/json/deserialize.js.map +1 -1
- package/dist/esm/serialization/json/serialize.d.ts +1 -1
- package/dist/esm/serialization/json/serialize.d.ts.map +1 -1
- package/dist/esm/serialization/json/serialize.js +5 -360
- package/dist/esm/serialization/json/serialize.js.map +1 -1
- package/dist/esm/serialization/pluralize-config.d.ts.map +1 -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.d.ts +4 -4
- package/dist/esm/shape/shape.js +2 -2
- package/dist/esm/shape/shape.js.map +1 -1
- package/package.json +3 -2
- package/dist/browser/serialization/contract/generated/ast.d.ts.map +0 -1
- package/dist/browser/serialization/contract/generated/ast.js.map +0 -1
- package/dist/browser/serialization/contract/index.d.ts +0 -2
- package/dist/browser/serialization/contract/index.d.ts.map +0 -1
- package/dist/browser/serialization/contract/index.js.map +0 -1
- package/dist/browser/serialization/json/encoding.d.ts.map +0 -1
- package/dist/browser/serialization/json/encoding.js.map +0 -1
- package/dist/browser/serialization/json/expression.d.ts +0 -32
- package/dist/browser/serialization/json/expression.d.ts.map +0 -1
- package/dist/browser/serialization/json/expression.js +0 -494
- package/dist/browser/serialization/json/expression.js.map +0 -1
- package/dist/browser/serialization/json/lower.d.ts.map +0 -1
- package/dist/browser/serialization/json/lower.js.map +0 -1
- package/dist/browser/serialization/json/pluralize-config.d.ts.map +0 -1
- package/dist/browser/serialization/json/pluralize-config.js.map +0 -1
- package/dist/browser/serialization/json/util.d.ts.map +0 -1
- package/dist/browser/serialization/json/util.js.map +0 -1
- package/dist/browser/serialization/utils.d.ts +0 -3
- package/dist/browser/serialization/utils.d.ts.map +0 -1
- package/dist/browser/serialization/utils.js +0 -146
- package/dist/browser/serialization/utils.js.map +0 -1
- package/dist/commonjs/serialization/contract/generated/ast.d.ts.map +0 -1
- package/dist/commonjs/serialization/contract/index.d.ts +0 -2
- package/dist/commonjs/serialization/contract/index.d.ts.map +0 -1
- package/dist/commonjs/serialization/contract/index.js.map +0 -7
- package/dist/commonjs/serialization/json/encoding.d.ts.map +0 -1
- package/dist/commonjs/serialization/json/encoding.js.map +0 -7
- package/dist/commonjs/serialization/json/expression.d.ts +0 -32
- package/dist/commonjs/serialization/json/expression.d.ts.map +0 -1
- package/dist/commonjs/serialization/json/expression.js +0 -509
- package/dist/commonjs/serialization/json/expression.js.map +0 -7
- package/dist/commonjs/serialization/json/lower.d.ts.map +0 -1
- package/dist/commonjs/serialization/json/lower.js.map +0 -7
- package/dist/commonjs/serialization/json/pluralize-config.d.ts.map +0 -1
- package/dist/commonjs/serialization/json/util.d.ts.map +0 -1
- package/dist/commonjs/serialization/utils.d.ts +0 -3
- package/dist/commonjs/serialization/utils.d.ts.map +0 -1
- package/dist/commonjs/serialization/utils.js +0 -169
- package/dist/commonjs/serialization/utils.js.map +0 -7
- package/dist/esm/serialization/contract/generated/ast.d.ts.map +0 -1
- package/dist/esm/serialization/contract/generated/ast.js.map +0 -1
- package/dist/esm/serialization/contract/index.d.ts +0 -2
- package/dist/esm/serialization/contract/index.d.ts.map +0 -1
- package/dist/esm/serialization/contract/index.js.map +0 -1
- package/dist/esm/serialization/json/encoding.d.ts.map +0 -1
- package/dist/esm/serialization/json/encoding.js.map +0 -1
- package/dist/esm/serialization/json/expression.d.ts +0 -32
- package/dist/esm/serialization/json/expression.d.ts.map +0 -1
- package/dist/esm/serialization/json/expression.js +0 -494
- package/dist/esm/serialization/json/expression.js.map +0 -1
- package/dist/esm/serialization/json/lower.d.ts.map +0 -1
- package/dist/esm/serialization/json/lower.js.map +0 -1
- package/dist/esm/serialization/json/pluralize-config.d.ts.map +0 -1
- package/dist/esm/serialization/json/pluralize-config.js.map +0 -1
- package/dist/esm/serialization/json/util.d.ts.map +0 -1
- package/dist/esm/serialization/json/util.js.map +0 -1
- package/dist/esm/serialization/utils.d.ts +0 -3
- package/dist/esm/serialization/utils.d.ts.map +0 -1
- package/dist/esm/serialization/utils.js +0 -146
- package/dist/esm/serialization/utils.js.map +0 -1
- /package/dist/browser/serialization/{contract → ast}/generated/ast.d.ts +0 -0
- /package/dist/browser/serialization/{contract → ast}/generated/ast.js +0 -0
- /package/dist/browser/serialization/{contract → ast}/index.js +0 -0
- /package/dist/browser/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
- /package/dist/browser/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
- /package/dist/commonjs/serialization/{contract → ast}/generated/ast.d.ts +0 -0
- /package/dist/commonjs/serialization/{contract → ast}/generated/ast.js +0 -0
- /package/dist/commonjs/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
- /package/dist/commonjs/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
- /package/dist/esm/serialization/{contract → ast}/generated/ast.d.ts +0 -0
- /package/dist/esm/serialization/{contract → ast}/generated/ast.js +0 -0
- /package/dist/esm/serialization/{contract → ast}/index.js +0 -0
- /package/dist/esm/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
- /package/dist/esm/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/expression/expressions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { navigateShape, type NavShape } from \"../shape/shape.js\";\nimport {\n arrayAccessExpressionNode,\n binaryExpressionNode,\n functionCallExpressionNode,\n propertyAccessExpressionNode,\n ternaryExpressionNode,\n type BinaryOperator,\n type ExpressionNode,\n type UnaryOperator,\n unaryExpressionNode,\n} from \"./ast-nodes.js\";\n\n// ---------------------------------------------------------------------------\n// Brand symbol (runtime + type-only)\n// ---------------------------------------------------------------------------\n\n/**\n * Runtime symbol key storing the underlying `ExpressionNode` on proxies.\n * Internal to the package — consumers should use `isExpression()` and\n * `unwrapExpression()` instead of accessing this directly.\n */\nexport const EXPRESSION_BRAND: unique symbol = Symbol(\"expression-brand\");\n\n/** Declared symbol type used in the `Expression<T>` interface for branding. */\ndeclare const __expressionBrand: unique symbol;\n\n// ---------------------------------------------------------------------------\n// Public opaque Expression<T> type\n// ---------------------------------------------------------------------------\n\nexport interface ExpressionBrand<out T> {\n readonly [__expressionBrand]: ExpressionNode<T>;\n}\n\n// Prevents TypeScript from simplifying `Expression<primitive>` down to\n// just `ExpressionBrand<primitive>` — keeps the alias name visible in hovers.\n// Symbol-keyed so it stays hidden from IntelliSense.\ndeclare const __expressionTag: unique symbol;\nexport interface ExpressionTag {\n readonly [__expressionTag]?: never;\n}\n\n/**\n * An opaque deploy-time expression wrapping type `T`.\n *\n * For object types, properties of `T` are accessible as\n * `Expression<Exclude<T[K], undefined>>`. Expression proxies always expose a\n * symbolic property path, so TypeScript's `undefined` omission marker does not\n * belong in the projected value type. Explicit `null` remains intact.\n * For array types, numeric indices return `Expression<element>` and\n * `.length` is an `Expression<number>`.\n *\n * Function-typed keys on `T` are intentionally NOT surfaced — an\n * `Expression<(...)=>R>` isn't callable at the type level or meaningful\n * at emit time. When bicep-level array/object methods are needed\n * (concat, union, etc.), they are added explicitly via dedicated helper\n * types (e.g. a future `ArrayExpression<T>`), not reflectively derived.\n *\n * `NonNullable<T>` is applied at the input boundary, so\n * `Expression<R | undefined>` yields the same structural surface as\n * `Expression<R>` — otherwise the `| undefined` union would distribute\n * and collapse the object branch into `mapped | {}`, erasing the\n * index signature / member projection.\n */\nexport type Expression<T = unknown> = ExpressionBrand<T> &\n ExpressionTag &\n ExpressionShape<NonNullable<T>>;\n\nexport type ExpressionShape<T> = T extends readonly unknown[]\n ? number extends T[\"length\"]\n ? {\n readonly length: Expression<number>;\n readonly [index: number]: Expression<T[number]>;\n }\n : {\n readonly [K in Exclude<keyof T, keyof any[]>]: Expression<T[K]>;\n } & {\n readonly length: Expression<number>;\n readonly [index: number]: Expression<T[number]>;\n }\n : T extends object\n ? {\n readonly [K in keyof T as T[K] extends (...a: any[]) => any ? never : K]-?: Expression<\n Exclude<T[K], undefined>\n >;\n }\n : {};\n\n// ---------------------------------------------------------------------------\n// Input-side types — optional-brand trick\n// ---------------------------------------------------------------------------\n\n/**\n * Carries an *optional* Expression brand on an Input-shaped interface.\n *\n * This is the asymmetric-brand trick that makes the Input type system\n * work without discriminated unions:\n *\n * - Every generated `*Input` interface extends `InputOf<Raw>` and therefore\n * inherits the optional brand. Plain literal values (e.g. `{ foo: 1 }`)\n * trivially satisfy it because the brand property is absent, which is\n * permitted by an optional field.\n * - `Expression<Raw>` carries a *required* brand of the same shape.\n * Required-fields-satisfy-optional is part of TS structural assignability,\n * so any `Expression<Raw>` is assignable where an `InputOf<Raw>`\n * (and thus any `*Input` that extends it) is expected.\n *\n * Net effect: a single `MInput` parameter accepts both literals and\n * whole-subtree `Expression<M>` replacements — no `MInput | Expression<M>`\n * union is needed in the generated signatures. Callers that want to\n * inspect whether a value is a literal or expression use `isExpression()`.\n */\nexport interface InputOf<out Raw> {\n readonly [__expressionBrand]?: ExpressionNode<Raw>;\n}\n\n/**\n * Writable input form for an array container.\n *\n * Accepts literal `T[]`, another `InputArray<T>`, or `Expression<Raw>`.\n * Deliberately NOT a subtype of `T[]` — passing a CDK-backed array to\n * an API that expects a plain `Array<T>` fails at compile time, which\n * is the correct signal (the value may actually be a Proxy wrapping an\n * `ExpressionNode`, not a real JS array).\n */\nexport interface InputArray<T, Raw = readonly T[]> extends InputOf<Raw> {\n length: number | Expression<number>;\n [index: number]: T;\n}\n\n/** Writable input form for a `Record<string, V>` container. */\nexport interface InputRecord<V, Raw = Record<string, V>> extends InputOf<Raw> {\n [key: string]: V;\n}\n\n/** Writable input form for a fixed-length heterogeneous tuple. */\nexport type InputTuple<\n T extends readonly unknown[],\n Raw extends readonly unknown[] = T,\n> = InputOf<Raw> & {\n length: T[\"length\"] | Expression<number>;\n [index: number]: T[number] | Expression<Raw[number]>;\n} & {\n [K in Exclude<keyof T, keyof any[]>]: T[K];\n};\n\n// ---------------------------------------------------------------------------\n// ExpressionOrValue\n// ---------------------------------------------------------------------------\n\n/**\n * Accepts either a plain value `T` or an `Expression<T>` substitution.\n *\n * Use this on scalar/leaf Input sites (primitives, enums, literal-only\n * unions) where a full `InputOf<...>` structural extension doesn't apply.\n * The result is a simple discriminated union; call `isExpression()` to\n * branch on the runtime shape.\n */\nexport type ExpressionOrValue<T> = T | Expression<T>;\n\n// ---------------------------------------------------------------------------\n// Discriminator escape hatch\n// ---------------------------------------------------------------------------\n\n/**\n * Asserts that a deploy-time expression resolves to a specific literal,\n * so it can be used where a discriminator is expected.\n *\n * Discriminator properties on a `@discriminator` model are typed as bare\n * literals (`kind: \"cache\"`) rather than `ExpressionOrValue<\"cache\">`.\n * That is deliberate: TypeScript only treats a property as a discriminant\n * when its type is a *unit* type in every constituent of the union, and a\n * single widened arm disables narrowing for the whole union — completions\n * then offer every variant's properties and excess-property checking\n * degrades to \"allowed if the property exists in any variant\".\n *\n * When the discriminator genuinely isn't known until deployment, wrap the\n * expression with this to state which variant you mean:\n *\n * ```ts snippet:ignore\n * widget.properties.primaryRule = {\n * kind: asDiscriminator(kindParam),\n * cacheKind: \"long\",\n * days: 7,\n * };\n * ```\n *\n * Every other property is still fully checked — only the discriminator's\n * type safety is waived. Note that the runtime cannot dispatch on a\n * non-literal discriminator, so serialization falls back to structural\n * variant inference; prefer a literal wherever possible.\n *\n * The literal is inferred from the expression's own type argument. If the\n * expression is loosely typed (`Expression<string>`), name the variant\n * explicitly: `asDiscriminator<\"cache\">(param)`.\n */\nexport function asDiscriminator<L extends string>(value: ExpressionOrValue<L>): L {\n return value as L;\n}\n\n// ---------------------------------------------------------------------------\n// Unwrap + type guards\n// ---------------------------------------------------------------------------\n\n// Two distinct concepts, two distinct guards:\n//\n// - `isExpression(x)` — \"is `x` a typed `Expression<T>` handle\n// (the value-level, proxy-backed form)?\"\n// - `isExpressionNode(x)` — \"is `x` a raw `ExpressionNode` data object\n// (one of the AST kinds)?\"\n//\n// These are *disjoint* — a value is either a wrapped Expression handle or a\n// raw AST node, never both. To check the AST kind of either form, narrow\n// via the discriminated `kind` field:\n//\n// if (isExpression(value)) {\n// const node = unwrapExpression(value);\n// if (node.kind === \"fn-call\") { /* node: FunctionCallExpressionNode */ }\n// }\n// if (isExpressionNode(value)) {\n// if (value.kind === \"binary\") { /* value: BinaryExpressionNode */ }\n// }\n\n/**\n * Extracts the underlying `ExpressionNode` from an `Expression<T>` value.\n *\n * `Expression<T>` is the public, typed handle for a deploy-time expression\n * (backed by a Proxy at runtime); `ExpressionNode` is the raw AST node that\n * the proxy wraps. Use this to walk / inspect / serialize the underlying\n * tree without reaching for the brand symbol directly.\n */\nexport function unwrapExpression<T>(expr: Expression<T>): ExpressionNode<T> {\n return (expr as unknown as { [EXPRESSION_BRAND]: ExpressionNode<T> })[EXPRESSION_BRAND];\n}\n\n/**\n * Tests whether a value is an `Expression<T>` — the typed, branded handle\n * for a deploy-time expression (proxy-backed). Returns false for raw\n * `ExpressionNode` data; use {@link isExpressionNode} from `./ast-nodes.js`\n * for that.\n */\nexport function isExpression(value: unknown): value is Expression<unknown> {\n return typeof value === \"object\" && value !== null && EXPRESSION_BRAND in value;\n}\n\n// ---------------------------------------------------------------------------\n// Expression proxy factory\n// ---------------------------------------------------------------------------\n\nexport function wrapExpression<T = unknown>(\n expression: ExpressionNode,\n nav?: NavShape,\n): Expression<T> {\n return new Proxy(Object.create(null) as Expression<T>, {\n get(_target, prop, _receiver) {\n if (prop === EXPRESSION_BRAND) {\n return expression;\n }\n\n if (prop === Symbol.toPrimitive || prop === \"toString\") {\n return () => \"[Expression]\";\n }\n\n if (prop === \"valueOf\") {\n return () => expression;\n }\n\n // Avoid being treated as a thenable / Promise\n if (prop === \"then\") {\n return undefined;\n }\n\n if (typeof prop === \"symbol\") {\n return undefined;\n }\n\n // Numeric string → array access.\n if (/^\\d+$/u.test(prop)) {\n const index = Number(prop);\n const step = navigateShape(nav, index);\n return wrapExpression(\n arrayAccessExpressionNode(expression as ExpressionNode, index),\n step.next,\n );\n }\n\n // String property → property access. Consult the current nav\n // shape; stamp the access with the wire armPath if an entry\n // exists, otherwise pass through unchanged. Container navs\n // (record/array) yield no stamp but still peel a layer.\n const step = navigateShape(nav, prop);\n return wrapExpression(\n propertyAccessExpressionNode(expression as ExpressionNode, prop, {\n armPath: step.stamp?.armPath,\n }),\n step.next,\n );\n },\n\n has(_target, prop) {\n return prop === EXPRESSION_BRAND;\n },\n\n ownKeys() {\n return [];\n },\n\n getOwnPropertyDescriptor(_target, prop) {\n if (prop === EXPRESSION_BRAND) {\n return {\n configurable: true,\n enumerable: false,\n value: expression,\n };\n }\n return undefined;\n },\n });\n}\n\nexport function wrapExpressionOver<TObject extends object, TValue = unknown>(\n target: TObject,\n expression: ExpressionNode,\n): TObject & Expression<TValue> {\n return new Proxy(target as TObject & Expression<TValue>, {\n get(backing, prop, receiver) {\n if (prop === EXPRESSION_BRAND) {\n return expression;\n }\n\n if (prop === Symbol.toPrimitive || prop === \"toString\") {\n return () => \"[Expression]\";\n }\n\n if (prop === \"valueOf\") {\n return () => expression;\n }\n\n if (prop === \"then\") {\n return undefined;\n }\n\n if (Reflect.has(backing, prop)) {\n return Reflect.get(backing, prop, receiver);\n }\n\n if (typeof prop === \"symbol\") {\n return undefined;\n }\n\n if (/^\\d+$/u.test(prop)) {\n return wrapExpression(\n arrayAccessExpressionNode(expression as ExpressionNode, Number(prop)),\n );\n }\n\n return wrapExpression(propertyAccessExpressionNode(expression as ExpressionNode, prop));\n },\n\n has(backing, prop) {\n return prop === EXPRESSION_BRAND || Reflect.has(backing, prop);\n },\n\n ownKeys(backing) {\n const keys = Reflect.ownKeys(backing);\n if (!keys.includes(EXPRESSION_BRAND)) {\n keys.push(EXPRESSION_BRAND);\n }\n return keys;\n },\n\n getOwnPropertyDescriptor(backing, prop) {\n if (prop === EXPRESSION_BRAND) {\n return {\n configurable: true,\n enumerable: false,\n value: expression,\n };\n }\n return Reflect.getOwnPropertyDescriptor(backing, prop);\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Proxied-expression factories (return Expression<T>)\n// ---------------------------------------------------------------------------\n\nexport function createBinaryExpression<T>(\n op: BinaryOperator,\n left: unknown,\n right: unknown,\n): Expression<T> {\n return wrapExpression(binaryExpressionNode(op, left, right));\n}\n\nexport function createUnaryExpression<T>(op: UnaryOperator, argument: unknown): Expression<T> {\n return wrapExpression(unaryExpressionNode(op, argument));\n}\n\nexport function createTernaryExpression<T>(\n condition: unknown,\n trueValue: unknown,\n falseValue: unknown,\n): Expression<T> {\n return wrapExpression(ternaryExpressionNode(condition, trueValue, falseValue));\n}\n\nexport function createFunctionCallExpression<T>(name: string, args: unknown[]): Expression<T> {\n return wrapExpression(functionCallExpressionNode(name, args));\n}\n"]}
|
|
1
|
+
{"version":3,"file":"expressions.js","sourceRoot":"","sources":["../../../src/expression/expressions.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { navigateShape, type NavShape } from \"../shape/shape.js\";\nimport {\n arrayAccessExpressionNode,\n binaryExpressionNode,\n functionCallExpressionNode,\n propertyAccessExpressionNode,\n ternaryExpressionNode,\n type BinaryOperator,\n type ExpressionNode,\n type UnaryOperator,\n unaryExpressionNode,\n} from \"./ast-nodes.js\";\n\n// ---------------------------------------------------------------------------\n// Brand symbol (runtime + type-only)\n// ---------------------------------------------------------------------------\n\n/**\n * Runtime symbol key storing the underlying `ExpressionNode` on proxies.\n * Internal to the package — consumers should use `isExpression()` and\n * `unwrapExpression()` instead of accessing this directly.\n */\nexport const EXPRESSION_BRAND: unique symbol = Symbol(\"expression-brand\");\n\n/** Declared symbol type used in the `Expression<T>` interface for branding. */\ndeclare const __expressionBrand: unique symbol;\n\n// ---------------------------------------------------------------------------\n// Public opaque Expression<T> type\n// ---------------------------------------------------------------------------\n\nexport interface ExpressionBrand<out T> {\n readonly [__expressionBrand]: ExpressionNode<T>;\n}\n\n// Prevents TypeScript from simplifying `Expression<primitive>` down to\n// just `ExpressionBrand<primitive>` — keeps the alias name visible in hovers.\n// Symbol-keyed so it stays hidden from IntelliSense.\ndeclare const __expressionTag: unique symbol;\nexport interface ExpressionTag {\n readonly [__expressionTag]?: never;\n}\n\n/**\n * An opaque deploy-time expression wrapping type `T`.\n *\n * For object types, properties of `T` are accessible as\n * `Expression<Exclude<T[K], undefined>>`. Expression proxies always expose a\n * symbolic property path, so TypeScript's `undefined` omission marker does not\n * belong in the projected value type. Explicit `null` remains intact.\n * For array types, numeric indices return `Expression<element>` and\n * `.length` is an `Expression<number>`.\n *\n * Function-typed keys on `T` are intentionally NOT surfaced — an\n * `Expression<(...)=>R>` isn't callable at the type level or meaningful\n * at emit time. When bicep-level array/object methods are needed\n * (concat, union, etc.), they are added explicitly via dedicated helper\n * types (e.g. a future `ArrayExpression<T>`), not reflectively derived.\n *\n * `NonNullable<T>` is applied at the input boundary, so\n * `Expression<R | undefined>` yields the same structural surface as\n * `Expression<R>` — otherwise the `| undefined` union would distribute\n * and collapse the object branch into `mapped | {}`, erasing the\n * index signature / member projection.\n */\nexport type Expression<T = unknown> = ExpressionBrand<T> &\n ExpressionTag &\n ExpressionShape<NonNullable<T>>;\n\nexport type ExpressionShape<T> = T extends readonly unknown[]\n ? number extends T[\"length\"]\n ? {\n readonly length: Expression<number>;\n readonly [index: number]: Expression<T[number]>;\n }\n : {\n readonly [K in Exclude<keyof T, keyof any[]>]: Expression<T[K]>;\n } & {\n readonly length: Expression<number>;\n readonly [index: number]: Expression<T[number]>;\n }\n : T extends object\n ? {\n readonly [K in keyof T as T[K] extends (...a: any[]) => any ? never : K]-?: Expression<\n Exclude<T[K], undefined>\n >;\n }\n : {};\n\n// ---------------------------------------------------------------------------\n// Input-side types — optional-brand trick\n// ---------------------------------------------------------------------------\n\n/**\n * Carries an *optional* Expression brand on an Input-shaped interface.\n *\n * This is the asymmetric-brand trick that makes the Input type system\n * work without discriminated unions:\n *\n * - Every generated `*Input` interface extends `InputOf<Raw>` and therefore\n * inherits the optional brand. Plain literal values (e.g. `{ foo: 1 }`)\n * trivially satisfy it because the brand property is absent, which is\n * permitted by an optional field.\n * - `Expression<Raw>` carries a *required* brand of the same shape.\n * Required-fields-satisfy-optional is part of TS structural assignability,\n * so any `Expression<Raw>` is assignable where an `InputOf<Raw>`\n * (and thus any `*Input` that extends it) is expected.\n *\n * Net effect: a single `MInput` parameter accepts both literals and\n * whole-subtree `Expression<M>` replacements — no `MInput | Expression<M>`\n * union is needed in the generated signatures. Callers that want to\n * inspect whether a value is a literal or expression use `isExpression()`.\n */\nexport interface InputOf<out Raw> {\n readonly [__expressionBrand]?: ExpressionNode<Raw>;\n}\n\n/**\n * Writable input form for an array container.\n *\n * Accepts literal `T[]`, another `InputArray<T>`, or `Expression<Raw>`.\n * Deliberately NOT a subtype of `T[]` — passing a CDK-backed array to\n * an API that expects a plain `Array<T>` fails at compile time, which\n * is the correct signal (the value may actually be a Proxy wrapping an\n * `ExpressionNode`, not a real JS array).\n */\nexport interface InputArray<T, Raw = readonly T[]> extends InputOf<Raw> {\n length: number | Expression<number>;\n [index: number]: T;\n}\n\n/** Writable input form for a `Record<string, V>` container. */\nexport interface InputRecord<V, Raw = Record<string, V>> extends InputOf<Raw> {\n [key: string]: V;\n}\n\n/** Writable input form for a fixed-length heterogeneous tuple. */\nexport type InputTuple<\n T extends readonly unknown[],\n Raw extends readonly unknown[] = T,\n> = InputOf<Raw> & {\n length: T[\"length\"] | Expression<number>;\n [index: number]: T[number] | Expression<Raw[number]>;\n} & {\n [K in Exclude<keyof T, keyof any[]>]: T[K];\n};\n\n// ---------------------------------------------------------------------------\n// ExpressionOrValue\n// ---------------------------------------------------------------------------\n\n/**\n * Accepts either a plain value `T` or an `Expression<T>` substitution.\n *\n * Use this on scalar/leaf Input sites (primitives, enums, literal-only\n * unions) where a full `InputOf<...>` structural extension doesn't apply.\n * The result is a simple discriminated union; call `isExpression()` to\n * branch on the runtime shape.\n */\nexport type ExpressionOrValue<T> = T | Expression<T>;\n\n// ---------------------------------------------------------------------------\n// Discriminator escape hatch\n// ---------------------------------------------------------------------------\n\n/**\n * Asserts that a deploy-time expression resolves to a specific literal,\n * so it can be used where a discriminator is expected.\n *\n * Discriminator properties on a `@discriminator` model are typed as bare\n * literals (`kind: \"cache\"`) rather than `ExpressionOrValue<\"cache\">`.\n * That is deliberate: TypeScript only treats a property as a discriminant\n * when its type is a *unit* type in every constituent of the union, and a\n * single widened arm disables narrowing for the whole union — completions\n * then offer every variant's properties and excess-property checking\n * degrades to \"allowed if the property exists in any variant\".\n *\n * When the discriminator genuinely isn't known until deployment, wrap the\n * expression with this to state which variant you mean. See the\n * {@link https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/core/provisioning-core#deploy-time-discriminators | deploy-time discriminator example}.\n *\n * Every other property is still fully checked — only the discriminator's\n * type safety is waived. Note that the runtime cannot dispatch on a\n * non-literal discriminator, so serialization falls back to structural\n * variant inference; prefer a literal wherever possible.\n *\n * The literal is inferred from the expression's own type argument. If the\n * expression is loosely typed (`Expression<string>`), name the variant\n * explicitly: `asDiscriminator<\"cache\">(param)`.\n */\nexport function asDiscriminator<L extends string>(value: ExpressionOrValue<L>): L {\n return value as L;\n}\n\n// ---------------------------------------------------------------------------\n// Unwrap + type guards\n// ---------------------------------------------------------------------------\n\n// Two distinct concepts, two distinct guards:\n//\n// - `isExpression(x)` — \"is `x` a typed `Expression<T>` handle\n// (the value-level, proxy-backed form)?\"\n// - `isExpressionNode(x)` — \"is `x` a raw `ExpressionNode` data object\n// (one of the AST kinds)?\"\n//\n// These are *disjoint* — a value is either a wrapped Expression handle or a\n// raw AST node, never both. To check the AST kind of either form, narrow\n// via the discriminated `kind` field:\n//\n// if (isExpression(value)) {\n// const node = unwrapExpression(value);\n// if (node.kind === \"fn-call\") { /* node: FunctionCallExpressionNode */ }\n// }\n// if (isExpressionNode(value)) {\n// if (value.kind === \"binary\") { /* value: BinaryExpressionNode */ }\n// }\n\n/**\n * Extracts the underlying `ExpressionNode` from an `Expression<T>` value.\n *\n * `Expression<T>` is the public, typed handle for a deploy-time expression\n * (backed by a Proxy at runtime); `ExpressionNode` is the raw AST node that\n * the proxy wraps. Use this to walk / inspect / serialize the underlying\n * tree without reaching for the brand symbol directly.\n */\nexport function unwrapExpression<T>(expr: Expression<T>): ExpressionNode<T> {\n return (expr as unknown as { [EXPRESSION_BRAND]: ExpressionNode<T> })[EXPRESSION_BRAND];\n}\n\n/**\n * Tests whether a value is an `Expression<T>` — the typed, branded handle\n * for a deploy-time expression (proxy-backed). Returns false for raw\n * `ExpressionNode` data; use {@link isExpressionNode} from `./ast-nodes.js`\n * for that.\n */\nexport function isExpression(value: unknown): value is Expression<unknown> {\n return typeof value === \"object\" && value !== null && EXPRESSION_BRAND in value;\n}\n\n// ---------------------------------------------------------------------------\n// Expression proxy factory\n// ---------------------------------------------------------------------------\n\nexport function wrapExpression<T = unknown>(\n expression: ExpressionNode,\n nav?: NavShape,\n): Expression<T> {\n return new Proxy(Object.create(null) as Expression<T>, {\n get(_target, prop, _receiver) {\n if (prop === EXPRESSION_BRAND) {\n return expression;\n }\n\n if (prop === Symbol.toPrimitive || prop === \"toString\") {\n return () => \"[Expression]\";\n }\n\n if (prop === \"valueOf\") {\n return () => expression;\n }\n\n // Avoid being treated as a thenable / Promise\n if (prop === \"then\") {\n return undefined;\n }\n\n if (typeof prop === \"symbol\") {\n return undefined;\n }\n\n // Numeric string → array access.\n if (/^\\d+$/u.test(prop)) {\n const index = Number(prop);\n const step = navigateShape(nav, index);\n return wrapExpression(\n arrayAccessExpressionNode(expression as ExpressionNode, index),\n step.next,\n );\n }\n\n // String property → property access. Consult the current nav\n // shape; stamp the access with the wire armPath if an entry\n // exists, otherwise pass through unchanged. Container navs\n // (record/array) yield no stamp but still peel a layer.\n const step = navigateShape(nav, prop);\n return wrapExpression(\n propertyAccessExpressionNode(expression as ExpressionNode, prop, {\n armPath: step.stamp?.armPath,\n }),\n step.next,\n );\n },\n\n has(_target, prop) {\n return prop === EXPRESSION_BRAND;\n },\n\n ownKeys() {\n return [];\n },\n\n getOwnPropertyDescriptor(_target, prop) {\n if (prop === EXPRESSION_BRAND) {\n return {\n configurable: true,\n enumerable: false,\n value: expression,\n };\n }\n return undefined;\n },\n });\n}\n\nexport function wrapExpressionOver<TObject extends object, TValue = unknown>(\n target: TObject,\n expression: ExpressionNode,\n): TObject & Expression<TValue> {\n return new Proxy(target as TObject & Expression<TValue>, {\n get(backing, prop, receiver) {\n if (prop === EXPRESSION_BRAND) {\n return expression;\n }\n\n if (prop === Symbol.toPrimitive || prop === \"toString\") {\n return () => \"[Expression]\";\n }\n\n if (prop === \"valueOf\") {\n return () => expression;\n }\n\n if (prop === \"then\") {\n return undefined;\n }\n\n if (Reflect.has(backing, prop)) {\n return Reflect.get(backing, prop, receiver);\n }\n\n if (typeof prop === \"symbol\") {\n return undefined;\n }\n\n if (/^\\d+$/u.test(prop)) {\n return wrapExpression(\n arrayAccessExpressionNode(expression as ExpressionNode, Number(prop)),\n );\n }\n\n return wrapExpression(propertyAccessExpressionNode(expression as ExpressionNode, prop));\n },\n\n has(backing, prop) {\n return prop === EXPRESSION_BRAND || Reflect.has(backing, prop);\n },\n\n ownKeys(backing) {\n const keys = Reflect.ownKeys(backing);\n if (!keys.includes(EXPRESSION_BRAND)) {\n keys.push(EXPRESSION_BRAND);\n }\n return keys;\n },\n\n getOwnPropertyDescriptor(backing, prop) {\n if (prop === EXPRESSION_BRAND) {\n return {\n configurable: true,\n enumerable: false,\n value: expression,\n };\n }\n return Reflect.getOwnPropertyDescriptor(backing, prop);\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Proxied-expression factories (return Expression<T>)\n// ---------------------------------------------------------------------------\n\nexport function createBinaryExpression<T>(\n op: BinaryOperator,\n left: unknown,\n right: unknown,\n): Expression<T> {\n return wrapExpression(binaryExpressionNode(op, left, right));\n}\n\nexport function createUnaryExpression<T>(op: UnaryOperator, argument: unknown): Expression<T> {\n return wrapExpression(unaryExpressionNode(op, argument));\n}\n\nexport function createTernaryExpression<T>(\n condition: unknown,\n trueValue: unknown,\n falseValue: unknown,\n): Expression<T> {\n return wrapExpression(ternaryExpressionNode(condition, trueValue, falseValue));\n}\n\nexport function createFunctionCallExpression<T>(name: string, args: unknown[]): Expression<T> {\n return wrapExpression(functionCallExpressionNode(name, args));\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ExpressionNode, TargetScope } from "../serialization/ast/index.js";
|
|
2
|
+
import type { ExpressionNode as CoreExpressionNode } from "./ast-nodes.js";
|
|
3
|
+
/** Identifies the standard scope functions without evaluating their arguments. */
|
|
4
|
+
export declare function getScopeFunctionTarget(scope: ExpressionNode | CoreExpressionNode | undefined): TargetScope | undefined;
|
|
5
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/expression/utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,SAAS,GACrD,WAAW,GAAG,SAAS,CAoBzB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/** Identifies the standard scope functions without evaluating their arguments. */
|
|
4
|
+
export function getScopeFunctionTarget(scope) {
|
|
5
|
+
const target = scope?.kind === "function-call"
|
|
6
|
+
? scope.target
|
|
7
|
+
: scope?.kind === "fn-call"
|
|
8
|
+
? scope.operator
|
|
9
|
+
: undefined;
|
|
10
|
+
if (typeof target !== "string")
|
|
11
|
+
return undefined;
|
|
12
|
+
switch (target.replace(/^az\./u, "")) {
|
|
13
|
+
case "tenant":
|
|
14
|
+
return "tenant";
|
|
15
|
+
case "managementGroup":
|
|
16
|
+
return "managementGroup";
|
|
17
|
+
case "subscription":
|
|
18
|
+
return "subscription";
|
|
19
|
+
case "resourceGroup":
|
|
20
|
+
return "resourceGroup";
|
|
21
|
+
default:
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/expression/utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CACpC,KAAsD;IAEtD,MAAM,MAAM,GACV,KAAK,EAAE,IAAI,KAAK,eAAe;QAC7B,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS;YACzB,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACjD,QAAQ,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,iBAAiB;YACpB,OAAO,iBAAiB,CAAC;QAC3B,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,eAAe;YAClB,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ExpressionNode, TargetScope } from \"../serialization/ast/index.js\";\nimport type { ExpressionNode as CoreExpressionNode } from \"./ast-nodes.js\";\n\n/** Identifies the standard scope functions without evaluating their arguments. */\nexport function getScopeFunctionTarget(\n scope: ExpressionNode | CoreExpressionNode | undefined,\n): TargetScope | undefined {\n const target =\n scope?.kind === \"function-call\"\n ? scope.target\n : scope?.kind === \"fn-call\"\n ? scope.operator\n : undefined;\n if (typeof target !== \"string\") return undefined;\n switch (target.replace(/^az\\./u, \"\")) {\n case \"tenant\":\n return \"tenant\";\n case \"managementGroup\":\n return \"managementGroup\";\n case \"subscription\":\n return \"subscription\";\n case \"resourceGroup\":\n return \"resourceGroup\";\n default:\n return undefined;\n }\n}\n"]}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type { PrimitiveTypeMap, PrimitiveTypeName, TargetScope, } from "./serialization/
|
|
1
|
+
export type { PrimitiveTypeMap, PrimitiveTypeName, TargetScope, } from "./serialization/ast/index.js";
|
|
2
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,
|
|
3
|
+
export { createParameter, ParameterCollection, type InferParamType, type Parameter, type ParameterMetadata, type ParameterOptions, } from "./constructs/parameter.js";
|
|
4
4
|
export { createVariable, type ExpressionValue, VariableCollection, type Variable, type VariableMetadata, type VariableOptions, type VariableValue, } from "./constructs/variable.js";
|
|
5
5
|
export { Stack, type StackOptions } from "./constructs/stack.js";
|
|
6
6
|
export { ProvisioningComponent, type ProvisioningComponentConstructor, } from "./constructs/provisioning-component.js";
|
|
@@ -9,7 +9,7 @@ export { asDiscriminator, isExpression, type Expression, type ExpressionBrand, t
|
|
|
9
9
|
export type { ArrayAccessExpressionNode, ArrayAccessIndex, BinaryExpressionNode, BinaryOperator, ExpressionNode, FunctionCallExpressionNode, IdentifierExpressionNode, InstanceFunctionCallExpressionNode, InterpolatedStringExpressionNode, PropertyAccessExpressionNode, SymbolicValueExpressionNode, TernaryExpressionNode, UnaryExpressionNode, UnaryOperator, } from "./expression/ast-nodes.js";
|
|
10
10
|
export * as fn from "./fn.js";
|
|
11
11
|
export { DefaultNamingPolicy, namingRequiredPolicy, type NamingContext, type NamingPolicy, type NamingPolicyOptions, } from "./naming/naming-policy.js";
|
|
12
|
-
export type { ResourceNamingRules
|
|
12
|
+
export type { ResourceNamingRules } from "./naming/naming-rules.js";
|
|
13
13
|
export { type QueryOptions } from "./constructs/resource/resource-query.js";
|
|
14
14
|
export { isResource, isResourceDeclaration, isResourceOf, } from "./constructs/resource/resource-utils.js";
|
|
15
15
|
export { ResourceDeclaration } from "./constructs/resource/resource.js";
|
|
@@ -19,7 +19,7 @@ export { Resource } from "./constructs/resource/resource.js";
|
|
|
19
19
|
export type { ResourceCtor } from "./constructs/resource/resource-registry.js";
|
|
20
20
|
export type { FlatVariantPin, FlatVariantSelector, } from "./constructs/resource/resource-type-registry.js";
|
|
21
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,
|
|
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
23
|
export type { PropertySegment } from "./types.js";
|
|
24
24
|
export { ResourceGroup, type ResourceGroupProps, } from "./constructs/built-in-resources/resource-group.js";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +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,
|
|
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"]}
|
package/dist/esm/internal.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
+
export { renderBicepFiles, type RenderedBicepFile } from "./serialization/bicep/index.js";
|
|
1
2
|
export { unwrapExpression, wrapExpression, type InputArray, type InputOf, type InputRecord, type InputTuple, } from "./expression/expressions.js";
|
|
2
|
-
export { serializeExpression, type SerializableValue } from "./serialization/json/expression.js";
|
|
3
|
-
export { sanitizeIdentifier } from "./serialization/json/util.js";
|
|
4
|
-
export { collectDependenciesForDeclaration } from "./serialization/utils.js";
|
|
5
|
-
export type { BinaryOperator, DeclarableBodyNode, DecoratorsNode, ExpressionNode, IdentifierExpression, InfraNode, ModuleDeclarationNode, ObjectValue, OutputDeclarationNode, ParameterDeclarationNode, PrimitiveTypeMap, ResourceDeclarationNode, TargetScope, TypeNode, UnaryOperator, VariableDeclarationNode, } from "./serialization/contract/index.js";
|
|
6
3
|
export { unwrapResourceHandle } from "./constructs/resource/resource-proxy.js";
|
|
7
4
|
export type { ResourceProps, SingletonExistingResourceProps, } from "./constructs/resource/resource.js";
|
|
8
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";
|
|
9
6
|
export { createAnyShape, createArrayShape, createBooleanLiteralShape, createBooleanShape, createBytesShape, createDateShape, createDeferredShape, createDiscriminatedModelShape, createEnumShape, createFlatModelShape, createNullShape, createNumberLiteralShape, createNumberShape, createRecordShape, createStringLiteralShape, createStringShape, createTupleShape, createUnionShape, } from "./shape/shape.js";
|
|
10
7
|
export type { FlatVariantSelection, FlatVariantSelector, } from "./constructs/resource/resource-type-registry.js";
|
|
11
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";
|
|
12
|
-
export type { ResourceNamingRules
|
|
9
|
+
export type { ResourceNamingRules } from "./naming/naming-rules.js";
|
|
13
10
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
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"}
|
package/dist/esm/internal.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
+
export { renderBicepFiles } from "./serialization/bicep/index.js";
|
|
3
4
|
export { unwrapExpression, wrapExpression, } from "./expression/expressions.js";
|
|
4
|
-
export { serializeExpression } from "./serialization/json/expression.js";
|
|
5
|
-
export { sanitizeIdentifier } from "./serialization/json/util.js";
|
|
6
|
-
export { collectDependenciesForDeclaration } from "./serialization/utils.js";
|
|
7
5
|
export { unwrapResourceHandle } from "./constructs/resource/resource-proxy.js";
|
|
8
6
|
export { createAnyShape, createArrayShape, createBooleanLiteralShape, createBooleanShape, createBytesShape, createDateShape, createDeferredShape, createDiscriminatedModelShape, createEnumShape, createFlatModelShape, createNullShape, createNumberLiteralShape, createNumberShape, createRecordShape, createStringLiteralShape, createStringShape, createTupleShape, createUnionShape, } from "./shape/shape.js";
|
|
9
7
|
export { INTEGER_SCALAR_NAMES, isIntegerScalarName, isNumericScalarName, NUMERIC_SCALAR_NAMES, } from "./shape/value-encoding.js";
|
package/dist/esm/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,
|
|
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":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAA4B,MAAM,mBAAmB,CAAC;AAMnF;;;;;;;;;;;;;;GAcG;AACH,SAAS,qBAAqB,CAAC,KAAc,EAAE,KAA0B;IACvE,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,IACE,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;IACzC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,8BAA8B,KAAK,CAAC,SAAS,yBAAyB,OAAO,CAAC,MAAM,IAAI,CACzF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CACT,6BAA6B,KAAK,CAAC,SAAS,yBAAyB,OAAO,CAAC,MAAM,IAAI,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,mBAAmB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,IAAY,EACZ,KAAsC,EACtC,UAAyC,EAAE;IAE3C,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,IAAI,oBAAoB,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,GAAG,SAAS,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,cAAc,SAAS,IAAI,KAAK;YAClF,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,EAAE,EAAE,CACtG,CAAC;IACJ,CAAC;AACH,CAAC","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"]}
|
|
@@ -3,6 +3,8 @@ import { type ResourceNamingRules } from "./naming-rules.js";
|
|
|
3
3
|
export interface NamingContext {
|
|
4
4
|
readonly type: string;
|
|
5
5
|
readonly rules: ResourceNamingRules;
|
|
6
|
+
/** Required name segments relative to the actual declaration parent. */
|
|
7
|
+
readonly nameSegments?: number | undefined;
|
|
6
8
|
readonly label?: string | undefined;
|
|
7
9
|
}
|
|
8
10
|
/**
|
|
@@ -18,6 +20,7 @@ export interface NamingContext {
|
|
|
18
20
|
* doesn't provide an explicit `name`.
|
|
19
21
|
*/
|
|
20
22
|
export interface NamingPolicy {
|
|
23
|
+
/** Produces a candidate; resource construction validates the returned name. */
|
|
21
24
|
generateName(context: NamingContext): ExpressionOrValue<string>;
|
|
22
25
|
}
|
|
23
26
|
export interface NamingPolicyOptions {
|
|
@@ -31,7 +34,7 @@ export interface NamingPolicyOptions {
|
|
|
31
34
|
* Generates names by composing the resource type abbreviation, workload,
|
|
32
35
|
* environment, region, label, and an ordinal suffix for repeated types.
|
|
33
36
|
* Global-scope resources get a `uniqueString(subscription().subscriptionId)`
|
|
34
|
-
* suffix to
|
|
37
|
+
* suffix to reduce name collisions; Azure name availability is not checked.
|
|
35
38
|
*/
|
|
36
39
|
export declare class DefaultNamingPolicy implements NamingPolicy {
|
|
37
40
|
#private;
|
|
@@ -46,11 +49,8 @@ export declare class DefaultNamingPolicy implements NamingPolicy {
|
|
|
46
49
|
*/
|
|
47
50
|
export declare const namingRequiredPolicy: NamingPolicy;
|
|
48
51
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* - If `name` is explicitly provided (string or expression), it is used
|
|
52
|
-
* as-is — the naming policy does not transform it.
|
|
53
|
-
* - Otherwise, the active naming policy generates a name.
|
|
52
|
+
* Generates and validates a name at the resource construction boundary.
|
|
53
|
+
* Explicit constructor names are validated before declaration registration.
|
|
54
54
|
*/
|
|
55
|
-
export declare function
|
|
55
|
+
export declare function generateResourceName(policy: NamingPolicy, type: string, namingRules: ResourceNamingRules | undefined, nameSegments: number | undefined): ExpressionOrValue<string>;
|
|
56
56
|
//# sourceMappingURL=naming-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming-policy.d.ts","sourceRoot":"","sources":["../../../src/naming/naming-policy.ts"],"names":[],"mappings":"
|
|
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"}
|