@azure-tools/typespec-ts 0.55.0-dev.1 → 0.55.0-dev.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -105
- 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.d.ts +1 -1
- package/dist/src/framework/hooks/binder.d.ts.map +1 -1
- package/dist/src/framework/hooks/binder.js +6 -7
- 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/framework/load-static-helpers.d.ts +4 -1
- package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
- package/dist/src/framework/load-static-helpers.js +26 -34
- package/dist/src/framework/load-static-helpers.js.map +1 -1
- package/dist/src/framework/sample.js +1 -1
- package/dist/src/framework/sample.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +126 -192
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +2 -18
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +30 -124
- package/dist/src/lib.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 +237 -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 +275 -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 +15 -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 +849 -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 +555 -0
- package/dist/src/modular/emit-samples.js.map +1 -0
- package/dist/src/modular/emit-tests.d.ts +8 -0
- package/dist/src/modular/emit-tests.d.ts.map +1 -0
- package/dist/src/modular/emit-tests.js +165 -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 +249 -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 +622 -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/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 +17 -0
- package/dist/src/rlc-common/helpers/imports-util.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/imports-util.js +151 -0
- package/dist/src/rlc-common/helpers/imports-util.js.map +1 -0
- package/dist/src/rlc-common/helpers/name-constructors.d.ts +33 -0
- package/dist/src/rlc-common/helpers/name-constructors.d.ts.map +1 -0
- package/dist/src/rlc-common/helpers/name-constructors.js +45 -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/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/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/index.d.ts +21 -39
- package/dist/src/rlc-common/index.d.ts.map +1 -1
- package/dist/src/rlc-common/index.js +21 -39
- package/dist/src/rlc-common/index.js.map +1 -1
- package/dist/src/rlc-common/interfaces.d.ts +2 -20
- package/dist/src/rlc-common/interfaces.d.ts.map +1 -1
- package/dist/src/rlc-common/interfaces.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 +18 -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 +41 -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 +149 -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 +328 -0
- package/dist/src/rlc-common/metadata/build-readme-file.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 +14 -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 +51 -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 +129 -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 +73 -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 +14 -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 +14 -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 +203 -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 +155 -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/package-common.d.ts +43 -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 +103 -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 +14 -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 +11 -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 +22 -0
- package/dist/src/rlc-common/test/build-snippets.js.map +1 -0
- package/dist/src/rlc-common/test/template.d.ts +3 -3
- package/dist/src/rlc-common/test/template.d.ts.map +1 -1
- package/dist/src/rlc-common/test/template.js +1 -35
- package/dist/src/rlc-common/test/template.js.map +1 -1
- 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 +66 -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.d.ts.map +1 -1
- package/dist/src/transform/transform.js +19 -26
- 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 +304 -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 +123 -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 +4 -0
- package/dist/src/utils/emit-util.d.ts.map +1 -0
- package/dist/src/utils/emit-util.js +60 -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 +57 -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 +1473 -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/src/utils/resolve-project-root.d.ts +6 -4
- package/dist/src/utils/resolve-project-root.d.ts.map +1 -1
- package/dist/src/utils/resolve-project-root.js +11 -18
- package/dist/src/utils/resolve-project-root.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +45 -64
- package/src/context-manager.ts +101 -0
- package/src/framework/hooks/binder.ts +7 -8
- package/src/framework/hooks/sdk-types.ts +218 -0
- package/src/framework/hooks/use-dependencies.ts +16 -0
- package/src/framework/load-static-helpers.ts +38 -41
- package/src/framework/sample.ts +1 -1
- package/src/index.ts +148 -226
- package/src/lib.ts +32 -143
- 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 +317 -0
- package/src/modular/build-operations.ts +248 -0
- package/src/modular/build-project-files.ts +118 -0
- package/src/modular/build-restore-poller.ts +242 -0
- package/src/modular/build-root-index.ts +403 -0
- package/src/modular/build-subpath-index.ts +152 -0
- package/src/modular/emit-logger-file.ts +20 -0
- package/src/modular/emit-models-options.ts +56 -0
- package/src/modular/emit-models.ts +1080 -0
- package/src/modular/emit-samples.ts +740 -0
- package/src/modular/emit-tests.ts +211 -0
- package/src/modular/helpers/classical-operation-helpers.ts +375 -0
- package/src/modular/helpers/client-helpers.ts +352 -0
- package/src/modular/helpers/example-value-helpers.ts +836 -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/helpers/imports-util.ts +172 -0
- package/src/rlc-common/helpers/name-constructors.ts +88 -0
- package/src/rlc-common/helpers/operation-helpers.ts +138 -0
- package/src/rlc-common/index.ts +21 -39
- package/src/rlc-common/interfaces.ts +2 -23
- package/src/rlc-common/metadata/build-api-extractor-config.ts +22 -0
- package/src/rlc-common/metadata/build-es-lint-config.ts +45 -0
- package/src/rlc-common/metadata/build-package-file.ts +180 -0
- package/src/rlc-common/metadata/build-readme-file.ts +413 -0
- package/src/rlc-common/metadata/build-sample-env-file.ts +18 -0
- package/src/rlc-common/metadata/build-test-config.ts +67 -0
- package/src/rlc-common/metadata/build-ts-config.ts +177 -0
- package/src/rlc-common/metadata/build-warp-config.ts +87 -0
- package/src/rlc-common/metadata/package-json/azure-package-common.ts +20 -0
- package/src/rlc-common/metadata/package-json/build-azure-monorepo-package.ts +179 -0
- package/src/rlc-common/metadata/package-json/package-common.ts +137 -0
- package/src/rlc-common/static/polling-content.ts +225 -0
- package/src/rlc-common/test/build-recorded-client.ts +15 -0
- package/src/rlc-common/test/build-sample-test.ts +12 -0
- package/src/rlc-common/test/build-snippets.ts +25 -0
- package/src/rlc-common/test/template.ts +1 -35
- package/src/transform/transform-api-version-info.ts +103 -0
- package/src/transform/transform-helper-function-details.ts +79 -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 +18 -29
- package/src/transform/transfrom-rlc-options.ts +363 -0
- package/src/utils/client-utils.ts +161 -0
- package/src/utils/cross-language-def.ts +66 -0
- package/src/utils/emit-util.ts +67 -0
- package/src/utils/file-system-utils.ts +68 -0
- package/src/utils/import-helper.ts +59 -0
- package/src/utils/interfaces.ts +1 -1
- package/src/utils/model-utils.ts +1714 -0
- package/src/utils/operation-util.ts +763 -0
- package/src/utils/parameter-utils.ts +192 -0
- package/src/utils/resolve-project-root.ts +11 -24
- 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/dirname.d.ts +0 -9
- package/dist/src/utils/dirname.d.ts.map +0 -1
- package/dist/src/utils/dirname.js +0 -12
- package/dist/src/utils/dirname.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/importsUtil.ts +0 -184
- package/src/rlc-common/helpers/nameConstructors.ts +0 -110
- package/src/rlc-common/helpers/operationHelpers.ts +0 -138
- package/src/rlc-common/helpers/packageUtil.ts +0 -13
- package/src/rlc-common/helpers/pathUtils.ts +0 -10
- package/src/rlc-common/helpers/shortcutMethods.ts +0 -58
- package/src/rlc-common/helpers/valueGenerationUtil.ts +0 -234
- package/src/rlc-common/metadata/buildApiExtractorConfig.ts +0 -64
- package/src/rlc-common/metadata/buildESLintConfig.ts +0 -84
- 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/buildSampleEnvFile.ts +0 -21
- package/src/rlc-common/metadata/buildTestConfig.ts +0 -72
- package/src/rlc-common/metadata/buildTsConfig.ts +0 -219
- package/src/rlc-common/metadata/buildWarpConfig.ts +0 -91
- 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/metadata/packageJson/packageCommon.ts +0 -235
- package/src/rlc-common/static/pollingContent.ts +0 -225
- package/src/rlc-common/test/buildRecordedClient.ts +0 -18
- package/src/rlc-common/test/buildSampleTest.ts +0 -15
- 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/clientUtils.ts +0 -162
- package/src/utils/crossLanguageDef.ts +0 -66
- package/src/utils/dirname.ts +0 -12
- package/src/utils/emitUtil.ts +0 -92
- package/src/utils/fileSystemUtils.ts +0 -69
- 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/{nameUtils.ts → name-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/{buildChangelogFile.ts → build-changelog-file.ts} +0 -0
- /package/src/rlc-common/metadata/{buildLicenseFile.ts → build-license-file.ts} +0 -0
- /package/src/rlc-common/metadata/{buildVitestConfig.ts → build-vitest-config.ts} +0 -0
- /package/src/rlc-common/static/{paginateContent.ts → paginate-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/utils/{credentialUtils.ts → credential-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,622 @@
|
|
|
1
|
+
import { isReadOnly, } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
+
import { joinPaths } from "@typespec/compiler";
|
|
3
|
+
import { useContext } from "../../context-manager.js";
|
|
4
|
+
import { resolveReference } from "../../framework/reference.js";
|
|
5
|
+
import { NameType, normalizeName } from "../../rlc-common/index.js";
|
|
6
|
+
import { getSubscriptionId } from "../../transform/transfrom-rlc-options.js";
|
|
7
|
+
import { hasKeyCredential, hasTokenCredential } from "../../utils/credential-utils.js";
|
|
8
|
+
import { getMethodHierarchiesMap } from "../../utils/operation-util.js";
|
|
9
|
+
import { AzureIdentityDependencies, AzureTestDependencies } from "../external-dependencies.js";
|
|
10
|
+
import { getClientParametersDeclaration } from "./client-helpers.js";
|
|
11
|
+
import { getClassicalClientName } from "./naming-helpers.js";
|
|
12
|
+
import { getOperationFunction } from "./operation-helpers.js";
|
|
13
|
+
import { isSpreadBodyParameter } from "./type-helpers.js";
|
|
14
|
+
/**
|
|
15
|
+
* Build parameter value map from example
|
|
16
|
+
*/
|
|
17
|
+
export function buildParameterValueMap(example) {
|
|
18
|
+
const parameterMap = {};
|
|
19
|
+
example.parameters.forEach((param) => (parameterMap[param.parameter.serializedName] = param));
|
|
20
|
+
return parameterMap;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Prepare a common value for tests
|
|
24
|
+
*/
|
|
25
|
+
export function prepareCommonValue(name, value, isOptional, onClient) {
|
|
26
|
+
return {
|
|
27
|
+
name: normalizeName(name, NameType.Parameter),
|
|
28
|
+
value: typeof value === "string" ? value : serializeExampleValue(value),
|
|
29
|
+
isOptional: Boolean(isOptional),
|
|
30
|
+
onClient: Boolean(onClient),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get credential value for samples
|
|
35
|
+
*/
|
|
36
|
+
export function getCredentialSampleValue(_dpgContext, initialization) {
|
|
37
|
+
const keyCredential = hasKeyCredential(initialization), tokenCredential = hasTokenCredential(initialization);
|
|
38
|
+
const defaultSetting = {
|
|
39
|
+
isOptional: false,
|
|
40
|
+
onClient: true,
|
|
41
|
+
name: "credential",
|
|
42
|
+
};
|
|
43
|
+
if (keyCredential || tokenCredential) {
|
|
44
|
+
// Support DefaultAzureCredential for Azure packages
|
|
45
|
+
return {
|
|
46
|
+
...defaultSetting,
|
|
47
|
+
value: `new ${resolveReference(AzureIdentityDependencies.DefaultAzureCredential)}()`,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get credential value for tests
|
|
54
|
+
*/
|
|
55
|
+
export function getCredentialTestValue(dpgContext, initialization) {
|
|
56
|
+
const createTestCredentialType = resolveReference(AzureTestDependencies.createTestCredential);
|
|
57
|
+
const keyCredential = hasKeyCredential(initialization), tokenCredential = hasTokenCredential(initialization);
|
|
58
|
+
const defaultSetting = {
|
|
59
|
+
isOptional: false,
|
|
60
|
+
onClient: true,
|
|
61
|
+
name: "credential",
|
|
62
|
+
};
|
|
63
|
+
if (keyCredential || tokenCredential) {
|
|
64
|
+
if (dpgContext.arm || hasTokenCredential(initialization)) {
|
|
65
|
+
// Support createTestCredential for ARM/Azure packages
|
|
66
|
+
return {
|
|
67
|
+
...defaultSetting,
|
|
68
|
+
value: `${createTestCredentialType}()`,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
else if (keyCredential) {
|
|
72
|
+
// Support ApiKeyCredential for non-Azure packages
|
|
73
|
+
return {
|
|
74
|
+
...defaultSetting,
|
|
75
|
+
value: `{ key: "INPUT_YOUR_KEY_HERE" } `,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
else if (tokenCredential) {
|
|
79
|
+
// Support TokenCredential for non-Azure packages
|
|
80
|
+
return {
|
|
81
|
+
...defaultSetting,
|
|
82
|
+
value: `{
|
|
83
|
+
getToken: async () => {
|
|
84
|
+
return { token: "INPUT_YOUR_TOKEN_HERE", expiresOnTimestamp: Date.now() };
|
|
85
|
+
}
|
|
86
|
+
} `,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Serialize example value to string representation for tests.
|
|
94
|
+
* Note: This is a simplified serializer for tests that does NOT handle plainDate
|
|
95
|
+
* as Date objects (it stays as string), which is the expected behavior for tests.
|
|
96
|
+
*/
|
|
97
|
+
export function serializeExampleValue(value) {
|
|
98
|
+
let retValue = `{} as any`;
|
|
99
|
+
switch (value.kind) {
|
|
100
|
+
case "string": {
|
|
101
|
+
switch (value.type.kind) {
|
|
102
|
+
case "utcDateTime":
|
|
103
|
+
retValue = `new Date("${value.value}")`;
|
|
104
|
+
break;
|
|
105
|
+
case "bytes": {
|
|
106
|
+
const encode = value.type.encode ?? "base64";
|
|
107
|
+
// TODO: add check for un-supported encode
|
|
108
|
+
retValue = `Buffer.from("${value.value}", "${encode}")`;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
default:
|
|
112
|
+
retValue = `"${value.value
|
|
113
|
+
?.toString()
|
|
114
|
+
.replace(/\\/g, "\\\\")
|
|
115
|
+
.replace(/"/g, '\\"')
|
|
116
|
+
.replace(/\n/g, "\\n")
|
|
117
|
+
.replace(/\r/g, "\\r")
|
|
118
|
+
.replace(/\t/g, "\\t")
|
|
119
|
+
.replace(/\f/g, "\\f")}"`;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case "boolean":
|
|
125
|
+
case "number":
|
|
126
|
+
case "null":
|
|
127
|
+
case "unknown":
|
|
128
|
+
case "union":
|
|
129
|
+
retValue = `${JSON.stringify(value.value)}`;
|
|
130
|
+
break;
|
|
131
|
+
case "dict":
|
|
132
|
+
case "model": {
|
|
133
|
+
const mapper = buildTestPropertyNameMapper(value.type);
|
|
134
|
+
const values = [];
|
|
135
|
+
const additionalPropertiesValue = value.kind === "model" ? (value.additionalPropertiesValue ?? {}) : {};
|
|
136
|
+
for (const propName in {
|
|
137
|
+
...value.value,
|
|
138
|
+
}) {
|
|
139
|
+
let property;
|
|
140
|
+
if (value.type.kind === "model") {
|
|
141
|
+
property = value.type.properties.find((p) => p.name === propName);
|
|
142
|
+
}
|
|
143
|
+
const propValue = value.value[propName];
|
|
144
|
+
if (propValue === undefined || propValue === null) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
// Skip readonly properties as they cannot be set by users
|
|
148
|
+
if (property && isReadOnly(property)) {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
// Handle flattened properties: inline inner model properties at current level
|
|
152
|
+
if (property?.flatten && property.type.kind === "model" && propValue.kind === "model") {
|
|
153
|
+
const innerMapper = buildTestPropertyNameMapper(property.type);
|
|
154
|
+
for (const innerPropName in propValue.value ?? {}) {
|
|
155
|
+
const innerPropValue = propValue.value[innerPropName];
|
|
156
|
+
if (innerPropValue === undefined || innerPropValue === null) {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
const innerProperty = property.type.properties.find((p) => p.name === innerPropName);
|
|
160
|
+
if (innerProperty && isReadOnly(innerProperty)) {
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
values.push(`"${innerMapper.get(innerPropName) ?? innerPropName}": ` +
|
|
164
|
+
serializeExampleValue(innerPropValue));
|
|
165
|
+
}
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
const propRetValue = `"${mapper.get(propName) ?? propName}": ` + serializeExampleValue(propValue);
|
|
169
|
+
values.push(propRetValue);
|
|
170
|
+
}
|
|
171
|
+
const additionalBags = [];
|
|
172
|
+
for (const propName in {
|
|
173
|
+
...additionalPropertiesValue,
|
|
174
|
+
}) {
|
|
175
|
+
const propValue = additionalPropertiesValue[propName];
|
|
176
|
+
if (propValue === undefined || propValue === null) {
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
const propRetValue = `"${mapper.get(propName) ?? propName}": ` + serializeExampleValue(propValue);
|
|
180
|
+
additionalBags.push(propRetValue);
|
|
181
|
+
}
|
|
182
|
+
if (additionalBags.length > 0) {
|
|
183
|
+
const name = mapper.get("additionalProperties")
|
|
184
|
+
? "additionalPropertiesBag"
|
|
185
|
+
: "additionalProperties";
|
|
186
|
+
values.push(`"${name}": {
|
|
187
|
+
${additionalBags.join(", ")}
|
|
188
|
+
}`);
|
|
189
|
+
}
|
|
190
|
+
retValue = `{${values.join(", ")}}`;
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case "array": {
|
|
194
|
+
const valuesArr = value.value.map(serializeExampleValue);
|
|
195
|
+
retValue = `[${valuesArr.join(", ")}]`;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
default:
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
return retValue;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Build a simple property name mapper for tests (does not require context).
|
|
205
|
+
* Maps serialized property names to their TypeScript/JavaScript client names.
|
|
206
|
+
*/
|
|
207
|
+
function buildTestPropertyNameMapper(type) {
|
|
208
|
+
const mapper = new Map();
|
|
209
|
+
if (!type || type.kind !== "model") {
|
|
210
|
+
return mapper;
|
|
211
|
+
}
|
|
212
|
+
for (const prop of type.properties) {
|
|
213
|
+
if (prop.kind !== "property") {
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
mapper.set(prop.serializationOptions.json?.name || prop.name, normalizeName(prop.name, NameType.Property));
|
|
217
|
+
}
|
|
218
|
+
return mapper;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Escape special characters to spaces (for samples)
|
|
222
|
+
*/
|
|
223
|
+
export function escapeSpecialCharToSpace(str) {
|
|
224
|
+
if (!str) {
|
|
225
|
+
return str;
|
|
226
|
+
}
|
|
227
|
+
return str.replace(/_|,|\.|\(|\)|'s |\[|\]/g, " ").replace(/\//g, " Or ");
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Generate descriptive names based on operation names
|
|
231
|
+
*/
|
|
232
|
+
export function getDescriptiveName(method, exampleName, type) {
|
|
233
|
+
const description = method.doc ?? `execute ${method.oriName ?? method.name}`;
|
|
234
|
+
let descriptiveName = description.charAt(0).toLowerCase() + description.slice(1);
|
|
235
|
+
// Only remove trailing dots for test names to avoid redundancy
|
|
236
|
+
if (type === "test") {
|
|
237
|
+
descriptiveName = descriptiveName.replace(/\.$/, "");
|
|
238
|
+
// Include the example name to ensure uniqueness for multiple test cases
|
|
239
|
+
const functionName = normalizeName(exampleName, NameType.Method);
|
|
240
|
+
return `${descriptiveName} for ${functionName}`;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
// For samples, preserve the original formatting including periods
|
|
244
|
+
return descriptiveName;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Common logic for preparing parameters for tests
|
|
249
|
+
*/
|
|
250
|
+
export function prepareCommonParameters(dpgContext, method, parameterMap, topLevelClient) {
|
|
251
|
+
const envType = resolveReference(AzureTestDependencies.env);
|
|
252
|
+
const result = [];
|
|
253
|
+
const clientParams = getClientParametersDeclaration(topLevelClient, dpgContext, {
|
|
254
|
+
onClientOnly: true,
|
|
255
|
+
});
|
|
256
|
+
for (const param of clientParams) {
|
|
257
|
+
if (param.name === "options" || param.name === "credential") {
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
const exampleValue = {
|
|
261
|
+
name: param.name === "endpointParam" ? "endpoint" : param.name,
|
|
262
|
+
value: getEnvironmentVariableName(param.name, getClassicalClientName(topLevelClient)),
|
|
263
|
+
isOptional: Boolean(param.hasQuestionToken),
|
|
264
|
+
onClient: true,
|
|
265
|
+
};
|
|
266
|
+
result.push(exampleValue);
|
|
267
|
+
}
|
|
268
|
+
// Handle credentials for tests
|
|
269
|
+
const credentialValue = getCredentialTestValue(dpgContext, topLevelClient.clientInitialization);
|
|
270
|
+
if (credentialValue) {
|
|
271
|
+
result.push(credentialValue);
|
|
272
|
+
}
|
|
273
|
+
const subscriptionIdValue = `${envType}.SUBSCRIPTION_ID || "<SUBSCRIPTION_ID>"`;
|
|
274
|
+
let isSubscriptionIdAdded = false;
|
|
275
|
+
// Process required parameters
|
|
276
|
+
for (const param of method.operation.parameters) {
|
|
277
|
+
if (param.optional === true || param.type.kind === "constant" || param.clientDefaultValue) {
|
|
278
|
+
continue;
|
|
279
|
+
}
|
|
280
|
+
const exampleValue = parameterMap[param.serializedName];
|
|
281
|
+
// Handle subscriptionId parameter separately for ARM clients
|
|
282
|
+
if (param.name.toLowerCase() === "subscriptionid" && dpgContext.arm) {
|
|
283
|
+
isSubscriptionIdAdded = true;
|
|
284
|
+
// For tests, always use env variable
|
|
285
|
+
result.push(prepareCommonValue("subscriptionId", subscriptionIdValue, false, true));
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
if (!exampleValue || !exampleValue.value) {
|
|
289
|
+
if (!param.optional) {
|
|
290
|
+
// Generate default values for required parameters without examples in tests
|
|
291
|
+
result.push(prepareCommonValue(param.name, `"{Your ${param.name}}"`, false, param.onClient));
|
|
292
|
+
}
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
result.push(prepareCommonValue(exampleValue.parameter.name, exampleValue.value, param.optional, param.onClient));
|
|
296
|
+
}
|
|
297
|
+
// Add subscriptionId for ARM clients if needed
|
|
298
|
+
if (dpgContext.arm && getSubscriptionId(dpgContext) && !isSubscriptionIdAdded) {
|
|
299
|
+
result.push(prepareCommonValue("subscriptionId", subscriptionIdValue, false, true));
|
|
300
|
+
}
|
|
301
|
+
// Handle body parameters
|
|
302
|
+
const bodyParam = method.operation.bodyParam;
|
|
303
|
+
const bodySerializeName = bodyParam?.serializedName;
|
|
304
|
+
const bodyExample = parameterMap[bodySerializeName ?? ""];
|
|
305
|
+
if (bodyParam && bodyExample && bodyExample.value) {
|
|
306
|
+
if (isSpreadBodyParameter(bodyParam) &&
|
|
307
|
+
bodyParam.type.kind === "model" &&
|
|
308
|
+
bodyExample.value.kind === "model") {
|
|
309
|
+
for (const prop of bodyParam.type.properties) {
|
|
310
|
+
const propExample = bodyExample.value.value[prop.name];
|
|
311
|
+
if (!propExample) {
|
|
312
|
+
continue;
|
|
313
|
+
}
|
|
314
|
+
// Skip readonly properties as they cannot be set by users
|
|
315
|
+
if (isReadOnly(prop)) {
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
result.push(prepareCommonValue(prop.name, propExample, prop.optional, prop.onClient));
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
// Check if the body parameter is nested inside a wrapper (e.g., @bodyRoot)
|
|
323
|
+
const segments = bodyParam.methodParameterSegments;
|
|
324
|
+
const isNestedBody = segments.length === 1 && segments[0] !== undefined && segments[0].length > 1;
|
|
325
|
+
if (isNestedBody) {
|
|
326
|
+
const path = segments[0];
|
|
327
|
+
// The first segment is the method-level wrapper param (e.g., "body")
|
|
328
|
+
const methodParamName = path[0].name;
|
|
329
|
+
const methodParamOptional = path[0].optional;
|
|
330
|
+
// Wrap the example value with the intermediate property names
|
|
331
|
+
let wrappedValue = serializeExampleValue(bodyExample.value);
|
|
332
|
+
for (let i = path.length - 1; i >= 1; i--) {
|
|
333
|
+
const propName = normalizeName(path[i].name, NameType.Property);
|
|
334
|
+
wrappedValue = `{ ${propName}: ${wrappedValue} }`;
|
|
335
|
+
}
|
|
336
|
+
result.push(prepareCommonValue(methodParamName, wrappedValue, methodParamOptional, bodyParam.onClient));
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
result.push(prepareCommonValue(bodyParam.name, bodyExample.value, bodyParam.optional, bodyParam.onClient));
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
// Handle optional parameters that have examples
|
|
344
|
+
method.operation.parameters
|
|
345
|
+
.filter((param) => param.optional === true && parameterMap[param.serializedName] && !param.clientDefaultValue)
|
|
346
|
+
.forEach((param) => {
|
|
347
|
+
const exampleValue = parameterMap[param.serializedName];
|
|
348
|
+
if (exampleValue && exampleValue.value) {
|
|
349
|
+
result.push(prepareCommonValue(param.name, exampleValue.value, true, param.onClient));
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
return result;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Common client and method iteration logic
|
|
356
|
+
*/
|
|
357
|
+
export function iterateClientsAndMethods(dpgContext, callback) {
|
|
358
|
+
const generatedFiles = [];
|
|
359
|
+
const clients = dpgContext.sdkPackage.clients;
|
|
360
|
+
for (const client of clients) {
|
|
361
|
+
const methodMap = getMethodHierarchiesMap(dpgContext, client);
|
|
362
|
+
for (const [prefixKey, methods] of methodMap) {
|
|
363
|
+
const hierarchies = prefixKey ? prefixKey.split("/") : [];
|
|
364
|
+
const prefix = hierarchies
|
|
365
|
+
.map((name) => {
|
|
366
|
+
return normalizeName(name, NameType.Property);
|
|
367
|
+
})
|
|
368
|
+
.join(".");
|
|
369
|
+
for (const method of methods) {
|
|
370
|
+
callback(dpgContext, method, {
|
|
371
|
+
client,
|
|
372
|
+
generatedFiles,
|
|
373
|
+
classicalMethodPrefix: prefix,
|
|
374
|
+
subFolder: clients.length > 1
|
|
375
|
+
? normalizeName(getClassicalClientName(client), NameType.File)
|
|
376
|
+
: undefined,
|
|
377
|
+
hierarchies: hierarchies,
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
return generatedFiles;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Generate common method call logic
|
|
386
|
+
*/
|
|
387
|
+
export function generateMethodCall(method, parameters, options, dpgContext) {
|
|
388
|
+
// Prepare client-level parameters
|
|
389
|
+
const clientParamValues = parameters.filter((p) => p.onClient);
|
|
390
|
+
const clientParams = clientParamValues
|
|
391
|
+
.filter((p) => !p.isOptional)
|
|
392
|
+
.map((param) => param.name);
|
|
393
|
+
const clientParamDefs = clientParamValues
|
|
394
|
+
.filter((p) => !p.isOptional)
|
|
395
|
+
.map((param) => `const ${param.name} = ${param.value};`);
|
|
396
|
+
// Prepare operation-level parameters
|
|
397
|
+
const methodParamValues = parameters.filter((p) => !p.onClient);
|
|
398
|
+
let methodParams;
|
|
399
|
+
// If dpgContext is provided, reorder parameters according to function signature
|
|
400
|
+
if (dpgContext) {
|
|
401
|
+
// Get the actual function signature parameter order
|
|
402
|
+
const operationFunction = getOperationFunction(dpgContext, [options.hierarchies ?? [], method], "Client");
|
|
403
|
+
// Extract parameter names from the function signature (excluding context and options)
|
|
404
|
+
const signatureParamNames = operationFunction.parameters
|
|
405
|
+
?.filter((p) => p.name !== "context" && !p.type?.toString().includes("OptionalParams"))
|
|
406
|
+
.map((p) => p.name) ?? [];
|
|
407
|
+
// Create a map for quick lookup of parameter values by name
|
|
408
|
+
const paramValueMap = new Map(methodParamValues.map((p) => [p.name, p]));
|
|
409
|
+
// Reorder methodParamValues according to the signature order
|
|
410
|
+
const orderedRequiredParams = signatureParamNames
|
|
411
|
+
.map((name) => paramValueMap.get(name))
|
|
412
|
+
.filter((p) => p !== undefined && !p.isOptional);
|
|
413
|
+
methodParams = orderedRequiredParams.map((p) => `${p.value}`);
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Original logic when dpgContext is not provided
|
|
417
|
+
methodParams = methodParamValues.filter((p) => !p.isOptional).map((p) => `${p.value}`);
|
|
418
|
+
}
|
|
419
|
+
const optionalParams = methodParamValues
|
|
420
|
+
.filter((p) => p.isOptional)
|
|
421
|
+
.map((param) => `${param.name}: ${param.value}`);
|
|
422
|
+
if (optionalParams.length > 0) {
|
|
423
|
+
methodParams.push(`{${optionalParams.join(", ")}}`);
|
|
424
|
+
}
|
|
425
|
+
const prefix = options.classicalMethodPrefix ? `${options.classicalMethodPrefix}.` : "";
|
|
426
|
+
const methodCall = `client.${prefix}${normalizeName(method.oriName ?? method.name, NameType.Property)}(${methodParams.join(", ")})`;
|
|
427
|
+
return { methodCall, clientParams, clientParamDefs };
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Common source file creation logic
|
|
431
|
+
*/
|
|
432
|
+
export function createSourceFile(dpgContext, method, options, type, fileName) {
|
|
433
|
+
const project = useContext("outputProject");
|
|
434
|
+
const operationPrefix = `${options.classicalMethodPrefix ?? ""} ${method.oriName ?? method.name}`;
|
|
435
|
+
const baseFolder = type === "sample" ? "samples-dev" : joinPaths("test", "generated");
|
|
436
|
+
const folder = joinPaths(dpgContext.generationPathDetail?.rootDir ?? "", baseFolder, options.subFolder ?? "");
|
|
437
|
+
const fileExtension = type === "sample" ? ".ts" : ".spec.ts";
|
|
438
|
+
const normalizedFileName = normalizeName(fileName || `${operationPrefix} ${type}`, NameType.File);
|
|
439
|
+
return project.createSourceFile(joinPaths(folder, `${normalizedFileName}${fileExtension}`), "", {
|
|
440
|
+
overwrite: true,
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
/**
|
|
444
|
+
* Generate assertions for a specific value (recursive for nested objects)
|
|
445
|
+
*/
|
|
446
|
+
export function generateAssertionsForValue(value, path, maxDepth = 3, currentDepth = 0) {
|
|
447
|
+
const assertions = [];
|
|
448
|
+
// Prevent infinite recursion for deeply nested objects
|
|
449
|
+
if (currentDepth >= maxDepth) {
|
|
450
|
+
return assertions;
|
|
451
|
+
}
|
|
452
|
+
switch (value.kind) {
|
|
453
|
+
case "string": {
|
|
454
|
+
switch (value.type.kind) {
|
|
455
|
+
case "utcDateTime":
|
|
456
|
+
assertions.push(`assert.strictEqual(${path}.getTime(), new Date("${value.value}").getTime());`);
|
|
457
|
+
break;
|
|
458
|
+
case "bytes": {
|
|
459
|
+
const encode = value.type.encode ?? "base64";
|
|
460
|
+
assertions.push(`assert.deepEqual(${path}, Buffer.from("${value.value}", "${encode}"));`);
|
|
461
|
+
break;
|
|
462
|
+
}
|
|
463
|
+
default: {
|
|
464
|
+
const retValue = `"${value.value
|
|
465
|
+
?.toString()
|
|
466
|
+
.replace(/\\/g, "\\\\")
|
|
467
|
+
.replace(/"/g, '\\"')
|
|
468
|
+
.replace(/\n/g, "\\n")
|
|
469
|
+
.replace(/\r/g, "\\r")
|
|
470
|
+
.replace(/\t/g, "\\t")
|
|
471
|
+
.replace(/\f/g, "\\f")}"`;
|
|
472
|
+
assertions.push(`assert.strictEqual(${path}, ${retValue});`);
|
|
473
|
+
break;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
case "boolean":
|
|
479
|
+
case "number":
|
|
480
|
+
assertions.push(`assert.strictEqual(${path}, ${JSON.stringify(value.value)});`);
|
|
481
|
+
break;
|
|
482
|
+
case "unknown":
|
|
483
|
+
// for unknown type we fall back to assert.isDefined to avoid false positives in tests, so we can't assert on the exact value. But we can still check that the payload is defined.
|
|
484
|
+
assertions.push(`assert.isDefined(${path});`);
|
|
485
|
+
break;
|
|
486
|
+
case "array":
|
|
487
|
+
if (value.value && value.value.length > 0) {
|
|
488
|
+
assertions.push(`assert.ok(Array.isArray(${path}));`);
|
|
489
|
+
assertions.push(`assert.strictEqual(${path}.length, ${value.value.length});`);
|
|
490
|
+
// Assert on first few items to avoid overly verbose tests
|
|
491
|
+
const itemsToCheck = Math.min(value.value.length, 2);
|
|
492
|
+
for (let i = 0; i < itemsToCheck; i++) {
|
|
493
|
+
const item = value.value[i];
|
|
494
|
+
if (item) {
|
|
495
|
+
const itemAssertions = generateAssertionsForValue(item, `${path}[${i}]`, maxDepth, currentDepth + 1);
|
|
496
|
+
assertions.push(...itemAssertions);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
break;
|
|
501
|
+
case "model":
|
|
502
|
+
case "dict":
|
|
503
|
+
if (value.value && typeof value.value === "object") {
|
|
504
|
+
const entries = Object.entries(value.value);
|
|
505
|
+
for (const [key, val] of entries) {
|
|
506
|
+
if (val && typeof val === "object" && "kind" in val) {
|
|
507
|
+
// Check if this property is flattened in the model type
|
|
508
|
+
let property;
|
|
509
|
+
if (value.kind === "model" && value.type.kind === "model") {
|
|
510
|
+
property = value.type.properties.find((p) => p.kind === "property" && p.name === key);
|
|
511
|
+
}
|
|
512
|
+
if (property?.flatten && val.kind === "model") {
|
|
513
|
+
// For flattened properties, recurse using the parent path so
|
|
514
|
+
// assertions reference result.xxx instead of result.properties.xxx
|
|
515
|
+
const innerAssertions = generateAssertionsForValue(val, path, maxDepth, currentDepth + 1);
|
|
516
|
+
assertions.push(...innerAssertions);
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
const propPath = `${path}.${key}`;
|
|
520
|
+
const nestedVal = val;
|
|
521
|
+
// For nested model/dict values, append "?" to the path so child
|
|
522
|
+
// property accesses use optional chaining (e.g. result.systemData?.createdBy)
|
|
523
|
+
const recursePath = nestedVal.kind === "model" || nestedVal.kind === "dict" ? `${propPath}?` : propPath;
|
|
524
|
+
const propAssertions = generateAssertionsForValue(nestedVal, recursePath, maxDepth, currentDepth + 1);
|
|
525
|
+
assertions.push(...propAssertions);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
break;
|
|
531
|
+
case "null":
|
|
532
|
+
assertions.push(`assert.strictEqual(${path}, null);`);
|
|
533
|
+
break;
|
|
534
|
+
case "union":
|
|
535
|
+
// For unions, generate assertions for the actual value
|
|
536
|
+
if (value.value) {
|
|
537
|
+
const unionAssertions = generateAssertionsForValue(value.value, path, maxDepth, currentDepth);
|
|
538
|
+
assertions.push(...unionAssertions);
|
|
539
|
+
}
|
|
540
|
+
break;
|
|
541
|
+
}
|
|
542
|
+
return assertions;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* Generate response assertions based on the example responses
|
|
546
|
+
*/
|
|
547
|
+
export function generateResponseAssertions(example, resultVariableName, isPaging = false) {
|
|
548
|
+
const assertions = [];
|
|
549
|
+
// Get the responses
|
|
550
|
+
const responses = example.responses;
|
|
551
|
+
if (!responses || Object.keys(responses).length === 0) {
|
|
552
|
+
return assertions;
|
|
553
|
+
}
|
|
554
|
+
// TypeSpec SDK uses numeric indices for responses, get the first response
|
|
555
|
+
const responseKeys = Object.keys(responses);
|
|
556
|
+
if (responseKeys.length === 0) {
|
|
557
|
+
return assertions;
|
|
558
|
+
}
|
|
559
|
+
const firstResponseKey = responseKeys[0];
|
|
560
|
+
if (!firstResponseKey) {
|
|
561
|
+
return assertions;
|
|
562
|
+
}
|
|
563
|
+
const firstResponse = responses[firstResponseKey];
|
|
564
|
+
const responseBody = firstResponse?.bodyValue;
|
|
565
|
+
if (!responseBody) {
|
|
566
|
+
return assertions;
|
|
567
|
+
}
|
|
568
|
+
if (isPaging) {
|
|
569
|
+
// For paging operations, the response body should have a 'value' array
|
|
570
|
+
if (responseBody.kind === "model" || responseBody.kind === "dict") {
|
|
571
|
+
const responseValue = responseBody.value;
|
|
572
|
+
const valueArray = responseValue?.["value"];
|
|
573
|
+
if (valueArray && valueArray.kind === "array" && valueArray.value) {
|
|
574
|
+
// Assert on the length of the collected results
|
|
575
|
+
assertions.push(`assert.strictEqual(${resultVariableName}.length, ${valueArray.value.length});`);
|
|
576
|
+
// Assert on the first item if available
|
|
577
|
+
if (valueArray.value.length > 0) {
|
|
578
|
+
const firstItem = valueArray.value[0];
|
|
579
|
+
if (firstItem) {
|
|
580
|
+
const itemAssertions = generateAssertionsForValue(firstItem, `${resultVariableName}[0]`, 2, // Limit depth for paging items
|
|
581
|
+
0);
|
|
582
|
+
assertions.push(...itemAssertions);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
else {
|
|
589
|
+
// Generate assertions based on response body structure
|
|
590
|
+
const responseAssertions = generateAssertionsForValue(responseBody, resultVariableName);
|
|
591
|
+
assertions.push(...responseAssertions);
|
|
592
|
+
}
|
|
593
|
+
return assertions;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Get the environment variable name for a client parameter.
|
|
597
|
+
* Converts camelCase parameter names to UPPER_SNAKE_CASE with optional client name prefix.
|
|
598
|
+
* @param paramName - The parameter name to convert
|
|
599
|
+
* @param clientName - Optional client name to use as prefix
|
|
600
|
+
* @returns The environment variable expression string
|
|
601
|
+
*/
|
|
602
|
+
function getEnvironmentVariableName(paramName, clientName) {
|
|
603
|
+
// Remove "Param" suffix if present
|
|
604
|
+
const cleanName = paramName.replace(/Param$/, "");
|
|
605
|
+
// Remove "Client" suffix from client name if present and convert to UPPER_SNAKE_CASE
|
|
606
|
+
let prefix = "";
|
|
607
|
+
if (clientName) {
|
|
608
|
+
const cleanClientName = clientName.replace(/Client$/, "");
|
|
609
|
+
prefix =
|
|
610
|
+
cleanClientName
|
|
611
|
+
.replace(/([A-Z])/g, "_$1")
|
|
612
|
+
.toUpperCase()
|
|
613
|
+
.replace(/^_/, "") + "_";
|
|
614
|
+
}
|
|
615
|
+
// Convert camelCase to UPPER_SNAKE_CASE
|
|
616
|
+
const envVarName = cleanName
|
|
617
|
+
.replace(/([A-Z])/g, "_$1")
|
|
618
|
+
.toUpperCase()
|
|
619
|
+
.replace(/^_/, "");
|
|
620
|
+
return `process.env.${prefix}${envVarName} || ""`;
|
|
621
|
+
}
|
|
622
|
+
//# sourceMappingURL=example-value-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example-value-helpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/example-value-helpers.ts"],"names":[],"mappings":"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"}
|