@azure-tools/typespec-ts 0.56.0-dev.1 → 0.56.0-dev.11
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/README.md +1 -13
- package/dist/src/context-manager.d.ts +19 -2
- package/dist/src/context-manager.d.ts.map +1 -1
- package/dist/src/context-manager.js +21 -0
- package/dist/src/context-manager.js.map +1 -1
- package/dist/src/framework/declaration.d.ts.map +1 -1
- package/dist/src/framework/declaration.js +6 -20
- package/dist/src/framework/declaration.js.map +1 -1
- package/dist/src/framework/hooks/sdk-types.d.ts +9 -0
- package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -1
- package/dist/src/framework/hooks/sdk-types.js +14 -1
- package/dist/src/framework/hooks/sdk-types.js.map +1 -1
- package/dist/src/framework/source-file-batch.d.ts +35 -0
- package/dist/src/framework/source-file-batch.d.ts.map +1 -0
- package/dist/src/framework/source-file-batch.js +128 -0
- package/dist/src/framework/source-file-batch.js.map +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +73 -62
- package/dist/src/index.js.map +1 -1
- package/dist/src/{rlc-common/interfaces.d.ts → interfaces.d.ts} +12 -14
- package/dist/src/interfaces.d.ts.map +1 -0
- package/dist/src/interfaces.js.map +1 -0
- package/dist/src/lib.d.ts +2 -4
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +2 -12
- package/dist/src/lib.js.map +1 -1
- package/dist/src/meta-tree.d.ts +4 -4
- package/dist/src/meta-tree.d.ts.map +1 -1
- package/dist/src/metadata/build-api-extractor-config.d.ts +6 -0
- package/dist/src/metadata/build-api-extractor-config.d.ts.map +1 -0
- package/dist/src/metadata/build-api-extractor-config.js.map +1 -0
- package/dist/src/metadata/build-changelog-file.d.ts +6 -0
- package/dist/src/metadata/build-changelog-file.d.ts.map +1 -0
- package/dist/src/metadata/build-changelog-file.js.map +1 -0
- package/dist/src/metadata/build-es-lint-config.d.ts +6 -0
- package/dist/src/metadata/build-es-lint-config.d.ts.map +1 -0
- package/dist/src/metadata/build-es-lint-config.js.map +1 -0
- package/dist/src/metadata/build-license-file.d.ts.map +1 -0
- package/dist/src/metadata/build-license-file.js.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-package-file.d.ts +3 -3
- package/dist/src/metadata/build-package-file.d.ts.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-package-file.js +1 -1
- package/dist/src/metadata/build-package-file.js.map +1 -0
- package/dist/src/metadata/build-readme-file.d.ts +11 -0
- package/dist/src/metadata/build-readme-file.d.ts.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-readme-file.js +16 -69
- package/dist/src/metadata/build-readme-file.js.map +1 -0
- package/dist/src/metadata/build-sample-env-file.d.ts +6 -0
- package/dist/src/metadata/build-sample-env-file.d.ts.map +1 -0
- package/dist/src/metadata/build-sample-env-file.js.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-test-config.d.ts +3 -3
- package/dist/src/metadata/build-test-config.d.ts.map +1 -0
- package/dist/src/metadata/build-test-config.js.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.d.ts +3 -3
- package/dist/src/metadata/build-ts-config.d.ts.map +1 -0
- package/dist/src/metadata/build-ts-config.js.map +1 -0
- package/dist/src/metadata/build-vitest-config.d.ts +6 -0
- package/dist/src/metadata/build-vitest-config.d.ts.map +1 -0
- package/dist/src/metadata/build-vitest-config.js.map +1 -0
- package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.d.ts +2 -2
- package/dist/src/metadata/build-warp-config.d.ts.map +1 -0
- package/dist/src/metadata/build-warp-config.js.map +1 -0
- package/dist/src/metadata/package-json/azure-package-common.d.ts.map +1 -0
- package/dist/src/metadata/package-json/azure-package-common.js.map +1 -0
- package/dist/src/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
- package/dist/src/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
- package/dist/src/metadata/package-json/package-common.d.ts.map +1 -0
- package/dist/src/metadata/package-json/package-common.js.map +1 -0
- package/dist/src/metadata/render-template.d.ts +24 -0
- package/dist/src/metadata/render-template.d.ts.map +1 -0
- package/dist/src/metadata/render-template.js +148 -0
- package/dist/src/metadata/render-template.js.map +1 -0
- package/dist/src/metadata/test/build-recorded-client.d.ts +6 -0
- package/dist/src/metadata/test/build-recorded-client.d.ts.map +1 -0
- package/dist/src/metadata/test/build-recorded-client.js +8 -0
- package/dist/src/metadata/test/build-recorded-client.js.map +1 -0
- package/dist/src/metadata/test/build-sample-test.d.ts +6 -0
- package/dist/src/metadata/test/build-sample-test.d.ts.map +1 -0
- package/dist/src/metadata/test/build-sample-test.js +8 -0
- package/dist/src/metadata/test/build-sample-test.js.map +1 -0
- package/dist/src/metadata/test/build-snippets.d.ts +6 -0
- package/dist/src/metadata/test/build-snippets.d.ts.map +1 -0
- package/dist/src/{rlc-common → metadata}/test/build-snippets.js +3 -5
- package/dist/src/metadata/test/build-snippets.js.map +1 -0
- package/dist/src/metadata/test/template.d.ts +4 -0
- package/dist/src/metadata/test/template.d.ts.map +1 -0
- package/dist/src/metadata/test/template.js +100 -0
- package/dist/src/metadata/test/template.js.map +1 -0
- package/dist/src/metadata/utils.d.ts +3 -0
- package/dist/src/metadata/utils.d.ts.map +1 -0
- package/dist/src/metadata/utils.js.map +1 -0
- package/dist/src/modular/build-classical-client.d.ts.map +1 -1
- package/dist/src/modular/build-classical-client.js +9 -9
- package/dist/src/modular/build-classical-client.js.map +1 -1
- package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -1
- package/dist/src/modular/build-classical-operation-groups.js +3 -3
- package/dist/src/modular/build-classical-operation-groups.js.map +1 -1
- package/dist/src/modular/build-client-context.d.ts.map +1 -1
- package/dist/src/modular/build-client-context.js +7 -7
- package/dist/src/modular/build-client-context.js.map +1 -1
- package/dist/src/modular/build-modular-options.js +3 -3
- package/dist/src/modular/build-modular-options.js.map +1 -1
- package/dist/src/modular/build-operations.d.ts.map +1 -1
- package/dist/src/modular/build-operations.js +6 -6
- package/dist/src/modular/build-operations.js.map +1 -1
- package/dist/src/modular/build-project-files.d.ts.map +1 -1
- package/dist/src/modular/build-project-files.js +4 -4
- package/dist/src/modular/build-project-files.js.map +1 -1
- package/dist/src/modular/build-restore-poller.d.ts.map +1 -1
- package/dist/src/modular/build-restore-poller.js +3 -3
- package/dist/src/modular/build-restore-poller.js.map +1 -1
- package/dist/src/modular/build-root-index.d.ts.map +1 -1
- package/dist/src/modular/build-root-index.js +42 -14
- package/dist/src/modular/build-root-index.js.map +1 -1
- package/dist/src/modular/build-subpath-index.d.ts.map +1 -1
- package/dist/src/modular/build-subpath-index.js +17 -4
- package/dist/src/modular/build-subpath-index.js.map +1 -1
- package/dist/src/modular/emit-models-options.d.ts.map +1 -1
- package/dist/src/modular/emit-models-options.js +3 -3
- package/dist/src/modular/emit-models-options.js.map +1 -1
- package/dist/src/modular/emit-models.d.ts +1 -1
- package/dist/src/modular/emit-models.d.ts.map +1 -1
- package/dist/src/modular/emit-models.js +32 -25
- package/dist/src/modular/emit-models.js.map +1 -1
- package/dist/src/modular/emit-samples.d.ts.map +1 -1
- package/dist/src/modular/emit-samples.js +5 -5
- package/dist/src/modular/emit-samples.js.map +1 -1
- package/dist/src/modular/emit-tests.d.ts.map +1 -1
- package/dist/src/modular/emit-tests.js +1 -1
- package/dist/src/modular/emit-tests.js.map +1 -1
- package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/classical-operation-helpers.js +11 -11
- package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -1
- package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/client-helpers.js +3 -3
- package/dist/src/modular/helpers/client-helpers.js.map +1 -1
- package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/example-value-helpers.js +2 -2
- package/dist/src/modular/helpers/example-value-helpers.js.map +1 -1
- package/dist/src/modular/helpers/naming-helpers.d.ts +1 -1
- package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/naming-helpers.js +2 -2
- package/dist/src/modular/helpers/naming-helpers.js.map +1 -1
- package/dist/src/modular/helpers/operation-helpers.d.ts +4 -4
- package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operation-helpers.js +25 -26
- package/dist/src/modular/helpers/operation-helpers.js.map +1 -1
- package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/type-helpers.js +1 -1
- package/dist/src/modular/helpers/type-helpers.js.map +1 -1
- package/dist/src/modular/interfaces.d.ts +4 -4
- package/dist/src/modular/interfaces.d.ts.map +1 -1
- package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -1
- package/dist/src/modular/serialization/build-deserializer-function.js +2 -2
- package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -1
- package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -1
- package/dist/src/modular/serialization/build-serializer-function.js +2 -2
- package/dist/src/modular/serialization/build-serializer-function.js.map +1 -1
- package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -1
- package/dist/src/modular/serialization/build-xml-serializer-function.js +1 -1
- package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-enum-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-nullable-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-nullable-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.d.ts.map +1 -1
- package/dist/src/modular/type-expressions/get-type-expression.js +3 -3
- package/dist/src/modular/type-expressions/get-type-expression.js.map +1 -1
- package/dist/src/transform/transform-api-version-info.d.ts +1 -1
- package/dist/src/transform/transform-api-version-info.d.ts.map +1 -1
- package/dist/src/transform/transform-api-version-info.js +4 -3
- package/dist/src/transform/transform-api-version-info.js.map +1 -1
- package/dist/src/transform/{transfrom-rlc-options.d.ts → transform-client-options.d.ts} +3 -3
- package/dist/src/transform/transform-client-options.d.ts.map +1 -0
- package/dist/src/transform/{transfrom-rlc-options.js → transform-client-options.js} +9 -13
- package/dist/src/transform/transform-client-options.js.map +1 -0
- package/dist/src/transform/transform-helper-function-details.d.ts +1 -1
- package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -1
- package/dist/src/transform/transform-helper-function-details.js +4 -4
- package/dist/src/transform/transform-helper-function-details.js.map +1 -1
- package/dist/src/transform/transform-parameters.d.ts +1 -1
- package/dist/src/transform/transform-parameters.d.ts.map +1 -1
- package/dist/src/transform/transform-parameters.js +11 -11
- package/dist/src/transform/transform-parameters.js.map +1 -1
- package/dist/src/transform/transform-paths.d.ts +1 -1
- package/dist/src/transform/transform-paths.d.ts.map +1 -1
- package/dist/src/transform/transform-paths.js +5 -4
- package/dist/src/transform/transform-paths.js.map +1 -1
- package/dist/src/transform/transform-responses.d.ts +1 -1
- package/dist/src/transform/transform-responses.d.ts.map +1 -1
- package/dist/src/transform/transform-responses.js +19 -18
- package/dist/src/transform/transform-responses.js.map +1 -1
- package/dist/src/transform/transform-schemas.js +5 -5
- package/dist/src/transform/transform-schemas.js.map +1 -1
- package/dist/src/transform/transform-telemetry-info.d.ts +1 -1
- package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -1
- package/dist/src/transform/transform-telemetry-info.js +2 -2
- package/dist/src/transform/transform-telemetry-info.js.map +1 -1
- package/dist/src/transform/transform.d.ts +2 -2
- package/dist/src/transform/transform.d.ts.map +1 -1
- package/dist/src/transform/transform.js +9 -10
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/utils/api-version-util.d.ts.map +1 -0
- package/dist/src/utils/api-version-util.js.map +1 -0
- package/dist/src/utils/client-utils.d.ts +5 -5
- package/dist/src/utils/client-utils.d.ts.map +1 -1
- package/dist/src/utils/client-utils.js +10 -10
- package/dist/src/utils/client-utils.js.map +1 -1
- package/dist/src/utils/cross-language-def.d.ts.map +1 -1
- package/dist/src/utils/cross-language-def.js +3 -3
- package/dist/src/utils/cross-language-def.js.map +1 -1
- package/dist/src/utils/emit-util.d.ts +2 -2
- package/dist/src/utils/emit-util.d.ts.map +1 -1
- package/dist/src/utils/emit-util.js +2 -2
- package/dist/src/utils/emit-util.js.map +1 -1
- package/dist/src/utils/imports-util.d.ts.map +1 -0
- package/dist/src/{rlc-common/helpers → utils}/imports-util.js +6 -6
- package/dist/src/utils/imports-util.js.map +1 -0
- package/dist/src/utils/interfaces.d.ts +3 -4
- package/dist/src/utils/interfaces.d.ts.map +1 -1
- package/dist/src/utils/model-utils.d.ts +1 -1
- package/dist/src/utils/model-utils.d.ts.map +1 -1
- package/dist/src/utils/model-utils.js +4 -2
- package/dist/src/utils/model-utils.js.map +1 -1
- package/dist/src/{rlc-common/helpers → utils}/name-constructors.d.ts +2 -2
- package/dist/src/utils/name-constructors.d.ts.map +1 -0
- package/dist/src/utils/name-constructors.js.map +1 -0
- package/dist/src/utils/name-utils.d.ts.map +1 -0
- package/dist/src/utils/name-utils.js.map +1 -0
- package/dist/src/utils/namespace-utils.js +4 -4
- package/dist/src/utils/namespace-utils.js.map +1 -1
- package/dist/src/utils/operation-helpers.d.ts +16 -0
- package/dist/src/utils/operation-helpers.d.ts.map +1 -0
- package/dist/src/utils/operation-helpers.js.map +1 -0
- package/dist/src/utils/operation-util.d.ts +2 -2
- package/dist/src/utils/operation-util.d.ts.map +1 -1
- package/dist/src/utils/operation-util.js +17 -18
- package/dist/src/utils/operation-util.js.map +1 -1
- package/dist/src/utils/parameter-utils.d.ts +1 -1
- package/dist/src/utils/parameter-utils.d.ts.map +1 -1
- package/dist/src/utils/parameter-utils.js +2 -4
- package/dist/src/utils/parameter-utils.js.map +1 -1
- package/dist/src/{rlc-common/helpers → utils}/schema-helpers.d.ts +2 -2
- package/dist/src/utils/schema-helpers.d.ts.map +1 -0
- package/dist/src/utils/schema-helpers.js.map +1 -0
- package/dist/src/utils/type-util.d.ts.map +1 -0
- package/dist/src/utils/type-util.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -24
- package/src/context-manager.ts +25 -2
- package/src/framework/declaration.ts +8 -20
- package/src/framework/hooks/sdk-types.ts +15 -1
- package/src/framework/source-file-batch.ts +140 -0
- package/src/index.ts +92 -103
- package/src/{rlc-common/interfaces.ts → interfaces.ts} +14 -16
- package/src/lib.ts +3 -16
- package/src/meta-tree.ts +4 -4
- package/src/{rlc-common/metadata → metadata}/build-api-extractor-config.ts +2 -2
- package/src/{rlc-common/metadata → metadata}/build-changelog-file.ts +3 -3
- package/src/{rlc-common/metadata → metadata}/build-es-lint-config.ts +2 -2
- package/src/{rlc-common/metadata → metadata}/build-package-file.ts +6 -6
- package/src/{rlc-common/metadata → metadata}/build-readme-file.ts +25 -99
- package/src/{rlc-common/metadata → metadata}/build-sample-env-file.ts +2 -2
- package/src/{rlc-common/metadata → metadata}/build-test-config.ts +4 -4
- package/src/{rlc-common/metadata → metadata}/build-ts-config.ts +3 -3
- package/src/{rlc-common/metadata → metadata}/build-vitest-config.ts +2 -2
- package/src/{rlc-common/metadata → metadata}/build-warp-config.ts +2 -2
- package/src/metadata/render-template.ts +202 -0
- package/src/metadata/test/build-recorded-client.ts +9 -0
- package/src/metadata/test/build-sample-test.ts +9 -0
- package/src/{rlc-common → metadata}/test/build-snippets.ts +5 -7
- package/src/metadata/test/template.ts +101 -0
- package/src/{rlc-common/metadata → metadata}/utils.ts +2 -2
- package/src/modular/build-classical-client.ts +9 -9
- package/src/modular/build-classical-operation-groups.ts +3 -3
- package/src/modular/build-client-context.ts +7 -7
- package/src/modular/build-modular-options.ts +3 -3
- package/src/modular/build-operations.ts +6 -6
- package/src/modular/build-project-files.ts +4 -5
- package/src/modular/build-restore-poller.ts +3 -3
- package/src/modular/build-root-index.ts +57 -19
- package/src/modular/build-subpath-index.ts +26 -5
- package/src/modular/emit-models-options.ts +3 -3
- package/src/modular/emit-models.ts +32 -26
- package/src/modular/emit-samples.ts +5 -5
- package/src/modular/emit-tests.ts +1 -1
- package/src/modular/helpers/classical-operation-helpers.ts +11 -11
- package/src/modular/helpers/client-helpers.ts +3 -3
- package/src/modular/helpers/example-value-helpers.ts +2 -2
- package/src/modular/helpers/naming-helpers.ts +2 -2
- package/src/modular/helpers/operation-helpers.ts +27 -27
- package/src/modular/helpers/type-helpers.ts +1 -1
- package/src/modular/interfaces.ts +4 -4
- package/src/modular/serialization/build-deserializer-function.ts +2 -2
- package/src/modular/serialization/build-serializer-function.ts +2 -2
- package/src/modular/serialization/build-xml-serializer-function.ts +1 -1
- package/src/modular/type-expressions/get-enum-expression.ts +1 -1
- package/src/modular/type-expressions/get-nullable-expression.ts +1 -1
- package/src/modular/type-expressions/get-type-expression.ts +3 -3
- package/src/transform/transform-api-version-info.ts +4 -10
- package/src/transform/{transfrom-rlc-options.ts → transform-client-options.ts} +12 -22
- package/src/transform/transform-helper-function-details.ts +5 -5
- package/src/transform/transform-parameters.ts +12 -12
- package/src/transform/transform-paths.ts +5 -12
- package/src/transform/transform-responses.ts +19 -19
- package/src/transform/transform-schemas.ts +5 -5
- package/src/transform/transform-telemetry-info.ts +3 -3
- package/src/transform/transform.ts +13 -18
- package/src/utils/client-utils.ts +11 -11
- package/src/utils/cross-language-def.ts +3 -3
- package/src/utils/emit-util.ts +3 -3
- package/src/{rlc-common/helpers → utils}/imports-util.ts +6 -6
- package/src/utils/interfaces.ts +3 -4
- package/src/utils/model-utils.ts +7 -8
- package/src/{rlc-common/helpers → utils}/name-constructors.ts +2 -2
- package/src/utils/namespace-utils.ts +4 -4
- package/src/{rlc-common/helpers → utils}/operation-helpers.ts +12 -12
- package/src/utils/operation-util.ts +19 -33
- package/src/utils/parameter-utils.ts +2 -4
- package/src/{rlc-common/helpers → utils}/schema-helpers.ts +2 -2
- package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/api-version-util.js.map +0 -1
- package/dist/src/rlc-common/helpers/imports-util.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/imports-util.js.map +0 -1
- package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/name-constructors.js.map +0 -1
- package/dist/src/rlc-common/helpers/name-utils.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/name-utils.js.map +0 -1
- package/dist/src/rlc-common/helpers/operation-helpers.d.ts +0 -16
- package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/operation-helpers.js.map +0 -1
- package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/schema-helpers.js.map +0 -1
- package/dist/src/rlc-common/helpers/type-util.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/type-util.js.map +0 -1
- package/dist/src/rlc-common/index.d.ts +0 -23
- package/dist/src/rlc-common/index.d.ts.map +0 -1
- package/dist/src/rlc-common/index.js +0 -25
- package/dist/src/rlc-common/index.js.map +0 -1
- package/dist/src/rlc-common/interfaces.d.ts.map +0 -1
- package/dist/src/rlc-common/interfaces.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +0 -6
- package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +0 -6
- package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-changelog-file.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +0 -6
- package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-license-file.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-package-file.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-readme-file.d.ts +0 -11
- package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-readme-file.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +0 -6
- package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-test-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-ts-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +0 -6
- package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-vitest-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/build-warp-config.js.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/package-json/package-common.js.map +0 -1
- package/dist/src/rlc-common/metadata/utils.d.ts +0 -3
- package/dist/src/rlc-common/metadata/utils.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/utils.js.map +0 -1
- package/dist/src/rlc-common/static/paginate-content.d.ts +0 -2
- package/dist/src/rlc-common/static/paginate-content.d.ts.map +0 -1
- package/dist/src/rlc-common/static/paginate-content.js +0 -345
- package/dist/src/rlc-common/static/paginate-content.js.map +0 -1
- package/dist/src/rlc-common/static/polling-content.d.ts +0 -2
- package/dist/src/rlc-common/static/polling-content.d.ts.map +0 -1
- package/dist/src/rlc-common/static/polling-content.js +0 -225
- package/dist/src/rlc-common/static/polling-content.js.map +0 -1
- package/dist/src/rlc-common/static/sample-template.d.ts +0 -2
- package/dist/src/rlc-common/static/sample-template.d.ts.map +0 -1
- package/dist/src/rlc-common/static/sample-template.js +0 -56
- package/dist/src/rlc-common/static/sample-template.js.map +0 -1
- package/dist/src/rlc-common/static/serialize-helper.d.ts +0 -6
- package/dist/src/rlc-common/static/serialize-helper.d.ts.map +0 -1
- package/dist/src/rlc-common/static/serialize-helper.js +0 -31
- package/dist/src/rlc-common/static/serialize-helper.js.map +0 -1
- package/dist/src/rlc-common/test/build-karma-config.d.ts +0 -6
- package/dist/src/rlc-common/test/build-karma-config.d.ts.map +0 -1
- package/dist/src/rlc-common/test/build-karma-config.js +0 -11
- package/dist/src/rlc-common/test/build-karma-config.js.map +0 -1
- package/dist/src/rlc-common/test/build-recorded-client.d.ts +0 -6
- package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +0 -1
- package/dist/src/rlc-common/test/build-recorded-client.js +0 -14
- package/dist/src/rlc-common/test/build-recorded-client.js.map +0 -1
- package/dist/src/rlc-common/test/build-sample-test.d.ts +0 -6
- package/dist/src/rlc-common/test/build-sample-test.d.ts.map +0 -1
- package/dist/src/rlc-common/test/build-sample-test.js +0 -11
- package/dist/src/rlc-common/test/build-sample-test.js.map +0 -1
- package/dist/src/rlc-common/test/build-snippets.d.ts +0 -6
- package/dist/src/rlc-common/test/build-snippets.d.ts.map +0 -1
- package/dist/src/rlc-common/test/build-snippets.js.map +0 -1
- package/dist/src/rlc-common/test/template.d.ts +0 -5
- package/dist/src/rlc-common/test/template.d.ts.map +0 -1
- package/dist/src/rlc-common/test/template.js +0 -227
- package/dist/src/rlc-common/test/template.js.map +0 -1
- package/dist/src/transform/transfrom-rlc-options.d.ts.map +0 -1
- package/dist/src/transform/transfrom-rlc-options.js.map +0 -1
- package/src/rlc-common/index.ts +0 -25
- package/src/rlc-common/static/paginate-content.ts +0 -345
- package/src/rlc-common/static/polling-content.ts +0 -225
- package/src/rlc-common/static/sample-template.ts +0 -56
- package/src/rlc-common/static/serialize-helper.ts +0 -34
- package/src/rlc-common/test/build-karma-config.ts +0 -12
- package/src/rlc-common/test/build-recorded-client.ts +0 -15
- package/src/rlc-common/test/build-sample-test.ts +0 -12
- package/src/rlc-common/test/template.ts +0 -229
- /package/dist/src/{rlc-common/interfaces.js → interfaces.js} +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-api-extractor-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-changelog-file.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-es-lint-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.d.ts +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-license-file.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-sample-env-file.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-test-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-ts-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-vitest-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/build-warp-config.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.d.ts +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.d.ts +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.d.ts +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/package-json/package-common.js +0 -0
- /package/dist/src/{rlc-common/metadata → metadata}/utils.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/api-version-util.d.ts +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/api-version-util.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/imports-util.d.ts +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/name-constructors.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/name-utils.d.ts +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/name-utils.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/operation-helpers.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/schema-helpers.js +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/type-util.d.ts +0 -0
- /package/dist/src/{rlc-common/helpers → utils}/type-util.js +0 -0
- /package/src/{rlc-common/metadata → metadata}/build-license-file.ts +0 -0
- /package/src/{rlc-common/metadata → metadata}/package-json/azure-package-common.ts +0 -0
- /package/src/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.ts +0 -0
- /package/src/{rlc-common/metadata → metadata}/package-json/package-common.ts +0 -0
- /package/src/{rlc-common/helpers → utils}/api-version-util.ts +0 -0
- /package/src/{rlc-common/helpers → utils}/name-utils.ts +0 -0
- /package/src/{rlc-common/helpers → utils}/type-util.ts +0 -0
|
@@ -28,7 +28,6 @@ import {
|
|
|
28
28
|
StructureKind,
|
|
29
29
|
TypeAliasDeclarationStructure,
|
|
30
30
|
} from "ts-morph";
|
|
31
|
-
import { fixLeadingNumber, NameType, normalizeName } from "../rlc-common/index.js";
|
|
32
31
|
// import { isKey } from "@typespec/compiler";
|
|
33
32
|
import {
|
|
34
33
|
getExternalModel,
|
|
@@ -47,10 +46,12 @@ import {
|
|
|
47
46
|
pagedModelsKeptPublic,
|
|
48
47
|
} from "../framework/hooks/sdk-types.js";
|
|
49
48
|
import { refkey } from "../framework/refkey.js";
|
|
49
|
+
import { beginSourceFileBatch, flushSourceFileBatch } from "../framework/source-file-batch.js";
|
|
50
50
|
import { reportDiagnostic } from "../lib.js";
|
|
51
51
|
import { getClientHierarchyMap } from "../utils/client-utils.js";
|
|
52
52
|
import { SdkContext } from "../utils/interfaces.js";
|
|
53
53
|
import { isAzureCoreErrorType } from "../utils/model-utils.js";
|
|
54
|
+
import { fixLeadingNumber, NameType, normalizeName } from "../utils/name-utils.js";
|
|
54
55
|
import { getMethodHierarchiesMap } from "../utils/operation-util.js";
|
|
55
56
|
import { getHeaderClientOptions } from "./helpers/client-option-helpers.js";
|
|
56
57
|
import {
|
|
@@ -117,32 +118,37 @@ export function emitTypes(context: SdkContext, { sourceRoot }: { sourceRoot: str
|
|
|
117
118
|
|
|
118
119
|
let sourceFile;
|
|
119
120
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
beginSourceFileBatch();
|
|
122
|
+
try {
|
|
123
|
+
for (const type of emitQueue) {
|
|
124
|
+
if (!isGenerableType(type)) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
124
127
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
128
|
+
const namespaces = getModelNamespaces(context, type);
|
|
129
|
+
const filepath = getModelsPath(sourceRoot, namespaces);
|
|
130
|
+
sourceFile = outputProject.getSourceFile(filepath);
|
|
131
|
+
if (!sourceFile) {
|
|
132
|
+
sourceFile = outputProject.createSourceFile(filepath);
|
|
133
|
+
sourceFile.addStatements(`/*
|
|
131
134
|
* This file contains only generated model types and their (de)serializers.
|
|
132
135
|
* Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
|
|
133
136
|
*/
|
|
134
137
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
135
138
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
|
|
139
|
+
}
|
|
140
|
+
emitType(context, type, sourceFile);
|
|
136
141
|
}
|
|
137
|
-
emitType(context, type, sourceFile);
|
|
138
|
-
}
|
|
139
142
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
// Emit serialization/deserialization functions for flattened properties
|
|
144
|
+
for (const [property, _] of flattenPropertyModelMap) {
|
|
145
|
+
const namespaces = getModelNamespaces(context, property.type);
|
|
146
|
+
const filepath = getModelsPath(sourceRoot, namespaces);
|
|
147
|
+
sourceFile = outputProject.getSourceFile(filepath);
|
|
148
|
+
addSerializationFunctions(context, property, sourceFile!);
|
|
149
|
+
}
|
|
150
|
+
} finally {
|
|
151
|
+
flushSourceFileBatch();
|
|
146
152
|
}
|
|
147
153
|
|
|
148
154
|
const modelFiles = outputProject.getSourceFiles(sourceRoot + "/models/**/*.ts");
|
|
@@ -245,7 +251,7 @@ function emitType(context: SdkContext, type: SdkType, sourceFile: SourceFile) {
|
|
|
245
251
|
}
|
|
246
252
|
const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
|
|
247
253
|
// Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
|
|
248
|
-
if (apiVersionEnumOnly && context.
|
|
254
|
+
if (apiVersionEnumOnly && context.emitterOptions?.isMultiService) {
|
|
249
255
|
return;
|
|
250
256
|
}
|
|
251
257
|
const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
|
|
@@ -290,7 +296,7 @@ function emitType(context: SdkContext, type: SdkType, sourceFile: SourceFile) {
|
|
|
290
296
|
|
|
291
297
|
export function getApiVersionEnum(context: SdkContext) {
|
|
292
298
|
// Skip api version enum for multi-service scenarios since each service may have different versions
|
|
293
|
-
if (context.
|
|
299
|
+
if (context.emitterOptions?.isMultiService) {
|
|
294
300
|
return;
|
|
295
301
|
}
|
|
296
302
|
const apiVersionEnum = context.sdkPackage.enums.find(
|
|
@@ -325,7 +331,7 @@ export function getModelNamespaces(context: SdkContext, model: SdkType): string[
|
|
|
325
331
|
}
|
|
326
332
|
const segments = model.namespace.split(".");
|
|
327
333
|
// Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
|
|
328
|
-
if (context.
|
|
334
|
+
if (context.emitterOptions?.isMultiService) {
|
|
329
335
|
return segments;
|
|
330
336
|
}
|
|
331
337
|
|
|
@@ -603,7 +609,7 @@ function emitEnumMember(
|
|
|
603
609
|
): EnumMemberStructure {
|
|
604
610
|
const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
|
|
605
611
|
const enumTypeName = normalizeName(member.enumType.name, NameType.Interface, true);
|
|
606
|
-
let normalizedMemberName = context.
|
|
612
|
+
let normalizedMemberName = context.emitterOptions?.ignoreEnumMemberNameNormalize
|
|
607
613
|
? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
|
|
608
614
|
: normalizeName(member.name, NameType.EnumMemberName, true);
|
|
609
615
|
// If the member name starts with _ due to a leading digit (not because the original has _),
|
|
@@ -744,7 +750,7 @@ function addExtendedDictInfo(
|
|
|
744
750
|
const additionalPropertiesType = model.additionalProperties
|
|
745
751
|
? getTypeExpression(context, model.additionalProperties)
|
|
746
752
|
: undefined;
|
|
747
|
-
if (context.
|
|
753
|
+
if (context.emitterOptions?.compatibilityMode) {
|
|
748
754
|
const ancestors = getAllAncestors(model);
|
|
749
755
|
const properties = getAllProperties(context, model, ancestors);
|
|
750
756
|
let anyType: boolean;
|
|
@@ -839,7 +845,7 @@ export function normalizeModelName(
|
|
|
839
845
|
unionSuffix = "Union";
|
|
840
846
|
}
|
|
841
847
|
}
|
|
842
|
-
const namespacePrefix = context.
|
|
848
|
+
const namespacePrefix = context.emitterOptions?.enableModelNamespace ? segments.join("") : "";
|
|
843
849
|
const internalModelPrefix =
|
|
844
850
|
(isPagedResultModel(context, type) && !pagedModelsKeptPublic.has(type)) || type.isGeneratedName
|
|
845
851
|
? "_"
|
|
@@ -883,7 +889,7 @@ function buildModelProperty(
|
|
|
883
889
|
): PropertySignatureStructure {
|
|
884
890
|
const normalizedPropName = normalizeModelPropertyName(context, property);
|
|
885
891
|
if (
|
|
886
|
-
!context.
|
|
892
|
+
!context.emitterOptions?.ignorePropertyNameNormalize &&
|
|
887
893
|
normalizedPropName !== `"${property.name}"`
|
|
888
894
|
) {
|
|
889
895
|
reportDiagnostic(context.program, {
|
|
@@ -14,10 +14,10 @@ import { useContext } from "../context-manager.js";
|
|
|
14
14
|
import { resolveReference } from "../framework/reference.js";
|
|
15
15
|
import { reportDiagnostic } from "../index.js";
|
|
16
16
|
import { AzureIdentityDependencies } from "../modular/external-dependencies.js";
|
|
17
|
-
import {
|
|
18
|
-
import { getSubscriptionId } from "../transform/transfrom-rlc-options.js";
|
|
17
|
+
import { getSubscriptionId } from "../transform/transform-client-options.js";
|
|
19
18
|
import { hasKeyCredential, hasTokenCredential } from "../utils/credential-utils.js";
|
|
20
19
|
import { SdkContext } from "../utils/interfaces.js";
|
|
20
|
+
import { NameType, normalizeName } from "../utils/name-utils.js";
|
|
21
21
|
import {
|
|
22
22
|
getMethodHierarchiesMap,
|
|
23
23
|
isTenantLevelOperation,
|
|
@@ -115,9 +115,9 @@ function emitMethodSamples(
|
|
|
115
115
|
});
|
|
116
116
|
const exampleFunctions = [];
|
|
117
117
|
// TODO: remove hard-coded for package
|
|
118
|
-
if (dpgContext.
|
|
118
|
+
if (dpgContext.emitterOptions?.packageDetails?.name) {
|
|
119
119
|
sourceFile.addImportDeclaration({
|
|
120
|
-
moduleSpecifier: dpgContext.
|
|
120
|
+
moduleSpecifier: dpgContext.emitterOptions?.packageDetails?.name,
|
|
121
121
|
namedImports: [getClassicalClientName(options.topLevelClient)],
|
|
122
122
|
});
|
|
123
123
|
}
|
|
@@ -606,7 +606,7 @@ function getParameterValue(
|
|
|
606
606
|
retValue = `${JSON.stringify(value.value)}`;
|
|
607
607
|
break;
|
|
608
608
|
case "null": {
|
|
609
|
-
const ignoreNullableOnOptional = context.
|
|
609
|
+
const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
|
|
610
610
|
if (ignoreNullableOnOptional) {
|
|
611
611
|
// When ignore-nullable-on-optional is true, the TypeScript type won't include
|
|
612
612
|
// | null for optional properties, so we convert null to a type-appropriate default
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type CompilerHost, joinPaths } from "@typespec/compiler";
|
|
2
2
|
import { SourceFile } from "ts-morph";
|
|
3
3
|
import { resolveReference } from "../framework/reference.js";
|
|
4
|
-
import { NameType, normalizeName } from "../rlc-common/index.js";
|
|
5
4
|
import { SdkContext } from "../utils/interfaces.js";
|
|
5
|
+
import { NameType, normalizeName } from "../utils/name-utils.js";
|
|
6
6
|
import { ServiceOperation } from "../utils/operation-util.js";
|
|
7
7
|
import { AzureTestDependencies } from "./external-dependencies.js";
|
|
8
8
|
import {
|
|
@@ -10,9 +10,9 @@ import {
|
|
|
10
10
|
import { addDeclaration } from "../../framework/declaration.js";
|
|
11
11
|
import { resolveReference } from "../../framework/reference.js";
|
|
12
12
|
import { refkey } from "../../framework/refkey.js";
|
|
13
|
-
import {
|
|
14
|
-
import { getModularClientOptions } from "../../utils/client-utils.js";
|
|
13
|
+
import { getClientModuleInfo } from "../../utils/client-utils.js";
|
|
15
14
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
15
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
16
16
|
import { ServiceOperation } from "../../utils/operation-util.js";
|
|
17
17
|
import { AzurePollingDependencies } from "../external-dependencies.js";
|
|
18
18
|
import { PagingHelpers, SimplePollerHelpers } from "../static-helpers-metadata.js";
|
|
@@ -55,18 +55,18 @@ export function getClassicalOperation(
|
|
|
55
55
|
) {
|
|
56
56
|
const prefixes = operationGroup[0];
|
|
57
57
|
const operations = operationGroup[1];
|
|
58
|
-
const {
|
|
58
|
+
const { clientName } = getClientModuleInfo(clientMap);
|
|
59
59
|
const hasClientContextImport = classicFile.getImportDeclarations().filter((i) => {
|
|
60
60
|
return (
|
|
61
61
|
i.getModuleSpecifierValue() ===
|
|
62
|
-
`${"../".repeat(layer + 2)}api/${normalizeName(
|
|
62
|
+
`${"../".repeat(layer + 2)}api/${normalizeName(clientName, NameType.File)}.js`
|
|
63
63
|
);
|
|
64
64
|
});
|
|
65
65
|
if (!hasClientContextImport || hasClientContextImport.length === 0) {
|
|
66
66
|
classicFile.addImportDeclaration({
|
|
67
|
-
namedImports: [
|
|
67
|
+
namedImports: [clientName],
|
|
68
68
|
moduleSpecifier: `${"../".repeat(layer + 2)}api/${normalizeName(
|
|
69
|
-
|
|
69
|
+
clientName,
|
|
70
70
|
NameType.File,
|
|
71
71
|
)}.js`,
|
|
72
72
|
});
|
|
@@ -78,7 +78,7 @@ export function getClassicalOperation(
|
|
|
78
78
|
>();
|
|
79
79
|
const operationDeclarations: OptionalKind<FunctionDeclarationStructure>[] = operations.map(
|
|
80
80
|
(operation) => {
|
|
81
|
-
const declaration = getOperationFunction(dpgContext, [prefixes, operation],
|
|
81
|
+
const declaration = getOperationFunction(dpgContext, [prefixes, operation], clientName);
|
|
82
82
|
operationDeclarationMap.set(declaration, {
|
|
83
83
|
declaration,
|
|
84
84
|
oriName: operation.oriName,
|
|
@@ -141,7 +141,7 @@ export function getClassicalOperation(
|
|
|
141
141
|
});
|
|
142
142
|
// add LRO helper methods if applicable
|
|
143
143
|
if (
|
|
144
|
-
dpgContext.
|
|
144
|
+
dpgContext.emitterOptions?.compatibilityLro &&
|
|
145
145
|
(operationInfo?.isLro || operationInfo?.isLroPaging)
|
|
146
146
|
) {
|
|
147
147
|
const operationStateReference = resolveReference(AzurePollingDependencies.OperationState);
|
|
@@ -207,7 +207,7 @@ export function getClassicalOperation(
|
|
|
207
207
|
parameters: [
|
|
208
208
|
{
|
|
209
209
|
name: "context",
|
|
210
|
-
type:
|
|
210
|
+
type: clientName,
|
|
211
211
|
},
|
|
212
212
|
],
|
|
213
213
|
statements: `return {
|
|
@@ -237,7 +237,7 @@ export function getClassicalOperation(
|
|
|
237
237
|
];
|
|
238
238
|
// add LRO helper methods if applicable
|
|
239
239
|
if (
|
|
240
|
-
dpgContext.
|
|
240
|
+
dpgContext.emitterOptions?.compatibilityLro &&
|
|
241
241
|
(operationInfo?.isLro || operationInfo?.isLroPaging)
|
|
242
242
|
) {
|
|
243
243
|
const getSimplePollerReference = resolveReference(
|
|
@@ -336,7 +336,7 @@ export function getClassicalOperation(
|
|
|
336
336
|
parameters: [
|
|
337
337
|
{
|
|
338
338
|
name: "context",
|
|
339
|
-
type:
|
|
339
|
+
type: clientName,
|
|
340
340
|
},
|
|
341
341
|
],
|
|
342
342
|
returnType: resolveReference(refkey(interfaceName, layer, "classicOperations")),
|
|
@@ -10,8 +10,8 @@ import { OptionalKind, ParameterDeclarationStructure, StatementedNode } from "ts
|
|
|
10
10
|
import { ModularEmitterOptions } from "../interfaces.js";
|
|
11
11
|
|
|
12
12
|
import { resolveReference } from "../../framework/reference.js";
|
|
13
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
14
13
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
14
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
15
15
|
import { CloudSettingHelpers } from "../static-helpers-metadata.js";
|
|
16
16
|
import { getTypeExpression } from "../type-expressions/get-type-expression.js";
|
|
17
17
|
import { getClassicalClientName } from "./naming-helpers.js";
|
|
@@ -87,10 +87,10 @@ export function getClientParameters(
|
|
|
87
87
|
const armSpecific = (p: SdkParameter) => !(p.kind === "endpoint" && dpgContext.arm);
|
|
88
88
|
// Skip apiVersion parameter when it's multi-service (each service has its own default apiVersion)
|
|
89
89
|
const skipApiVersionOnMultiService = (p: SdkParameter) =>
|
|
90
|
-
!(dpgContext.
|
|
90
|
+
!(dpgContext.emitterOptions?.isMultiService && p.isApiVersionParam);
|
|
91
91
|
const filters = [
|
|
92
92
|
options.requiredOnly ? isRequired : undefined,
|
|
93
|
-
dpgContext.
|
|
93
|
+
dpgContext.emitterOptions?.addCredentials === false ? skipCredentials : undefined,
|
|
94
94
|
options.optionalOnly ? isOptional : undefined,
|
|
95
95
|
options.onClientOnly ? skipMethodParam : undefined,
|
|
96
96
|
options.skipArmSpecific ? undefined : armSpecific,
|
|
@@ -12,10 +12,10 @@ import { joinPaths } from "@typespec/compiler";
|
|
|
12
12
|
import { SourceFile } from "ts-morph";
|
|
13
13
|
import { useContext } from "../../context-manager.js";
|
|
14
14
|
import { resolveReference } from "../../framework/reference.js";
|
|
15
|
-
import {
|
|
16
|
-
import { getSubscriptionId } from "../../transform/transfrom-rlc-options.js";
|
|
15
|
+
import { getSubscriptionId } from "../../transform/transform-client-options.js";
|
|
17
16
|
import { hasKeyCredential, hasTokenCredential } from "../../utils/credential-utils.js";
|
|
18
17
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
18
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
19
19
|
import { getMethodHierarchiesMap, ServiceOperation } from "../../utils/operation-util.js";
|
|
20
20
|
import { AzureIdentityDependencies, AzureTestDependencies } from "../external-dependencies.js";
|
|
21
21
|
import { getClientParametersDeclaration } from "./client-helpers.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SdkClientType, SdkServiceOperation } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
-
import { NameType, normalizeName, ReservedModelNames } from "../../rlc-common/index.js";
|
|
3
2
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
3
|
+
import { NameType, normalizeName, ReservedModelNames } from "../../utils/name-utils.js";
|
|
4
4
|
import { ServiceOperation } from "../../utils/operation-util.js";
|
|
5
5
|
|
|
6
6
|
export function getClientName(client: SdkClientType<SdkServiceOperation>): string {
|
|
@@ -21,7 +21,7 @@ export function getOperationName(
|
|
|
21
21
|
dpgContext?: SdkContext,
|
|
22
22
|
): GuardedName {
|
|
23
23
|
const norm = normalizeName(operation.name, NameType.Method, true);
|
|
24
|
-
const isDataplane = dpgContext !== undefined && !dpgContext.
|
|
24
|
+
const isDataplane = dpgContext !== undefined && !dpgContext.emitterOptions?.azureArm;
|
|
25
25
|
if (isReservedName(operation.name, NameType.Method) && isDataplane) {
|
|
26
26
|
return {
|
|
27
27
|
name: norm,
|
|
@@ -33,9 +33,9 @@ import { useDependencies } from "../../framework/hooks/use-dependencies.js";
|
|
|
33
33
|
import { resolveReference } from "../../framework/reference.js";
|
|
34
34
|
import { refkey } from "../../framework/refkey.js";
|
|
35
35
|
import { reportDiagnostic } from "../../lib.js";
|
|
36
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
37
36
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
38
37
|
import { isAzureCoreErrorType } from "../../utils/model-utils.js";
|
|
38
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
39
39
|
import {
|
|
40
40
|
getCollectionFormatFromArrayEncoding,
|
|
41
41
|
getCollectionFormatHelper,
|
|
@@ -213,11 +213,11 @@ export function getDeserializePrivateFunction(
|
|
|
213
213
|
};
|
|
214
214
|
} else if (response.type) {
|
|
215
215
|
// When response.optional is true, some HTTP responses have no body (e.g. 204), so
|
|
216
|
-
// the return type must include
|
|
216
|
+
// the return type must include void to reflect that possibility.
|
|
217
217
|
const baseType = getTypeExpression(context, response.type);
|
|
218
218
|
returnType = {
|
|
219
219
|
name: (response as any).name ?? "",
|
|
220
|
-
type: response.optional ? `${baseType} |
|
|
220
|
+
type: response.optional ? `${baseType} | void` : baseType,
|
|
221
221
|
};
|
|
222
222
|
} else if (isHeadAsBooleanOperation(operation)) {
|
|
223
223
|
returnType = { name: "", type: "boolean" };
|
|
@@ -405,15 +405,15 @@ export function getDeserializePrivateFunction(
|
|
|
405
405
|
}
|
|
406
406
|
if (deserializeFunctionName) {
|
|
407
407
|
if (needsBodyGuard) {
|
|
408
|
-
// Use ternary form: return result.body ? deserializer(result.body) : undefined
|
|
409
408
|
statements.push(
|
|
410
|
-
`
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
statements.push(
|
|
414
|
-
`return ${deserializeFunctionName}(${deserializedRoot})${multipartCastSuffix}`,
|
|
409
|
+
`if (!${deserializedRoot}) {
|
|
410
|
+
return;
|
|
411
|
+
}`,
|
|
415
412
|
);
|
|
416
413
|
}
|
|
414
|
+
statements.push(
|
|
415
|
+
`return ${deserializeFunctionName}(${deserializedRoot})${multipartCastSuffix}`,
|
|
416
|
+
);
|
|
417
417
|
} else if (isAzureCoreErrorType(context.program, deserializedType.__raw)) {
|
|
418
418
|
statements.push(`return ${deserializedRoot}${multipartCastSuffix}`);
|
|
419
419
|
} else if (isHeadAsBooleanOperation(operation)) {
|
|
@@ -464,8 +464,8 @@ export function getDeserializeHeadersPrivateFunction(
|
|
|
464
464
|
operation: ServiceOperation,
|
|
465
465
|
): OptionalKind<FunctionDeclarationStructure> | undefined {
|
|
466
466
|
const responseHeaders = getResponseHeaders(operation.operation.responses);
|
|
467
|
-
const isResponseHeadersEnabled = context.
|
|
468
|
-
const isStorageCompatEnabled = context.
|
|
467
|
+
const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
|
|
468
|
+
const isStorageCompatEnabled = context.emitterOptions?.enableStorageCompat === true;
|
|
469
469
|
|
|
470
470
|
// Only generate if headers exist and a relevant feature is enabled
|
|
471
471
|
if (responseHeaders.length === 0 || (!isResponseHeadersEnabled && !isStorageCompatEnabled)) {
|
|
@@ -617,7 +617,7 @@ export function getDeserializeExceptionHeadersPrivateFunction(
|
|
|
617
617
|
context: SdkContext,
|
|
618
618
|
operation: ServiceOperation,
|
|
619
619
|
): OptionalKind<FunctionDeclarationStructure> | undefined {
|
|
620
|
-
const isResponseHeadersEnabled = context.
|
|
620
|
+
const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
|
|
621
621
|
if (!isResponseHeadersEnabled) {
|
|
622
622
|
return undefined;
|
|
623
623
|
}
|
|
@@ -673,7 +673,7 @@ function getExceptionThrowStatement(context: SdkContext, operation: ServiceOpera
|
|
|
673
673
|
const { customized, defaultDeserializer, defaultXmlDeserializer, defaultIsXmlOnly } =
|
|
674
674
|
getExceptionDetails(context, operation);
|
|
675
675
|
|
|
676
|
-
const isResponseHeadersEnabled = context.
|
|
676
|
+
const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
|
|
677
677
|
|
|
678
678
|
// Check if exception headers function exists and build the call
|
|
679
679
|
const exceptionHeaders = getExceptionResponseHeaders(operation.operation.exceptions);
|
|
@@ -916,8 +916,8 @@ export function getOperationFunction(
|
|
|
916
916
|
const response = operation.response;
|
|
917
917
|
const responseHeaders = getResponseHeaders(operation.operation.responses);
|
|
918
918
|
const hasHeaderOnlyResponse = !response.type && responseHeaders.length > 0;
|
|
919
|
-
const isResponseHeadersEnabled = context.
|
|
920
|
-
const isStorageCompatEnabled = context.
|
|
919
|
+
const isResponseHeadersEnabled = context.emitterOptions?.includeHeadersInResponse === true;
|
|
920
|
+
const isStorageCompatEnabled = context.emitterOptions?.enableStorageCompat === true;
|
|
921
921
|
|
|
922
922
|
// Track the raw body type separately for storage-compat (before header merging)
|
|
923
923
|
const hasResponseBody = !!response.type;
|
|
@@ -949,13 +949,13 @@ export function getOperationFunction(
|
|
|
949
949
|
const baseCompositeType = buildCompositeResponseType(context, type, responseHeaders);
|
|
950
950
|
returnType = {
|
|
951
951
|
name: (type as any).name ?? "",
|
|
952
|
-
type: response.optional ? `${baseCompositeType} |
|
|
952
|
+
type: response.optional ? `${baseCompositeType} | void` : baseCompositeType,
|
|
953
953
|
};
|
|
954
954
|
} else {
|
|
955
955
|
const baseType = getTypeExpression(context, type!);
|
|
956
956
|
returnType = {
|
|
957
957
|
name: (type as any).name ?? "",
|
|
958
|
-
type: response.optional ? `${baseType} |
|
|
958
|
+
type: response.optional ? `${baseType} | void` : baseType,
|
|
959
959
|
};
|
|
960
960
|
}
|
|
961
961
|
} else if (hasHeaderOnlyResponse && isResponseHeadersEnabled) {
|
|
@@ -1404,7 +1404,7 @@ export function getOperationOptionsName(
|
|
|
1404
1404
|
|
|
1405
1405
|
/**
|
|
1406
1406
|
* This function build the request parameters that we will provide to the
|
|
1407
|
-
*
|
|
1407
|
+
* REST-level request internally. This will translate high-level parameters into the REST-level ones.
|
|
1408
1408
|
* Figuring out what goes in headers, body, path and qsp.
|
|
1409
1409
|
*/
|
|
1410
1410
|
function getHeaderAndBodyParameters(
|
|
@@ -1632,7 +1632,7 @@ export function getParameterMap(
|
|
|
1632
1632
|
// Special case for api-version parameters with default values
|
|
1633
1633
|
if (param.isApiVersionParam && param.clientDefaultValue) {
|
|
1634
1634
|
// For multi-service, use only the default value (don't reference context.apiVersion)
|
|
1635
|
-
if (context.
|
|
1635
|
+
if (context.emitterOptions?.isMultiService) {
|
|
1636
1636
|
return `"${serializedName}": "${param.clientDefaultValue}"`;
|
|
1637
1637
|
}
|
|
1638
1638
|
return `"${serializedName}": ${param.onClient ? "context." : ""}${param.name} ?? "${param.clientDefaultValue}"`;
|
|
@@ -2141,8 +2141,8 @@ export function getRequestModelProperties(
|
|
|
2141
2141
|
|
|
2142
2142
|
/**
|
|
2143
2143
|
*
|
|
2144
|
-
* This function helps translating
|
|
2145
|
-
* extracting properties from body and headers and building the
|
|
2144
|
+
* This function helps translating a high-level request to a REST-level request,
|
|
2145
|
+
* extracting properties from body and headers and building the REST-level request object
|
|
2146
2146
|
*/
|
|
2147
2147
|
export function getRequestModelMapping(
|
|
2148
2148
|
context: SdkContext,
|
|
@@ -2177,8 +2177,8 @@ function getHeaderSerializedName(param: SdkHttpParameter) {
|
|
|
2177
2177
|
}
|
|
2178
2178
|
|
|
2179
2179
|
/**
|
|
2180
|
-
* This function helps translating
|
|
2181
|
-
* extracting properties from body and headers and building the
|
|
2180
|
+
* This function helps translating a REST-level response to a high-level response,
|
|
2181
|
+
* extracting properties from body and headers and building the high-level response object
|
|
2182
2182
|
*/
|
|
2183
2183
|
export function getResponseMapping(
|
|
2184
2184
|
context: SdkContext,
|
|
@@ -2324,7 +2324,7 @@ export function serializeRequestValue(
|
|
|
2324
2324
|
} else if (
|
|
2325
2325
|
isSpecialHandledUnion({
|
|
2326
2326
|
...type,
|
|
2327
|
-
isNonExhaustive: context.
|
|
2327
|
+
isNonExhaustive: context.emitterOptions?.experimentalExtensibleEnums ?? false,
|
|
2328
2328
|
})
|
|
2329
2329
|
) {
|
|
2330
2330
|
const sdkType = getSdkType(type.__raw!);
|
|
@@ -2750,7 +2750,7 @@ function getApiVersionExpression(
|
|
|
2750
2750
|
return undefined;
|
|
2751
2751
|
}
|
|
2752
2752
|
// For multi-service, use only the default value (don't reference context.apiVersion)
|
|
2753
|
-
if (dpgContext.
|
|
2753
|
+
if (dpgContext.emitterOptions?.isMultiService) {
|
|
2754
2754
|
return queryApiVersionParam.clientDefaultValue
|
|
2755
2755
|
? `"${queryApiVersionParam.clientDefaultValue}"`
|
|
2756
2756
|
: undefined;
|
|
@@ -2918,7 +2918,7 @@ export function getOperationResponseTypeName(method: [string[], ServiceOperation
|
|
|
2918
2918
|
function isWrappableType(context: SdkContext, type: SdkType): boolean {
|
|
2919
2919
|
if (type.kind === "array" && type.valueType.kind === "model") return false;
|
|
2920
2920
|
if (type.kind === "dict" || type.kind === "model") return false;
|
|
2921
|
-
if (type.kind === "unknown" && context.
|
|
2921
|
+
if (type.kind === "unknown" && context.emitterOptions?.treatUnknownAsRecord) return false;
|
|
2922
2922
|
return true;
|
|
2923
2923
|
}
|
|
2924
2924
|
|
|
@@ -2952,7 +2952,7 @@ export function checkWrapNonModelReturn(
|
|
|
2952
2952
|
}
|
|
2953
2953
|
|
|
2954
2954
|
// Only if the feature flag is enabled
|
|
2955
|
-
if (!context.
|
|
2955
|
+
if (!context.emitterOptions?.wrapNonModelReturn) {
|
|
2956
2956
|
return noWrap;
|
|
2957
2957
|
}
|
|
2958
2958
|
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
SdkModelType,
|
|
7
7
|
SdkType,
|
|
8
8
|
} from "@azure-tools/typespec-client-generator-core";
|
|
9
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
10
9
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
10
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
11
11
|
import {
|
|
12
12
|
getPropertyWithOverrides,
|
|
13
13
|
ModelOverrideOptions,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ClientOptions } from "../interfaces.js";
|
|
2
2
|
|
|
3
3
|
export interface ModularOptions {
|
|
4
4
|
sourceRoot: string;
|
|
@@ -6,13 +6,13 @@ export interface ModularOptions {
|
|
|
6
6
|
experimentalExtensibleEnums: boolean;
|
|
7
7
|
}
|
|
8
8
|
export interface ModularEmitterOptions {
|
|
9
|
-
options:
|
|
9
|
+
options: ClientOptions;
|
|
10
10
|
modularOptions: ModularOptions;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export interface
|
|
13
|
+
export interface ClientModuleInfo {
|
|
14
14
|
subfolder?: string;
|
|
15
|
-
|
|
15
|
+
clientName: string;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export interface OperationPathAndDeserDetails {
|
|
@@ -13,9 +13,9 @@ import { useContext } from "../../context-manager.js";
|
|
|
13
13
|
import { resolveReference } from "../../framework/reference.js";
|
|
14
14
|
import { refkey } from "../../framework/refkey.js";
|
|
15
15
|
import { reportDiagnostic } from "../../lib.js";
|
|
16
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
17
16
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
18
17
|
import { isAzureCoreErrorType } from "../../utils/model-utils.js";
|
|
18
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
19
19
|
import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
|
|
20
20
|
import {
|
|
21
21
|
getAllAncestors,
|
|
@@ -447,7 +447,7 @@ function getAdditionalPropertiesStatement(
|
|
|
447
447
|
if (typeof deserializerFunction === "string") {
|
|
448
448
|
params.push(deserializerFunction);
|
|
449
449
|
}
|
|
450
|
-
return context.
|
|
450
|
+
return context.emitterOptions?.compatibilityMode === true
|
|
451
451
|
? "...item,"
|
|
452
452
|
: `${getAdditionalPropertiesName(context, type)}: ${resolveReference(SerializationHelpers.serializeRecord)}(${params.join(",")}),`;
|
|
453
453
|
}
|
|
@@ -14,9 +14,9 @@ import { useContext } from "../../context-manager.js";
|
|
|
14
14
|
import { resolveReference } from "../../framework/reference.js";
|
|
15
15
|
import { refkey } from "../../framework/refkey.js";
|
|
16
16
|
import { reportDiagnostic } from "../../lib.js";
|
|
17
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
18
17
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
19
18
|
import { isAzureCoreErrorType } from "../../utils/model-utils.js";
|
|
19
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
20
20
|
import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
|
|
21
21
|
import {
|
|
22
22
|
getAllAncestors,
|
|
@@ -498,7 +498,7 @@ function getAdditionalPropertiesStatement(
|
|
|
498
498
|
params.push("undefined");
|
|
499
499
|
params.push(deserializerFunction);
|
|
500
500
|
}
|
|
501
|
-
return context.
|
|
501
|
+
return context.emitterOptions?.compatibilityMode === true
|
|
502
502
|
? "...item"
|
|
503
503
|
: `...${resolveReference(SerializationHelpers.serializeRecord)}(${params.join(",")})`;
|
|
504
504
|
}
|
|
@@ -16,9 +16,9 @@ import { useDependencies } from "../../framework/hooks/use-dependencies.js";
|
|
|
16
16
|
import { resolveReference } from "../../framework/reference.js";
|
|
17
17
|
import { refkey } from "../../framework/refkey.js";
|
|
18
18
|
import { reportDiagnostic } from "../../lib.js";
|
|
19
|
-
import { NameType } from "../../rlc-common/index.js";
|
|
20
19
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
21
20
|
import { isAzureCoreErrorType } from "../../utils/model-utils.js";
|
|
21
|
+
import { NameType } from "../../utils/name-utils.js";
|
|
22
22
|
import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
|
|
23
23
|
import { getAllAncestors, getAllProperties } from "../helpers/operation-helpers.js";
|
|
24
24
|
import { getAdditionalPropertiesType } from "../helpers/type-helpers.js";
|
|
@@ -19,5 +19,5 @@ export function getEnumExpression(
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export function isExtensibleEnum(context: SdkContext, type: SdkEnumType): boolean {
|
|
22
|
-
return !type.isFixed && context.
|
|
22
|
+
return !type.isFixed && context.emitterOptions?.experimentalExtensibleEnums === true;
|
|
23
23
|
}
|
|
@@ -11,7 +11,7 @@ export function getNullableExpression(
|
|
|
11
11
|
): string {
|
|
12
12
|
if (shouldEmitInline(type, options)) {
|
|
13
13
|
// Check if we should ignore null for optional properties
|
|
14
|
-
const ignoreNullableOnOptional = context.
|
|
14
|
+
const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
|
|
15
15
|
const isOptional = options.isOptional ?? false;
|
|
16
16
|
|
|
17
17
|
const nonNullableType = getTypeExpression(context, type.type, options);
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
SdkServiceResponseHeader,
|
|
5
5
|
SdkType,
|
|
6
6
|
} from "@azure-tools/typespec-client-generator-core";
|
|
7
|
-
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
8
7
|
import { SdkContext } from "../../utils/interfaces.js";
|
|
8
|
+
import { NameType, normalizeName } from "../../utils/name-utils.js";
|
|
9
9
|
import { getCredentialExpression } from "./get-credential-expression.js";
|
|
10
10
|
import { getEnumExpression } from "./get-enum-expression.js";
|
|
11
11
|
import { getModelExpression } from "./get-model-expression.js";
|
|
@@ -22,7 +22,7 @@ export function normalizeModelPropertyName(
|
|
|
22
22
|
property: SdkModelPropertyType | SdkHttpParameter | SdkServiceResponseHeader,
|
|
23
23
|
): string {
|
|
24
24
|
const normalizedPropName = normalizeName(property.name, NameType.Property);
|
|
25
|
-
return context.
|
|
25
|
+
return context.emitterOptions?.ignorePropertyNameNormalize
|
|
26
26
|
? `"${property.name}"`
|
|
27
27
|
: `"${normalizedPropName}"`;
|
|
28
28
|
}
|
|
@@ -40,7 +40,7 @@ export function getTypeExpression(
|
|
|
40
40
|
case "enum":
|
|
41
41
|
return getEnumExpression(context, type);
|
|
42
42
|
case "unknown":
|
|
43
|
-
return context.
|
|
43
|
+
return context.emitterOptions?.treatUnknownAsRecord ? "Record<string, unknown>" : "any";
|
|
44
44
|
case "boolean":
|
|
45
45
|
return "boolean";
|
|
46
46
|
case "decimal":
|