@azure-tools/typespec-ts 0.54.1 → 0.55.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/context-manager.d.ts +75 -0
- package/dist/src/context-manager.d.ts.map +1 -0
- package/dist/src/context-manager.js +59 -0
- package/dist/src/context-manager.js.map +1 -0
- package/dist/src/framework/hooks/binder.js +3 -3
- package/dist/src/framework/hooks/binder.js.map +1 -1
- package/dist/src/framework/hooks/sdk-types.d.ts +26 -0
- package/dist/src/framework/hooks/sdk-types.d.ts.map +1 -0
- package/dist/src/framework/hooks/sdk-types.js +157 -0
- package/dist/src/framework/hooks/sdk-types.js.map +1 -0
- package/dist/src/framework/hooks/use-dependencies.d.ts +4 -0
- package/dist/src/framework/hooks/use-dependencies.d.ts.map +1 -0
- package/dist/src/framework/hooks/use-dependencies.js +13 -0
- package/dist/src/framework/hooks/use-dependencies.js.map +1 -0
- package/dist/src/index.js +23 -23
- package/dist/src/index.js.map +1 -1
- package/dist/src/meta-tree.d.ts +7 -0
- package/dist/src/meta-tree.d.ts.map +1 -0
- package/dist/src/meta-tree.js +2 -0
- package/dist/src/meta-tree.js.map +1 -0
- package/dist/src/modular/build-classical-client.d.ts +6 -0
- package/dist/src/modular/build-classical-client.d.ts.map +1 -0
- package/dist/src/modular/build-classical-client.js +345 -0
- package/dist/src/modular/build-classical-client.js.map +1 -0
- package/dist/src/modular/build-classical-operation-groups.d.ts +6 -0
- package/dist/src/modular/build-classical-operation-groups.d.ts.map +1 -0
- package/dist/src/modular/build-classical-operation-groups.js +48 -0
- package/dist/src/modular/build-classical-operation-groups.js.map +1 -0
- package/dist/src/modular/build-client-context.d.ts +13 -0
- package/dist/src/modular/build-client-context.d.ts.map +1 -0
- package/dist/src/modular/build-client-context.js +246 -0
- package/dist/src/modular/build-client-context.js.map +1 -0
- package/dist/src/modular/build-modular-options.d.ts +6 -0
- package/dist/src/modular/build-modular-options.d.ts.map +1 -0
- package/dist/src/modular/build-modular-options.js +14 -0
- package/dist/src/modular/build-modular-options.js.map +1 -0
- package/dist/src/modular/build-operations.d.ts +21 -0
- package/dist/src/modular/build-operations.d.ts.map +1 -0
- package/dist/src/modular/build-operations.js +172 -0
- package/dist/src/modular/build-operations.js.map +1 -0
- package/dist/src/modular/build-project-files.d.ts +4 -0
- package/dist/src/modular/build-project-files.d.ts.map +1 -0
- package/dist/src/modular/build-project-files.js +91 -0
- package/dist/src/modular/build-project-files.js.map +1 -0
- package/dist/src/modular/build-restore-poller.d.ts +5 -0
- package/dist/src/modular/build-restore-poller.d.ts.map +1 -0
- package/dist/src/modular/build-restore-poller.js +216 -0
- package/dist/src/modular/build-restore-poller.js.map +1 -0
- package/dist/src/modular/build-root-index.d.ts +13 -0
- package/dist/src/modular/build-root-index.d.ts.map +1 -0
- package/dist/src/modular/build-root-index.js +279 -0
- package/dist/src/modular/build-root-index.js.map +1 -0
- package/dist/src/modular/build-subpath-index.d.ts +16 -0
- package/dist/src/modular/build-subpath-index.d.ts.map +1 -0
- package/dist/src/modular/build-subpath-index.js +119 -0
- package/dist/src/modular/build-subpath-index.js.map +1 -0
- package/dist/src/modular/emit-logger-file.d.ts +3 -0
- package/dist/src/modular/emit-logger-file.d.ts.map +1 -0
- package/dist/src/modular/emit-logger-file.js +18 -0
- package/dist/src/modular/emit-logger-file.js.map +1 -0
- package/dist/src/modular/emit-models-options.d.ts +5 -0
- package/dist/src/modular/emit-models-options.d.ts.map +1 -0
- package/dist/src/modular/emit-models-options.js +35 -0
- package/dist/src/modular/emit-models-options.js.map +1 -0
- package/dist/src/modular/emit-models.d.ts +23 -0
- package/dist/src/modular/emit-models.d.ts.map +1 -0
- package/dist/src/modular/emit-models.js +850 -0
- package/dist/src/modular/emit-models.js.map +1 -0
- package/dist/src/modular/emit-samples.d.ts +7 -0
- package/dist/src/modular/emit-samples.d.ts.map +1 -0
- package/dist/src/modular/emit-samples.js +500 -0
- package/dist/src/modular/emit-samples.js.map +1 -0
- package/dist/src/modular/emit-tests.d.ts +7 -0
- package/dist/src/modular/emit-tests.d.ts.map +1 -0
- package/dist/src/modular/emit-tests.js +155 -0
- package/dist/src/modular/emit-tests.js.map +1 -0
- package/dist/src/modular/helpers/classical-operation-helpers.d.ts +7 -0
- package/dist/src/modular/helpers/classical-operation-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/classical-operation-helpers.js +258 -0
- package/dist/src/modular/helpers/classical-operation-helpers.js.map +1 -0
- package/dist/src/modular/helpers/client-helpers.d.ts +34 -0
- package/dist/src/modular/helpers/client-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/client-helpers.js +259 -0
- package/dist/src/modular/helpers/client-helpers.js.map +1 -0
- package/dist/src/modular/helpers/client-option-helpers.d.ts +43 -0
- package/dist/src/modular/helpers/client-option-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/client-option-helpers.js +103 -0
- package/dist/src/modular/helpers/client-option-helpers.js.map +1 -0
- package/dist/src/modular/helpers/docs-helpers.d.ts +3 -0
- package/dist/src/modular/helpers/docs-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/docs-helpers.js +10 -0
- package/dist/src/modular/helpers/docs-helpers.js.map +1 -0
- package/dist/src/modular/helpers/example-value-helpers.d.ts +83 -0
- package/dist/src/modular/helpers/example-value-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/example-value-helpers.js +639 -0
- package/dist/src/modular/helpers/example-value-helpers.js.map +1 -0
- package/dist/src/modular/helpers/naming-helpers.d.ts +22 -0
- package/dist/src/modular/helpers/naming-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/naming-helpers.js +59 -0
- package/dist/src/modular/helpers/naming-helpers.js.map +1 -0
- package/dist/src/modular/helpers/operation-helpers.d.ts +105 -0
- package/dist/src/modular/helpers/operation-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/operation-helpers.js +2328 -0
- package/dist/src/modular/helpers/operation-helpers.js.map +1 -0
- package/dist/src/modular/helpers/type-helpers.d.ts +22 -0
- package/dist/src/modular/helpers/type-helpers.d.ts.map +1 -0
- package/dist/src/modular/helpers/type-helpers.js +94 -0
- package/dist/src/modular/helpers/type-helpers.js.map +1 -0
- package/dist/src/modular/serialization/build-deserializer-function.d.ts +7 -0
- package/dist/src/modular/serialization/build-deserializer-function.d.ts.map +1 -0
- package/dist/src/modular/serialization/build-deserializer-function.js +401 -0
- package/dist/src/modular/serialization/build-deserializer-function.js.map +1 -0
- package/dist/src/modular/serialization/build-serializer-function.d.ts +7 -0
- package/dist/src/modular/serialization/build-serializer-function.d.ts.map +1 -0
- package/dist/src/modular/serialization/build-serializer-function.js +442 -0
- package/dist/src/modular/serialization/build-serializer-function.js.map +1 -0
- package/dist/src/modular/serialization/build-xml-serializer-function.d.ts +44 -0
- package/dist/src/modular/serialization/build-xml-serializer-function.d.ts.map +1 -0
- package/dist/src/modular/serialization/build-xml-serializer-function.js +729 -0
- package/dist/src/modular/serialization/build-xml-serializer-function.js.map +1 -0
- package/dist/src/modular/serialization/serialize-utils.d.ts +37 -0
- package/dist/src/modular/serialization/serialize-utils.d.ts.map +1 -0
- package/dist/src/modular/serialization/serialize-utils.js +145 -0
- package/dist/src/modular/serialization/serialize-utils.js.map +1 -0
- package/dist/src/modular/type-expressions/get-credential-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-credential-expression.js.map +1 -1
- package/dist/src/modular/type-expressions/get-model-expression.js +1 -1
- package/dist/src/modular/type-expressions/get-model-expression.js.map +1 -1
- package/dist/src/rlc-common/build-client-definitions.d.ts +6 -0
- package/dist/src/rlc-common/build-client-definitions.d.ts.map +1 -0
- package/dist/src/rlc-common/build-client-definitions.js +157 -0
- package/dist/src/rlc-common/build-client-definitions.js.map +1 -0
- package/dist/src/rlc-common/build-client.d.ts +9 -0
- package/dist/src/rlc-common/build-client.d.ts.map +1 -0
- package/dist/src/rlc-common/build-client.js +391 -0
- package/dist/src/rlc-common/build-client.js.map +1 -0
- package/dist/src/rlc-common/build-index-file.d.ts +6 -0
- package/dist/src/rlc-common/build-index-file.d.ts.map +1 -0
- package/dist/src/rlc-common/build-index-file.js +241 -0
- package/dist/src/rlc-common/build-index-file.js.map +1 -0
- package/dist/src/rlc-common/build-is-unexpected-helper.d.ts +6 -0
- package/dist/src/rlc-common/build-is-unexpected-helper.d.ts.map +1 -0
- package/dist/src/rlc-common/build-is-unexpected-helper.js +223 -0
- package/dist/src/rlc-common/build-is-unexpected-helper.js.map +1 -0
- package/dist/src/rlc-common/build-logger.d.ts +6 -0
- package/dist/src/rlc-common/build-logger.d.ts.map +1 -0
- package/dist/src/rlc-common/build-logger.js +31 -0
- package/dist/src/rlc-common/build-logger.js.map +1 -0
- package/dist/src/rlc-common/build-method-shortcuts.d.ts +5 -0
- package/dist/src/rlc-common/build-method-shortcuts.d.ts.map +1 -0
- package/dist/src/rlc-common/build-method-shortcuts.js +54 -0
- package/dist/src/rlc-common/build-method-shortcuts.js.map +1 -0
- package/dist/src/rlc-common/build-object-types.d.ts +29 -0
- package/dist/src/rlc-common/build-object-types.d.ts.map +1 -0
- package/dist/src/rlc-common/build-object-types.js +412 -0
- package/dist/src/rlc-common/build-object-types.js.map +1 -0
- package/dist/src/rlc-common/build-paginate-helper.d.ts +6 -0
- package/dist/src/rlc-common/build-paginate-helper.d.ts.map +1 -0
- package/dist/src/rlc-common/build-paginate-helper.js +27 -0
- package/dist/src/rlc-common/build-paginate-helper.js.map +1 -0
- package/dist/src/rlc-common/build-parameter-types.d.ts +14 -0
- package/dist/src/rlc-common/build-parameter-types.d.ts.map +1 -0
- package/dist/src/rlc-common/build-parameter-types.js +391 -0
- package/dist/src/rlc-common/build-parameter-types.js.map +1 -0
- package/dist/src/rlc-common/build-polling-helper.d.ts +6 -0
- package/dist/src/rlc-common/build-polling-helper.d.ts.map +1 -0
- package/dist/src/rlc-common/build-polling-helper.js +61 -0
- package/dist/src/rlc-common/build-polling-helper.js.map +1 -0
- package/dist/src/rlc-common/build-response-types.d.ts +6 -0
- package/dist/src/rlc-common/build-response-types.d.ts.map +1 -0
- package/dist/src/rlc-common/build-response-types.js +143 -0
- package/dist/src/rlc-common/build-response-types.js.map +1 -0
- package/dist/src/rlc-common/build-samples.d.ts +3 -0
- package/dist/src/rlc-common/build-samples.d.ts.map +1 -0
- package/dist/src/rlc-common/build-samples.js +30 -0
- package/dist/src/rlc-common/build-samples.js.map +1 -0
- package/dist/src/rlc-common/build-schema-type.d.ts +20 -0
- package/dist/src/rlc-common/build-schema-type.d.ts.map +1 -0
- package/dist/src/rlc-common/build-schema-type.js +71 -0
- package/dist/src/rlc-common/build-schema-type.js.map +1 -0
- package/dist/src/rlc-common/build-serialize-helper.d.ts +6 -0
- package/dist/src/rlc-common/build-serialize-helper.d.ts.map +1 -0
- package/dist/src/rlc-common/build-serialize-helper.js +36 -0
- package/dist/src/rlc-common/build-serialize-helper.js.map +1 -0
- package/dist/src/rlc-common/build-top-level-index-file.d.ts +6 -0
- package/dist/src/rlc-common/build-top-level-index-file.d.ts.map +1 -0
- package/dist/src/rlc-common/build-top-level-index-file.js +48 -0
- package/dist/src/rlc-common/build-top-level-index-file.js.map +1 -0
- package/dist/src/rlc-common/helpers/api-version-util.d.ts +17 -0
- package/dist/src/rlc-common/helpers/api-version-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/api-version-util.js +43 -0
- package/dist/src/rlc-common/helpers/api-version-util.js.map +1 -0
- package/dist/src/rlc-common/helpers/imports-util.d.ts +18 -0
- package/dist/src/rlc-common/helpers/imports-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/imports-util.js +164 -0
- package/dist/src/rlc-common/helpers/imports-util.js.map +1 -0
- package/dist/src/rlc-common/helpers/name-constructors.d.ts +42 -0
- package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/name-constructors.js +61 -0
- package/dist/src/rlc-common/helpers/name-constructors.js.map +1 -0
- package/dist/src/rlc-common/helpers/name-utils.d.ts +37 -0
- package/dist/src/rlc-common/helpers/name-utils.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/name-utils.js +240 -0
- package/dist/src/rlc-common/helpers/name-utils.js.map +1 -0
- package/dist/src/rlc-common/helpers/operation-helpers.d.ts +16 -0
- package/dist/src/rlc-common/helpers/operation-helpers.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/operation-helpers.js +104 -0
- package/dist/src/rlc-common/helpers/operation-helpers.js.map +1 -0
- package/dist/src/rlc-common/helpers/package-util.d.ts +7 -0
- package/dist/src/rlc-common/helpers/package-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/package-util.js +10 -0
- package/dist/src/rlc-common/helpers/package-util.js.map +1 -0
- package/dist/src/rlc-common/helpers/path-utils.d.ts +2 -0
- package/dist/src/rlc-common/helpers/path-utils.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/path-utils.js +10 -0
- package/dist/src/rlc-common/helpers/path-utils.js.map +1 -0
- package/dist/src/rlc-common/helpers/schema-helpers.d.ts +10 -0
- package/dist/src/rlc-common/helpers/schema-helpers.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/schema-helpers.js +37 -0
- package/dist/src/rlc-common/helpers/schema-helpers.js.map +1 -0
- package/dist/src/rlc-common/helpers/shortcut-methods.d.ts +4 -0
- package/dist/src/rlc-common/helpers/shortcut-methods.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/shortcut-methods.js +49 -0
- package/dist/src/rlc-common/helpers/shortcut-methods.js.map +1 -0
- package/dist/src/rlc-common/helpers/type-util.d.ts +32 -0
- package/dist/src/rlc-common/helpers/type-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/type-util.js +162 -0
- package/dist/src/rlc-common/helpers/type-util.js.map +1 -0
- package/dist/src/rlc-common/helpers/value-generation-util.d.ts +12 -0
- package/dist/src/rlc-common/helpers/value-generation-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/value-generation-util.js +161 -0
- package/dist/src/rlc-common/helpers/value-generation-util.js.map +1 -0
- package/dist/src/rlc-common/index.d.ts +39 -39
- package/dist/src/rlc-common/index.d.ts.map +1 -1
- package/dist/src/rlc-common/index.js +39 -39
- package/dist/src/rlc-common/index.js.map +1 -1
- package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-api-extractor-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-api-extractor-config.js +55 -0
- package/dist/src/rlc-common/metadata/build-api-extractor-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-changelog-file.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-changelog-file.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-changelog-file.js +25 -0
- package/dist/src/rlc-common/metadata/build-changelog-file.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-es-lint-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-es-lint-config.js +79 -0
- package/dist/src/rlc-common/metadata/build-es-lint-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-license-file.d.ts +5 -0
- package/dist/src/rlc-common/metadata/build-license-file.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-license-file.js +32 -0
- package/dist/src/rlc-common/metadata/build-license-file.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-package-file.d.ts +25 -0
- package/dist/src/rlc-common/metadata/build-package-file.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-package-file.js +197 -0
- package/dist/src/rlc-common/metadata/build-package-file.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-readme-file.d.ts +11 -0
- package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-readme-file.js +418 -0
- package/dist/src/rlc-common/metadata/build-readme-file.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-rollup-config.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-rollup-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-rollup-config.js +140 -0
- package/dist/src/rlc-common/metadata/build-rollup-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-sample-env-file.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-sample-env-file.js +15 -0
- package/dist/src/rlc-common/metadata/build-sample-env-file.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-test-config.d.ts +16 -0
- package/dist/src/rlc-common/metadata/build-test-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-test-config.js +54 -0
- package/dist/src/rlc-common/metadata/build-test-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-ts-config.d.ts +61 -0
- package/dist/src/rlc-common/metadata/build-ts-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-ts-config.js +170 -0
- package/dist/src/rlc-common/metadata/build-ts-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-vitest-config.d.ts +6 -0
- package/dist/src/rlc-common/metadata/build-vitest-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-vitest-config.js +26 -0
- package/dist/src/rlc-common/metadata/build-vitest-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/build-warp-config.d.ts +20 -0
- package/dist/src/rlc-common/metadata/build-warp-config.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/build-warp-config.js +76 -0
- package/dist/src/rlc-common/metadata/build-warp-config.js.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts +51 -0
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.js +121 -0
- package/dist/src/rlc-common/metadata/package-json/azure-package-common.js.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts +242 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js +171 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-monorepo-package.js.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.d.ts +8 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.js +101 -0
- package/dist/src/rlc-common/metadata/package-json/build-azure-standalone-package.js.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.d.ts +57 -0
- package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.js +53 -0
- package/dist/src/rlc-common/metadata/package-json/build-flavorless-package.js.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/package-common.d.ts +64 -0
- package/dist/src/rlc-common/metadata/package-json/package-common.d.ts.map +1 -0
- package/dist/src/rlc-common/metadata/package-json/package-common.js +180 -0
- package/dist/src/rlc-common/metadata/package-json/package-common.js.map +1 -0
- package/dist/src/rlc-common/static/paginate-content.d.ts +2 -0
- package/dist/src/rlc-common/static/paginate-content.d.ts.map +1 -0
- package/dist/src/rlc-common/static/paginate-content.js +345 -0
- package/dist/src/rlc-common/static/paginate-content.js.map +1 -0
- package/dist/src/rlc-common/static/polling-content.d.ts +2 -0
- package/dist/src/rlc-common/static/polling-content.d.ts.map +1 -0
- package/dist/src/rlc-common/static/polling-content.js +225 -0
- package/dist/src/rlc-common/static/polling-content.js.map +1 -0
- package/dist/src/rlc-common/static/sample-template.d.ts +2 -0
- package/dist/src/rlc-common/static/sample-template.d.ts.map +1 -0
- package/dist/src/rlc-common/static/sample-template.js +56 -0
- package/dist/src/rlc-common/static/sample-template.js.map +1 -0
- package/dist/src/rlc-common/static/serialize-helper.d.ts +6 -0
- package/dist/src/rlc-common/static/serialize-helper.d.ts.map +1 -0
- package/dist/src/rlc-common/static/serialize-helper.js +31 -0
- package/dist/src/rlc-common/static/serialize-helper.js.map +1 -0
- package/dist/src/rlc-common/test/build-karma-config.d.ts +6 -0
- package/dist/src/rlc-common/test/build-karma-config.d.ts.map +1 -0
- package/dist/src/rlc-common/test/build-karma-config.js +11 -0
- package/dist/src/rlc-common/test/build-karma-config.js.map +1 -0
- package/dist/src/rlc-common/test/build-recorded-client.d.ts +6 -0
- package/dist/src/rlc-common/test/build-recorded-client.d.ts.map +1 -0
- package/dist/src/rlc-common/test/build-recorded-client.js +17 -0
- package/dist/src/rlc-common/test/build-recorded-client.js.map +1 -0
- package/dist/src/rlc-common/test/build-sample-test.d.ts +6 -0
- package/dist/src/rlc-common/test/build-sample-test.d.ts.map +1 -0
- package/dist/src/rlc-common/test/build-sample-test.js +14 -0
- package/dist/src/rlc-common/test/build-sample-test.js.map +1 -0
- package/dist/src/rlc-common/test/build-snippets.d.ts +6 -0
- package/dist/src/rlc-common/test/build-snippets.d.ts.map +1 -0
- package/dist/src/rlc-common/test/build-snippets.js +26 -0
- package/dist/src/rlc-common/test/build-snippets.js.map +1 -0
- package/dist/src/rlc-common/transform-sample-groups.d.ts +9 -0
- package/dist/src/rlc-common/transform-sample-groups.d.ts.map +1 -0
- package/dist/src/rlc-common/transform-sample-groups.js +313 -0
- package/dist/src/rlc-common/transform-sample-groups.js.map +1 -0
- package/dist/src/transform/transform-api-version-info.d.ts +6 -0
- package/dist/src/transform/transform-api-version-info.d.ts.map +1 -0
- package/dist/src/transform/transform-api-version-info.js +78 -0
- package/dist/src/transform/transform-api-version-info.js.map +1 -0
- package/dist/src/transform/transform-helper-function-details.d.ts +5 -0
- package/dist/src/transform/transform-helper-function-details.d.ts.map +1 -0
- package/dist/src/transform/transform-helper-function-details.js +74 -0
- package/dist/src/transform/transform-helper-function-details.js.map +1 -0
- package/dist/src/transform/transform-parameters.d.ts +14 -0
- package/dist/src/transform/transform-parameters.d.ts.map +1 -0
- package/dist/src/transform/transform-parameters.js +201 -0
- package/dist/src/transform/transform-parameters.js.map +1 -0
- package/dist/src/transform/transform-paths.d.ts +5 -0
- package/dist/src/transform/transform-paths.d.ts.map +1 -0
- package/dist/src/transform/transform-paths.js +102 -0
- package/dist/src/transform/transform-paths.js.map +1 -0
- package/dist/src/transform/transform-responses.d.ts +5 -0
- package/dist/src/transform/transform-responses.d.ts.map +1 -0
- package/dist/src/transform/transform-responses.js +171 -0
- package/dist/src/transform/transform-responses.js.map +1 -0
- package/dist/src/transform/transform-schemas.d.ts +4 -0
- package/dist/src/transform/transform-schemas.d.ts.map +1 -0
- package/dist/src/transform/transform-schemas.js +191 -0
- package/dist/src/transform/transform-schemas.js.map +1 -0
- package/dist/src/transform/transform-telemetry-info.d.ts +4 -0
- package/dist/src/transform/transform-telemetry-info.d.ts.map +1 -0
- package/dist/src/transform/transform-telemetry-info.js +22 -0
- package/dist/src/transform/transform-telemetry-info.js.map +1 -0
- package/dist/src/transform/transform.js +10 -10
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/transform/transfrom-rlc-options.d.ts +14 -0
- package/dist/src/transform/transfrom-rlc-options.d.ts.map +1 -0
- package/dist/src/transform/transfrom-rlc-options.js +369 -0
- package/dist/src/transform/transfrom-rlc-options.js.map +1 -0
- package/dist/src/utils/client-utils.d.ts +10 -0
- package/dist/src/utils/client-utils.d.ts.map +1 -0
- package/dist/src/utils/client-utils.js +124 -0
- package/dist/src/utils/client-utils.js.map +1 -0
- package/dist/src/utils/credential-utils.d.ts +15 -0
- package/dist/src/utils/credential-utils.d.ts.map +1 -0
- package/dist/src/utils/credential-utils.js +68 -0
- package/dist/src/utils/credential-utils.js.map +1 -0
- package/dist/src/utils/cross-language-def.d.ts +6 -0
- package/dist/src/utils/cross-language-def.d.ts.map +1 -0
- package/dist/src/utils/cross-language-def.js +59 -0
- package/dist/src/utils/cross-language-def.js.map +1 -0
- package/dist/src/utils/emit-util.d.ts +5 -0
- package/dist/src/utils/emit-util.d.ts.map +1 -0
- package/dist/src/utils/emit-util.js +71 -0
- package/dist/src/utils/emit-util.js.map +1 -0
- package/dist/src/utils/file-system-utils.d.ts +5 -0
- package/dist/src/utils/file-system-utils.d.ts.map +1 -0
- package/dist/src/utils/file-system-utils.js +59 -0
- package/dist/src/utils/file-system-utils.js.map +1 -0
- package/dist/src/utils/import-helper.d.ts +10 -0
- package/dist/src/utils/import-helper.d.ts.map +1 -0
- package/dist/src/utils/import-helper.js +51 -0
- package/dist/src/utils/import-helper.js.map +1 -0
- package/dist/src/utils/interfaces.d.ts +1 -1
- package/dist/src/utils/interfaces.d.ts.map +1 -1
- package/dist/src/utils/media-types.d.ts +28 -0
- package/dist/src/utils/media-types.d.ts.map +1 -0
- package/dist/src/utils/media-types.js +124 -0
- package/dist/src/utils/media-types.js.map +1 -0
- package/dist/src/utils/model-utils.d.ts +60 -0
- package/dist/src/utils/model-utils.d.ts.map +1 -0
- package/dist/src/utils/model-utils.js +1480 -0
- package/dist/src/utils/model-utils.js.map +1 -0
- package/dist/src/utils/namespace-utils.d.ts +6 -0
- package/dist/src/utils/namespace-utils.d.ts.map +1 -0
- package/dist/src/utils/namespace-utils.js +69 -0
- package/dist/src/utils/namespace-utils.js.map +1 -0
- package/dist/src/utils/operation-util.d.ts +97 -0
- package/dist/src/utils/operation-util.d.ts.map +1 -0
- package/dist/src/utils/operation-util.js +547 -0
- package/dist/src/utils/operation-util.js.map +1 -0
- package/dist/src/utils/parameter-utils.d.ts +9 -0
- package/dist/src/utils/parameter-utils.d.ts.map +1 -0
- package/dist/src/utils/parameter-utils.js +147 -0
- package/dist/src/utils/parameter-utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -29
- package/src/context-manager.ts +101 -0
- package/src/framework/hooks/binder.ts +3 -3
- package/src/framework/hooks/sdk-types.ts +218 -0
- package/src/framework/hooks/use-dependencies.ts +16 -0
- package/src/index.ts +23 -23
- package/src/modular/build-classical-client.ts +434 -0
- package/src/modular/build-classical-operation-groups.ts +69 -0
- package/src/modular/build-client-context.ts +325 -0
- package/src/modular/build-operations.ts +248 -0
- package/src/modular/build-project-files.ts +111 -0
- package/src/modular/build-restore-poller.ts +242 -0
- package/src/modular/build-root-index.ts +407 -0
- package/src/modular/build-subpath-index.ts +152 -0
- package/src/modular/emit-logger-file.ts +23 -0
- package/src/modular/emit-models-options.ts +56 -0
- package/src/modular/emit-models.ts +1081 -0
- package/src/modular/emit-samples.ts +675 -0
- package/src/modular/emit-tests.ts +194 -0
- package/src/modular/helpers/classical-operation-helpers.ts +375 -0
- package/src/modular/helpers/client-helpers.ts +362 -0
- package/src/modular/helpers/example-value-helpers.ts +851 -0
- package/src/modular/helpers/naming-helpers.ts +84 -0
- package/src/modular/helpers/operation-helpers.ts +3035 -0
- package/src/modular/helpers/type-helpers.ts +134 -0
- package/src/modular/serialization/build-deserializer-function.ts +564 -0
- package/src/modular/serialization/build-serializer-function.ts +614 -0
- package/src/modular/serialization/build-xml-serializer-function.ts +951 -0
- package/src/modular/serialization/serialize-utils.ts +217 -0
- package/src/modular/type-expressions/get-credential-expression.ts +1 -1
- package/src/modular/type-expressions/get-model-expression.ts +1 -1
- package/src/rlc-common/build-client-definitions.ts +235 -0
- package/src/rlc-common/build-client.ts +490 -0
- package/src/rlc-common/build-index-file.ts +344 -0
- package/src/rlc-common/build-is-unexpected-helper.ts +248 -0
- package/src/rlc-common/build-logger.ts +43 -0
- package/src/rlc-common/build-method-shortcuts.ts +71 -0
- package/src/rlc-common/build-object-types.ts +603 -0
- package/src/rlc-common/build-paginate-helper.ts +31 -0
- package/src/rlc-common/build-parameter-types.ts +554 -0
- package/src/rlc-common/build-polling-helper.ts +83 -0
- package/src/rlc-common/build-response-types.ts +180 -0
- package/src/rlc-common/build-samples.ts +32 -0
- package/src/rlc-common/build-schema-type.ts +89 -0
- package/src/rlc-common/build-serialize-helper.ts +49 -0
- package/src/rlc-common/build-top-level-index-file.ts +58 -0
- package/src/rlc-common/helpers/name-constructors.ts +110 -0
- package/src/rlc-common/helpers/operation-helpers.ts +138 -0
- package/src/rlc-common/helpers/shortcut-methods.ts +58 -0
- package/src/rlc-common/helpers/value-generation-util.ts +234 -0
- package/src/rlc-common/index.ts +39 -39
- package/src/rlc-common/metadata/build-package-file.ts +242 -0
- package/src/rlc-common/metadata/build-readme-file.ts +515 -0
- package/src/rlc-common/metadata/build-rollup-config.ts +147 -0
- package/src/rlc-common/metadata/package-json/azure-package-common.ts +152 -0
- package/src/rlc-common/metadata/package-json/build-azure-monorepo-package.ts +199 -0
- package/src/rlc-common/metadata/package-json/build-azure-standalone-package.ts +123 -0
- package/src/rlc-common/metadata/package-json/build-flavorless-package.ts +68 -0
- package/src/rlc-common/test/build-snippets.ts +29 -0
- package/src/rlc-common/transform-sample-groups.ts +407 -0
- package/src/transform/transform-api-version-info.ts +103 -0
- package/src/transform/transform-helper-function-details.ts +88 -0
- package/src/transform/transform-parameters.ts +321 -0
- package/src/transform/transform-paths.ts +157 -0
- package/src/transform/transform-responses.ts +237 -0
- package/src/transform/transform-schemas.ts +212 -0
- package/src/transform/transform-telemetry-info.ts +33 -0
- package/src/transform/transform.ts +10 -10
- package/src/transform/transfrom-rlc-options.ts +461 -0
- package/src/utils/cross-language-def.ts +66 -0
- package/src/utils/import-helper.ts +59 -0
- package/src/utils/interfaces.ts +1 -1
- package/src/utils/model-utils.ts +1727 -0
- package/src/utils/operation-util.ts +763 -0
- package/src/utils/parameter-utils.ts +192 -0
- package/static/static-helpers/serialization/serializers.ts +1 -0
- package/dist/src/contextManager.d.ts +0 -75
- package/dist/src/contextManager.d.ts.map +0 -1
- package/dist/src/contextManager.js +0 -59
- package/dist/src/contextManager.js.map +0 -1
- package/dist/src/framework/hooks/sdkTypes.d.ts +0 -26
- package/dist/src/framework/hooks/sdkTypes.d.ts.map +0 -1
- package/dist/src/framework/hooks/sdkTypes.js +0 -157
- package/dist/src/framework/hooks/sdkTypes.js.map +0 -1
- package/dist/src/framework/hooks/useDependencies.d.ts +0 -4
- package/dist/src/framework/hooks/useDependencies.d.ts.map +0 -1
- package/dist/src/framework/hooks/useDependencies.js +0 -13
- package/dist/src/framework/hooks/useDependencies.js.map +0 -1
- package/dist/src/metaTree.d.ts +0 -7
- package/dist/src/metaTree.d.ts.map +0 -1
- package/dist/src/metaTree.js +0 -2
- package/dist/src/metaTree.js.map +0 -1
- package/dist/src/modular/buildClassicalClient.d.ts +0 -6
- package/dist/src/modular/buildClassicalClient.d.ts.map +0 -1
- package/dist/src/modular/buildClassicalClient.js +0 -345
- package/dist/src/modular/buildClassicalClient.js.map +0 -1
- package/dist/src/modular/buildClassicalOperationGroups.d.ts +0 -6
- package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +0 -1
- package/dist/src/modular/buildClassicalOperationGroups.js +0 -48
- package/dist/src/modular/buildClassicalOperationGroups.js.map +0 -1
- package/dist/src/modular/buildClientContext.d.ts +0 -13
- package/dist/src/modular/buildClientContext.d.ts.map +0 -1
- package/dist/src/modular/buildClientContext.js +0 -246
- package/dist/src/modular/buildClientContext.js.map +0 -1
- package/dist/src/modular/buildModularOptions.d.ts +0 -6
- package/dist/src/modular/buildModularOptions.d.ts.map +0 -1
- package/dist/src/modular/buildModularOptions.js +0 -14
- package/dist/src/modular/buildModularOptions.js.map +0 -1
- package/dist/src/modular/buildOperations.d.ts +0 -21
- package/dist/src/modular/buildOperations.d.ts.map +0 -1
- package/dist/src/modular/buildOperations.js +0 -172
- package/dist/src/modular/buildOperations.js.map +0 -1
- package/dist/src/modular/buildProjectFiles.d.ts +0 -4
- package/dist/src/modular/buildProjectFiles.d.ts.map +0 -1
- package/dist/src/modular/buildProjectFiles.js +0 -91
- package/dist/src/modular/buildProjectFiles.js.map +0 -1
- package/dist/src/modular/buildRestorePoller.d.ts +0 -5
- package/dist/src/modular/buildRestorePoller.d.ts.map +0 -1
- package/dist/src/modular/buildRestorePoller.js +0 -216
- package/dist/src/modular/buildRestorePoller.js.map +0 -1
- package/dist/src/modular/buildRootIndex.d.ts +0 -13
- package/dist/src/modular/buildRootIndex.d.ts.map +0 -1
- package/dist/src/modular/buildRootIndex.js +0 -279
- package/dist/src/modular/buildRootIndex.js.map +0 -1
- package/dist/src/modular/buildSubpathIndex.d.ts +0 -16
- package/dist/src/modular/buildSubpathIndex.d.ts.map +0 -1
- package/dist/src/modular/buildSubpathIndex.js +0 -119
- package/dist/src/modular/buildSubpathIndex.js.map +0 -1
- package/dist/src/modular/emitLoggerFile.d.ts +0 -3
- package/dist/src/modular/emitLoggerFile.d.ts.map +0 -1
- package/dist/src/modular/emitLoggerFile.js +0 -18
- package/dist/src/modular/emitLoggerFile.js.map +0 -1
- package/dist/src/modular/emitModels.d.ts +0 -23
- package/dist/src/modular/emitModels.d.ts.map +0 -1
- package/dist/src/modular/emitModels.js +0 -850
- package/dist/src/modular/emitModels.js.map +0 -1
- package/dist/src/modular/emitModelsOptions.d.ts +0 -5
- package/dist/src/modular/emitModelsOptions.d.ts.map +0 -1
- package/dist/src/modular/emitModelsOptions.js +0 -35
- package/dist/src/modular/emitModelsOptions.js.map +0 -1
- package/dist/src/modular/emitSamples.d.ts +0 -7
- package/dist/src/modular/emitSamples.d.ts.map +0 -1
- package/dist/src/modular/emitSamples.js +0 -500
- package/dist/src/modular/emitSamples.js.map +0 -1
- package/dist/src/modular/emitTests.d.ts +0 -7
- package/dist/src/modular/emitTests.d.ts.map +0 -1
- package/dist/src/modular/emitTests.js +0 -155
- package/dist/src/modular/emitTests.js.map +0 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +0 -7
- package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/classicalOperationHelpers.js +0 -258
- package/dist/src/modular/helpers/classicalOperationHelpers.js.map +0 -1
- package/dist/src/modular/helpers/clientHelpers.d.ts +0 -34
- package/dist/src/modular/helpers/clientHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/clientHelpers.js +0 -259
- package/dist/src/modular/helpers/clientHelpers.js.map +0 -1
- package/dist/src/modular/helpers/clientOptionHelpers.d.ts +0 -43
- package/dist/src/modular/helpers/clientOptionHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/clientOptionHelpers.js +0 -103
- package/dist/src/modular/helpers/clientOptionHelpers.js.map +0 -1
- package/dist/src/modular/helpers/docsHelpers.d.ts +0 -3
- package/dist/src/modular/helpers/docsHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/docsHelpers.js +0 -10
- package/dist/src/modular/helpers/docsHelpers.js.map +0 -1
- package/dist/src/modular/helpers/exampleValueHelpers.d.ts +0 -83
- package/dist/src/modular/helpers/exampleValueHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/exampleValueHelpers.js +0 -639
- package/dist/src/modular/helpers/exampleValueHelpers.js.map +0 -1
- package/dist/src/modular/helpers/namingHelpers.d.ts +0 -22
- package/dist/src/modular/helpers/namingHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/namingHelpers.js +0 -59
- package/dist/src/modular/helpers/namingHelpers.js.map +0 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +0 -105
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/operationHelpers.js +0 -2328
- package/dist/src/modular/helpers/operationHelpers.js.map +0 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts +0 -22
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +0 -1
- package/dist/src/modular/helpers/typeHelpers.js +0 -94
- package/dist/src/modular/helpers/typeHelpers.js.map +0 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +0 -7
- package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +0 -1
- package/dist/src/modular/serialization/buildDeserializerFunction.js +0 -401
- package/dist/src/modular/serialization/buildDeserializerFunction.js.map +0 -1
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts +0 -7
- package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +0 -1
- package/dist/src/modular/serialization/buildSerializerFunction.js +0 -444
- package/dist/src/modular/serialization/buildSerializerFunction.js.map +0 -1
- package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts +0 -44
- package/dist/src/modular/serialization/buildXmlSerializerFunction.d.ts.map +0 -1
- package/dist/src/modular/serialization/buildXmlSerializerFunction.js +0 -729
- package/dist/src/modular/serialization/buildXmlSerializerFunction.js.map +0 -1
- package/dist/src/modular/serialization/serializeUtils.d.ts +0 -37
- package/dist/src/modular/serialization/serializeUtils.d.ts.map +0 -1
- package/dist/src/modular/serialization/serializeUtils.js +0 -145
- package/dist/src/modular/serialization/serializeUtils.js.map +0 -1
- package/dist/src/rlc-common/buildClient.d.ts +0 -9
- package/dist/src/rlc-common/buildClient.d.ts.map +0 -1
- package/dist/src/rlc-common/buildClient.js +0 -391
- package/dist/src/rlc-common/buildClient.js.map +0 -1
- package/dist/src/rlc-common/buildClientDefinitions.d.ts +0 -6
- package/dist/src/rlc-common/buildClientDefinitions.d.ts.map +0 -1
- package/dist/src/rlc-common/buildClientDefinitions.js +0 -157
- package/dist/src/rlc-common/buildClientDefinitions.js.map +0 -1
- package/dist/src/rlc-common/buildIndexFile.d.ts +0 -6
- package/dist/src/rlc-common/buildIndexFile.d.ts.map +0 -1
- package/dist/src/rlc-common/buildIndexFile.js +0 -241
- package/dist/src/rlc-common/buildIndexFile.js.map +0 -1
- package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts +0 -6
- package/dist/src/rlc-common/buildIsUnexpectedHelper.d.ts.map +0 -1
- package/dist/src/rlc-common/buildIsUnexpectedHelper.js +0 -223
- package/dist/src/rlc-common/buildIsUnexpectedHelper.js.map +0 -1
- package/dist/src/rlc-common/buildLogger.d.ts +0 -6
- package/dist/src/rlc-common/buildLogger.d.ts.map +0 -1
- package/dist/src/rlc-common/buildLogger.js +0 -31
- package/dist/src/rlc-common/buildLogger.js.map +0 -1
- package/dist/src/rlc-common/buildMethodShortcuts.d.ts +0 -5
- package/dist/src/rlc-common/buildMethodShortcuts.d.ts.map +0 -1
- package/dist/src/rlc-common/buildMethodShortcuts.js +0 -54
- package/dist/src/rlc-common/buildMethodShortcuts.js.map +0 -1
- package/dist/src/rlc-common/buildObjectTypes.d.ts +0 -29
- package/dist/src/rlc-common/buildObjectTypes.d.ts.map +0 -1
- package/dist/src/rlc-common/buildObjectTypes.js +0 -412
- package/dist/src/rlc-common/buildObjectTypes.js.map +0 -1
- package/dist/src/rlc-common/buildPaginateHelper.d.ts +0 -6
- package/dist/src/rlc-common/buildPaginateHelper.d.ts.map +0 -1
- package/dist/src/rlc-common/buildPaginateHelper.js +0 -27
- package/dist/src/rlc-common/buildPaginateHelper.js.map +0 -1
- package/dist/src/rlc-common/buildParameterTypes.d.ts +0 -14
- package/dist/src/rlc-common/buildParameterTypes.d.ts.map +0 -1
- package/dist/src/rlc-common/buildParameterTypes.js +0 -391
- package/dist/src/rlc-common/buildParameterTypes.js.map +0 -1
- package/dist/src/rlc-common/buildPollingHelper.d.ts +0 -6
- package/dist/src/rlc-common/buildPollingHelper.d.ts.map +0 -1
- package/dist/src/rlc-common/buildPollingHelper.js +0 -61
- package/dist/src/rlc-common/buildPollingHelper.js.map +0 -1
- package/dist/src/rlc-common/buildResponseTypes.d.ts +0 -6
- package/dist/src/rlc-common/buildResponseTypes.d.ts.map +0 -1
- package/dist/src/rlc-common/buildResponseTypes.js +0 -143
- package/dist/src/rlc-common/buildResponseTypes.js.map +0 -1
- package/dist/src/rlc-common/buildSamples.d.ts +0 -3
- package/dist/src/rlc-common/buildSamples.d.ts.map +0 -1
- package/dist/src/rlc-common/buildSamples.js +0 -30
- package/dist/src/rlc-common/buildSamples.js.map +0 -1
- package/dist/src/rlc-common/buildSchemaType.d.ts +0 -20
- package/dist/src/rlc-common/buildSchemaType.d.ts.map +0 -1
- package/dist/src/rlc-common/buildSchemaType.js +0 -71
- package/dist/src/rlc-common/buildSchemaType.js.map +0 -1
- package/dist/src/rlc-common/buildSerializeHelper.d.ts +0 -6
- package/dist/src/rlc-common/buildSerializeHelper.d.ts.map +0 -1
- package/dist/src/rlc-common/buildSerializeHelper.js +0 -36
- package/dist/src/rlc-common/buildSerializeHelper.js.map +0 -1
- package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts +0 -6
- package/dist/src/rlc-common/buildTopLevelIndexFile.d.ts.map +0 -1
- package/dist/src/rlc-common/buildTopLevelIndexFile.js +0 -48
- package/dist/src/rlc-common/buildTopLevelIndexFile.js.map +0 -1
- package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts +0 -17
- package/dist/src/rlc-common/helpers/apiVersionUtil.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/apiVersionUtil.js +0 -43
- package/dist/src/rlc-common/helpers/apiVersionUtil.js.map +0 -1
- package/dist/src/rlc-common/helpers/importsUtil.d.ts +0 -18
- package/dist/src/rlc-common/helpers/importsUtil.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/importsUtil.js +0 -164
- package/dist/src/rlc-common/helpers/importsUtil.js.map +0 -1
- package/dist/src/rlc-common/helpers/nameConstructors.d.ts +0 -42
- package/dist/src/rlc-common/helpers/nameConstructors.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/nameConstructors.js +0 -61
- package/dist/src/rlc-common/helpers/nameConstructors.js.map +0 -1
- package/dist/src/rlc-common/helpers/nameUtils.d.ts +0 -37
- package/dist/src/rlc-common/helpers/nameUtils.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/nameUtils.js +0 -240
- package/dist/src/rlc-common/helpers/nameUtils.js.map +0 -1
- package/dist/src/rlc-common/helpers/operationHelpers.d.ts +0 -16
- package/dist/src/rlc-common/helpers/operationHelpers.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/operationHelpers.js +0 -104
- package/dist/src/rlc-common/helpers/operationHelpers.js.map +0 -1
- package/dist/src/rlc-common/helpers/packageUtil.d.ts +0 -7
- package/dist/src/rlc-common/helpers/packageUtil.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/packageUtil.js +0 -10
- package/dist/src/rlc-common/helpers/packageUtil.js.map +0 -1
- package/dist/src/rlc-common/helpers/pathUtils.d.ts +0 -2
- package/dist/src/rlc-common/helpers/pathUtils.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/pathUtils.js +0 -10
- package/dist/src/rlc-common/helpers/pathUtils.js.map +0 -1
- package/dist/src/rlc-common/helpers/schemaHelpers.d.ts +0 -10
- package/dist/src/rlc-common/helpers/schemaHelpers.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/schemaHelpers.js +0 -37
- package/dist/src/rlc-common/helpers/schemaHelpers.js.map +0 -1
- package/dist/src/rlc-common/helpers/shortcutMethods.d.ts +0 -4
- package/dist/src/rlc-common/helpers/shortcutMethods.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/shortcutMethods.js +0 -49
- package/dist/src/rlc-common/helpers/shortcutMethods.js.map +0 -1
- package/dist/src/rlc-common/helpers/typeUtil.d.ts +0 -32
- package/dist/src/rlc-common/helpers/typeUtil.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/typeUtil.js +0 -162
- package/dist/src/rlc-common/helpers/typeUtil.js.map +0 -1
- package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts +0 -12
- package/dist/src/rlc-common/helpers/valueGenerationUtil.d.ts.map +0 -1
- package/dist/src/rlc-common/helpers/valueGenerationUtil.js +0 -161
- package/dist/src/rlc-common/helpers/valueGenerationUtil.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js +0 -55
- package/dist/src/rlc-common/metadata/buildApiExtractorConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildChangelogFile.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildChangelogFile.js +0 -25
- package/dist/src/rlc-common/metadata/buildChangelogFile.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildESLintConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildESLintConfig.js +0 -79
- package/dist/src/rlc-common/metadata/buildESLintConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts +0 -5
- package/dist/src/rlc-common/metadata/buildLicenseFile.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildLicenseFile.js +0 -32
- package/dist/src/rlc-common/metadata/buildLicenseFile.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildPackageFile.d.ts +0 -25
- package/dist/src/rlc-common/metadata/buildPackageFile.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildPackageFile.js +0 -197
- package/dist/src/rlc-common/metadata/buildPackageFile.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts +0 -11
- package/dist/src/rlc-common/metadata/buildReadmeFile.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildReadmeFile.js +0 -418
- package/dist/src/rlc-common/metadata/buildReadmeFile.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildRollupConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildRollupConfig.js +0 -140
- package/dist/src/rlc-common/metadata/buildRollupConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.js +0 -15
- package/dist/src/rlc-common/metadata/buildSampleEnvFile.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildTestConfig.d.ts +0 -16
- package/dist/src/rlc-common/metadata/buildTestConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildTestConfig.js +0 -54
- package/dist/src/rlc-common/metadata/buildTestConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildTsConfig.d.ts +0 -61
- package/dist/src/rlc-common/metadata/buildTsConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildTsConfig.js +0 -170
- package/dist/src/rlc-common/metadata/buildTsConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts +0 -6
- package/dist/src/rlc-common/metadata/buildVitestConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildVitestConfig.js +0 -26
- package/dist/src/rlc-common/metadata/buildVitestConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts +0 -20
- package/dist/src/rlc-common/metadata/buildWarpConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/buildWarpConfig.js +0 -76
- package/dist/src/rlc-common/metadata/buildWarpConfig.js.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts +0 -51
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js +0 -121
- package/dist/src/rlc-common/metadata/packageJson/azurePackageCommon.js.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts +0 -242
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js +0 -171
- package/dist/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.js.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts +0 -8
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js +0 -101
- package/dist/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.js.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts +0 -57
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js +0 -53
- package/dist/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.js.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts +0 -64
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.d.ts.map +0 -1
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.js +0 -180
- package/dist/src/rlc-common/metadata/packageJson/packageCommon.js.map +0 -1
- package/dist/src/rlc-common/static/paginateContent.d.ts +0 -2
- package/dist/src/rlc-common/static/paginateContent.d.ts.map +0 -1
- package/dist/src/rlc-common/static/paginateContent.js +0 -345
- package/dist/src/rlc-common/static/paginateContent.js.map +0 -1
- package/dist/src/rlc-common/static/pollingContent.d.ts +0 -2
- package/dist/src/rlc-common/static/pollingContent.d.ts.map +0 -1
- package/dist/src/rlc-common/static/pollingContent.js +0 -225
- package/dist/src/rlc-common/static/pollingContent.js.map +0 -1
- package/dist/src/rlc-common/static/sampleTemplate.d.ts +0 -2
- package/dist/src/rlc-common/static/sampleTemplate.d.ts.map +0 -1
- package/dist/src/rlc-common/static/sampleTemplate.js +0 -56
- package/dist/src/rlc-common/static/sampleTemplate.js.map +0 -1
- package/dist/src/rlc-common/static/serializeHelper.d.ts +0 -6
- package/dist/src/rlc-common/static/serializeHelper.d.ts.map +0 -1
- package/dist/src/rlc-common/static/serializeHelper.js +0 -31
- package/dist/src/rlc-common/static/serializeHelper.js.map +0 -1
- package/dist/src/rlc-common/test/buildKarmaConfig.d.ts +0 -6
- package/dist/src/rlc-common/test/buildKarmaConfig.d.ts.map +0 -1
- package/dist/src/rlc-common/test/buildKarmaConfig.js +0 -11
- package/dist/src/rlc-common/test/buildKarmaConfig.js.map +0 -1
- package/dist/src/rlc-common/test/buildRecordedClient.d.ts +0 -6
- package/dist/src/rlc-common/test/buildRecordedClient.d.ts.map +0 -1
- package/dist/src/rlc-common/test/buildRecordedClient.js +0 -17
- package/dist/src/rlc-common/test/buildRecordedClient.js.map +0 -1
- package/dist/src/rlc-common/test/buildSampleTest.d.ts +0 -6
- package/dist/src/rlc-common/test/buildSampleTest.d.ts.map +0 -1
- package/dist/src/rlc-common/test/buildSampleTest.js +0 -14
- package/dist/src/rlc-common/test/buildSampleTest.js.map +0 -1
- package/dist/src/rlc-common/test/buildSnippets.d.ts +0 -6
- package/dist/src/rlc-common/test/buildSnippets.d.ts.map +0 -1
- package/dist/src/rlc-common/test/buildSnippets.js +0 -26
- package/dist/src/rlc-common/test/buildSnippets.js.map +0 -1
- package/dist/src/rlc-common/transformSampleGroups.d.ts +0 -9
- package/dist/src/rlc-common/transformSampleGroups.d.ts.map +0 -1
- package/dist/src/rlc-common/transformSampleGroups.js +0 -313
- package/dist/src/rlc-common/transformSampleGroups.js.map +0 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts +0 -6
- package/dist/src/transform/transformApiVersionInfo.d.ts.map +0 -1
- package/dist/src/transform/transformApiVersionInfo.js +0 -78
- package/dist/src/transform/transformApiVersionInfo.js.map +0 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts +0 -5
- package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +0 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +0 -74
- package/dist/src/transform/transformHelperFunctionDetails.js.map +0 -1
- package/dist/src/transform/transformParameters.d.ts +0 -14
- package/dist/src/transform/transformParameters.d.ts.map +0 -1
- package/dist/src/transform/transformParameters.js +0 -201
- package/dist/src/transform/transformParameters.js.map +0 -1
- package/dist/src/transform/transformPaths.d.ts +0 -5
- package/dist/src/transform/transformPaths.d.ts.map +0 -1
- package/dist/src/transform/transformPaths.js +0 -102
- package/dist/src/transform/transformPaths.js.map +0 -1
- package/dist/src/transform/transformResponses.d.ts +0 -5
- package/dist/src/transform/transformResponses.d.ts.map +0 -1
- package/dist/src/transform/transformResponses.js +0 -171
- package/dist/src/transform/transformResponses.js.map +0 -1
- package/dist/src/transform/transformSchemas.d.ts +0 -4
- package/dist/src/transform/transformSchemas.d.ts.map +0 -1
- package/dist/src/transform/transformSchemas.js +0 -191
- package/dist/src/transform/transformSchemas.js.map +0 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts +0 -4
- package/dist/src/transform/transformTelemetryInfo.d.ts.map +0 -1
- package/dist/src/transform/transformTelemetryInfo.js +0 -22
- package/dist/src/transform/transformTelemetryInfo.js.map +0 -1
- package/dist/src/transform/transfromRLCOptions.d.ts +0 -14
- package/dist/src/transform/transfromRLCOptions.d.ts.map +0 -1
- package/dist/src/transform/transfromRLCOptions.js +0 -369
- package/dist/src/transform/transfromRLCOptions.js.map +0 -1
- package/dist/src/utils/clientUtils.d.ts +0 -10
- package/dist/src/utils/clientUtils.d.ts.map +0 -1
- package/dist/src/utils/clientUtils.js +0 -124
- package/dist/src/utils/clientUtils.js.map +0 -1
- package/dist/src/utils/credentialUtils.d.ts +0 -15
- package/dist/src/utils/credentialUtils.d.ts.map +0 -1
- package/dist/src/utils/credentialUtils.js +0 -68
- package/dist/src/utils/credentialUtils.js.map +0 -1
- package/dist/src/utils/crossLanguageDef.d.ts +0 -6
- package/dist/src/utils/crossLanguageDef.d.ts.map +0 -1
- package/dist/src/utils/crossLanguageDef.js +0 -59
- package/dist/src/utils/crossLanguageDef.js.map +0 -1
- package/dist/src/utils/emitUtil.d.ts +0 -5
- package/dist/src/utils/emitUtil.d.ts.map +0 -1
- package/dist/src/utils/emitUtil.js +0 -71
- package/dist/src/utils/emitUtil.js.map +0 -1
- package/dist/src/utils/fileSystemUtils.d.ts +0 -5
- package/dist/src/utils/fileSystemUtils.d.ts.map +0 -1
- package/dist/src/utils/fileSystemUtils.js +0 -59
- package/dist/src/utils/fileSystemUtils.js.map +0 -1
- package/dist/src/utils/importHelper.d.ts +0 -10
- package/dist/src/utils/importHelper.d.ts.map +0 -1
- package/dist/src/utils/importHelper.js +0 -51
- package/dist/src/utils/importHelper.js.map +0 -1
- package/dist/src/utils/mediaTypes.d.ts +0 -28
- package/dist/src/utils/mediaTypes.d.ts.map +0 -1
- package/dist/src/utils/mediaTypes.js +0 -124
- package/dist/src/utils/mediaTypes.js.map +0 -1
- package/dist/src/utils/modelUtils.d.ts +0 -60
- package/dist/src/utils/modelUtils.d.ts.map +0 -1
- package/dist/src/utils/modelUtils.js +0 -1488
- package/dist/src/utils/modelUtils.js.map +0 -1
- package/dist/src/utils/namespaceUtils.d.ts +0 -6
- package/dist/src/utils/namespaceUtils.d.ts.map +0 -1
- package/dist/src/utils/namespaceUtils.js +0 -69
- package/dist/src/utils/namespaceUtils.js.map +0 -1
- package/dist/src/utils/operationUtil.d.ts +0 -97
- package/dist/src/utils/operationUtil.d.ts.map +0 -1
- package/dist/src/utils/operationUtil.js +0 -547
- package/dist/src/utils/operationUtil.js.map +0 -1
- package/dist/src/utils/parameterUtils.d.ts +0 -9
- package/dist/src/utils/parameterUtils.d.ts.map +0 -1
- package/dist/src/utils/parameterUtils.js +0 -147
- package/dist/src/utils/parameterUtils.js.map +0 -1
- package/src/contextManager.ts +0 -101
- package/src/framework/hooks/sdkTypes.ts +0 -218
- package/src/framework/hooks/useDependencies.ts +0 -16
- package/src/modular/buildClassicalClient.ts +0 -434
- package/src/modular/buildClassicalOperationGroups.ts +0 -69
- package/src/modular/buildClientContext.ts +0 -325
- package/src/modular/buildOperations.ts +0 -248
- package/src/modular/buildProjectFiles.ts +0 -111
- package/src/modular/buildRestorePoller.ts +0 -242
- package/src/modular/buildRootIndex.ts +0 -407
- package/src/modular/buildSubpathIndex.ts +0 -152
- package/src/modular/emitLoggerFile.ts +0 -23
- package/src/modular/emitModels.ts +0 -1081
- package/src/modular/emitModelsOptions.ts +0 -56
- package/src/modular/emitSamples.ts +0 -675
- package/src/modular/emitTests.ts +0 -194
- package/src/modular/helpers/classicalOperationHelpers.ts +0 -375
- package/src/modular/helpers/clientHelpers.ts +0 -362
- package/src/modular/helpers/exampleValueHelpers.ts +0 -851
- package/src/modular/helpers/namingHelpers.ts +0 -84
- package/src/modular/helpers/operationHelpers.ts +0 -3035
- package/src/modular/helpers/typeHelpers.ts +0 -131
- package/src/modular/serialization/buildDeserializerFunction.ts +0 -564
- package/src/modular/serialization/buildSerializerFunction.ts +0 -616
- package/src/modular/serialization/buildXmlSerializerFunction.ts +0 -951
- package/src/modular/serialization/serializeUtils.ts +0 -217
- package/src/rlc-common/buildClient.ts +0 -490
- package/src/rlc-common/buildClientDefinitions.ts +0 -235
- package/src/rlc-common/buildIndexFile.ts +0 -344
- package/src/rlc-common/buildIsUnexpectedHelper.ts +0 -248
- package/src/rlc-common/buildLogger.ts +0 -43
- package/src/rlc-common/buildMethodShortcuts.ts +0 -71
- package/src/rlc-common/buildObjectTypes.ts +0 -603
- package/src/rlc-common/buildPaginateHelper.ts +0 -31
- package/src/rlc-common/buildParameterTypes.ts +0 -554
- package/src/rlc-common/buildPollingHelper.ts +0 -83
- package/src/rlc-common/buildResponseTypes.ts +0 -180
- package/src/rlc-common/buildSamples.ts +0 -32
- package/src/rlc-common/buildSchemaType.ts +0 -89
- package/src/rlc-common/buildSerializeHelper.ts +0 -49
- package/src/rlc-common/buildTopLevelIndexFile.ts +0 -58
- package/src/rlc-common/helpers/nameConstructors.ts +0 -110
- package/src/rlc-common/helpers/operationHelpers.ts +0 -138
- package/src/rlc-common/helpers/shortcutMethods.ts +0 -58
- package/src/rlc-common/helpers/valueGenerationUtil.ts +0 -234
- package/src/rlc-common/metadata/buildPackageFile.ts +0 -242
- package/src/rlc-common/metadata/buildReadmeFile.ts +0 -515
- package/src/rlc-common/metadata/buildRollupConfig.ts +0 -147
- package/src/rlc-common/metadata/packageJson/azurePackageCommon.ts +0 -152
- package/src/rlc-common/metadata/packageJson/buildAzureMonorepoPackage.ts +0 -199
- package/src/rlc-common/metadata/packageJson/buildAzureStandalonePackage.ts +0 -123
- package/src/rlc-common/metadata/packageJson/buildFlavorlessPackage.ts +0 -68
- package/src/rlc-common/test/buildSnippets.ts +0 -29
- package/src/rlc-common/transformSampleGroups.ts +0 -407
- package/src/transform/transformApiVersionInfo.ts +0 -103
- package/src/transform/transformHelperFunctionDetails.ts +0 -88
- package/src/transform/transformParameters.ts +0 -321
- package/src/transform/transformPaths.ts +0 -157
- package/src/transform/transformResponses.ts +0 -237
- package/src/transform/transformSchemas.ts +0 -212
- package/src/transform/transformTelemetryInfo.ts +0 -33
- package/src/transform/transfromRLCOptions.ts +0 -461
- package/src/utils/crossLanguageDef.ts +0 -66
- package/src/utils/importHelper.ts +0 -59
- package/src/utils/modelUtils.ts +0 -1737
- package/src/utils/operationUtil.ts +0 -763
- package/src/utils/parameterUtils.ts +0 -192
- /package/src/{metaTree.ts → meta-tree.ts} +0 -0
- /package/src/modular/{buildModularOptions.ts → build-modular-options.ts} +0 -0
- /package/src/modular/helpers/{clientOptionHelpers.ts → client-option-helpers.ts} +0 -0
- /package/src/modular/helpers/{docsHelpers.ts → docs-helpers.ts} +0 -0
- /package/src/rlc-common/helpers/{apiVersionUtil.ts → api-version-util.ts} +0 -0
- /package/src/rlc-common/helpers/{importsUtil.ts → imports-util.ts} +0 -0
- /package/src/rlc-common/helpers/{nameUtils.ts → name-utils.ts} +0 -0
- /package/src/rlc-common/helpers/{packageUtil.ts → package-util.ts} +0 -0
- /package/src/rlc-common/helpers/{pathUtils.ts → path-utils.ts} +0 -0
- /package/src/rlc-common/helpers/{schemaHelpers.ts → schema-helpers.ts} +0 -0
- /package/src/rlc-common/helpers/{typeUtil.ts → type-util.ts} +0 -0
- /package/src/rlc-common/metadata/{buildApiExtractorConfig.ts → build-api-extractor-config.ts} +0 -0
- /package/src/rlc-common/metadata/{buildChangelogFile.ts → build-changelog-file.ts} +0 -0
- /package/src/rlc-common/metadata/{buildESLintConfig.ts → build-es-lint-config.ts} +0 -0
- /package/src/rlc-common/metadata/{buildLicenseFile.ts → build-license-file.ts} +0 -0
- /package/src/rlc-common/metadata/{buildSampleEnvFile.ts → build-sample-env-file.ts} +0 -0
- /package/src/rlc-common/metadata/{buildTestConfig.ts → build-test-config.ts} +0 -0
- /package/src/rlc-common/metadata/{buildTsConfig.ts → build-ts-config.ts} +0 -0
- /package/src/rlc-common/metadata/{buildVitestConfig.ts → build-vitest-config.ts} +0 -0
- /package/src/rlc-common/metadata/{buildWarpConfig.ts → build-warp-config.ts} +0 -0
- /package/src/rlc-common/metadata/{packageJson/packageCommon.ts → package-json/package-common.ts} +0 -0
- /package/src/rlc-common/static/{paginateContent.ts → paginate-content.ts} +0 -0
- /package/src/rlc-common/static/{pollingContent.ts → polling-content.ts} +0 -0
- /package/src/rlc-common/static/{sampleTemplate.ts → sample-template.ts} +0 -0
- /package/src/rlc-common/static/{serializeHelper.ts → serialize-helper.ts} +0 -0
- /package/src/rlc-common/test/{buildKarmaConfig.ts → build-karma-config.ts} +0 -0
- /package/src/rlc-common/test/{buildRecordedClient.ts → build-recorded-client.ts} +0 -0
- /package/src/rlc-common/test/{buildSampleTest.ts → build-sample-test.ts} +0 -0
- /package/src/utils/{clientUtils.ts → client-utils.ts} +0 -0
- /package/src/utils/{credentialUtils.ts → credential-utils.ts} +0 -0
- /package/src/utils/{emitUtil.ts → emit-util.ts} +0 -0
- /package/src/utils/{fileSystemUtils.ts → file-system-utils.ts} +0 -0
- /package/src/utils/{mediaTypes.ts → media-types.ts} +0 -0
- /package/src/utils/{namespaceUtils.ts → namespace-utils.ts} +0 -0
|
@@ -0,0 +1,951 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
isReadOnly,
|
|
6
|
+
SdkModelPropertyType,
|
|
7
|
+
SdkModelType,
|
|
8
|
+
SdkPackage,
|
|
9
|
+
SdkType,
|
|
10
|
+
UsageFlags,
|
|
11
|
+
} from "@azure-tools/typespec-client-generator-core";
|
|
12
|
+
import { NoTarget } from "@typespec/compiler";
|
|
13
|
+
import { isMetadata } from "@typespec/http";
|
|
14
|
+
import { FunctionDeclarationStructure, StructureKind } from "ts-morph";
|
|
15
|
+
import { useDependencies } from "../../framework/hooks/use-dependencies.js";
|
|
16
|
+
import { resolveReference } from "../../framework/reference.js";
|
|
17
|
+
import { refkey } from "../../framework/refkey.js";
|
|
18
|
+
import { reportDiagnostic } from "../../lib.js";
|
|
19
|
+
import { NameType } from "../../rlc-common/index.js";
|
|
20
|
+
import { SdkContext } from "../../utils/interfaces.js";
|
|
21
|
+
import { isAzureCoreErrorType } from "../../utils/model-utils.js";
|
|
22
|
+
import { getAdditionalPropertiesName, normalizeModelName } from "../emit-models.js";
|
|
23
|
+
import { getAllAncestors, getAllProperties } from "../helpers/operation-helpers.js";
|
|
24
|
+
import { getAdditionalPropertiesType } from "../helpers/type-helpers.js";
|
|
25
|
+
import { XmlHelpers } from "../static-helpers-metadata.js";
|
|
26
|
+
import { normalizeModelPropertyName } from "../type-expressions/get-type-expression.js";
|
|
27
|
+
import { isSupportedSerializeType, ModelSerializeOptions } from "./serialize-utils.js";
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Checks if a model type has XML serialization options defined
|
|
31
|
+
*/
|
|
32
|
+
export function hasXmlSerialization(type: SdkType): boolean {
|
|
33
|
+
if (type.kind !== "model") {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
// Check if the model itself has XML options
|
|
37
|
+
if (type.serializationOptions?.xml) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
// Check if any property has XML options
|
|
41
|
+
return type.properties?.some((p) => p.serializationOptions?.xml) ?? false;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Checks if any model in the SDK package uses XML serialization
|
|
46
|
+
*/
|
|
47
|
+
export function packageUsesXmlSerialization(sdkPackage: SdkPackage<any>): boolean {
|
|
48
|
+
for (const model of sdkPackage.models) {
|
|
49
|
+
if (hasXmlSerialization(model)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Gets the XML element name for a model type
|
|
58
|
+
*/
|
|
59
|
+
export function getXmlRootName(type: SdkModelType): string {
|
|
60
|
+
return type.serializationOptions?.xml?.name ?? type.name;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Gets the XML namespace for a model type
|
|
65
|
+
*/
|
|
66
|
+
export function getXmlRootNs(
|
|
67
|
+
type: SdkModelType,
|
|
68
|
+
): { namespace: string; prefix: string } | undefined {
|
|
69
|
+
return type.serializationOptions?.xml?.ns;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Builds an XML serializer function for a model type
|
|
74
|
+
*/
|
|
75
|
+
export function buildXmlModelSerializer(
|
|
76
|
+
context: SdkContext,
|
|
77
|
+
type: SdkModelType,
|
|
78
|
+
options: ModelSerializeOptions = {
|
|
79
|
+
nameOnly: false,
|
|
80
|
+
skipDiscriminatedUnionSuffix: false,
|
|
81
|
+
},
|
|
82
|
+
): FunctionDeclarationStructure | string | undefined {
|
|
83
|
+
if (!isSupportedSerializeType(type)) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!type.name) {
|
|
88
|
+
reportDiagnostic(context.program, {
|
|
89
|
+
code: "anonymous-type-serialization",
|
|
90
|
+
target: type.__raw || NoTarget,
|
|
91
|
+
});
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (
|
|
96
|
+
!type.usage ||
|
|
97
|
+
(type.usage !== undefined && (type.usage & UsageFlags.Input) !== UsageFlags.Input)
|
|
98
|
+
) {
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (isAzureCoreErrorType(context.program, type.__raw!)) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const serializerFunctionName =
|
|
107
|
+
options.predefinedName ??
|
|
108
|
+
`${normalizeModelName(
|
|
109
|
+
context,
|
|
110
|
+
type,
|
|
111
|
+
NameType.Operation,
|
|
112
|
+
options.skipDiscriminatedUnionSuffix,
|
|
113
|
+
)}XmlSerializer`;
|
|
114
|
+
|
|
115
|
+
if (options.nameOnly) {
|
|
116
|
+
return resolveReference(refkey(type, "xmlSerializer"));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const serializeToXmlRef = resolveReference(XmlHelpers.serializeToXml);
|
|
120
|
+
const xmlPropertyMetadataRef = resolveReference(XmlHelpers.XmlPropertyMetadata);
|
|
121
|
+
|
|
122
|
+
const properties = getAllProperties(context, type, getAllAncestors(type));
|
|
123
|
+
const xmlRootName = getXmlRootName(type);
|
|
124
|
+
const xmlRootNs = getXmlRootNs(type);
|
|
125
|
+
|
|
126
|
+
// Build property metadata array
|
|
127
|
+
const propertyMetadata = buildPropertyMetadataArray(context, properties);
|
|
128
|
+
|
|
129
|
+
const statements: string[] = [];
|
|
130
|
+
|
|
131
|
+
// Generate the properties metadata constant
|
|
132
|
+
statements.push(`const properties: ${xmlPropertyMetadataRef}[] = [${propertyMetadata}];`);
|
|
133
|
+
|
|
134
|
+
// Generate additionalProperties config if applicable
|
|
135
|
+
const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
|
|
136
|
+
|
|
137
|
+
// Generate the serialization call
|
|
138
|
+
if (xmlRootNs) {
|
|
139
|
+
if (additionalPropsConfigExpr) {
|
|
140
|
+
statements.push(
|
|
141
|
+
`return ${serializeToXmlRef}(item, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" }, undefined, ${additionalPropsConfigExpr});`,
|
|
142
|
+
);
|
|
143
|
+
} else {
|
|
144
|
+
statements.push(
|
|
145
|
+
`return ${serializeToXmlRef}(item, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`,
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
} else {
|
|
149
|
+
if (additionalPropsConfigExpr) {
|
|
150
|
+
statements.push(
|
|
151
|
+
`return ${serializeToXmlRef}(item, properties, "${xmlRootName}", undefined, undefined, ${additionalPropsConfigExpr});`,
|
|
152
|
+
);
|
|
153
|
+
} else {
|
|
154
|
+
statements.push(`return ${serializeToXmlRef}(item, properties, "${xmlRootName}");`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const serializerFunction: FunctionDeclarationStructure = {
|
|
159
|
+
kind: StructureKind.Function,
|
|
160
|
+
name: serializerFunctionName,
|
|
161
|
+
isExported: true,
|
|
162
|
+
parameters: [
|
|
163
|
+
{
|
|
164
|
+
name: "item",
|
|
165
|
+
type: resolveReference(refkey(type)),
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
returnType: "string",
|
|
169
|
+
statements,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
return serializerFunction;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Builds an XML object serializer function for a model type.
|
|
177
|
+
* This serializer returns a plain object with XML property names (not an XML string).
|
|
178
|
+
* Used for nested objects within XML serialization.
|
|
179
|
+
*/
|
|
180
|
+
export function buildXmlObjectModelSerializer(
|
|
181
|
+
context: SdkContext,
|
|
182
|
+
type: SdkModelType,
|
|
183
|
+
options: ModelSerializeOptions = {
|
|
184
|
+
nameOnly: false,
|
|
185
|
+
skipDiscriminatedUnionSuffix: false,
|
|
186
|
+
},
|
|
187
|
+
): FunctionDeclarationStructure | string | undefined {
|
|
188
|
+
if (!isSupportedSerializeType(type)) {
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
if (!type.name) {
|
|
193
|
+
reportDiagnostic(context.program, {
|
|
194
|
+
code: "anonymous-type-serialization",
|
|
195
|
+
target: type.__raw || NoTarget,
|
|
196
|
+
});
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
if (
|
|
201
|
+
!type.usage ||
|
|
202
|
+
(type.usage !== undefined && (type.usage & UsageFlags.Input) !== UsageFlags.Input)
|
|
203
|
+
) {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
if (isAzureCoreErrorType(context.program, type.__raw!)) {
|
|
208
|
+
return undefined;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
const serializerFunctionName =
|
|
212
|
+
options.predefinedName ??
|
|
213
|
+
`${normalizeModelName(
|
|
214
|
+
context,
|
|
215
|
+
type,
|
|
216
|
+
NameType.Operation,
|
|
217
|
+
options.skipDiscriminatedUnionSuffix,
|
|
218
|
+
)}XmlObjectSerializer`;
|
|
219
|
+
|
|
220
|
+
if (options.nameOnly) {
|
|
221
|
+
return resolveReference(refkey(type, "xmlObjectSerializer"));
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const properties = getAllProperties(context, type, getAllAncestors(type));
|
|
225
|
+
|
|
226
|
+
// Build the object literal with XML property names
|
|
227
|
+
const propertyAssignments = buildXmlObjectPropertyAssignments(context, properties);
|
|
228
|
+
|
|
229
|
+
const statements: string[] = [];
|
|
230
|
+
|
|
231
|
+
// Check if the model is a dictionary type (has additionalProperties)
|
|
232
|
+
const additionalPropertyType = getAdditionalPropertiesType(type);
|
|
233
|
+
|
|
234
|
+
if (additionalPropertyType) {
|
|
235
|
+
const apName = getAdditionalPropertiesName(context, type);
|
|
236
|
+
if (propertyAssignments.length === 0) {
|
|
237
|
+
// Pure dictionary type - spread additionalProperties entries as XML elements
|
|
238
|
+
statements.push(
|
|
239
|
+
`return { ...item["${apName}"] } as ${resolveReference(XmlHelpers.XmlSerializedObject)};`,
|
|
240
|
+
);
|
|
241
|
+
} else {
|
|
242
|
+
// Model with both defined properties and additional properties
|
|
243
|
+
statements.push(`return {${propertyAssignments}, ...item["${apName}"]};`);
|
|
244
|
+
}
|
|
245
|
+
} else {
|
|
246
|
+
statements.push(`return {${propertyAssignments}};`);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
const xmlSerializedObjectRef = resolveReference(XmlHelpers.XmlSerializedObject);
|
|
250
|
+
|
|
251
|
+
// Use _item when there are no properties and not a dict type to avoid unused parameter lint error
|
|
252
|
+
const paramName = propertyAssignments.length === 0 && !additionalPropertyType ? "_item" : "item";
|
|
253
|
+
|
|
254
|
+
const serializerFunction: FunctionDeclarationStructure = {
|
|
255
|
+
kind: StructureKind.Function,
|
|
256
|
+
name: serializerFunctionName,
|
|
257
|
+
isExported: true,
|
|
258
|
+
parameters: [
|
|
259
|
+
{
|
|
260
|
+
name: paramName,
|
|
261
|
+
type: resolveReference(refkey(type)),
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
returnType: xmlSerializedObjectRef,
|
|
265
|
+
statements,
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
return serializerFunction;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Builds the property assignments for XML object serializer.
|
|
273
|
+
* Maps client property names to XML property names in the output object.
|
|
274
|
+
*/
|
|
275
|
+
function buildXmlObjectPropertyAssignments(
|
|
276
|
+
context: SdkContext,
|
|
277
|
+
properties: SdkModelPropertyType[],
|
|
278
|
+
): string {
|
|
279
|
+
const assignments: string[] = [];
|
|
280
|
+
|
|
281
|
+
for (const property of properties) {
|
|
282
|
+
if (property.kind !== "property") {
|
|
283
|
+
continue;
|
|
284
|
+
}
|
|
285
|
+
if (isReadOnly(property)) {
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
if (isMetadata(context.program, property.__raw!)) {
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
const xmlOptions = property.serializationOptions?.xml;
|
|
293
|
+
const propertyName = normalizeModelPropertyName(context, property);
|
|
294
|
+
const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
|
|
295
|
+
|
|
296
|
+
// Use XML name if available, fall back to serializedName, then JSON name, then property name
|
|
297
|
+
const xmlName = xmlOptions?.name ?? property.name;
|
|
298
|
+
|
|
299
|
+
// Handle nested objects and arrays
|
|
300
|
+
const nestedSerializer = getNestedXmlSerializer(context, property.type);
|
|
301
|
+
|
|
302
|
+
let valueExpr: string;
|
|
303
|
+
if (nestedSerializer && property.type.kind === "model") {
|
|
304
|
+
// Nested object - use XML object serializer
|
|
305
|
+
valueExpr = `item["${cleanPropertyName}"] !== undefined ? ${nestedSerializer}(item["${cleanPropertyName}"]) : undefined`;
|
|
306
|
+
} else if (
|
|
307
|
+
nestedSerializer &&
|
|
308
|
+
property.type.kind === "array" &&
|
|
309
|
+
property.type.valueType.kind === "model"
|
|
310
|
+
) {
|
|
311
|
+
// Array of objects - map each item through XML object serializer
|
|
312
|
+
const mappedExpr = `item["${cleanPropertyName}"]?.map((i: any) => ${nestedSerializer}(i))`;
|
|
313
|
+
if (xmlOptions?.unwrapped) {
|
|
314
|
+
// Unwrapped: items are direct siblings under the item element name
|
|
315
|
+
const itemKey = xmlOptions?.itemsName ?? xmlName;
|
|
316
|
+
assignments.push(`"${itemKey}": ${mappedExpr}`);
|
|
317
|
+
continue;
|
|
318
|
+
} else if (xmlOptions?.itemsName) {
|
|
319
|
+
// Wrapped: items nested under wrapper element with item element name
|
|
320
|
+
valueExpr = `{ "${xmlOptions.itemsName}": ${mappedExpr} }`;
|
|
321
|
+
} else {
|
|
322
|
+
valueExpr = mappedExpr;
|
|
323
|
+
}
|
|
324
|
+
} else if (property.type.kind === "array") {
|
|
325
|
+
// Array of primitives - handle itemsName wrapping
|
|
326
|
+
const primitiveExpr = buildXmlValueSerializationExpr(
|
|
327
|
+
context,
|
|
328
|
+
property.type,
|
|
329
|
+
`item["${cleanPropertyName}"]`,
|
|
330
|
+
);
|
|
331
|
+
if (xmlOptions?.unwrapped) {
|
|
332
|
+
const itemKey = xmlOptions?.itemsName ?? xmlName;
|
|
333
|
+
assignments.push(`"${itemKey}": ${primitiveExpr}`);
|
|
334
|
+
continue;
|
|
335
|
+
} else if (xmlOptions?.itemsName) {
|
|
336
|
+
valueExpr = `{ "${xmlOptions.itemsName}": ${primitiveExpr} }`;
|
|
337
|
+
} else {
|
|
338
|
+
valueExpr = primitiveExpr;
|
|
339
|
+
}
|
|
340
|
+
} else {
|
|
341
|
+
// Handle type-specific serialization
|
|
342
|
+
valueExpr = buildXmlValueSerializationExpr(
|
|
343
|
+
context,
|
|
344
|
+
property.type,
|
|
345
|
+
`item["${cleanPropertyName}"]`,
|
|
346
|
+
);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
assignments.push(`"${xmlName}": ${valueExpr}`);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
return assignments.join(",\n ");
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Builds the serialization expression for a value based on its type.
|
|
357
|
+
* Handles bytes (base64), dates, and arrays of these types.
|
|
358
|
+
*/
|
|
359
|
+
function buildXmlValueSerializationExpr(
|
|
360
|
+
context: SdkContext,
|
|
361
|
+
type: SdkType,
|
|
362
|
+
valueExpr: string,
|
|
363
|
+
): string {
|
|
364
|
+
const uint8ArrayToStringRef = resolveReference(useDependencies().uint8ArrayToString);
|
|
365
|
+
|
|
366
|
+
switch (type.kind) {
|
|
367
|
+
case "bytes":
|
|
368
|
+
// Convert Uint8Array to base64 string
|
|
369
|
+
return `${valueExpr} !== undefined ? ${uint8ArrayToStringRef}(${valueExpr}, "base64") : undefined`;
|
|
370
|
+
|
|
371
|
+
case "utcDateTime": {
|
|
372
|
+
// Convert Date to appropriate string format
|
|
373
|
+
const encoding = (type.encode as string) ?? "rfc3339";
|
|
374
|
+
if (encoding === "unixTimestamp") {
|
|
375
|
+
return `${valueExpr} !== undefined ? ${valueExpr}.getTime() : undefined`;
|
|
376
|
+
} else if (encoding === "rfc7231") {
|
|
377
|
+
return `${valueExpr} !== undefined ? ${valueExpr}.toUTCString() : undefined`;
|
|
378
|
+
}
|
|
379
|
+
// Default rfc3339
|
|
380
|
+
return `${valueExpr} !== undefined ? ${valueExpr}.toISOString() : undefined`;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
case "array": {
|
|
384
|
+
// Handle arrays - need to serialize each element
|
|
385
|
+
const itemExpr = buildXmlValueSerializationExpr(context, type.valueType, "i");
|
|
386
|
+
if (itemExpr !== "i") {
|
|
387
|
+
// If items need transformation, map them
|
|
388
|
+
return `${valueExpr}?.map((i: any) => ${itemExpr})`;
|
|
389
|
+
}
|
|
390
|
+
// No transformation needed
|
|
391
|
+
return valueExpr;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
default:
|
|
395
|
+
// Primitive types - use directly
|
|
396
|
+
return valueExpr;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/**
|
|
401
|
+
* Builds the property metadata array for XML serialization
|
|
402
|
+
*/
|
|
403
|
+
function buildPropertyMetadataArray(
|
|
404
|
+
context: SdkContext,
|
|
405
|
+
properties: SdkModelPropertyType[],
|
|
406
|
+
): string {
|
|
407
|
+
const metadataEntries: string[] = [];
|
|
408
|
+
|
|
409
|
+
for (const property of properties) {
|
|
410
|
+
if (property.kind !== "property") {
|
|
411
|
+
continue;
|
|
412
|
+
}
|
|
413
|
+
if (isReadOnly(property)) {
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
416
|
+
if (isMetadata(context.program, property.__raw!)) {
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const xmlOptions = property.serializationOptions?.xml;
|
|
421
|
+
const jsonOptions = property.serializationOptions?.json;
|
|
422
|
+
const propertyName = normalizeModelPropertyName(context, property);
|
|
423
|
+
const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
|
|
424
|
+
|
|
425
|
+
// Use XML name if available, fall back to JSON name, then property name
|
|
426
|
+
const serializedName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
|
|
427
|
+
|
|
428
|
+
const metadataObj: string[] = [
|
|
429
|
+
`propertyName: "${cleanPropertyName}"`,
|
|
430
|
+
`xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`,
|
|
431
|
+
];
|
|
432
|
+
|
|
433
|
+
// Add type information for special handling
|
|
434
|
+
const typeInfo = getPropertyTypeInfo(property.type);
|
|
435
|
+
if (typeInfo.type) {
|
|
436
|
+
metadataObj.push(`type: "${typeInfo.type}"`);
|
|
437
|
+
}
|
|
438
|
+
if (typeInfo.dateEncoding) {
|
|
439
|
+
metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
|
|
440
|
+
}
|
|
441
|
+
if (typeInfo.bytesEncoding) {
|
|
442
|
+
metadataObj.push(`bytesEncoding: "${typeInfo.bytesEncoding}"`);
|
|
443
|
+
}
|
|
444
|
+
if (typeInfo.itemType) {
|
|
445
|
+
metadataObj.push(`itemType: "${typeInfo.itemType}"`);
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
// Add serializer for complex types
|
|
449
|
+
const nestedSerializer = getNestedXmlSerializer(context, property.type);
|
|
450
|
+
if (nestedSerializer) {
|
|
451
|
+
metadataObj.push(`serializer: ${nestedSerializer}`);
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
return metadataEntries.join(",\n ");
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* Builds the XML options string from XmlSerializationOptions
|
|
462
|
+
*/
|
|
463
|
+
function buildXmlOptionsString(xmlOptions?: {
|
|
464
|
+
name: string;
|
|
465
|
+
attribute?: boolean;
|
|
466
|
+
ns?: { namespace: string; prefix: string };
|
|
467
|
+
unwrapped?: boolean;
|
|
468
|
+
itemsName?: string;
|
|
469
|
+
itemsNs?: { namespace: string; prefix: string };
|
|
470
|
+
}): string {
|
|
471
|
+
if (!xmlOptions) {
|
|
472
|
+
return "";
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
const parts: string[] = [];
|
|
476
|
+
|
|
477
|
+
if (xmlOptions.attribute) {
|
|
478
|
+
parts.push(`attribute: true`);
|
|
479
|
+
}
|
|
480
|
+
if (xmlOptions.ns) {
|
|
481
|
+
parts.push(
|
|
482
|
+
`ns: { namespace: "${xmlOptions.ns.namespace}", prefix: "${xmlOptions.ns.prefix}" }`,
|
|
483
|
+
);
|
|
484
|
+
}
|
|
485
|
+
if (xmlOptions.unwrapped) {
|
|
486
|
+
parts.push(`unwrapped: true`);
|
|
487
|
+
}
|
|
488
|
+
if (xmlOptions.itemsName) {
|
|
489
|
+
parts.push(`itemsName: "${xmlOptions.itemsName}"`);
|
|
490
|
+
}
|
|
491
|
+
if (xmlOptions.itemsNs) {
|
|
492
|
+
parts.push(
|
|
493
|
+
`itemsNs: { namespace: "${xmlOptions.itemsNs.namespace}", prefix: "${xmlOptions.itemsNs.prefix}" }`,
|
|
494
|
+
);
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
return parts.length > 0 ? `, ${parts.join(", ")}` : "";
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
/**
|
|
501
|
+
* Gets type information for a property for XML serialization
|
|
502
|
+
*/
|
|
503
|
+
function getPropertyTypeInfo(type: SdkType): {
|
|
504
|
+
type?: "array" | "object" | "primitive" | "date" | "bytes" | "dict";
|
|
505
|
+
primitiveSubtype?: "string" | "number" | "boolean";
|
|
506
|
+
dateEncoding?: "rfc3339" | "rfc7231" | "unixTimestamp";
|
|
507
|
+
bytesEncoding?: "base64" | "base64url";
|
|
508
|
+
itemType?: "primitive" | "date" | "bytes";
|
|
509
|
+
} {
|
|
510
|
+
switch (type.kind) {
|
|
511
|
+
case "array": {
|
|
512
|
+
// For arrays, also extract item type info for bytes/date items
|
|
513
|
+
const itemInfo = getPropertyTypeInfo(type.valueType);
|
|
514
|
+
const result: ReturnType<typeof getPropertyTypeInfo> = { type: "array" };
|
|
515
|
+
// Only include item type info for types that need special serialization
|
|
516
|
+
if (itemInfo.type === "bytes" || itemInfo.type === "date" || itemInfo.type === "primitive") {
|
|
517
|
+
result.itemType = itemInfo.type as "primitive" | "date" | "bytes";
|
|
518
|
+
}
|
|
519
|
+
if (itemInfo.dateEncoding) {
|
|
520
|
+
result.dateEncoding = itemInfo.dateEncoding;
|
|
521
|
+
}
|
|
522
|
+
if (itemInfo.bytesEncoding) {
|
|
523
|
+
result.bytesEncoding = itemInfo.bytesEncoding;
|
|
524
|
+
}
|
|
525
|
+
if (itemInfo.primitiveSubtype) {
|
|
526
|
+
result.primitiveSubtype = itemInfo.primitiveSubtype;
|
|
527
|
+
}
|
|
528
|
+
return result;
|
|
529
|
+
}
|
|
530
|
+
case "model":
|
|
531
|
+
return { type: "object" };
|
|
532
|
+
case "dict":
|
|
533
|
+
return { type: "dict" };
|
|
534
|
+
case "utcDateTime":
|
|
535
|
+
return {
|
|
536
|
+
type: "date",
|
|
537
|
+
dateEncoding: (type.encode as "rfc3339" | "rfc7231" | "unixTimestamp") ?? "rfc3339",
|
|
538
|
+
};
|
|
539
|
+
case "bytes": {
|
|
540
|
+
const encode = (type as any).encode as string | undefined;
|
|
541
|
+
// Default to base64 if no encoding specified
|
|
542
|
+
const bytesEncoding = encode === "base64url" ? "base64url" : ("base64" as const);
|
|
543
|
+
return { type: "bytes", bytesEncoding };
|
|
544
|
+
}
|
|
545
|
+
case "boolean":
|
|
546
|
+
return { type: "primitive", primitiveSubtype: "boolean" };
|
|
547
|
+
case "string":
|
|
548
|
+
case "url":
|
|
549
|
+
return { type: "primitive", primitiveSubtype: "string" };
|
|
550
|
+
case "enum":
|
|
551
|
+
case "enumvalue":
|
|
552
|
+
case "constant":
|
|
553
|
+
// Recurse into the underlying value type (e.g. string enum → string)
|
|
554
|
+
return getPropertyTypeInfo(type.valueType);
|
|
555
|
+
case "union":
|
|
556
|
+
// Inspect variant types; if all share the same subtype use it,
|
|
557
|
+
// otherwise default to string as a safe fallback
|
|
558
|
+
if (type.variantTypes.length > 0) {
|
|
559
|
+
const first = getPropertyTypeInfo(type.variantTypes[0]!);
|
|
560
|
+
const allSame = type.variantTypes.every(
|
|
561
|
+
(v) => getPropertyTypeInfo(v).primitiveSubtype === first.primitiveSubtype,
|
|
562
|
+
);
|
|
563
|
+
if (allSame) {
|
|
564
|
+
return first;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
return { type: "primitive", primitiveSubtype: "string" };
|
|
568
|
+
case "nullable":
|
|
569
|
+
// Recurse into the underlying non-null type
|
|
570
|
+
return getPropertyTypeInfo(type.type);
|
|
571
|
+
default:
|
|
572
|
+
// Numeric kinds (int8, int16, int32, int64, uint8, ..., float32, float64,
|
|
573
|
+
// decimal, decimal128, numeric, integer, safeint, float) and any other
|
|
574
|
+
// scalar types default to number subtype.
|
|
575
|
+
return { type: "primitive", primitiveSubtype: "number" };
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
/**
|
|
580
|
+
* Gets the nested XML serializer function reference for complex types.
|
|
581
|
+
* Uses the XML object serializer to properly handle XML property names.
|
|
582
|
+
*/
|
|
583
|
+
function getNestedXmlSerializer(context: SdkContext, type: SdkType): string | undefined {
|
|
584
|
+
if (type.kind === "model") {
|
|
585
|
+
// For nested objects, use the XML object serializer which returns objects
|
|
586
|
+
// with XML property names for proper serialization
|
|
587
|
+
const serializerName = buildXmlObjectModelSerializer(context, type, {
|
|
588
|
+
nameOnly: true,
|
|
589
|
+
skipDiscriminatedUnionSuffix: false,
|
|
590
|
+
});
|
|
591
|
+
if (typeof serializerName === "string") {
|
|
592
|
+
return serializerName;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
if (type.kind === "array" && type.valueType.kind === "model") {
|
|
596
|
+
// For arrays, use the XML object serializer for items
|
|
597
|
+
// The XML helper calls this for each item and handles the array mapping
|
|
598
|
+
const itemSerializer = buildXmlObjectModelSerializer(context, type.valueType, {
|
|
599
|
+
nameOnly: true,
|
|
600
|
+
skipDiscriminatedUnionSuffix: false,
|
|
601
|
+
});
|
|
602
|
+
if (typeof itemSerializer === "string") {
|
|
603
|
+
return itemSerializer;
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
return undefined;
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* Builds an XML deserializer function for a model type
|
|
611
|
+
*/
|
|
612
|
+
export function buildXmlModelDeserializer(
|
|
613
|
+
context: SdkContext,
|
|
614
|
+
type: SdkModelType,
|
|
615
|
+
options: ModelSerializeOptions = {
|
|
616
|
+
nameOnly: false,
|
|
617
|
+
skipDiscriminatedUnionSuffix: false,
|
|
618
|
+
},
|
|
619
|
+
): FunctionDeclarationStructure | string | undefined {
|
|
620
|
+
if (!isSupportedSerializeType(type)) {
|
|
621
|
+
return undefined;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
if (!type.name) {
|
|
625
|
+
reportDiagnostic(context.program, {
|
|
626
|
+
code: "anonymous-type-deserialization",
|
|
627
|
+
target: type.__raw || NoTarget,
|
|
628
|
+
});
|
|
629
|
+
return undefined;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
if (
|
|
633
|
+
!type.usage ||
|
|
634
|
+
(type.usage !== undefined &&
|
|
635
|
+
(type.usage & UsageFlags.Output) !== UsageFlags.Output &&
|
|
636
|
+
(type.usage & UsageFlags.Exception) !== UsageFlags.Exception)
|
|
637
|
+
) {
|
|
638
|
+
return undefined;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
if (isAzureCoreErrorType(context.program, type.__raw!)) {
|
|
642
|
+
return undefined;
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
const deserializerFunctionName =
|
|
646
|
+
options.predefinedName ??
|
|
647
|
+
`${normalizeModelName(
|
|
648
|
+
context,
|
|
649
|
+
type,
|
|
650
|
+
NameType.Operation,
|
|
651
|
+
options.skipDiscriminatedUnionSuffix,
|
|
652
|
+
)}XmlDeserializer`;
|
|
653
|
+
|
|
654
|
+
if (options.nameOnly) {
|
|
655
|
+
return resolveReference(refkey(type, "xmlDeserializer"));
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
const deserializeFromXmlRef = resolveReference(XmlHelpers.deserializeFromXml);
|
|
659
|
+
const xmlPropertyDeserializeMetadataRef = resolveReference(
|
|
660
|
+
XmlHelpers.XmlPropertyDeserializeMetadata,
|
|
661
|
+
);
|
|
662
|
+
|
|
663
|
+
const properties = getAllProperties(context, type, getAllAncestors(type));
|
|
664
|
+
const xmlRootName = getXmlRootName(type);
|
|
665
|
+
const xmlRootNs = getXmlRootNs(type);
|
|
666
|
+
|
|
667
|
+
// Build property metadata array for deserialization
|
|
668
|
+
const propertyMetadata = buildDeserializePropertyMetadataArray(context, properties);
|
|
669
|
+
|
|
670
|
+
const statements: string[] = [];
|
|
671
|
+
|
|
672
|
+
// Generate the properties metadata constant
|
|
673
|
+
statements.push(
|
|
674
|
+
`const properties: ${xmlPropertyDeserializeMetadataRef}[] = [${propertyMetadata}];`,
|
|
675
|
+
);
|
|
676
|
+
|
|
677
|
+
// Generate additionalProperties config if applicable
|
|
678
|
+
const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
|
|
679
|
+
|
|
680
|
+
// Generate the deserialization call
|
|
681
|
+
const typeRef = resolveReference(refkey(type));
|
|
682
|
+
if (xmlRootNs) {
|
|
683
|
+
if (additionalPropsConfigExpr) {
|
|
684
|
+
statements.push(
|
|
685
|
+
`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" }, undefined, ${additionalPropsConfigExpr});`,
|
|
686
|
+
);
|
|
687
|
+
} else {
|
|
688
|
+
statements.push(
|
|
689
|
+
`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", { namespace: "${xmlRootNs.namespace}", prefix: "${xmlRootNs.prefix}" });`,
|
|
690
|
+
);
|
|
691
|
+
}
|
|
692
|
+
} else {
|
|
693
|
+
if (additionalPropsConfigExpr) {
|
|
694
|
+
statements.push(
|
|
695
|
+
`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}", undefined, undefined, ${additionalPropsConfigExpr});`,
|
|
696
|
+
);
|
|
697
|
+
} else {
|
|
698
|
+
statements.push(
|
|
699
|
+
`return ${deserializeFromXmlRef}<${typeRef}>(xmlString, properties, "${xmlRootName}");`,
|
|
700
|
+
);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
const deserializerFunction: FunctionDeclarationStructure = {
|
|
705
|
+
kind: StructureKind.Function,
|
|
706
|
+
name: deserializerFunctionName,
|
|
707
|
+
isExported: true,
|
|
708
|
+
parameters: [
|
|
709
|
+
{
|
|
710
|
+
name: "xmlString",
|
|
711
|
+
type: "string",
|
|
712
|
+
},
|
|
713
|
+
],
|
|
714
|
+
returnType: resolveReference(refkey(type)),
|
|
715
|
+
statements,
|
|
716
|
+
};
|
|
717
|
+
|
|
718
|
+
return deserializerFunction;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
/**
|
|
722
|
+
* Builds the property metadata array for XML deserialization
|
|
723
|
+
*/
|
|
724
|
+
function buildDeserializePropertyMetadataArray(
|
|
725
|
+
context: SdkContext,
|
|
726
|
+
properties: SdkModelPropertyType[],
|
|
727
|
+
): string {
|
|
728
|
+
const metadataEntries: string[] = [];
|
|
729
|
+
|
|
730
|
+
for (const property of properties) {
|
|
731
|
+
if (property.kind !== "property") {
|
|
732
|
+
continue;
|
|
733
|
+
}
|
|
734
|
+
if (isMetadata(context.program, property.__raw!)) {
|
|
735
|
+
continue;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
const xmlOptions = property.serializationOptions?.xml;
|
|
739
|
+
const jsonOptions = property.serializationOptions?.json;
|
|
740
|
+
const propertyName = normalizeModelPropertyName(context, property);
|
|
741
|
+
const cleanPropertyName = propertyName.replace(/^"|"$/g, "");
|
|
742
|
+
|
|
743
|
+
// Use XML name if available, fall back to JSON name, then property name
|
|
744
|
+
const serializedName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
|
|
745
|
+
|
|
746
|
+
const metadataObj: string[] = [
|
|
747
|
+
`propertyName: "${cleanPropertyName}"`,
|
|
748
|
+
`xmlOptions: { name: "${serializedName}"${buildXmlOptionsString(xmlOptions)} }`,
|
|
749
|
+
];
|
|
750
|
+
|
|
751
|
+
// Add type information for special handling
|
|
752
|
+
const typeInfo = getPropertyTypeInfo(property.type);
|
|
753
|
+
if (typeInfo.type) {
|
|
754
|
+
metadataObj.push(`type: "${typeInfo.type}"`);
|
|
755
|
+
}
|
|
756
|
+
if (typeInfo.dateEncoding) {
|
|
757
|
+
metadataObj.push(`dateEncoding: "${typeInfo.dateEncoding}"`);
|
|
758
|
+
}
|
|
759
|
+
if (typeInfo.bytesEncoding) {
|
|
760
|
+
metadataObj.push(`bytesEncoding: "${typeInfo.bytesEncoding}"`);
|
|
761
|
+
}
|
|
762
|
+
if (typeInfo.itemType) {
|
|
763
|
+
metadataObj.push(`itemType: "${typeInfo.itemType}"`);
|
|
764
|
+
}
|
|
765
|
+
if (typeInfo.primitiveSubtype) {
|
|
766
|
+
metadataObj.push(`primitiveSubtype: "${typeInfo.primitiveSubtype}"`);
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
// Add deserializer for complex types
|
|
770
|
+
const nestedDeserializer = getNestedXmlDeserializer(context, property.type);
|
|
771
|
+
if (nestedDeserializer) {
|
|
772
|
+
metadataObj.push(`deserializer: ${nestedDeserializer}`);
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
metadataEntries.push(`{ ${metadataObj.join(", ")} }`);
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
return metadataEntries.join(",\n ");
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* Gets the nested XML deserializer function reference for complex types.
|
|
783
|
+
* Uses the XML object deserializer to properly handle XML property names.
|
|
784
|
+
*/
|
|
785
|
+
function getNestedXmlDeserializer(context: SdkContext, type: SdkType): string | undefined {
|
|
786
|
+
if (type.kind === "model") {
|
|
787
|
+
// For nested objects, use the XML object deserializer which takes parsed XML objects
|
|
788
|
+
// and uses XML property names for mapping
|
|
789
|
+
const deserializerName = buildXmlObjectModelDeserializer(context, type, {
|
|
790
|
+
nameOnly: true,
|
|
791
|
+
skipDiscriminatedUnionSuffix: false,
|
|
792
|
+
});
|
|
793
|
+
if (typeof deserializerName === "string") {
|
|
794
|
+
return deserializerName;
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
if (type.kind === "array" && type.valueType.kind === "model") {
|
|
798
|
+
// For arrays, use the XML object deserializer for items
|
|
799
|
+
// The XML helper calls this for each item and handles the array mapping
|
|
800
|
+
const itemDeserializer = buildXmlObjectModelDeserializer(context, type.valueType, {
|
|
801
|
+
nameOnly: true,
|
|
802
|
+
skipDiscriminatedUnionSuffix: false,
|
|
803
|
+
});
|
|
804
|
+
if (typeof itemDeserializer === "string") {
|
|
805
|
+
return itemDeserializer;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
return undefined;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
/**
|
|
812
|
+
* Builds an XML object deserializer function for a model type.
|
|
813
|
+
* This deserializer takes a pre-parsed XML object (not an XML string)
|
|
814
|
+
* and uses XML property names for mapping. Used for nested objects.
|
|
815
|
+
*/
|
|
816
|
+
export function buildXmlObjectModelDeserializer(
|
|
817
|
+
context: SdkContext,
|
|
818
|
+
type: SdkModelType,
|
|
819
|
+
options: ModelSerializeOptions = {
|
|
820
|
+
nameOnly: false,
|
|
821
|
+
skipDiscriminatedUnionSuffix: false,
|
|
822
|
+
},
|
|
823
|
+
): FunctionDeclarationStructure | string | undefined {
|
|
824
|
+
if (!isSupportedSerializeType(type)) {
|
|
825
|
+
return undefined;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
if (!type.name) {
|
|
829
|
+
reportDiagnostic(context.program, {
|
|
830
|
+
code: "anonymous-type-deserialization",
|
|
831
|
+
target: type.__raw || NoTarget,
|
|
832
|
+
});
|
|
833
|
+
return undefined;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
if (
|
|
837
|
+
!type.usage ||
|
|
838
|
+
(type.usage !== undefined &&
|
|
839
|
+
(type.usage & UsageFlags.Output) !== UsageFlags.Output &&
|
|
840
|
+
(type.usage & UsageFlags.Exception) !== UsageFlags.Exception)
|
|
841
|
+
) {
|
|
842
|
+
return undefined;
|
|
843
|
+
}
|
|
844
|
+
|
|
845
|
+
if (isAzureCoreErrorType(context.program, type.__raw!)) {
|
|
846
|
+
return undefined;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
const deserializerFunctionName =
|
|
850
|
+
options.predefinedName ??
|
|
851
|
+
`${normalizeModelName(
|
|
852
|
+
context,
|
|
853
|
+
type,
|
|
854
|
+
NameType.Operation,
|
|
855
|
+
options.skipDiscriminatedUnionSuffix,
|
|
856
|
+
)}XmlObjectDeserializer`;
|
|
857
|
+
|
|
858
|
+
if (options.nameOnly) {
|
|
859
|
+
return resolveReference(refkey(type, "xmlObjectDeserializer"));
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
const deserializeXmlObjectRef = resolveReference(XmlHelpers.deserializeXmlObject);
|
|
863
|
+
const xmlPropertyDeserializeMetadataRef = resolveReference(
|
|
864
|
+
XmlHelpers.XmlPropertyDeserializeMetadata,
|
|
865
|
+
);
|
|
866
|
+
|
|
867
|
+
const properties = getAllProperties(context, type, getAllAncestors(type));
|
|
868
|
+
|
|
869
|
+
// Build property metadata array for deserialization
|
|
870
|
+
const propertyMetadata = buildDeserializePropertyMetadataArray(context, properties);
|
|
871
|
+
|
|
872
|
+
const statements: string[] = [];
|
|
873
|
+
|
|
874
|
+
// Generate the properties metadata constant
|
|
875
|
+
statements.push(
|
|
876
|
+
`const properties: ${xmlPropertyDeserializeMetadataRef}[] = [${propertyMetadata}];`,
|
|
877
|
+
);
|
|
878
|
+
|
|
879
|
+
// Generate additionalProperties config if applicable
|
|
880
|
+
const additionalPropsConfigExpr = buildAdditionalPropertiesConfigExpr(context, type, properties);
|
|
881
|
+
|
|
882
|
+
// Generate the deserialization call - no rootName needed for object deserializer
|
|
883
|
+
const typeRef = resolveReference(refkey(type));
|
|
884
|
+
if (additionalPropsConfigExpr) {
|
|
885
|
+
statements.push(
|
|
886
|
+
`return ${deserializeXmlObjectRef}<${typeRef}>(xmlObject, properties, ${additionalPropsConfigExpr});`,
|
|
887
|
+
);
|
|
888
|
+
} else {
|
|
889
|
+
statements.push(`return ${deserializeXmlObjectRef}<${typeRef}>(xmlObject, properties);`);
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
const deserializerFunction: FunctionDeclarationStructure = {
|
|
893
|
+
kind: StructureKind.Function,
|
|
894
|
+
name: deserializerFunctionName,
|
|
895
|
+
isExported: true,
|
|
896
|
+
parameters: [
|
|
897
|
+
{
|
|
898
|
+
name: "xmlObject",
|
|
899
|
+
type: "Record<string, unknown>",
|
|
900
|
+
},
|
|
901
|
+
],
|
|
902
|
+
returnType: resolveReference(refkey(type)),
|
|
903
|
+
statements,
|
|
904
|
+
};
|
|
905
|
+
|
|
906
|
+
return deserializerFunction;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
/**
|
|
910
|
+
* Builds the additionalProperties config expression for XML deserializers.
|
|
911
|
+
* Returns undefined if the model has no additionalProperties and is not an error model.
|
|
912
|
+
* Error models (with UsageFlags.Exception) are always treated as having additional properties
|
|
913
|
+
* so that unknown XML elements are captured during deserialization.
|
|
914
|
+
*/
|
|
915
|
+
function buildAdditionalPropertiesConfigExpr(
|
|
916
|
+
context: SdkContext,
|
|
917
|
+
type: SdkModelType,
|
|
918
|
+
properties: SdkModelPropertyType[],
|
|
919
|
+
): string | undefined {
|
|
920
|
+
const additionalPropertyType = getAdditionalPropertiesType(type);
|
|
921
|
+
const isErrorModel =
|
|
922
|
+
type.usage !== undefined && (type.usage & UsageFlags.Exception) === UsageFlags.Exception;
|
|
923
|
+
|
|
924
|
+
if (!additionalPropertyType && !isErrorModel) {
|
|
925
|
+
return undefined;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
// Resolve the XmlAdditionalPropertiesConfig type reference
|
|
929
|
+
resolveReference(XmlHelpers.XmlAdditionalPropertiesConfig);
|
|
930
|
+
|
|
931
|
+
const propName = additionalPropertyType
|
|
932
|
+
? getAdditionalPropertiesName(context, type)
|
|
933
|
+
: "additionalProperties";
|
|
934
|
+
|
|
935
|
+
// Collect XML element names of declared properties to exclude
|
|
936
|
+
const excludeNames: string[] = [];
|
|
937
|
+
for (const property of properties) {
|
|
938
|
+
if (property.kind !== "property") {
|
|
939
|
+
continue;
|
|
940
|
+
}
|
|
941
|
+
if (isMetadata(context.program, property.__raw!)) {
|
|
942
|
+
continue;
|
|
943
|
+
}
|
|
944
|
+
const xmlOptions = property.serializationOptions?.xml;
|
|
945
|
+
const jsonOptions = property.serializationOptions?.json;
|
|
946
|
+
const xmlName = xmlOptions?.name ?? jsonOptions?.name ?? property.name;
|
|
947
|
+
excludeNames.push(xmlName);
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
return `{ propertyName: "${propName}", excludeNames: [${excludeNames.map((n) => `"${n}"`).join(", ")}] }`;
|
|
951
|
+
}
|