@azure-tools/typespec-ts 0.55.0-dev.9 → 0.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +24 -19
- 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 +12 -2
- package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -1
- package/dist/src/framework/hooks/sdk-types.js +17 -3
- 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 +17 -5
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +24 -17
- 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/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.js +1 -1
- 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 +13 -13
- 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 +51 -30
- 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 +97 -24
- 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 +6 -1
- package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/client-helpers.js +18 -14
- 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/serialization/serialize-utils.js +2 -2
- package/dist/src/modular/serialization/serialize-utils.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 +41 -49
- package/src/context-manager.ts +25 -2
- package/src/framework/declaration.ts +8 -20
- package/src/framework/hooks/sdk-types.ts +18 -3
- 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 +43 -23
- 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/{rlc-common/metadata → metadata}/package-json/build-azure-monorepo-package.ts +1 -1
- 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 +13 -17
- 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 +52 -31
- package/src/modular/emit-samples.ts +124 -43
- 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 +19 -16
- 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/serialization/serialize-utils.ts +2 -2
- 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/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/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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { joinPaths } from "@typespec/compiler";
|
|
2
2
|
import { useContext } from "../context-manager.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { getClientModuleInfo } from "../utils/client-utils.js";
|
|
4
|
+
import { NameType, normalizeName } from "../utils/name-utils.js";
|
|
5
5
|
import { getMethodHierarchiesMap } from "../utils/operation-util.js";
|
|
6
6
|
import { buildOperationOptions } from "./build-operations.js";
|
|
7
7
|
// ====== UTILITIES ======
|
|
@@ -9,7 +9,7 @@ export function buildApiOptions(context, clientMap, emitterOptions) {
|
|
|
9
9
|
const project = useContext("outputProject");
|
|
10
10
|
const [_, client] = clientMap;
|
|
11
11
|
const modelOptionsFiles = [];
|
|
12
|
-
const { subfolder } =
|
|
12
|
+
const { subfolder } = getClientModuleInfo(clientMap);
|
|
13
13
|
const methodMap = getMethodHierarchiesMap(context, client);
|
|
14
14
|
for (const [prefixKey, operations] of methodMap) {
|
|
15
15
|
const prefixes = prefixKey.split("/");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-models-options.js","sourceRoot":"","sources":["../../../src/modular/emit-models-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"emit-models-options.js","sourceRoot":"","sources":["../../../src/modular/emit-models-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,0BAA0B;AAE1B,MAAM,UAAU,eAAe,CAC7B,OAAmB,EACnB,SAAyD,EACzD,cAAqC;IAErC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9B,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAC/C,SAAS,CACP,cAAc,CAAC,cAAc,CAAC,UAAU,EACxC,SAAS,IAAI,EAAE,EACf,KAAK,EACL,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,EACvD,YAAY,CACb,EACD,SAAS,EACT;YACE,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;QACF,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACvB,qBAAqB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,gBAAgB;aACb,qBAAqB,EAAE;aACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACb,OAAO,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzF,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACV,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACL,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SdkArrayType, SdkDictionaryType, SdkEnumType, SdkModelType, SdkNullableType, SdkType, SdkUnionType } from "@azure-tools/typespec-client-generator-core";
|
|
2
2
|
import { EnumDeclarationStructure, SourceFile, TypeAliasDeclarationStructure } from "ts-morph";
|
|
3
|
-
import { NameType } from "../rlc-common/index.js";
|
|
4
3
|
import { SdkContext } from "../utils/interfaces.js";
|
|
4
|
+
import { NameType } from "../utils/name-utils.js";
|
|
5
5
|
export declare function emitTypes(context: SdkContext, { sourceRoot }: {
|
|
6
6
|
sourceRoot: string;
|
|
7
7
|
}): SourceFile[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAKX,YAAY,EACZ,eAAe,EAGf,OAAO,EACP,YAAY,EAEb,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,wBAAwB,EAKxB,UAAU,EAEV,6BAA6B,EAC9B,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-models.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EAEZ,iBAAiB,EACjB,WAAW,EAKX,YAAY,EACZ,eAAe,EAGf,OAAO,EACP,YAAY,EAEb,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,wBAAwB,EAKxB,UAAU,EAEV,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAsBlB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAoB,QAAQ,EAAiB,MAAM,wBAAwB,CAAC;AA8DnF,wBAAgB,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,gBAqDpF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,QA0BvC;AA6FD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,2BAYpD;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,GAAE,MAAM,EAAO,GAAG,MAAM,CASvF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAiChF;AA0KD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,WAAW,EACjB,0BAA0B,UAAQ,GACjC,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,CA8B3D;AAkPD,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAK5F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,UAAU,EACnB,IAAI,EACA,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,eAAe,EACnB,QAAQ,GAAE,QAA6B,EACvC,0BAA0B,UAAQ,EAClC,YAAY,CAAC,EAAE,OAAO,GACrB,MAAM,CAkCR;AAkFD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,QAwBpD"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { isPagedResultModel, isReadOnly, listAllServiceNamespaces, UsageFlags, } from "@azure-tools/typespec-client-generator-core";
|
|
2
2
|
import { StructureKind, } from "ts-morph";
|
|
3
|
-
import { fixLeadingNumber, NameType, normalizeName } from "../rlc-common/index.js";
|
|
4
3
|
// import { isKey } from "@typespec/compiler";
|
|
5
4
|
import { getExternalModel, getModelExpression, getMultipartFileTypeExpression, } from "./type-expressions/get-model-expression.js";
|
|
6
5
|
import { getNamespaceFullName, joinPaths, NoTarget } from "@typespec/compiler";
|
|
7
6
|
import { isMetadata, isOrExtendsHttpFile, Visibility } from "@typespec/http";
|
|
8
7
|
import { useContext } from "../context-manager.js";
|
|
9
8
|
import { addDeclaration } from "../framework/declaration.js";
|
|
10
|
-
import { emitQueue, flattenPropertyModelMap, getAllOperationsFromClient,
|
|
9
|
+
import { emitQueue, flattenPropertyModelMap, getAllOperationsFromClient, pagedModelsKeptPublic, } from "../framework/hooks/sdk-types.js";
|
|
11
10
|
import { refkey } from "../framework/refkey.js";
|
|
11
|
+
import { beginSourceFileBatch, flushSourceFileBatch } from "../framework/source-file-batch.js";
|
|
12
12
|
import { reportDiagnostic } from "../lib.js";
|
|
13
13
|
import { getClientHierarchyMap } from "../utils/client-utils.js";
|
|
14
14
|
import { isAzureCoreErrorType } from "../utils/model-utils.js";
|
|
15
|
+
import { fixLeadingNumber, NameType, normalizeName } from "../utils/name-utils.js";
|
|
15
16
|
import { getMethodHierarchiesMap } from "../utils/operation-util.js";
|
|
16
17
|
import { getHeaderClientOptions } from "./helpers/client-option-helpers.js";
|
|
17
18
|
import { buildNonModelResponseTypeDeclaration, checkWrapNonModelReturn, getAllAncestors, getAllProperties, } from "./helpers/operation-helpers.js";
|
|
@@ -36,30 +37,36 @@ function isGenerableType(type) {
|
|
|
36
37
|
export function emitTypes(context, { sourceRoot }) {
|
|
37
38
|
const outputProject = useContext("outputProject");
|
|
38
39
|
let sourceFile;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
sourceFile = outputProject.
|
|
48
|
-
sourceFile
|
|
40
|
+
beginSourceFileBatch();
|
|
41
|
+
try {
|
|
42
|
+
for (const type of emitQueue) {
|
|
43
|
+
if (!isGenerableType(type)) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const namespaces = getModelNamespaces(context, type);
|
|
47
|
+
const filepath = getModelsPath(sourceRoot, namespaces);
|
|
48
|
+
sourceFile = outputProject.getSourceFile(filepath);
|
|
49
|
+
if (!sourceFile) {
|
|
50
|
+
sourceFile = outputProject.createSourceFile(filepath);
|
|
51
|
+
sourceFile.addStatements(`/*
|
|
49
52
|
* This file contains only generated model types and their (de)serializers.
|
|
50
53
|
* Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.
|
|
51
54
|
*/
|
|
52
55
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
53
56
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */`);
|
|
57
|
+
}
|
|
58
|
+
emitType(context, type, sourceFile);
|
|
59
|
+
}
|
|
60
|
+
// Emit serialization/deserialization functions for flattened properties
|
|
61
|
+
for (const [property, _] of flattenPropertyModelMap) {
|
|
62
|
+
const namespaces = getModelNamespaces(context, property.type);
|
|
63
|
+
const filepath = getModelsPath(sourceRoot, namespaces);
|
|
64
|
+
sourceFile = outputProject.getSourceFile(filepath);
|
|
65
|
+
addSerializationFunctions(context, property, sourceFile);
|
|
54
66
|
}
|
|
55
|
-
emitType(context, type, sourceFile);
|
|
56
67
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const namespaces = getModelNamespaces(context, property.type);
|
|
60
|
-
const filepath = getModelsPath(sourceRoot, namespaces);
|
|
61
|
-
sourceFile = outputProject.getSourceFile(filepath);
|
|
62
|
-
addSerializationFunctions(context, property, sourceFile);
|
|
68
|
+
finally {
|
|
69
|
+
flushSourceFileBatch();
|
|
63
70
|
}
|
|
64
71
|
const modelFiles = outputProject.getSourceFiles(sourceRoot + "/models/**/*.ts");
|
|
65
72
|
const result = [];
|
|
@@ -148,7 +155,7 @@ function emitType(context, type, sourceFile) {
|
|
|
148
155
|
}
|
|
149
156
|
const apiVersionEnumOnly = type.usage === UsageFlags.ApiVersionEnum;
|
|
150
157
|
// Skip known api version enums for multi-service scenarios as users are not allowed to set api versions
|
|
151
|
-
if (apiVersionEnumOnly && context.
|
|
158
|
+
if (apiVersionEnumOnly && context.emitterOptions?.isMultiService) {
|
|
152
159
|
return;
|
|
153
160
|
}
|
|
154
161
|
const inputUsage = (type.usage & UsageFlags.Input) === UsageFlags.Input;
|
|
@@ -193,7 +200,7 @@ function emitType(context, type, sourceFile) {
|
|
|
193
200
|
}
|
|
194
201
|
export function getApiVersionEnum(context) {
|
|
195
202
|
// Skip api version enum for multi-service scenarios since each service may have different versions
|
|
196
|
-
if (context.
|
|
203
|
+
if (context.emitterOptions?.isMultiService) {
|
|
197
204
|
return;
|
|
198
205
|
}
|
|
199
206
|
const apiVersionEnum = context.sdkPackage.enums.find((e) => e.usage === UsageFlags.ApiVersionEnum);
|
|
@@ -221,7 +228,7 @@ export function getModelNamespaces(context, model) {
|
|
|
221
228
|
}
|
|
222
229
|
const segments = model.namespace.split(".");
|
|
223
230
|
// Keep full namespace segments if multiple services are present because there isn't a root namespace to trim
|
|
224
|
-
if (context.
|
|
231
|
+
if (context.emitterOptions?.isMultiService) {
|
|
225
232
|
return segments;
|
|
226
233
|
}
|
|
227
234
|
const allServiceNamespaces = context.allServiceNamespaces ?? listAllServiceNamespaces(context);
|
|
@@ -438,7 +445,7 @@ function deduplicateEnumMemberNames(members) {
|
|
|
438
445
|
function emitEnumMember(context, member, reportMemberNameDiagnostic = false) {
|
|
439
446
|
const shouldNormalizeName = !member.name.startsWith("$DO_NOT_NORMALIZE$");
|
|
440
447
|
const enumTypeName = normalizeName(member.enumType.name, NameType.Interface, true);
|
|
441
|
-
let normalizedMemberName = context.
|
|
448
|
+
let normalizedMemberName = context.emitterOptions?.ignoreEnumMemberNameNormalize
|
|
442
449
|
? fixLeadingNumber(member.name, NameType.EnumMemberName) // need to fix the leading number also for enum member
|
|
443
450
|
: normalizeName(member.name, NameType.EnumMemberName, true);
|
|
444
451
|
// If the member name starts with _ due to a leading digit (not because the original has _),
|
|
@@ -555,7 +562,7 @@ function addExtendedDictInfo(context, model, modelInterface) {
|
|
|
555
562
|
const additionalPropertiesType = model.additionalProperties
|
|
556
563
|
? getTypeExpression(context, model.additionalProperties)
|
|
557
564
|
: undefined;
|
|
558
|
-
if (context.
|
|
565
|
+
if (context.emitterOptions?.compatibilityMode) {
|
|
559
566
|
const ancestors = getAllAncestors(model);
|
|
560
567
|
const properties = getAllProperties(context, model, ancestors);
|
|
561
568
|
let anyType;
|
|
@@ -637,9 +644,8 @@ export function normalizeModelName(context, type, nameType = NameType.Interface,
|
|
|
637
644
|
unionSuffix = "Union";
|
|
638
645
|
}
|
|
639
646
|
}
|
|
640
|
-
const namespacePrefix = context.
|
|
641
|
-
const internalModelPrefix = (isPagedResultModel(context, type) && !
|
|
642
|
-
type.isGeneratedName
|
|
647
|
+
const namespacePrefix = context.emitterOptions?.enableModelNamespace ? segments.join("") : "";
|
|
648
|
+
const internalModelPrefix = (isPagedResultModel(context, type) && !pagedModelsKeptPublic.has(type)) || type.isGeneratedName
|
|
643
649
|
? "_"
|
|
644
650
|
: "";
|
|
645
651
|
return `${internalModelPrefix}${normalizeName(namespacePrefix + type.name, nameType, true)}${unionSuffix}`;
|
|
@@ -671,7 +677,7 @@ function buildModelPolymorphicType(context, type) {
|
|
|
671
677
|
}
|
|
672
678
|
function buildModelProperty(context, property, model) {
|
|
673
679
|
const normalizedPropName = normalizeModelPropertyName(context, property);
|
|
674
|
-
if (!context.
|
|
680
|
+
if (!context.emitterOptions?.ignorePropertyNameNormalize &&
|
|
675
681
|
normalizedPropName !== `"${property.name}"`) {
|
|
676
682
|
reportDiagnostic(context.program, {
|
|
677
683
|
code: "property-name-normalized",
|
|
@@ -714,7 +720,7 @@ export function visitPackageTypes(context) {
|
|
|
714
720
|
const { sdkPackage } = context;
|
|
715
721
|
emitQueue.clear();
|
|
716
722
|
flattenPropertyModelMap.clear();
|
|
717
|
-
|
|
723
|
+
pagedModelsKeptPublic.clear();
|
|
718
724
|
// Add all models in the package to the emit queue
|
|
719
725
|
for (const model of sdkPackage.models) {
|
|
720
726
|
visitType(context, model);
|
|
@@ -786,7 +792,18 @@ function trackPagedModelInNonPagingMethod(context, method) {
|
|
|
786
792
|
return;
|
|
787
793
|
const respType = method.response.type;
|
|
788
794
|
if (respType && isPagedResultModel(context, respType)) {
|
|
789
|
-
|
|
795
|
+
pagedModelsKeptPublic.add(respType);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
/**
|
|
799
|
+
* If a paged result model is used as a model property type, mark it so that
|
|
800
|
+
* normalizeModelName keeps it public (no "_" prefix).
|
|
801
|
+
*/
|
|
802
|
+
function trackPagedModelUsedAsProperty(context, type) {
|
|
803
|
+
// Unwrap array types to check the element type
|
|
804
|
+
const resolved = type.kind === "array" ? type.valueType : type;
|
|
805
|
+
if (resolved && isPagedResultModel(context, resolved)) {
|
|
806
|
+
pagedModelsKeptPublic.add(resolved);
|
|
790
807
|
}
|
|
791
808
|
}
|
|
792
809
|
function visitType(context, type) {
|
|
@@ -812,6 +829,10 @@ function visitType(context, type) {
|
|
|
812
829
|
if (property.flatten && property.type.kind === "model") {
|
|
813
830
|
flattenPropertyModelMap.set(property, type);
|
|
814
831
|
}
|
|
832
|
+
// If a paged result model is used as a model property (not as a paging
|
|
833
|
+
// operation response), it must stay public (no "_" prefix) because users
|
|
834
|
+
// interact with it directly through the property.
|
|
835
|
+
trackPagedModelUsedAsProperty(context, property.type);
|
|
815
836
|
}
|
|
816
837
|
if (type.discriminatedSubtypes) {
|
|
817
838
|
for (const subType of Object.values(type.discriminatedSubtypes)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-models.js","sourceRoot":"","sources":["../../../src/modular/emit-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-samples.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-samples.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgC,UAAU,EAAiB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"emit-samples.d.ts","sourceRoot":"","sources":["../../../src/modular/emit-samples.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgC,UAAU,EAAiB,MAAM,UAAU,CAAC;AAOnF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAmCpD;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,EAAE,CAchE"}
|
|
@@ -5,9 +5,9 @@ import { useContext } from "../context-manager.js";
|
|
|
5
5
|
import { resolveReference } from "../framework/reference.js";
|
|
6
6
|
import { reportDiagnostic } from "../index.js";
|
|
7
7
|
import { AzureIdentityDependencies } from "../modular/external-dependencies.js";
|
|
8
|
-
import {
|
|
9
|
-
import { getSubscriptionId } from "../transform/transfrom-rlc-options.js";
|
|
8
|
+
import { getSubscriptionId } from "../transform/transform-client-options.js";
|
|
10
9
|
import { hasKeyCredential, hasTokenCredential } from "../utils/credential-utils.js";
|
|
10
|
+
import { NameType, normalizeName } from "../utils/name-utils.js";
|
|
11
11
|
import { getMethodHierarchiesMap, isTenantLevelOperation, } from "../utils/operation-util.js";
|
|
12
12
|
import { getClientParameterName, getClientParameters, getClientParametersDeclaration, hasDefaultValue, } from "./helpers/client-helpers.js";
|
|
13
13
|
import { getClassicalClientName } from "./helpers/naming-helpers.js";
|
|
@@ -62,9 +62,9 @@ function emitMethodSamples(dpgContext, method, options) {
|
|
|
62
62
|
});
|
|
63
63
|
const exampleFunctions = [];
|
|
64
64
|
// TODO: remove hard-coded for package
|
|
65
|
-
if (dpgContext.
|
|
65
|
+
if (dpgContext.emitterOptions?.packageDetails?.name) {
|
|
66
66
|
sourceFile.addImportDeclaration({
|
|
67
|
-
moduleSpecifier: dpgContext.
|
|
67
|
+
moduleSpecifier: dpgContext.emitterOptions?.packageDetails?.name,
|
|
68
68
|
namedImports: [getClassicalClientName(options.topLevelClient)],
|
|
69
69
|
});
|
|
70
70
|
}
|
|
@@ -213,11 +213,29 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
|
|
|
213
213
|
}
|
|
214
214
|
let subscriptionIdValue = `"00000000-0000-0000-0000-000000000000"`;
|
|
215
215
|
let isSubscriptionIdAdded = false;
|
|
216
|
-
//
|
|
216
|
+
// Map each HTTP parameter to its method parameter via `methodParameterSegments`
|
|
217
|
+
// and place its example value at that path, yielding one argument per method
|
|
218
|
+
// parameter regardless of flat, nested, or grouped shape. Client- and
|
|
219
|
+
// body-carried roots are emitted by their own sections and skipped here.
|
|
220
|
+
const bodyParam = method.operation.bodyParam;
|
|
221
|
+
let bodyRootName;
|
|
222
|
+
if (bodyParam &&
|
|
223
|
+
!isSpreadBodyParameter(bodyParam) &&
|
|
224
|
+
bodyParam.methodParameterSegments.length === 1 &&
|
|
225
|
+
bodyParam.methodParameterSegments[0] !== undefined &&
|
|
226
|
+
bodyParam.methodParameterSegments[0].length >= 1) {
|
|
227
|
+
bodyRootName = bodyParam.methodParameterSegments[0][0].name;
|
|
228
|
+
}
|
|
229
|
+
const methodArguments = new Map();
|
|
217
230
|
for (const param of method.operation.parameters) {
|
|
218
|
-
if (param.
|
|
231
|
+
if (param.type.kind === "constant" || param.clientDefaultValue) {
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
234
|
+
const path = param.methodParameterSegments[0];
|
|
235
|
+
if (path === undefined || path.length === 0) {
|
|
219
236
|
continue;
|
|
220
237
|
}
|
|
238
|
+
const root = path[0];
|
|
221
239
|
const exampleValue = parameterMap[param.serializedName];
|
|
222
240
|
// Handle subscriptionId parameter separately for ARM clients
|
|
223
241
|
// Add it as long as it's the parameter of the method, even no example provided
|
|
@@ -229,19 +247,25 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
|
|
|
229
247
|
result.push(prepareExampleValue(dpgContext, param.name, subscriptionIdValue, param.optional, param.onClient));
|
|
230
248
|
continue;
|
|
231
249
|
}
|
|
250
|
+
// Roots emitted by the client and body sections.
|
|
251
|
+
if (root.onClient || (bodyRootName !== undefined && root.name === bodyRootName)) {
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
232
254
|
if (!exampleValue || !exampleValue.value) {
|
|
233
255
|
// report diagnostic if required parameter is missing
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
256
|
+
if (path.length === 1 && !param.optional) {
|
|
257
|
+
reportDiagnostic(dpgContext.program, {
|
|
258
|
+
code: "required-sample-parameter",
|
|
259
|
+
format: {
|
|
260
|
+
exampleName: method.oriName ?? method.name,
|
|
261
|
+
paramName: param.name,
|
|
262
|
+
},
|
|
263
|
+
target: NoTarget,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
242
266
|
continue;
|
|
243
267
|
}
|
|
244
|
-
|
|
268
|
+
placeMethodArgument(methodArguments, path, getParameterValue(dpgContext, exampleValue.value));
|
|
245
269
|
}
|
|
246
270
|
// If client-level subscriptionId is needed on the client for this method, then add it
|
|
247
271
|
// For example, Operations_List
|
|
@@ -252,7 +276,6 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
|
|
|
252
276
|
result.push(prepareExampleValue(dpgContext, "subscriptionId", subscriptionIdValue, false, true));
|
|
253
277
|
}
|
|
254
278
|
// required/optional body parameters
|
|
255
|
-
const bodyParam = method.operation.bodyParam;
|
|
256
279
|
const bodySerializeName = bodyParam?.serializedName;
|
|
257
280
|
const bodyExample = parameterMap[bodySerializeName ?? ""];
|
|
258
281
|
if (bodyParam && bodyExample && bodyExample.value) {
|
|
@@ -293,15 +316,65 @@ function prepareExampleParameters(dpgContext, method, parameterMap, topLevelClie
|
|
|
293
316
|
}
|
|
294
317
|
}
|
|
295
318
|
}
|
|
296
|
-
//
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
.
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
319
|
+
// Emit one argument per top-level method parameter. A normal parameter carries
|
|
320
|
+
// a scalar value; a parameter with nested leaves carries an object literal.
|
|
321
|
+
for (const arg of methodArguments.values()) {
|
|
322
|
+
result.push({
|
|
323
|
+
name: normalizeName(arg.name, NameType.Parameter, true),
|
|
324
|
+
value: serializeNestedValue(arg.value),
|
|
325
|
+
isOptional: arg.isOptional,
|
|
326
|
+
onClient: false,
|
|
327
|
+
});
|
|
328
|
+
}
|
|
303
329
|
return result;
|
|
304
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Records `leaf` for the method parameter addressed by `path`. `path[0]` is the
|
|
333
|
+
* top-level method parameter (the argument key); a single-segment path stores a
|
|
334
|
+
* scalar, a longer path stores the leaf inside a nested object merged with
|
|
335
|
+
* sibling leaves sharing the same root.
|
|
336
|
+
*/
|
|
337
|
+
function placeMethodArgument(methodArguments, path, leaf) {
|
|
338
|
+
const root = path[0];
|
|
339
|
+
let arg = methodArguments.get(root.name);
|
|
340
|
+
if (!arg) {
|
|
341
|
+
arg = { name: root.name, isOptional: Boolean(root.optional), value: {} };
|
|
342
|
+
methodArguments.set(root.name, arg);
|
|
343
|
+
}
|
|
344
|
+
if (path.length === 1) {
|
|
345
|
+
arg.value = leaf;
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
if (typeof arg.value !== "object") {
|
|
349
|
+
arg.value = {};
|
|
350
|
+
}
|
|
351
|
+
setNestedValue(arg.value, path.slice(1), leaf);
|
|
352
|
+
}
|
|
353
|
+
/** Places `leaf` at `path` (segments after the root), creating intermediate objects as needed. */
|
|
354
|
+
function setNestedValue(root, path, leaf) {
|
|
355
|
+
let node = root;
|
|
356
|
+
for (let i = 0; i < path.length; i++) {
|
|
357
|
+
const key = normalizeName(path[i].name, NameType.Property, true);
|
|
358
|
+
if (i === path.length - 1) {
|
|
359
|
+
node[key] = leaf;
|
|
360
|
+
}
|
|
361
|
+
else {
|
|
362
|
+
const existing = node[key];
|
|
363
|
+
if (typeof existing !== "object" || existing === null) {
|
|
364
|
+
node[key] = {};
|
|
365
|
+
}
|
|
366
|
+
node = node[key];
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
/** Serializes a {@link ValueTreeNode} into a TypeScript object literal string. */
|
|
371
|
+
function serializeNestedValue(node) {
|
|
372
|
+
if (typeof node === "string") {
|
|
373
|
+
return node;
|
|
374
|
+
}
|
|
375
|
+
const entries = Object.entries(node).map(([key, value]) => `${key}: ${serializeNestedValue(value)}`);
|
|
376
|
+
return `{ ${entries.join(", ")} }`;
|
|
377
|
+
}
|
|
305
378
|
function getCredentialExampleValue(_dpgContext, initialization) {
|
|
306
379
|
const keyCredential = hasKeyCredential(initialization), tokenCredential = hasTokenCredential(initialization);
|
|
307
380
|
const defaultSetting = {
|
|
@@ -353,7 +426,7 @@ function getParameterValue(context, value, options) {
|
|
|
353
426
|
retValue = `${JSON.stringify(value.value)}`;
|
|
354
427
|
break;
|
|
355
428
|
case "null": {
|
|
356
|
-
const ignoreNullableOnOptional = context.
|
|
429
|
+
const ignoreNullableOnOptional = context.emitterOptions?.ignoreNullableOnOptional ?? false;
|
|
357
430
|
if (ignoreNullableOnOptional) {
|
|
358
431
|
// When ignore-nullable-on-optional is true, the TypeScript type won't include
|
|
359
432
|
// | null for optional properties, so we convert null to a type-appropriate default
|