From 4ed008bf2dbe1984576a6ba298628210444b4c85 Mon Sep 17 00:00:00 2001 From: Christopher Radek <14189820+chrisradek@users.noreply.github.com> Date: Thu, 8 Aug 2024 06:43:50 -0700 Subject: [PATCH] TypeSpec Azure 0.45 - August 2024 Release (#1324) Depends on https://github.com/microsoft/typespec/pull/4120 --------- Co-authored-by: Christopher Radek --- ...quire-versioned-rule-2024-6-11-13-27-30.md | 7 - ...quire-versioned-rule-2024-6-11-20-55-37.md | 8 - .../allow_int_string-2024-6-29-16-19-19.md | 7 - ...st-generated-dec-sig-2024-6-18-11-30-47.md | 6 - ...e-core-dec-signatures-2024-6-18-17-49-0.md | 8 - ...july-2024-2024-07-29-2024-6-29-12-17-25.md | 7 - ...ent-cross-language-id-2024-6-25-3-32-24.md | 8 - .../default_endpoint-2024-6-11-17-47-42.md | 7 - ...bmodules-core-72d544c-2024-6-31-8-54-14.md | 7 - ...bmodules-core-72d544c-2024-6-31-8-54-18.md | 6 - ...e-friendly-name-rule-2024-6-17-15-14-50.md | 7 - ...point_client_default-2024-6-30-14-27-25.md | 7 - ...al-included-versions-2024-7-31-11-30-47.md | 7 - ...able-no-query-explode-2024-7-6-15-20-18.md | 7 - ...able-no-query-explode-2024-7-6-15-28-48.md | 6 - ...e-arm-dec-signatures-2024-6-18-11-55-26.md | 6 - ...-tcgc-dec-signatures-2024-6-18-13-22-29.md | 6 - .../improve-armid-doc-2024-6-26-10-21-28.md | 6 - .../location-parameter-2024-6-17-17-48-51.md | 7 - ...rt-bodyparam-fix-2024-2024-7-1-15-10-38.md | 7 - ...-private-linter-rule-2024-6-17-15-10-51.md | 7 - ...-private-linter-rule-2024-6-17-15-11-17.md | 7 - .../no_server_desc-2024-6-29-14-27-45.md | 7 - ...verride_client_method-2024-6-10-21-0-35.md | 7 - ...-parameter-resolution-2024-6-26-16-6-16.md | 7 - ...es-with-new-interface-2024-6-22-15-40-4.md | 9 - .../changes/revert-fix-2024-6-23-10-47-25.md | 7 - ...ade-deps-july-2024-2-2024-6-22-23-39-34.md | 14 - .../uptake-uri-templates-2024-6-26-21-7-49.md | 8 - .../uptake-uri-templates-2024-7-6-9-38-18.md | 6 - .../uptake-uri-templates-2024-7-6-9-38-7.md | 7 - core | 2 +- .../typespec-autorest-canonical/CHANGELOG.md | 11 + .../typespec-autorest-canonical/package.json | 2 +- packages/typespec-autorest/CHANGELOG.md | 16 + packages/typespec-autorest/package.json | 2 +- packages/typespec-azure-core/CHANGELOG.md | 16 + packages/typespec-azure-core/package.json | 2 +- .../typespec-azure-portal-core/CHANGELOG.md | 7 + .../typespec-azure-portal-core/package.json | 2 +- .../CHANGELOG.md | 11 + .../package.json | 2 +- packages/typespec-azure-rulesets/CHANGELOG.md | 16 + packages/typespec-azure-rulesets/package.json | 2 +- .../CHANGELOG.md | 20 + .../package.json | 2 +- packages/website/playground-versions.json | 1 + .../reference/js-api/functions/$example.md | 4 +- .../interfaces/AutorestEmitterContext.md | 2 +- .../interfaces/OpenAPI2BodyParameter.md | 6 +- .../interfaces/OpenAPI2FormDataParameter.md | 38 +- .../interfaces/OpenAPI2HeaderDefinition.md | 2 +- .../interfaces/OpenAPI2HeaderParameter.md | 25 +- .../interfaces/OpenAPI2ParameterBase.md | 4 +- .../interfaces/OpenAPI2PathParameter.md | 30 +- .../interfaces/OpenAPI2QueryParameter.md | 28 +- .../js-api/interfaces/PrimitiveItems.md | 18 +- .../js-api/type-aliases/OpenAPI2PathItem.md | 8 +- .../reference/js-api/variables/$lib.md | 2 +- .../reference/js-api/variables/$lib.md | 8 +- .../DataPlane Generation - DPG/02client.mdx | 11 +- .../DataPlane Generation - DPG/04renaming.mdx | 17 +- .../DataPlane Generation - DPG/06types.mdx | 126 +++++ .../07tcgcTypes.mdx | 79 +++- .../08methodInputs.mdx | 440 ++++++++++++++++-- .../Generating with tsp-client/tsp_client.md | 8 +- .../howtos/migrate-swagger/get-started.md | 47 +- .../azure-core/reference/data-types.md | 51 +- .../azure-core/reference/decorators.md | 2 +- .../azure-core/reference/interfaces.md | 28 ++ .../js-api/functions/$addTraitProperties.md | 2 +- .../js-api/functions/$defaultFinalStateVia.md | 2 +- .../js-api/functions/$ensureTraitsPresent.md | 2 +- .../js-api/functions/$finalLocation.md | 2 +- .../js-api/functions/$finalOperation.md | 2 +- .../js-api/functions/$nextPageOperation.md | 2 +- .../js-api/functions/$operationLink.md | 2 +- .../js-api/functions/$pollingLocation.md | 2 +- .../js-api/functions/$pollingOperation.md | 6 +- .../functions/$pollingOperationParameter.md | 4 +- .../$spreadCustomResponseProperties.md | 2 +- .../reference/js-api/functions/$traitAdded.md | 2 +- .../js-api/functions/$traitContext.md | 4 +- .../js-api/functions/$traitLocation.md | 4 +- .../js-api/functions/$useFinalStateVia.md | 2 +- .../reference/js-api/variables/$lib.md | 101 ++-- .../libraries/azure-core/reference/linter.md | 3 + .../azure-core/rules/no-private-usage.md | 32 ++ .../azure-core/rules/no-query-explode.md | 35 ++ .../azure-core/rules/require-versioned.md | 43 ++ .../reference/js-api/variables/$lib.md | 18 +- .../reference/data-types.md | 22 + .../reference/decorators.md | 2 +- .../reference/interfaces.md | 18 +- .../functions/$armCommonTypesVersion.md | 4 +- .../js-api/functions/$armLibraryNamespace.md | 4 +- .../js-api/functions/$armProviderNameValue.md | 4 +- .../js-api/functions/$armProviderNamespace.md | 8 +- .../functions/$armResourceOperations.md | 8 +- .../js-api/functions/$armVirtualResource.md | 4 +- .../js-api/functions/$extensionResource.md | 4 +- .../js-api/functions/$locationResource.md | 4 +- .../js-api/functions/$resourceBaseType.md | 4 +- .../functions/$resourceGroupResource.md | 4 +- .../reference/js-api/functions/$singleton.md | 14 +- .../js-api/functions/$subscriptionResource.md | 4 +- .../js-api/functions/$tenantResource.md | 4 +- .../js-api/functions/$useLibraryNamespace.md | 4 +- .../reference/js-api/variables/$lib.md | 32 +- .../reference/decorators.md | 84 +++- .../reference/index.mdx | 1 + .../js-api/enumerations/UsageFlags.md | 1 + .../reference/js-api/functions/$access.md | 4 +- .../reference/js-api/functions/$client.md | 4 +- .../js-api/functions/$clientFormat.md | 6 +- .../reference/js-api/functions/$clientName.md | 8 +- .../js-api/functions/$convenientAPI.md | 8 +- .../reference/js-api/functions/$exclude.md | 4 +- .../reference/js-api/functions/$include.md | 4 +- .../reference/js-api/functions/$internal.md | 30 -- .../reference/js-api/functions/$onValidate.md | 18 + .../reference/js-api/functions/$override.md | 25 + .../js-api/functions/$protocolAPI.md | 8 +- .../reference/js-api/functions/$usage.md | 4 +- .../js-api/functions/addEncodeInfo.md | 2 +- .../js-api/functions/addFormatInfo.md | 2 +- .../js-api/functions/createDiagnostic.md | 2 +- .../js-api/functions/createSdkContext.md | 4 +- .../js-api/functions/createTCGCContext.md | 19 + .../reference/js-api/functions/getAccess.md | 2 +- .../js-api/functions/getAccessOverride.md | 2 +- .../js-api/functions/getAllModels.md | 2 +- .../functions/getAllModelsWithDiagnostics.md | 2 +- .../reference/js-api/functions/getClient.md | 2 +- .../js-api/functions/getClientFormat.md | 2 +- .../js-api/functions/getClientNameOverride.md | 8 +- .../functions/getClientNamespaceString.md | 2 +- .../js-api/functions/getClientType.md | 2 +- .../functions/getClientTypeWithDiagnostics.md | 2 +- .../functions/getCrossLanguageDefinitionId.md | 2 +- .../functions/getCrossLanguagePackageId.md | 2 +- .../js-api/functions/getDefaultApiVersion.md | 2 +- .../functions/getEffectivePayloadType.md | 2 +- .../js-api/functions/getEmitterTargetName.md | 2 +- .../js-api/functions/getGeneratedName.md | 2 +- .../functions/getHttpOperationExamples.md | 21 + .../functions/getHttpOperationWithCache.md | 2 +- .../js-api/functions/getLibraryName.md | 2 +- .../js-api/functions/getOperationGroup.md | 2 +- .../functions/getOverriddenClientMethod.md | 24 + .../js-api/functions/getPropertyNames.md | 2 +- .../js-api/functions/getSdkArrayOrDict.md | 2 +- .../getSdkArrayOrDictWithDiagnostics.md | 2 +- .../js-api/functions/getSdkBuiltInType.md | 6 +- .../js-api/functions/getSdkConstant.md | 2 +- .../functions/getSdkCredentialParameter.md | 2 +- .../js-api/functions/getSdkDurationType.md | 2 +- .../reference/js-api/functions/getSdkEnum.md | 2 +- .../js-api/functions/getSdkEnumValue.md | 2 +- .../reference/js-api/functions/getSdkModel.md | 2 +- .../functions/getSdkModelPropertyType.md | 2 +- .../functions/getSdkModelPropertyTypeBase.md | 2 +- .../functions/getSdkModelWithDiagnostics.md | 2 +- .../reference/js-api/functions/getSdkTuple.md | 2 +- .../functions/getSdkTupleWithDiagnostics.md | 2 +- .../reference/js-api/functions/getSdkUnion.md | 2 +- .../js-api/functions/getSdkUnionEnum.md | 2 +- .../functions/getSdkUnionWithDiagnostics.md | 2 +- .../functions/getTypeSpecBuiltInType.md | 19 + .../reference/js-api/functions/getUsage.md | 2 +- .../js-api/functions/getUsageOverride.md | 2 +- .../reference/js-api/functions/getWireName.md | 2 +- .../js-api/functions/isApiVersion.md | 2 +- .../reference/js-api/functions/isExclude.md | 2 +- .../js-api/functions/isInOperationGroup.md | 2 +- .../reference/js-api/functions/isInclude.md | 2 +- .../reference/js-api/functions/isInternal.md | 2 +- .../js-api/functions/isOperationGroup.md | 2 +- .../js-api/functions/isSdkFloatKind.md | 4 +- .../reference/js-api/functions/listClients.md | 2 +- .../js-api/functions/listOperationGroups.md | 2 +- .../listOperationsInOperationGroup.md | 2 +- .../js-api/functions/reportDiagnostic.md | 2 +- .../js-api/functions/shouldFlattenProperty.md | 2 +- .../functions/shouldGenerateConvenient.md | 2 +- .../functions/shouldGenerateProtocol.md | 2 +- .../reference/js-api/index.md | 25 +- .../js-api/interfaces/MultipartOptions.md | 14 + .../js-api/interfaces/SdkAnyExample.md | 16 + .../js-api/interfaces/SdkArrayExample.md | 16 + .../interfaces/SdkBodyModelPropertyType.md | 1 + .../js-api/interfaces/SdkBooleanExample.md | 16 + .../js-api/interfaces/SdkBuiltInType.md | 3 + .../js-api/interfaces/SdkClientType.md | 1 + .../reference/js-api/interfaces/SdkContext.md | 56 +-- .../js-api/interfaces/SdkDictionaryExample.md | 16 + .../js-api/interfaces/SdkDurationType.md | 3 + .../js-api/interfaces/SdkEmitterOptions.md | 1 + .../js-api/interfaces/SdkEndpointParameter.md | 2 +- .../js-api/interfaces/SdkExampleTypeBase.md | 24 + .../js-api/interfaces/SdkHttpOperation.md | 3 +- .../interfaces/SdkHttpOperationExample.md | 20 + .../interfaces/SdkHttpParameterExample.md | 11 + .../interfaces/SdkHttpResponseExample.md | 12 + .../SdkHttpResponseHeaderExample.md | 11 + .../js-api/interfaces/SdkModelExample.md | 17 + .../js-api/interfaces/SdkNullExample.md | 16 + .../js-api/interfaces/SdkNumberExample.md | 16 + .../reference/js-api/interfaces/SdkPackage.md | 17 +- .../js-api/interfaces/SdkStringExample.md | 16 + .../js-api/interfaces/SdkUnionExample.md | 16 + .../js-api/interfaces/TCGCContext.md | 41 ++ .../js-api/type-aliases/SdkBuiltInKinds.md | 7 +- .../js-api/type-aliases/SdkTypeExample.md | 17 + .../reference/js-api/variables/$lib.md | 71 +-- .../migrate-swagger/01-get-started.md | 76 +++ .../migrate-swagger/_category_.json | 6 + .../checklists/_category_.json | 6 + .../checklists/migrate-arm-tips.md | 85 ++++ .../checklists}/migrate-dp-tips.md | 0 .../migrate-swagger/faq/_category_.json | 6 + .../faq/breakingchange.md} | 59 +-- .../migrate-swagger/faq/lintdiff.md | 62 +++ .../faq}/x-ms-examples.md | 2 +- .../release-notes/release-2023-04-11.md | 4 +- .../release-notes/release-2024-07-16.md | 2 +- .../release-notes/release-2024-08-06.md | 50 ++ .../version-latest-sidebars.json | 8 + 228 files changed, 2206 insertions(+), 808 deletions(-) delete mode 100644 .chronus/changes/add-require-versioned-rule-2024-6-11-13-27-30.md delete mode 100644 .chronus/changes/add-require-versioned-rule-2024-6-11-20-55-37.md delete mode 100644 .chronus/changes/allow_int_string-2024-6-29-16-19-19.md delete mode 100644 .chronus/changes/autorest-generated-dec-sig-2024-6-18-11-30-47.md delete mode 100644 .chronus/changes/azure-core-dec-signatures-2024-6-18-17-49-0.md delete mode 100644 .chronus/changes/backmerge-release-july-2024-2024-07-29-2024-6-29-12-17-25.md delete mode 100644 .chronus/changes/client-cross-language-id-2024-6-25-3-32-24.md delete mode 100644 .chronus/changes/default_endpoint-2024-6-11-17-47-42.md delete mode 100644 .chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-14.md delete mode 100644 .chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-18.md delete mode 100644 .chronus/changes/enable-friendly-name-rule-2024-6-17-15-14-50.md delete mode 100644 .chronus/changes/endpoint_client_default-2024-6-30-14-27-25.md delete mode 100644 .chronus/changes/fix-canonical-included-versions-2024-7-31-11-30-47.md delete mode 100644 .chronus/changes/fix-enable-no-query-explode-2024-7-6-15-20-18.md delete mode 100644 .chronus/changes/fix-enable-no-query-explode-2024-7-6-15-28-48.md delete mode 100644 .chronus/changes/generate-arm-dec-signatures-2024-6-18-11-55-26.md delete mode 100644 .chronus/changes/generate-tcgc-dec-signatures-2024-6-18-13-22-29.md delete mode 100644 .chronus/changes/improve-armid-doc-2024-6-26-10-21-28.md delete mode 100644 .chronus/changes/location-parameter-2024-6-17-17-48-51.md delete mode 100644 .chronus/changes/multipart-bodyparam-fix-2024-2024-7-1-15-10-38.md delete mode 100644 .chronus/changes/no-private-linter-rule-2024-6-17-15-10-51.md delete mode 100644 .chronus/changes/no-private-linter-rule-2024-6-17-15-11-17.md delete mode 100644 .chronus/changes/no_server_desc-2024-6-29-14-27-45.md delete mode 100644 .chronus/changes/override_client_method-2024-6-10-21-0-35.md delete mode 100644 .chronus/changes/refactor-autorest-parameter-resolution-2024-6-26-16-6-16.md delete mode 100644 .chronus/changes/regen-signatures-with-new-interface-2024-6-22-15-40-4.md delete mode 100644 .chronus/changes/revert-fix-2024-6-23-10-47-25.md delete mode 100644 .chronus/changes/upgrade-deps-july-2024-2-2024-6-22-23-39-34.md delete mode 100644 .chronus/changes/uptake-uri-templates-2024-6-26-21-7-49.md delete mode 100644 .chronus/changes/uptake-uri-templates-2024-7-6-9-38-18.md delete mode 100644 .chronus/changes/uptake-uri-templates-2024-7-6-9-38-7.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-private-usage.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-query-explode.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/azure-core/rules/require-versioned.md delete mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$internal.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$onValidate.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$override.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createTCGCContext.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationExamples.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOverriddenClientMethod.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getTypeSpecBuiltInType.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/MultipartOptions.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkAnyExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkArrayExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBooleanExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDictionaryExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkExampleTypeBase.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperationExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpParameterExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseHeaderExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkModelExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNullExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNumberExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkStringExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkUnionExample.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/TCGCContext.md create mode 100644 packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkTypeExample.md create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/01-get-started.md create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/_category_.json create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/checklists/_category_.json create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-arm-tips.md rename packages/website/versioned_docs/version-latest/{howtos/migrate-swagger => migrate-swagger/checklists}/migrate-dp-tips.md (100%) create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/faq/_category_.json rename packages/website/versioned_docs/version-latest/{howtos/migrate-swagger/migrate-arm-tips.md => migrate-swagger/faq/breakingchange.md} (75%) create mode 100644 packages/website/versioned_docs/version-latest/migrate-swagger/faq/lintdiff.md rename packages/website/versioned_docs/version-latest/{howtos/migrate-swagger => migrate-swagger/faq}/x-ms-examples.md (98%) create mode 100644 packages/website/versioned_docs/version-latest/release-notes/release-2024-08-06.md diff --git a/.chronus/changes/add-require-versioned-rule-2024-6-11-13-27-30.md b/.chronus/changes/add-require-versioned-rule-2024-6-11-13-27-30.md deleted file mode 100644 index 31c1c9b109..0000000000 --- a/.chronus/changes/add-require-versioned-rule-2024-6-11-13-27-30.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-azure-core" ---- - -Add new `@azure-tools/typespec-azure-core/require-versioned` linting rule to require Azure service to use versioning library. diff --git a/.chronus/changes/add-require-versioned-rule-2024-6-11-20-55-37.md b/.chronus/changes/add-require-versioned-rule-2024-6-11-20-55-37.md deleted file mode 100644 index fa8776528d..0000000000 --- a/.chronus/changes/add-require-versioned-rule-2024-6-11-20-55-37.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: fix -packages: - - "@azure-tools/typespec-azure-rulesets" ---- - -Add `@azure-tools/typespec-azure-core/require-versioned` rule to `data-plane` and `resource-manager` rulesets diff --git a/.chronus/changes/allow_int_string-2024-6-29-16-19-19.md b/.chronus/changes/allow_int_string-2024-6-29-16-19-19.md deleted file mode 100644 index 487dbf5eee..0000000000 --- a/.chronus/changes/allow_int_string-2024-6-29-16-19-19.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -add support for encoding an int as a string diff --git a/.chronus/changes/autorest-generated-dec-sig-2024-6-18-11-30-47.md b/.chronus/changes/autorest-generated-dec-sig-2024-6-18-11-30-47.md deleted file mode 100644 index beca6404cf..0000000000 --- a/.chronus/changes/autorest-generated-dec-sig-2024-6-18-11-30-47.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-autorest" ---- - diff --git a/.chronus/changes/azure-core-dec-signatures-2024-6-18-17-49-0.md b/.chronus/changes/azure-core-dec-signatures-2024-6-18-17-49-0.md deleted file mode 100644 index 13c01874ac..0000000000 --- a/.chronus/changes/azure-core-dec-signatures-2024-6-18-17-49-0.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: fix -packages: - - "@azure-tools/typespec-azure-core" ---- - -Use some more precise types for certain decorators that would have crashed otherwise diff --git a/.chronus/changes/backmerge-release-july-2024-2024-07-29-2024-6-29-12-17-25.md b/.chronus/changes/backmerge-release-july-2024-2024-07-29-2024-6-29-12-17-25.md deleted file mode 100644 index 5046ce0d95..0000000000 --- a/.chronus/changes/backmerge-release-july-2024-2024-07-29-2024-6-29-12-17-25.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -backmerge \ No newline at end of file diff --git a/.chronus/changes/client-cross-language-id-2024-6-25-3-32-24.md b/.chronus/changes/client-cross-language-id-2024-6-25-3-32-24.md deleted file mode 100644 index ab8f5f6bd2..0000000000 --- a/.chronus/changes/client-cross-language-id-2024-6-25-3-32-24.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: fix -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -TCGC, add `crossLanguageDefinitionId` to `SdkClientType` diff --git a/.chronus/changes/default_endpoint-2024-6-11-17-47-42.md b/.chronus/changes/default_endpoint-2024-6-11-17-47-42.md deleted file mode 100644 index 2f9f39c375..0000000000 --- a/.chronus/changes/default_endpoint-2024-6-11-17-47-42.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -Make literal endpoints overridable diff --git a/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-14.md b/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-14.md deleted file mode 100644 index 41e66e9020..0000000000 --- a/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-14.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-autorest" ---- - -Add support for encoding numeric types as string \ No newline at end of file diff --git a/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-18.md b/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-18.md deleted file mode 100644 index e33df47351..0000000000 --- a/.chronus/changes/dependabot-submodules-core-72d544c-2024-6-31-8-54-18.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-azure-core" ---- - diff --git a/.chronus/changes/enable-friendly-name-rule-2024-6-17-15-14-50.md b/.chronus/changes/enable-friendly-name-rule-2024-6-17-15-14-50.md deleted file mode 100644 index 368c04e9bc..0000000000 --- a/.chronus/changes/enable-friendly-name-rule-2024-6-17-15-14-50.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-azure-rulesets" ---- - -Add `friendly-name` rule to `data-plane` and `resource-manager` rulesets \ No newline at end of file diff --git a/.chronus/changes/endpoint_client_default-2024-6-30-14-27-25.md b/.chronus/changes/endpoint_client_default-2024-6-30-14-27-25.md deleted file mode 100644 index 6f1df13109..0000000000 --- a/.chronus/changes/endpoint_client_default-2024-6-30-14-27-25.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -expose default values for endpoint template arguments through `.clientDefaultValue` \ No newline at end of file diff --git a/.chronus/changes/fix-canonical-included-versions-2024-7-31-11-30-47.md b/.chronus/changes/fix-canonical-included-versions-2024-7-31-11-30-47.md deleted file mode 100644 index bb6085a8de..0000000000 --- a/.chronus/changes/fix-canonical-included-versions-2024-7-31-11-30-47.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-autorest-canonical" ---- - -fix the included versions value in typespec-autorest-canonical emitter diff --git a/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-20-18.md b/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-20-18.md deleted file mode 100644 index c4aa0f3a72..0000000000 --- a/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-20-18.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-azure-core" - - "@azure-tools/typespec-azure-rulesets" ---- - diff --git a/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-28-48.md b/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-28-48.md deleted file mode 100644 index beca6404cf..0000000000 --- a/.chronus/changes/fix-enable-no-query-explode-2024-7-6-15-28-48.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-autorest" ---- - diff --git a/.chronus/changes/generate-arm-dec-signatures-2024-6-18-11-55-26.md b/.chronus/changes/generate-arm-dec-signatures-2024-6-18-11-55-26.md deleted file mode 100644 index b0d4b0d5ff..0000000000 --- a/.chronus/changes/generate-arm-dec-signatures-2024-6-18-11-55-26.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-azure-resource-manager" ---- - diff --git a/.chronus/changes/generate-tcgc-dec-signatures-2024-6-18-13-22-29.md b/.chronus/changes/generate-tcgc-dec-signatures-2024-6-18-13-22-29.md deleted file mode 100644 index 40b3c23d94..0000000000 --- a/.chronus/changes/generate-tcgc-dec-signatures-2024-6-18-13-22-29.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-client-generator-core" ---- - diff --git a/.chronus/changes/improve-armid-doc-2024-6-26-10-21-28.md b/.chronus/changes/improve-armid-doc-2024-6-26-10-21-28.md deleted file mode 100644 index e33df47351..0000000000 --- a/.chronus/changes/improve-armid-doc-2024-6-26-10-21-28.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-azure-core" ---- - diff --git a/.chronus/changes/location-parameter-2024-6-17-17-48-51.md b/.chronus/changes/location-parameter-2024-6-17-17-48-51.md deleted file mode 100644 index ccd36bebc1..0000000000 --- a/.chronus/changes/location-parameter-2024-6-17-17-48-51.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-azure-resource-manager" ---- - -Replace deprecated LocationParameter with LocationResourceParameter \ No newline at end of file diff --git a/.chronus/changes/multipart-bodyparam-fix-2024-2024-7-1-15-10-38.md b/.chronus/changes/multipart-bodyparam-fix-2024-2024-7-1-15-10-38.md deleted file mode 100644 index 61e8de0ff5..0000000000 --- a/.chronus/changes/multipart-bodyparam-fix-2024-2024-7-1-15-10-38.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -Support @multipartBody for `bodyParam` of `SdkHttpOperation` \ No newline at end of file diff --git a/.chronus/changes/no-private-linter-rule-2024-6-17-15-10-51.md b/.chronus/changes/no-private-linter-rule-2024-6-17-15-10-51.md deleted file mode 100644 index 445c400491..0000000000 --- a/.chronus/changes/no-private-linter-rule-2024-6-17-15-10-51.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-azure-core" ---- - -Add new linter rule to prevent using items from Private namespace from an external library. \ No newline at end of file diff --git a/.chronus/changes/no-private-linter-rule-2024-6-17-15-11-17.md b/.chronus/changes/no-private-linter-rule-2024-6-17-15-11-17.md deleted file mode 100644 index 604c13d971..0000000000 --- a/.chronus/changes/no-private-linter-rule-2024-6-17-15-11-17.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-azure-rulesets" ---- - -Add new `no-private-usage` linter rule to `data-plane` and `resource-manager` rulesets \ No newline at end of file diff --git a/.chronus/changes/no_server_desc-2024-6-29-14-27-45.md b/.chronus/changes/no_server_desc-2024-6-29-14-27-45.md deleted file mode 100644 index 05d876d09d..0000000000 --- a/.chronus/changes/no_server_desc-2024-6-29-14-27-45.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -don't move server description onto endpoints parameter diff --git a/.chronus/changes/override_client_method-2024-6-10-21-0-35.md b/.chronus/changes/override_client_method-2024-6-10-21-0-35.md deleted file mode 100644 index 030ae621dc..0000000000 --- a/.chronus/changes/override_client_method-2024-6-10-21-0-35.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -add `@override` decorator that allows authors to explicitly describe their desired client method diff --git a/.chronus/changes/refactor-autorest-parameter-resolution-2024-6-26-16-6-16.md b/.chronus/changes/refactor-autorest-parameter-resolution-2024-6-26-16-6-16.md deleted file mode 100644 index 66cba2f484..0000000000 --- a/.chronus/changes/refactor-autorest-parameter-resolution-2024-6-26-16-6-16.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: fix -packages: - - "@azure-tools/typespec-autorest" ---- - -Fix issue what allowed `multi` format on a header diff --git a/.chronus/changes/regen-signatures-with-new-interface-2024-6-22-15-40-4.md b/.chronus/changes/regen-signatures-with-new-interface-2024-6-22-15-40-4.md deleted file mode 100644 index 457aa31dc5..0000000000 --- a/.chronus/changes/regen-signatures-with-new-interface-2024-6-22-15-40-4.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: internal -packages: - - "@azure-tools/typespec-azure-core" - - "@azure-tools/typespec-azure-resource-manager" ---- - -Regen signatures with new interface diff --git a/.chronus/changes/revert-fix-2024-6-23-10-47-25.md b/.chronus/changes/revert-fix-2024-6-23-10-47-25.md deleted file mode 100644 index d86460ea76..0000000000 --- a/.chronus/changes/revert-fix-2024-6-23-10-47-25.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-client-generator-core" ---- - -Revert "fix @clientName validation for operation within interface" \ No newline at end of file diff --git a/.chronus/changes/upgrade-deps-july-2024-2-2024-6-22-23-39-34.md b/.chronus/changes/upgrade-deps-july-2024-2-2024-6-22-23-39-34.md deleted file mode 100644 index 9ed5ed324d..0000000000 --- a/.chronus/changes/upgrade-deps-july-2024-2-2024-6-22-23-39-34.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: dependencies -packages: - - "@azure-tools/typespec-autorest-canonical" - - "@azure-tools/typespec-autorest" - - "@azure-tools/typespec-azure-core" - - "@azure-tools/typespec-azure-portal-core" - - "@azure-tools/typespec-azure-resource-manager" - - "@azure-tools/typespec-azure-rulesets" - - "@azure-tools/typespec-client-generator-core" ---- - -Update dependencies diff --git a/.chronus/changes/uptake-uri-templates-2024-6-26-21-7-49.md b/.chronus/changes/uptake-uri-templates-2024-6-26-21-7-49.md deleted file mode 100644 index 693b68556f..0000000000 --- a/.chronus/changes/uptake-uri-templates-2024-6-26-21-7-49.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -# Change versionKind to one of: internal, fix, dependencies, feature, deprecation, breaking -changeKind: internal -packages: - - "@azure-tools/typespec-azure-core" ---- - -Call correct HTTP library API diff --git a/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-18.md b/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-18.md deleted file mode 100644 index 40b3c23d94..0000000000 --- a/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-18.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -changeKind: internal -packages: - - "@azure-tools/typespec-client-generator-core" ---- - diff --git a/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-7.md b/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-7.md deleted file mode 100644 index 2a4e348bd1..0000000000 --- a/.chronus/changes/uptake-uri-templates-2024-7-6-9-38-7.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -changeKind: feature -packages: - - "@azure-tools/typespec-autorest" ---- - -Add support for URI templates in routes diff --git a/core b/core index 7f80635a9d..1455928d25 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 7f80635a9d2833376754960c45cfff9ff057a3ad +Subproject commit 1455928d258ae18f615ca24a1caec9d60f14bb01 diff --git a/packages/typespec-autorest-canonical/CHANGELOG.md b/packages/typespec-autorest-canonical/CHANGELOG.md index 5a72566a5b..31d535789d 100644 --- a/packages/typespec-autorest-canonical/CHANGELOG.md +++ b/packages/typespec-autorest-canonical/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog - @azure-tools/typespec-autorest-canonical +## 0.6.0 + +### Bug Fixes + +- [#1279](https://github.com/Azure/typespec-azure/pull/1279) fix the included versions value in typespec-autorest-canonical emitter + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + + ## 0.5.1 ### Features diff --git a/packages/typespec-autorest-canonical/package.json b/packages/typespec-autorest-canonical/package.json index 9822454506..295e670936 100644 --- a/packages/typespec-autorest-canonical/package.json +++ b/packages/typespec-autorest-canonical/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-autorest-canonical", - "version": "0.5.1", + "version": "0.6.0", "author": "Microsoft Corporation", "description": "TypeSpec library for emitting canonical swagger", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/typespec-autorest/CHANGELOG.md b/packages/typespec-autorest/CHANGELOG.md index 823cf32929..9e1d6816f9 100644 --- a/packages/typespec-autorest/CHANGELOG.md +++ b/packages/typespec-autorest/CHANGELOG.md @@ -1,5 +1,21 @@ # Change Log - @azure-tools/typespec-autorest +## 0.45.0 + +### Bug Fixes + +- [#1248](https://github.com/Azure/typespec-azure/pull/1248) Fix issue what allowed `multi` format on a header + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + +### Features + +- [#1275](https://github.com/Azure/typespec-azure/pull/1275) Add support for encoding numeric types as string +- [#1247](https://github.com/Azure/typespec-azure/pull/1247) Add support for URI templates in routes + + ## 0.44.1 ### Features diff --git a/packages/typespec-autorest/package.json b/packages/typespec-autorest/package.json index 657958abbe..b2cd23e3e6 100644 --- a/packages/typespec-autorest/package.json +++ b/packages/typespec-autorest/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-autorest", - "version": "0.44.1", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec library for emitting openapi from the TypeSpec REST protocol binding", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/typespec-azure-core/CHANGELOG.md b/packages/typespec-azure-core/CHANGELOG.md index 3238f226c9..5f75790924 100644 --- a/packages/typespec-azure-core/CHANGELOG.md +++ b/packages/typespec-azure-core/CHANGELOG.md @@ -1,5 +1,21 @@ # Change Log - @azure-tools/typespec-azure-core +## 0.45.0 + +### Bug Fixes + +- [#1198](https://github.com/Azure/typespec-azure/pull/1198) Use some more precise types for certain decorators that would have crashed otherwise + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + +### Features + +- [#1154](https://github.com/Azure/typespec-azure/pull/1154) Add new `@azure-tools/typespec-azure-core/require-versioned` linting rule to require Azure service to use versioning library. +- [#1193](https://github.com/Azure/typespec-azure/pull/1193) Add new linter rule to prevent using items from Private namespace from an external library. + + ## 0.44.0 ### Bug Fixes diff --git a/packages/typespec-azure-core/package.json b/packages/typespec-azure-core/package.json index e151cea1fd..990368fa13 100644 --- a/packages/typespec-azure-core/package.json +++ b/packages/typespec-azure-core/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-azure-core", - "version": "0.44.0", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec Azure Core library", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/typespec-azure-portal-core/CHANGELOG.md b/packages/typespec-azure-portal-core/CHANGELOG.md index 231cf0a5ed..296ef051ae 100644 --- a/packages/typespec-azure-portal-core/CHANGELOG.md +++ b/packages/typespec-azure-portal-core/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog - @azure-tools/typespec-azure-portal-core +## 0.45.0 + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + + ## 0.44.0 ### Bump dependencies diff --git a/packages/typespec-azure-portal-core/package.json b/packages/typespec-azure-portal-core/package.json index a82990a985..3174fffeb3 100644 --- a/packages/typespec-azure-portal-core/package.json +++ b/packages/typespec-azure-portal-core/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-azure-portal-core", - "version": "0.44.0", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec Azure Portal Core library", "license": "MIT", diff --git a/packages/typespec-azure-resource-manager/CHANGELOG.md b/packages/typespec-azure-resource-manager/CHANGELOG.md index dc011f6de1..6ced01ae6c 100644 --- a/packages/typespec-azure-resource-manager/CHANGELOG.md +++ b/packages/typespec-azure-resource-manager/CHANGELOG.md @@ -1,5 +1,16 @@ # Change Log - @azure-tools/typespec-azure-resource-manager +## 0.45.0 + +### Bug Fixes + +- [#1187](https://github.com/Azure/typespec-azure/pull/1187) Replace deprecated LocationParameter with LocationResourceParameter + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + + ## 0.44.0 ### Bug Fixes diff --git a/packages/typespec-azure-resource-manager/package.json b/packages/typespec-azure-resource-manager/package.json index e1c12728d5..6e1f60b3bb 100644 --- a/packages/typespec-azure-resource-manager/package.json +++ b/packages/typespec-azure-resource-manager/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-azure-resource-manager", - "version": "0.44.0", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec Azure Resource Manager library", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/typespec-azure-rulesets/CHANGELOG.md b/packages/typespec-azure-rulesets/CHANGELOG.md index d2eb5f9949..13321be750 100644 --- a/packages/typespec-azure-rulesets/CHANGELOG.md +++ b/packages/typespec-azure-rulesets/CHANGELOG.md @@ -1,5 +1,21 @@ # Changelog - @azure-tools/typespec-azure-rulesets +## 0.45.0 + +### Bug Fixes + +- [#1154](https://github.com/Azure/typespec-azure/pull/1154) Add `@azure-tools/typespec-azure-core/require-versioned` rule to `data-plane` and `resource-manager` rulesets + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + +### Features + +- [#1194](https://github.com/Azure/typespec-azure/pull/1194) Add `friendly-name` rule to `data-plane` and `resource-manager` rulesets +- [#1193](https://github.com/Azure/typespec-azure/pull/1193) Add new `no-private-usage` linter rule to `data-plane` and `resource-manager` rulesets + + ## 0.44.0 ### Bug Fixes diff --git a/packages/typespec-azure-rulesets/package.json b/packages/typespec-azure-rulesets/package.json index 1c527ad613..59a81c5a3c 100644 --- a/packages/typespec-azure-rulesets/package.json +++ b/packages/typespec-azure-rulesets/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-azure-rulesets", - "version": "0.44.0", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec ruleset for Azure specs", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/typespec-client-generator-core/CHANGELOG.md b/packages/typespec-client-generator-core/CHANGELOG.md index 5fdbb285cd..0b4c872047 100644 --- a/packages/typespec-client-generator-core/CHANGELOG.md +++ b/packages/typespec-client-generator-core/CHANGELOG.md @@ -1,5 +1,25 @@ # Change Log - @azure-tools/typespec-client-generator-core +## 0.45.0 + +### Bug Fixes + +- [#1238](https://github.com/Azure/typespec-azure/pull/1238) TCGC, add `crossLanguageDefinitionId` to `SdkClientType` +- [#1266](https://github.com/Azure/typespec-azure/pull/1266) expose default values for endpoint template arguments through `.clientDefaultValue` +- [#1281](https://github.com/Azure/typespec-azure/pull/1281) Support @multipartBody for `bodyParam` of `SdkHttpOperation` +- [#1233](https://github.com/Azure/typespec-azure/pull/1233) don't move server description onto endpoints parameter + +### Bump dependencies + +- [#1219](https://github.com/Azure/typespec-azure/pull/1219) Update dependencies + +### Features + +- [#1258](https://github.com/Azure/typespec-azure/pull/1258) add support for encoding an int as a string +- [#1155](https://github.com/Azure/typespec-azure/pull/1155) Make literal endpoints overridable +- [#1148](https://github.com/Azure/typespec-azure/pull/1148) add `@override` decorator that allows authors to explicitly describe their desired client method + + ## 0.44.3 ### Bug Fixes diff --git a/packages/typespec-client-generator-core/package.json b/packages/typespec-client-generator-core/package.json index ae558aff55..6d99fdfca7 100644 --- a/packages/typespec-client-generator-core/package.json +++ b/packages/typespec-client-generator-core/package.json @@ -1,6 +1,6 @@ { "name": "@azure-tools/typespec-client-generator-core", - "version": "0.44.3", + "version": "0.45.0", "author": "Microsoft Corporation", "description": "TypeSpec Data Plane Generation library", "homepage": "https://azure.github.io/typespec-azure", diff --git a/packages/website/playground-versions.json b/packages/website/playground-versions.json index 26e226d99e..a4bc4573d8 100644 --- a/packages/website/playground-versions.json +++ b/packages/website/playground-versions.json @@ -1,4 +1,5 @@ [ + "0.45.x", "0.44.x", "0.43.x", "0.42.x", diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/functions/$example.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/functions/$example.md index d572114b4f..e8d1dd8215 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/functions/$example.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/functions/$example.md @@ -6,7 +6,7 @@ title: "[F] $example" ```ts function $example( context, - entity, + target, pathOrUri, title): void ``` @@ -18,7 +18,7 @@ function $example( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Type` | +| `target` | `Operation` | | `pathOrUri` | `string` | | `title` | `string` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/AutorestEmitterContext.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/AutorestEmitterContext.md index 009e1dead8..d9741a742b 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/AutorestEmitterContext.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/AutorestEmitterContext.md @@ -10,5 +10,5 @@ title: "[I] AutorestEmitterContext" | `outputFile` | `readonly` | `string` | | `program` | `readonly` | `Program` | | `service` | `readonly` | `Service` | -| `tcgcSdkContext` | `readonly` | `SdkContext`<`Record`<`string`, `any`\>, `SdkHttpOperation`\> | +| `tcgcSdkContext` | `readonly` | `TCGCContext` | | `version?` | `readonly` | `string` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2BodyParameter.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2BodyParameter.md index 6be79d68fe..aa7a0d6eca 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2BodyParameter.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2BodyParameter.md @@ -12,11 +12,11 @@ title: "[I] OpenAPI2BodyParameter" | Property | Type | Description | Inherited from | | ------ | ------ | ------ | ------ | | `allowEmptyValue?` | `boolean` | - | - | -| `description?` | `string` | - | - | +| `description?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`description` | | `example?` | `unknown` | - | - | | `in` | `"body"` | - | - | -| `name` | `string` | - | - | -| `required?` | `boolean` | - | - | +| `name` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`name` | +| `required?` | `boolean` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`required` | | `schema` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md) | - | - | | `x-ms-client-flatten?` | `boolean` | - | - | | `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2FormDataParameter.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2FormDataParameter.md index 0e5312c011..40b0ea1f9f 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2FormDataParameter.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2FormDataParameter.md @@ -9,22 +9,22 @@ title: "[I] OpenAPI2FormDataParameter" ## Properties -| Property | Type | Description | Inherited from | -| ------ | ------ | ------ | ------ | -| `allOf?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md)[] | - | - | -| `allowEmptyValue?` | `boolean` | - | - | -| `collectionFormat?` | \| `"csv"` \| `"multi"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | -| `default?` | `unknown` | - | - | -| `description?` | `string` | - | - | -| `enum?` | `string`[] | - | - | -| `example?` | `unknown` | - | - | -| `format?` | `string` | - | - | -| `in` | `"formData"` | - | - | -| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | -| `name` | `string` | - | - | -| `required?` | `boolean` | - | - | -| `schema?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md) | - | - | -| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"file"` \| `"integer"` \| `"array"` | - | - | -| `x-ms-client-flatten?` | `boolean` | - | - | -| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | -| `x-ms-parameter-location?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | +| Property | Type | Description | Overrides | Inherited from | +| ------ | ------ | ------ | ------ | ------ | +| `allOf?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md)[] | - | - | - | +| `allowEmptyValue?` | `boolean` | - | - | - | +| `collectionFormat?` | \| `"multi"` \| `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | - | +| `default?` | `unknown` | - | - | - | +| `description?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`description` | - | +| `enum?` | `string`[] | - | - | - | +| `example?` | `unknown` | - | - | - | +| `format?` | `string` | - | - | - | +| `in` | `"formData"` | - | - | - | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | - | +| `name` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`name` | - | +| `required?` | `boolean` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`required` | - | +| `schema?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md) | - | - | - | +| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"file"` \| `"integer"` \| `"array"` | - | - | - | +| `x-ms-client-flatten?` | `boolean` | - | - | - | +| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | +| `x-ms-parameter-location?` | `string` | - | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderDefinition.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderDefinition.md index 7a61c8ac20..d819b1700e 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderDefinition.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderDefinition.md @@ -14,5 +14,5 @@ title: "[I] OpenAPI2HeaderDefinition" | `collectionFormat?` | `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | | `description?` | `string` | | `format?` | `string` | -| `items?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md) | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | | `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderParameter.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderParameter.md index a52280a890..2a10b88300 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderParameter.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2HeaderParameter.md @@ -9,15 +9,16 @@ title: "[I] OpenAPI2HeaderParameter" ## Properties -| Property | Type | Description | Inherited from | -| ------ | ------ | ------ | ------ | -| `collectionFormat?` | `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`collectionFormat` | -| `description?` | `string` | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`description` | -| `format?` | `string` | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`format` | -| `in` | `"header"` | - | - | -| `items?` | [`OpenAPI2Schema`](../type-aliases/OpenAPI2Schema.md) | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`items` | -| `name` | `string` | - | - | -| `required?` | `boolean` | - | - | -| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`type` | -| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | -| `x-ms-parameter-location?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | +| Property | Type | Description | Overrides | Inherited from | +| ------ | ------ | ------ | ------ | ------ | +| `collectionFormat?` | `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`collectionFormat` | +| `default?` | `unknown` | - | - | - | +| `description?` | `string` | - | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`description` | +| `format?` | `string` | - | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`format` | +| `in` | `"header"` | - | - | - | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`items` | +| `name` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`name` | - | +| `required?` | `boolean` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`required` | - | +| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | - | [`OpenAPI2HeaderDefinition`](OpenAPI2HeaderDefinition.md).`type` | +| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | +| `x-ms-parameter-location?` | `string` | - | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2ParameterBase.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2ParameterBase.md index c9e8495d53..ab9b4493cf 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2ParameterBase.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2ParameterBase.md @@ -12,7 +12,6 @@ title: "[I] OpenAPI2ParameterBase" - [`OpenAPI2BodyParameter`](OpenAPI2BodyParameter.md) - [`OpenAPI2HeaderParameter`](OpenAPI2HeaderParameter.md) - [`OpenAPI2FormDataParameter`](OpenAPI2FormDataParameter.md) -- [`PrimitiveItems`](PrimitiveItems.md) - [`OpenAPI2PathParameter`](OpenAPI2PathParameter.md) - [`OpenAPI2QueryParameter`](OpenAPI2QueryParameter.md) @@ -20,5 +19,8 @@ title: "[I] OpenAPI2ParameterBase" | Property | Type | Description | | ------ | ------ | ------ | +| `description?` | `string` | - | +| `name` | `string` | - | +| `required?` | `boolean` | - | | `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | | `x-ms-parameter-location?` | `string` | - | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2PathParameter.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2PathParameter.md index fe5c50fc5e..faa2533646 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2PathParameter.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2PathParameter.md @@ -9,17 +9,19 @@ title: "[I] OpenAPI2PathParameter" ## Properties -| Property | Type | Description | Inherited from | -| ------ | ------ | ------ | ------ | -| `allowEmptyValue?` | `boolean` | - | - | -| `collectionFormat?` | `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | -| `description?` | `string` | - | - | -| `enum?` | `string`[] | - | - | -| `format?` | `string` | - | - | -| `in` | `"path"` | - | - | -| `name` | `string` | - | - | -| `required?` | `boolean` | - | - | -| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | - | -| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | -| `x-ms-parameter-location?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | -| `x-ms-skip-url-encoding?` | `boolean` | - | - | +| Property | Type | Description | Overrides | Inherited from | +| ------ | ------ | ------ | ------ | ------ | +| `allowEmptyValue?` | `boolean` | - | - | - | +| `collectionFormat?` | `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | - | +| `default?` | `unknown` | - | - | - | +| `description?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`description` | - | +| `enum?` | `string`[] | - | - | - | +| `format?` | `string` | - | - | - | +| `in` | `"path"` | - | - | - | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | - | +| `name` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`name` | - | +| `required?` | `boolean` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`required` | - | +| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | - | - | +| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | +| `x-ms-parameter-location?` | `string` | - | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | +| `x-ms-skip-url-encoding?` | `boolean` | - | - | - | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2QueryParameter.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2QueryParameter.md index d7a712a1e5..97e648b268 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2QueryParameter.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/OpenAPI2QueryParameter.md @@ -9,16 +9,18 @@ title: "[I] OpenAPI2QueryParameter" ## Properties -| Property | Type | Description | Inherited from | -| ------ | ------ | ------ | ------ | -| `allowEmptyValue?` | `boolean` | - | - | -| `collectionFormat?` | \| `"csv"` \| `"multi"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | -| `description?` | `string` | - | - | -| `enum?` | `string`[] | - | - | -| `format?` | `string` | - | - | -| `in` | `"query"` | - | - | -| `name` | `string` | - | - | -| `required?` | `boolean` | - | - | -| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | - | -| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | -| `x-ms-parameter-location?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | +| Property | Type | Description | Overrides | Inherited from | +| ------ | ------ | ------ | ------ | ------ | +| `allowEmptyValue?` | `boolean` | - | - | - | +| `collectionFormat?` | \| `"multi"` \| `"csv"` \| `"ssv"` \| `"tsv"` \| `"pipes"` | - | - | - | +| `default?` | `unknown` | - | - | - | +| `description?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`description` | - | +| `enum?` | `string`[] | - | - | - | +| `format?` | `string` | - | - | - | +| `in` | `"query"` | - | - | - | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | - | +| `name` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`name` | - | +| `required?` | `boolean` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`required` | - | +| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"integer"` \| `"array"` | - | - | - | +| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | +| `x-ms-parameter-location?` | `string` | - | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/PrimitiveItems.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/PrimitiveItems.md index 7a0331ad60..e1f946dd87 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/PrimitiveItems.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/interfaces/PrimitiveItems.md @@ -3,17 +3,11 @@ jsApi: true title: "[I] PrimitiveItems" --- -## Extends - -- [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md) - ## Properties -| Property | Type | Description | Inherited from | -| ------ | ------ | ------ | ------ | -| `default?` | `unknown` | - | - | -| `format?` | `string` | - | - | -| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | - | - | -| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"file"` \| `"integer"` \| `"array"` | - | - | -| `x-ms-client-name?` | `string` | Provide a different name to be used in the client. | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-client-name` | -| `x-ms-parameter-location?` | `string` | - | [`OpenAPI2ParameterBase`](OpenAPI2ParameterBase.md).`x-ms-parameter-location` | +| Property | Type | +| ------ | ------ | +| `default?` | `unknown` | +| `format?` | `string` | +| `items?` | [`PrimitiveItems`](PrimitiveItems.md) | +| `type` | \| `"string"` \| `"number"` \| `"boolean"` \| `"file"` \| `"integer"` \| `"array"` | diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/type-aliases/OpenAPI2PathItem.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/type-aliases/OpenAPI2PathItem.md index de2f54ae86..5fb1ef811e 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/type-aliases/OpenAPI2PathItem.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/type-aliases/OpenAPI2PathItem.md @@ -9,12 +9,12 @@ type OpenAPI2PathItem: { [method in HttpMethod]?: OpenAPI2Operation } & object & Describes the operations available on a single path. A Path Item may be empty, due to ACL constraints. The path itself is still exposed to the documentation viewer but they will not know which operations and parameters are available. -## See - -https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject - ## Type declaration | Name | Type | | ------ | ------ | | `parameters` | [`OpenAPI2Parameter`](OpenAPI2Parameter.md)[] | + +## See + +https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#pathItemObject diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/variables/$lib.md index 17e0ff59a7..3f63592e5f 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-autorest/reference/js-api/variables/$lib.md @@ -4,7 +4,7 @@ title: "[V] $lib" --- ```ts -const $lib: TypeSpecLibrary; +const $lib: TypeSpecLibrary; ``` ## Type declaration diff --git a/packages/website/versioned_docs/version-latest/emitters/typespec-service-csharp/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/emitters/typespec-service-csharp/reference/js-api/variables/$lib.md index a8f6fd4818..9a0f8b269f 100644 --- a/packages/website/versioned_docs/version-latest/emitters/typespec-service-csharp/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/emitters/typespec-service-csharp/reference/js-api/variables/$lib.md @@ -12,10 +12,10 @@ const $lib: TypeSpecLibrary; | Name | Type | | ------ | ------ | | `invalid-identifier` | `object` | -| `invalid-identifier.default` | `CallableMessage`<[`string`, `string`]\> | +| `invalid-identifier.default` | `CallableMessage`<[`"identifier"`, `"location"`]\> | | `missing-type-parent` | `object` | -| `missing-type-parent.default` | `CallableMessage`<[`string`, `string`]\> | +| `missing-type-parent.default` | `CallableMessage`<[`"type"`, `"name"`]\> | | `no-numeric` | `object` | -| `no-numeric.default` | `CallableMessage`<[`string`, `string`]\> | +| `no-numeric.default` | `CallableMessage`<[`"sourceType"`, `"targetType"`]\> | | `unrecognized-scalar` | `object` | -| `unrecognized-scalar.default` | `CallableMessage`<[`string`]\> | +| `unrecognized-scalar.default` | `CallableMessage`<[`"typeName"`]\> | diff --git a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/02client.mdx b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/02client.mdx index 86e16e5db8..95098102f9 100644 --- a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/02client.mdx +++ b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/02client.mdx @@ -583,7 +583,16 @@ NOT_SUPPORTED; ```java -NOT_SUPPORTED +import com.petstorenamespace.FoodClient; +import com.petstorenamespace.FoodClientBuilder; +import com.petstorenamespace.subnamespace.PetActionClient; +import com.petstorenamespace.subnamespace.PetActionClientBuilder; + +FoodClient foodClient = new FoodClientBuilder().buildClient(); +PetActionClient petActionClient = new PetActionClientBuilder().buildClient(); + +foodClient.feed(); +petActionClient.pet(); ``` diff --git a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/04renaming.mdx b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/04renaming.mdx index 4a51d7a941..3d0e32ad46 100644 --- a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/04renaming.mdx +++ b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/04renaming.mdx @@ -40,11 +40,10 @@ op GetModel is ResourceRead; ```python -class OutputModel: +class InputModel: name: str = rest_field(readonly=True) -response: OutputModel = client.get(name="name") -FIXME +response: InputModel = client.get_model(name="name") ``` @@ -136,9 +135,10 @@ using Azure.ClientGenerator.Core; ```python -class OutputOptions: - output_name: str = rest_field(rest_name="name", readonly=True) -FIXME +class InputOptions: + input_name: str = rest_field(rest_name="name", readonly=True) + +response: InputOptions = client.get_computed_model(input_name="name") ``` @@ -212,7 +212,10 @@ using Azure.ClientGenerator.Core; ```python -client.get_computed_model() +class InputModel: + input_name: str = rest_field(rest_name="name", readonly=True) + +client.get_computed_model(name="name") # FIXME ``` diff --git a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/06types.mdx b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/06types.mdx index 9fdced5ecd..0382d0caff 100644 --- a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/06types.mdx +++ b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/06types.mdx @@ -2251,3 +2251,129 @@ public enum Orientation { + +## Scalars + +### Encoding + +We will take the `@encode` decorator into account, determining how we serialize inputted scalars to send over the wire. + + + + +```tsp +model Test { + @encode(DateTimeKnownEncoding.rfc3339) + prop: utcDateTime; +} +``` + + + + +```json +{ + "kind": "property", + "name": "prop", + "type": { + "kind": "utcDateTime", + "encode": "rfc3339", + "wireType": { + "kind": "string" + } + } +} +``` + + + + +```python +serialized_prop = json.dumps(prop, cls=SdkJSONEncoder, format="rfc3339") +``` + + + + +```csharp +TODO +``` + + + + +```typescript +TODO; +``` + + + + +```java +// Internal implementation +jsonWriter.writeStringField("prop", + this.value == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.value)); +``` + + + + +When you specify an encoding type, say that you want to encode an integer as a string, that will also be represented in our generated SDKs. + + + + +```tsp +model Test { + @encode(string) + prop: int64; +} +``` + + + + +```json +{ + "kind": "property", + "name": "prop", + "type": { + "kind": "int64", + "encode": "string", + "wireType": { + "kind": "string" + } + } +} +``` + + + + +```python +serialized_prop = json.dumps(prop, cls=SdkJSONEncoder, format="string") +``` + + + + +```csharp +TODO +``` + + + + +```typescript +TODO; +``` + + + + +```java +TODO +``` + + + diff --git a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/07tcgcTypes.mdx b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/07tcgcTypes.mdx index 1f383e22c3..68c25ca20a 100644 --- a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/07tcgcTypes.mdx +++ b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/07tcgcTypes.mdx @@ -68,13 +68,29 @@ const sdkContext = { { kind: "endpoint", type: { - kind: "endpoint", - serverUrl: "{endpoint}/widget", - templateArguments: [ + kind: "union", + values: [ { - name: "endpoint", - kind: "path", - ... + kind: "endpoint", + serverUrl: "{endpoint}", + templateArguments: [ + { + name: "endpoint", + kind: "path", + ... + } + ] + }, + { + kind: "endpoint", + serverUrl: "{endpoint}/widget", + templateArguments: [ + { + name: "endpoint", + kind: "path", + ... + } + ] } ] } @@ -973,15 +989,21 @@ These are parameters to client initialization and method son the client. These w #### SdkEndpointParameter -An `SdkEndpointParameter` represents a parameter to a client's endpoint. If the client is not parameterized, the endpoint parameter represents the entire endpoint input for the client. For parameterized clients, there will be as many `SdkEndpointParameter`s as needed to parameterize the client endpoint. +An `SdkEndpointParameter` represents a parameter to a client's endpoint. -```ts +TCGC will always give it to you as overridable: + +If the server URL is a constant, we will return a templated endpoint with a default value of the constant server URL. +In the case where the endpoint has extra template arguments, the type is a union of a completely-overridable endpoint, and an endpoint that accepts template arguments. +If there are multiple servers, we will return the union of all of the possibilities. + +```tsp export interface SdkEndpointParameter extends SdkModelPropertyTypeBase { kind: "endpoint"; urlEncode: boolean; onClient: true; serializedName?: string; - type: SdkEndpointType; + type: SdkEndpointType | SdkUnionType; } ``` @@ -1219,7 +1241,9 @@ interface SdkTypeBase { // created by tcgc. Those won't have an original type __raw?: Type; kind: string; - deprecations?: string; + deprecation?: string; + description?: string; + details?: string; } ``` @@ -1236,6 +1260,9 @@ There is a one-to-one mapping between the TypeSpec scalar kinds and the `SdkBuil export interface SdkBuiltInType extends SdkTypeBase { kind: SdkBuiltInKinds; encode: string; + name: string; + baseType?: SdkBuiltInType; + crossLanguageDefinitionId: string; } ``` @@ -1243,9 +1270,12 @@ export interface SdkBuiltInType extends SdkTypeBase { ```ts interface SdkDatetimeTypeBase extends SdkTypeBase { + name: string; + baseType?: SdkDateTimeType; encode: DateTimeKnownEncoding; // what we send over the wire. Often it's string wireType: SdkBuiltInType; + crossLanguageDefinitionId: string; } interface SdkUtcDatetimeType extends SdkDatetimeTypeBase { @@ -1262,9 +1292,12 @@ interface SdkOffsetDatetimeType extends SdkDatetimeTypeBase { ```ts interface SdkDurationType extends SdkTypeBase { kind: "duration"; + name: string; + baseType?: SdkDurationType; encode: DurationKnownEncoding; // What we send over the wire. It's usually either a string or a float wireType: SdkBuiltInType; + crossLanguageDefinitionId: string; } ``` @@ -1273,8 +1306,9 @@ interface SdkDurationType extends SdkTypeBase { ```ts interface SdkArrayType extends SdkTypeBase { kind: "array"; + name: string; valueType: SdkType; - nullableValues: boolean; + crossLanguageDefinitionId: string; } ``` @@ -1285,7 +1319,6 @@ interface SdkDictionaryType extends SdkTypeBase { kind: "dict"; keyType: SdkType; // currently can only be string valueType: SdkType; - nullableValues: boolean; } ``` @@ -1296,17 +1329,16 @@ export interface SdkEnumType extends SdkTypeBase { kind: "enum"; name: string; // Determines whether the name was generated or not - generatedName: boolean; + isGeneratedName: boolean; valueType: SdkBuiltInType; values: SdkEnumValueType[]; isFixed: boolean; - description?: string; - details?: string; isFlags: boolean; usage: UsageFlags; access: AccessFlags; crossLanguageDefinitionId: string; apiVersions: string[]; + isUnionAsEnum: boolean; } ``` @@ -1318,9 +1350,7 @@ export interface SdkEnumValueType extends SdkTypeBase { name: string; value: string | number; enumType: SdkEnumType; - valueType: SdkType; - description?: string; - details?: string; + valueType: SdkBuiltInType; } ``` @@ -1331,6 +1361,8 @@ export interface SdkConstantType extends SdkTypeBase { kind: "constant"; value: string | number | boolean | null; valueType: SdkBuiltInType; + name: string; + isGeneratedName: boolean; } ``` @@ -1340,9 +1372,10 @@ export interface SdkConstantType extends SdkTypeBase { export interface SdkUnionType extends SdkTypeBase { name: string; // determines if the union name was generated or not - generatedName: boolean; + isGeneratedName: boolean; kind: "union"; values: SdkType[]; + crossLanguageDefinitionId: string; } ``` @@ -1353,13 +1386,9 @@ export interface SdkModelType extends SdkTypeBase { kind: "model"; // purposely can also be header / query params for fidelity with TypeSpec properties: SdkModelPropertyType[]; - isFormDataType: boolean; - isError: boolean; // we will always have a name. generatedName determines if it's generated or not. name: string; - generatedName: string; - description?: string; - details?: string; + isGeneratedName: boolean; access: AccessFlags; usage: UsageFlags; additionalProperties?: SdkType; @@ -1400,7 +1429,7 @@ export type AccessFlags = "internal" | "public"; ```ts export interface SdkEndpointType { kind: "endpoint"; - serverUrl?: string; + serverUrl: string; templateArguments: SdkPathParameter[]; } ``` diff --git a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/08methodInputs.mdx b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/08methodInputs.mdx index 72489f1649..8a00254ac5 100644 --- a/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/08methodInputs.mdx +++ b/packages/website/versioned_docs/version-latest/howtos/DataPlane Generation - DPG/08methodInputs.mdx @@ -81,6 +81,13 @@ public User get(); ```go +type ClientGetOptions struct { +} + +type ClientGetResponse struct { +} + +func (client *Client) Get(ctx context.Context, options *ClientGetOptions) (ClientGetResponse, error) ``` @@ -171,7 +178,13 @@ public void post(User user); ```go +type ClientPostOptions struct { +} + +type ClientPostResponse struct { +} +func (client *Client) Post(ctx context.Context, user User, options *ClientPostOptions) (ClientPostResponse, error) ``` @@ -181,9 +194,9 @@ public void post(User user); Please use the _spread_ feature with caution. -- The anonymous model to be spread into operation should have less than 6 settable properties. See [simple methods](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-parameters). -- The anonymous model should be stable across api-versions. Adding an optional property across api-versions could result in one additional method overload in SDK client. -- The anonymous model should not be used in [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7386). +- The model to be spread should have less than 6 settable properties. See [simple methods](https://azure.github.io/azure-sdk/dotnet_introduction.html#dotnet-parameters). +- The model to be spread should be stable across api-versions. Adding an optional property across api-versions could result in one additional method overload in SDK client. +- The model to be spread should not be used in [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7386). ### Alias @@ -269,13 +282,20 @@ public void upload(String firstName, String lastName); ```go +type ClientUploadOptions struct { +} + +type ClientUploadResponse struct { +} + +func (client *Client) Upload(ctx context.Context, firstName string, lastName string, options *ClientUploadOptions) (ClientUploadResponse, error) ``` -### Alias with HTTP Parameters +### Alias with @header/@query/@path properties @@ -294,8 +314,10 @@ op upload(...User): void; +For Python, we will also generate the overloads described in the Http Post section, but omitting for brevity + ```python -def upload(id: str, first_name: str, last_name: str) -> None: +def upload(self, id: str, first_name: str, last_name: str, *, content_type: str = "application/json") -> None: ... ``` @@ -366,7 +388,13 @@ public void upload(String id, String firstName, String lastName); ```go +type ClientUploadOptions struct { +} + +type ClientUploadResponse struct { +} +func (client *Client) Upload(ctx context.Context, id string, firstName string, lastName string, options *ClientUploadOptions) (ClientUploadResponse, error) ``` @@ -392,7 +420,7 @@ op upload(...User): void; For Python, we will also generate the overloads described in the Http Post section, but omitting for brevity ```python -def upload(self, user: [User, JSON, IO[bytes]], *, content_type: str = "application/json") -> None: +def upload(self, first_name: str, last_name: str, *, content_type: str = "application/json") -> None: ... ``` @@ -402,7 +430,7 @@ def upload(self, user: [User, JSON, IO[bytes]], *, content_type: str = "applicat ```csharp public partial class User { - public User(string firstName, string lastName){} + public User(string firstName, string lastName) { } public string FirstName { get; } public string LastName { get; } } @@ -411,7 +439,7 @@ public virtual async Task UploadAsync(RequestContent content, RequestC public virtual Response Upload(RequestContent content, RequestContext context = null) //convenience method public virtual async Task UploadAsync(User user, CancellationToken cancellationToken = default) -public virtual Response Upload(User user, CancellationToken cancellationToken = default) +public virtual Response Upload(string firstName, string lastName, CancellationToken cancellationToken = default) ``` @@ -426,7 +454,10 @@ export type DemoServiceContext = Client & { (path: "/users"): { post( options: { - body: User; + body: { + firstName: string; + lastName: string; + }; } & RequestParameters ): StreamableMethod; }; @@ -434,11 +465,15 @@ export type DemoServiceContext = Client & { }; // Modular Api Layer -export async function upload(body: User, options: UploadOptionalParams): Promise; +export async function upload( + firstName: string, + lastName: string, + options: UploadOptionalParams +): Promise; // Modular classical client layer export class DemoServiceClient { - upload(body: User, options: UploadOptionalParams): Promise; + upload(firstName: string, lastName: string, options: UploadOptionalParams): Promise; } ``` @@ -446,29 +481,26 @@ export class DemoServiceClient { ```java -// Model class -@Immutable -public final class User implements JsonSerializable { - public User(String firstName, String lastName); - public String getFirstName(); - public String getLastName(); -} - -// Client API -public void upload(User user); +public void upload(String firstName, String lastName); ``` ```go +type ClientUploadOptions struct { +} + +type ClientUploadResponse struct { +} +func (client *Client) Upload(ctx context.Context, firstName string, lastName string, options *ClientUploadOptions) (ClientUploadResponse, error) ``` -### Model with `@body` Property +### Model with `@body` property @@ -493,7 +525,7 @@ op upload(...UserRequest): void; For Python, we will also generate the overloads described in the Http Post section, but omitting for brevity ```python -def upload(body: [User, JSON, IO[bytes]], **kwargs: Any) -> None: +def upload(self, body: [User, JSON, IO[bytes]], *, content_type: str = "application/json") -> None: ... ``` @@ -564,13 +596,24 @@ public void upload(User user); ```go +type User struct { + firstName *string + lastName *string +} + +type ClientUploadOptions struct { +} +type ClientUploadResponse struct { +} + +func (client *Client) Upload(ctx context.Context, user User, options *ClientUploadOptions) (ClientUploadResponse, error) ``` -### Model with Decorated Properties +### Model with @header/@query/@path properties @@ -594,7 +637,7 @@ For Python, we will also generate the overloads described in the Http Post secti ```python -def get_blob_properties(name: str, *, test_header: string, **kwargs: Any) -> None: +def get_blob_properties(self, name: str, *, test_header: string, content_type: str = "application/json") -> None: ... ``` @@ -657,13 +700,19 @@ public void getBlobProperties(String name, String testHeader); ```go +type ClientGetBlobPropertiesOptions struct { +} + +type ClientGetBlobPropertiesResponse struct { +} +func (client *Client) GetBlobProperties(ctx context.Context, name string, testHeader string, options *ClientGetBlobPropertiesOptions) (ClientGetBlobPropertiesResponse, error) ``` -### Model with Decorated and non-Decorated Properties +### Model mixed with normal and @header/@query/@path properties @@ -687,7 +736,7 @@ For Python, we will also generate the overloads described in the Http Post secti class Schema: schema: bytes -def register(body: [Schema, JSON, IO[bytes]], **kwargs: Any) -> None: +def register(self, body: [Schema, JSON, IO[bytes]], *, content_type: str = "application/json") -> None: ... ``` @@ -724,7 +773,7 @@ export type DemoServiceContext = Client & { "content-type": "application/json"; } & RawHttpHeaders; body: { - schema: string | Uint8Array | ReadableStream | NodeJS.ReadableStream; + schema: string; }; } & RequestParameters ): StreamableMethod; @@ -734,7 +783,7 @@ export type DemoServiceContext = Client & { // Modular model export interface Schema { - schema: string | Uint8Array | ReadableStream | NodeJS.ReadableStream; + schema: string; } // Modular api layer @@ -768,7 +817,340 @@ public void register(Schema schema); ```go +type ClientRegisterOptions struct { +} + +type ClientRegisterResponse struct { +} + +func (client *Client) Register(ctx context.Context, schema []byte, options *ClientRegisterOptions) (ClientRegisterResponse, error) +``` + + + + +### Using Azure.Core.ResourceOperations template + +Resource create and update operations are not impacted by spread since they all have explicit defined body parameter. +Only resource action operations are impacted by spread. + +If the action parameter is a model, then the model will be spread. + + + + +```typespec +@resource("widgets") +model Widget { + @key("widgetName") + name: string; +} + +model RepairInfo { + problem: string; + contact: string; +} + +model RepairResult { + reason: string; + info: string; +} + +alias Operations = Azure.Core.ResourceOperations<{}>; + +op scheduleRepairs is Operations.ResourceAction; +``` + + + + +For Python, we will also generate the overloads described in the Http Post section, but omitting for brevity + +```python +class RepairInfo: + problem: str + contact: str + +class RepairResult: + reason: str + info: str + +def scheduleRepairs(self, widget_name: str, problem: str, contact: str, *, content_type: str = "application/json") -> RepairResult: + ... +``` + + + + +```csharp + +``` + + + + +```typescript +// from user experience perspective + +export interface RepairInfo { + problem: string; + contact: string; +} + +export type WidgetServiceContext = Client & { + path: { + ( + path: "/widgets/{widgetName}:scheduleRepairs", + widgetName: string + ): { + post( + options: { + body: RepairInfo; + } & RequestParameters + ): StreamableMethod; + }; + }; +}; + +// Modular api layer +export async function scheduleRepairs( + context: Client, + widgetName: string, + problem: string, + contact: string, + options: ScheduleRepairsOptionalParams = { requestOptions: {} } +): Promise; + +// Modular classical client layer +export class WidgetServiceClient { + scheduleRepairs( + widgetName: string, + problem: string, + contact: string, + options: ScheduleRepairsOptionalParams = { requestOptions: {} } + ): Promise; +} +``` + + + + +```java +public RepairResult scheduleRepairs(String widgetName, String problem, String contact); +``` + + + + +```go +type ClientScheduleRepairsOptions struct { +} + +type RepairResult struct { + reason *string + info *string +} + +type ClientScheduleRepairsResponse struct { + RepairResult +} + +func (client *Client) ScheduleRepairs(ctx context.Context, widgetName string, problem string, contact string, options *ClientScheduleRepairsOptions) (ClientScheduleRepairsResponse, error) +``` + + + + +If you want to keep the model, you have two options to prevent spreading: + +1. `@override` +2. If you don't want to do client customizations, you could use a wrapper to explicitly set the body to prevent spread. + + + + + +```typespec +namespace Widget.Service; + +@resource("widgets") +model Widget { + @key("widgetName") + name: string; +} + +model RepairInfo { + problem: string; + contact: string; +} + +model RepairResult { + reason: string; + info: string; +} + +alias Operations = Azure.Core.ResourceOperations<{}>; + +op scheduleRepairs is Operations.ResourceAction, RepairResult>; +``` + + + + + +With the `@override` decorator, you have the ability to override the default client method generated by TCGC from your service definition. + +In the case of spread, if the service definition spreads a model onto the method signature, but you would like either all or some of the generated client SDKs to still generate with the model grouped together, this is where the `@override` decorator comes in. + +With `@override`, you can also specify language `scope` to scope the changes to a specific language emitter. + +```tsp +// client.tsp +namespace Widget.Client; + +op scheduleRepairs( + body: RepairInfo, + `api-version`: Azure.Core.Foundations.ApiVersionParameter, +): RepairResult; + +@@override(Widget.Service.scheduleRepairs, Widget.Client.scheduleRepairs); +``` + + + + + +If you do not want to use customizations in `client.tsp`, you can also add `@bodyRoot` onto the input in the `main.tsp` before you pass the model to the template. + +```typespec +// main.tsp +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; + +op scheduleRepairs is Operations.ResourceAction, RepairResult>; +``` + + + + +For Python, we will also generate the overloads described in the Http Post section, but omitting for brevity + +```python +class RepairInfo: + problem: str + contact: str + +class RepairResult: + reason: str + info: str + +def scheduleRepairs(self, body: [Schema, JSON, IO[bytes]], *, content_type: str = "application/json") -> RepairResult: + ... +``` + + + + +```csharp + +``` + + + + +```typescript +// from user experience perspective + +export interface RepairInfo { + problem: string; + contact: string; +} + +export type WidgetServiceContext = Client & { + path: { + ( + path: "/widgets/{widgetName}:scheduleRepairs", + widgetName: string + ): { + post( + options: { + body: RepairInfo; + } & RequestParameters + ): StreamableMethod; + }; + }; +}; + +// Modular api layer +export async function scheduleRepairs( + context: Client, + widgetName: string, + body: RepairInfo, + options: ScheduleRepairsOptionalParams = { requestOptions: {} } +): Promise; + +// Modular classical client layer +export class WidgetServiceClient { + scheduleRepairs( + widgetName: string, + body: RepairInfo, + options: ScheduleRepairsOptionalParams = { requestOptions: {} } + ): Promise; +} +``` + + + + +```java +// Model class +@Immutable +public final class RepairInfo implements JsonSerializable { + public RepairInfo(String problem, String contact); + public String getProblem(); + public String getContact(); +} + +@Immutable +public final class RepairResult implements JsonSerializable { + public String getReason(); + public String getInfo(); +} + +// Client API +public RepairResult scheduleRepairs(String widgetName, RepairInfo body); +``` + + + + +```go +type RepairInfo struct { + problem *string + contact *string +} + +type ClientScheduleRepairsOptions struct { +} + +type RepairResult struct { + reason *string + info *string +} + +type ClientScheduleRepairsResponse struct { + RepairResult +} +func (client *Client) ScheduleRepairs(ctx context.Context, widgetName string, body RepairInfo, options *ClientScheduleRepairsOptions) (ClientScheduleRepairsResponse, error) ``` diff --git a/packages/website/versioned_docs/version-latest/howtos/Generating with tsp-client/tsp_client.md b/packages/website/versioned_docs/version-latest/howtos/Generating with tsp-client/tsp_client.md index 574a6a20bf..0982ea37d0 100644 --- a/packages/website/versioned_docs/version-latest/howtos/Generating with tsp-client/tsp_client.md +++ b/packages/website/versioned_docs/version-latest/howtos/Generating with tsp-client/tsp_client.md @@ -83,6 +83,10 @@ Example: azure-rest-api-specs/specification/contosowidgetmanager> tsp-client convert --swagger-readme ./data-plane/readme.md -o ./Contoso.WidgetManager ``` +### sort-swagger + +Sort an existing swagger specification to be the same content order with TypeSpec generated swagger. This will allow you to easily compare and identify differences between the existing swagger and TypeSpec generated one. You should run this command on existing swagger files and check them in prior to creating converted TypeSpec PRs. + ## Options ``` @@ -150,8 +154,8 @@ Using the tspconfig.yaml linked above, by default, the client libraries will be Please note that these requirements apply on the repository where the client library is going to be generated. Repo owners should make sure to follow these requirements. Users working within a repository that already accepts this tool can refer to the [Usage](#usage) section. -- Add an emitter-package.json to the repo following this [configuration](#emitter-packagejson). -- Add the [TempTypeSpecFiles](#TempTypeSpecFiles) directory to the .gitignore file for your repository. +- Add an emitter-package.json to the repo following this [configuration](#emitter-packagejson-required). +- Add the [TempTypeSpecFiles](#temptypespecfiles) directory to the .gitignore file for your repository. ### TempTypeSpecFiles diff --git a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/get-started.md b/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/get-started.md index ae40e6d2eb..3003905f02 100644 --- a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/get-started.md +++ b/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/get-started.md @@ -1,46 +1,3 @@ -# Migrate Azure API spec from swagger to TypeSpec +# Page Moved -We have created a swagger to TypeSpec conversion tool to help take on the bulk of the manual conversion labor. It can handle both data-plane and management-plane swaggers. The produced TypeSpec relies on the Azure.Core and Azure.Resource.Manager libraries. - -**_Important!_** Because TypeSpec is more expressive than Swagger and with the help of evolving Azure libraries, this tool should only be used as an aid in the conversion/migration process, not as the sole tool to produce final version of TypeSpec specs without human inspection, correction and optimization. - -## Steps of running the tool - -- Ensure [Node.js](https://nodejs.org/en/download/) 18.3 LTS or later is installed. -- Install [`@azure-tools/typespec-client-generator-cli`](https://www.npmjs.com/package/@azure-tools/typespec-client-generator-cli): - -```shell -npm install -g @azure-tools/typespec-client-generator-cli -``` - -- Run the tool from the directory you would like to output your files. - - - Convert a **data-plane** specification: - - ```shell - tsp-client convert --swagger-readme [path to readme.md] - ``` - - - Convert a **control-plane** specification: - - ```shell - tsp-client convert --swagger-readme [path to readme.md] --arm - ``` - -- Review generated TypeSpec -- Layout [the TypeSpec project folders appropriately](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md). -- Leverage standard `tspconfig.yaml` ([Template projects](https://github.com/microsoft/typespec/tree/main/eng/feeds)) and make appropriate output file name changes. -- Ensure it compiles successfully locally and then submit a PR -- Review CI checks such as breaking changes and other failures. - -## How to Get Help - -- Ask questions in the [TypeSpec Discussions Channel](https://teams.microsoft.com/l/channel/19%3a906c1efbbec54dc8949ac736633e6bdf%40thread.skype/TypeSpec%2520Discussion%2520%25F0%259F%2590%25AE?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47) -- Attend TypeSpec office hours. The office hours is listed on top tabs on the discussion channel. -- File issues in the [typespec-azure github repo](https://github.com/azure/typespec-azure/issues) - - For bugs, please include: - - A high-level description of the bug - - Expected and Actual Results - - Repro steps, including any TypeSpec code that you used - - Any error messages you saw, including stack traces. For issues with VS or VS Code tooling see [Troubleshooting VSCode Tooling and Filing Issues](../../typespec-getting-started.md#troubleshooting-vscode-tooling-and-filing-issues) -- Schedule review meetings with TypeSpec team. +Swagger migration pages have moved to [top level menu](../../migrate-swagger/01-get-started.md). diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/data-types.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/data-types.md index e01fc47e41..12d9ca1719 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/data-types.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/data-types.md @@ -479,6 +479,11 @@ Supported versions of Azure.Core TypeSpec building blocks. enum Azure.Core.Versions ``` +| Name | Value | Description | +| -------------- | ----------------- | --------------------- | +| v1_0_Preview_1 | `"1.0-preview.1"` | Version 1.0-preview.1 | +| v1_0_Preview_2 | `"1.0-preview.2"` | Version 1.0-preview.2 | + ### `ArmResourceDeploymentScope` {#Azure.Core.ArmResourceDeploymentScope} ```typespec @@ -505,15 +510,35 @@ union Azure.Core.RepeatabilityResult A type definition that refers the id to an Azure Resource Manager resource. -Sample usage: -otherArmId: ResourceIdentifier; -networkId: ResourceIdentifier<[{type:"\\Microsoft.Network\\vnet"}]> -vmIds: ResourceIdentifier<[{type:"\\Microsoft.Compute\\vm", scopes["*"]}]> - ```typespec scalar Azure.Core.armResourceIdentifier ``` +#### Examples + +```tsp +model MyModel { + otherArmId: armResourceIdentifier; + networkId: armResourceIdentifier<[ + { + type: "Microsoft.Network/vnet"; + } + ]>; + vmIds: armResourceIdentifier<[ + { + type: "Microsoft.Compute/vm"; + scopes: ["*"]; + } + ]>; + scoped: armResourceIdentifier<[ + { + type: "Microsoft.Compute/vm"; + scopes: ["tenant", "resourceGroup"]; + } + ]>; +} +``` + ### `azureLocation` {#Azure.Core.azureLocation} Represents an Azure geography region where supported resource providers live. @@ -1231,6 +1256,16 @@ Enumerates the standard trait contexts for Azure.Core operations. enum Azure.Core.Traits.TraitContext ``` +| Name | Value | Description | +| --------- | ----- | ---------------------------------------------------------------------------------------------- | +| Read | | Trait is applicable for resource 'read' operations. | +| Create | | Trait is applicable for resource 'create' operations. | +| Update | | Trait is applicable for resource 'update' operations. | +| Delete | | Trait is applicable for resource 'delete' operations. | +| List | | Trait is applicable for resource 'list' operations. | +| Action | | Trait is applicable for resource actions. | +| Undefined | | Only traits that did not specify a trait context (and therefore always apply) will be exposed. | + ### `TraitLocation` {#Azure.Core.Traits.TraitLocation} Enumerates the standard trait locations for Azure.Core operations. @@ -1238,3 +1273,9 @@ Enumerates the standard trait locations for Azure.Core operations. ```typespec enum Azure.Core.Traits.TraitLocation ``` + +| Name | Value | Description | +| ------------------- | ----- | --------------------------------------------------------- | +| Parameters | | Identifies operation parameters as the trait target. | +| Response | | Identifies operation response as the trait target. | +| ApiVersionParameter | | Identifies the API version parameter as the trait target. | diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/decorators.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/decorators.md index 3734168336..8fa8962254 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/decorators.md @@ -395,7 +395,7 @@ checks. #### Target The model type to mark as a trait. -`unknown` +`Model` #### Parameters diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/interfaces.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/interfaces.md index f3a8f10fb0..d0bfbeb104 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/interfaces.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/interfaces.md @@ -338,6 +338,10 @@ op Azure.Core.LongRunningResourceCollectionAction(apiVersion: string): Azure.Cor ### `LongRunningResourceCreateOrReplace` {#Azure.Core.LongRunningResourceCreateOrReplace} +:::warning +**Deprecated**: Use `LongRunningResourceCreateOrReplace` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `LongRunningResourceCreateOrReplace` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -357,6 +361,10 @@ op Azure.Core.LongRunningResourceCreateOrReplace(apiVersion: string, resource: R ### `LongRunningResourceCreateOrUpdate` {#Azure.Core.LongRunningResourceCreateOrUpdate} +:::warning +**Deprecated**: Use `LongRunningResourceCreateOrUpdate` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `LongRunningResourceCreateOrUpdate` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -376,6 +384,10 @@ op Azure.Core.LongRunningResourceCreateOrUpdate(apiVersion: string, contentType: ### `LongRunningResourceCreateWithServiceProvidedName` {#Azure.Core.LongRunningResourceCreateWithServiceProvidedName} +:::warning +**Deprecated**: Use `LongRunningResourceCreateWithServiceProvidedName` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `LongRunningResourceCreateWithServiceProvidedName` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -476,6 +488,10 @@ op Azure.Core.ResourceCollectionAction(apiVersion: string): {} | Azure.Core.Foun ### `ResourceCreateOrReplace` {#Azure.Core.ResourceCreateOrReplace} +:::warning +**Deprecated**: Use `ResourceCreateOrReplace` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `ResourceCreateOrReplace` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -495,6 +511,10 @@ op Azure.Core.ResourceCreateOrReplace(apiVersion: string, resource: Resource): { ### `ResourceCreateOrUpdate` {#Azure.Core.ResourceCreateOrUpdate} +:::warning +**Deprecated**: Use `LongRunningResourceCreateOrReplace` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `ResourceCreateOrUpdate` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -514,6 +534,10 @@ op Azure.Core.ResourceCreateOrUpdate(apiVersion: string, contentType: "applicati ### `ResourceCreateWithServiceProvidedName` {#Azure.Core.ResourceCreateWithServiceProvidedName} +:::warning +**Deprecated**: Use `ResourceCreateWithServiceProvidedName` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `ResourceCreateWithServiceProvidedName` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. @@ -590,6 +614,10 @@ op Azure.Core.ResourceRead(apiVersion: string): {} | Azure.Core.Foundations.Erro ### `ResourceUpdate` {#Azure.Core.ResourceUpdate} +:::warning +**Deprecated**: Use `ResourceUpdate` from a `ResourceOperations` interface instance. +::: + DEPRECATED: Use `ResourceUpdate` from a `ResourceOperations` interface instance. This can be done by instantiating your own version with the traits you want `alias Operations = Azure.Core.ResourceOperations;`. See https://azure.github.io/typespec-azure/docs/getstarted/azure-core/step05#defining-the-operation-interface for details on how to use. diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$addTraitProperties.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$addTraitProperties.md index 176d1b59a8..10c3e2d27e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$addTraitProperties.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$addTraitProperties.md @@ -20,7 +20,7 @@ function $addTraitProperties( | `target` | `Model` | | `traitModel` | `Model` | | `traitLocation` | `EnumMember` | -| `traitContexts` | `EnumMember` \| `Union` \| `UnknownType` | +| `traitContexts` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$defaultFinalStateVia.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$defaultFinalStateVia.md index 70a799ba7e..17ae0b418d 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$defaultFinalStateVia.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$defaultFinalStateVia.md @@ -16,7 +16,7 @@ function $defaultFinalStateVia( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `Operation` | -| `states` | `LroHeader`[] | +| `states` | readonly (`"location"` \| `"operation-location"` \| `"azure-async-operation"`)[] | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$ensureTraitsPresent.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$ensureTraitsPresent.md index eb2fc9b389..bed994dccb 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$ensureTraitsPresent.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$ensureTraitsPresent.md @@ -18,7 +18,7 @@ function $ensureTraitsPresent( | `context` | `DecoratorContext` | | `target` | `Interface` \| `Operation` | | `traitModel` | `Model` | -| `expectedTraits` | `Tuple` | +| `expectedTraits` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalLocation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalLocation.md index ea403cb79f..ec67ef684a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalLocation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalLocation.md @@ -16,7 +16,7 @@ function $finalLocation( | ------ | ------ | | `context` | `DecoratorContext` | | `entity` | `ModelProperty` | -| `finalResult`? | `IntrinsicType` \| `Model` | +| `finalResult`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalOperation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalOperation.md index 9043207d30..dda8d3a77a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalOperation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$finalOperation.md @@ -18,7 +18,7 @@ function $finalOperation( | `context` | `DecoratorContext` | | `entity` | `Operation` | | `linkedOperation` | `Operation` | -| `parameters`? | `Model` | +| `parameters`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$nextPageOperation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$nextPageOperation.md index cc8c29b0b2..7f456aa10c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$nextPageOperation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$nextPageOperation.md @@ -18,7 +18,7 @@ function $nextPageOperation( | `context` | `DecoratorContext` | | `entity` | `Operation` | | `linkedOperation` | `Operation` | -| `parameters`? | `Model` | +| `parameters`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$operationLink.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$operationLink.md index 3c1d2c654b..b7014b1f2d 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$operationLink.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$operationLink.md @@ -20,7 +20,7 @@ function $operationLink( | `entity` | `Operation` | | `linkedOperation` | `Operation` | | `linkType` | `string` | -| `parameters`? | `Model` | +| `parameters`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingLocation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingLocation.md index c55d1aa7ff..0414e3bb67 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingLocation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingLocation.md @@ -16,7 +16,7 @@ function $pollingLocation( | ------ | ------ | | `context` | `DecoratorContext` | | `entity` | `ModelProperty` | -| `options`? | `Model` | +| `options`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperation.md index 76e3a58d59..c1596f9124 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperation.md @@ -6,7 +6,7 @@ title: "[F] $pollingOperation" ```ts function $pollingOperation( context, - target, + entity, linkedOperation, parameters?): void ``` @@ -16,9 +16,9 @@ function $pollingOperation( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `target` | `Operation` | +| `entity` | `Operation` | | `linkedOperation` | `Operation` | -| `parameters`? | `Model` | +| `parameters`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperationParameter.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperationParameter.md index 680442ea03..944d371767 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperationParameter.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$pollingOperationParameter.md @@ -7,7 +7,7 @@ title: "[F] $pollingOperationParameter" function $pollingOperationParameter( context, entity, - target?): void + targetParameter?): void ``` ## Parameters @@ -16,7 +16,7 @@ function $pollingOperationParameter( | ------ | ------ | | `context` | `DecoratorContext` | | `entity` | `ModelProperty` | -| `target`? | `ModelProperty` \| `StringLiteral` | +| `targetParameter`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$spreadCustomResponseProperties.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$spreadCustomResponseProperties.md index 885bfa7632..797f0e3981 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$spreadCustomResponseProperties.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$spreadCustomResponseProperties.md @@ -16,7 +16,7 @@ function $spreadCustomResponseProperties( | ------ | ------ | | `context` | `DecoratorContext` | | `entity` | `Model` | -| `customizations` | `Model` | +| `customizations` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitAdded.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitAdded.md index fe7bd2d505..fa5c153b07 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitAdded.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitAdded.md @@ -16,7 +16,7 @@ function $traitAdded( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `Model` \| `ModelProperty` | -| `addedVersion` | `EnumMember` \| `NullType` | +| `addedVersion` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitContext.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitContext.md index c81606ec25..9c94264391 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitContext.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitContext.md @@ -7,7 +7,7 @@ title: "[F] $traitContext" function $traitContext( context, target, - traitContext): void + contexts): void ``` ## Parameters @@ -16,7 +16,7 @@ function $traitContext( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `ModelProperty` | -| `traitContext` | `EnumMember` \| `Union` \| `UnknownType` | +| `contexts` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitLocation.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitLocation.md index 30d5b3feb0..e4911c00b0 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitLocation.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$traitLocation.md @@ -7,7 +7,7 @@ title: "[F] $traitLocation" function $traitLocation( context, target, - traitLocation): void + contexts): void ``` ## Parameters @@ -16,7 +16,7 @@ function $traitLocation( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `ModelProperty` | -| `traitLocation` | `EnumMember` | +| `contexts` | `EnumMember` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$useFinalStateVia.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$useFinalStateVia.md index 1473d0b4b7..7746164325 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$useFinalStateVia.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/functions/$useFinalStateVia.md @@ -18,7 +18,7 @@ overrides the final state for an lro | ------ | ------ | ------ | | `context` | `DecoratorContext` | The execution context for the decorator | | `entity` | `Operation` | The decorated operation | -| `finalState` | `string` | The desired value for final-state-via | +| `finalState` | `"location"` \| `"operation-location"` \| `"azure-async-operation"` \| `"original-uri"` | The desired value for final-state-via | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/variables/$lib.md index df77bcc1ec..a6a1953bf6 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/js-api/variables/$lib.md @@ -4,7 +4,34 @@ title: "[V] $lib" --- ```ts -const $lib: TypeSpecLibrary, never>; +const $lib: TypeSpecLibrary, + | "fixed" + | "items" + | "trait" + | "pagedResult" + | "nextLink" + | "lroStatus" + | "lroSucceeded" + | "lroCanceled" + | "lroFailed" + | "lroResult" + | "lroErrorResult" + | "pollingOperationParameter" + | "pollingLocationInfo" + | "finalLocations" + | "finalLocationResults" + | "finalStateOverride" + | "needsRoute" + | "ensureVerb" + | "embeddingVector" + | "armResourceIdentifierConfig" + | "operationLink" + | "requestParameter" + | "responseParameter" + | "resourceOperation" + | "traitSource" + | "traitContext" +| "traitLocation">; ``` ## Type declaration @@ -12,76 +39,76 @@ const $lib: TypeSpecLibrary, never>; | Name | Type | Default value | | ------ | ------ | ------ | | `bad-record-type` | `object` | - | -| `bad-record-type.extendUnknown` | `CallableMessage`<[`string`, `string`, `string`, `string`]\> | - | -| `bad-record-type.recordWithProperties` | `CallableMessage`<[`string`, `string`, `string`]\> | - | +| `bad-record-type.extendUnknown` | `CallableMessage`<[`"name"`, `"keyword"`, `"typeName"`, `"keyword"`]\> | - | +| `bad-record-type.recordWithProperties` | `CallableMessage`<[`"name"`, `"keyword"`, `"typeName"`]\> | - | | `client-request-id-trait-missing` | `object` | - | | `client-request-id-trait-missing.default` | `CallableMessage`<[]\> | - | | `conditional-requests-trait-missing` | `object` | - | | `conditional-requests-trait-missing.default` | `CallableMessage`<[]\> | - | | `expected-success-response` | `object` | - | -| `expected-success-response.default` | `string` | "The operation must have a success response" | +| `expected-success-response.default` | `"The operation must have a success response"` | "The operation must have a success response" | | `expected-trait-diagnostic-missing` | `object` | - | -| `expected-trait-diagnostic-missing.default` | `string` | - | +| `expected-trait-diagnostic-missing.default` | "Expected trait entries must have a \"diagnostic\" field with a valid diagnostic code for the missing trait." | - | | `expected-trait-missing` | `object` | - | -| `expected-trait-missing.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `expected-trait-missing.default` | `CallableMessage`<[`"trait"`, `"message"`]\> | - | | `invalid-final-operation` | `object` | - | -| `invalid-final-operation.default` | `string` | "The operation linked in the '@finalOperation' decorator must have a 200 response that includes a model." | +| `invalid-final-operation.default` | `"The operation linked in the '@finalOperation' decorator must have a 200 response that includes a model."` | "The operation linked in the '@finalOperation' decorator must have a 200 response that includes a model." | | `invalid-final-state` | `object` | - | -| `invalid-final-state.badValue` | `CallableMessage`<[`string`]\> | - | -| `invalid-final-state.noHeader` | `CallableMessage`<[`string`]\> | - | -| `invalid-final-state.notPut` | `string` | "The final state value 'original-uri' can only be used in http PUT operations" | +| `invalid-final-state.badValue` | `CallableMessage`<[`"finalStateValue"`]\> | - | +| `invalid-final-state.noHeader` | `CallableMessage`<[`"finalStateValue"`]\> | - | +| `invalid-final-state.notPut` | `"The final state value 'original-uri' can only be used in http PUT operations"` | "The final state value 'original-uri' can only be used in http PUT operations" | | `invalid-parameter` | `object` | - | -| `invalid-parameter.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `invalid-parameter.default` | `CallableMessage`<[`"propertyName"`, `"kind"`]\> | - | | `invalid-resource-type` | `object` | - | -| `invalid-resource-type.missingKey` | `CallableMessage`<[`string`]\> | - | -| `invalid-resource-type.missingSegment` | `CallableMessage`<[`string`]\> | - | +| `invalid-resource-type.missingKey` | `CallableMessage`<[`"name"`]\> | - | +| `invalid-resource-type.missingSegment` | `CallableMessage`<[`"name"`]\> | - | | `invalid-trait-context` | `object` | - | -| `invalid-trait-context.default` | `string` | "The trait context can only be an enum member, union of enum members, or \`unknown\`." | +| `invalid-trait-context.default` | "The trait context can only be an enum member, union of enum members, or \`unknown\`." | "The trait context can only be an enum member, union of enum members, or \`unknown\`." | | `invalid-trait-property-count` | `object` | - | -| `invalid-trait-property-count.default` | `CallableMessage`<[`string`]\> | - | +| `invalid-trait-property-count.default` | `CallableMessage`<[`"modelName"`]\> | - | | `invalid-trait-property-type` | `object` | - | -| `invalid-trait-property-type.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `invalid-trait-property-type.default` | `CallableMessage`<[`"modelName"`, `"propertyName"`]\> | - | | `lro-polling-data-missing-from-operation-response` | `object` | - | -| `lro-polling-data-missing-from-operation-response.default` | `string` | "At least one operation response must contain a field marked with \`@lroStatus\`" | +| `lro-polling-data-missing-from-operation-response.default` | "At least one operation response must contain a field marked with \`@lroStatus\`" | "At least one operation response must contain a field marked with \`@lroStatus\`" | | `lro-status-missing` | `object` | - | -| `lro-status-missing.default` | `CallableMessage`<[`string`]\> | - | +| `lro-status-missing.default` | `CallableMessage`<[`"states"`]\> | - | | `lro-status-monitor-invalid-result-property` | `object` | - | -| `lro-status-monitor-invalid-result-property.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `lro-status-monitor-invalid-result-property.default` | `CallableMessage`<[`"resultType"`, `"decorator"`]\> | - | | `lro-status-property-invalid-type` | `object` | - | -| `lro-status-property-invalid-type.default` | `string` | "Property type must be a union of strings or an enum." | +| `lro-status-property-invalid-type.default` | `"Property type must be a union of strings or an enum."` | "Property type must be a union of strings or an enum." | | `lro-status-union-non-string` | `object` | - | -| `lro-status-union-non-string.default` | `CallableMessage`<[`string`]\> | - | +| `lro-status-union-non-string.default` | `CallableMessage`<[`"type"`]\> | - | | `no-object` | `object` | - | -| `no-object.default` | `string` | "Don't use 'object'.\n - If you want an object with any properties, use \`Record\`\n - If you meant anything, use \`unknown\`." | +| `no-object.default` | "Don't use 'object'.\n - If you want an object with any properties, use \`Record\`\n - If you meant anything, use \`unknown\`." | "Don't use 'object'.\n - If you want an object with any properties, use \`Record\`\n - If you meant anything, use \`unknown\`." | | `operation-link-parameter-invalid` | `object` | - | -| `operation-link-parameter-invalid.default` | `string` | "Parameters must be of template type RequestParameter or ResponseProperty." | +| `operation-link-parameter-invalid.default` | `"Parameters must be of template type RequestParameter or ResponseProperty."` | "Parameters must be of template type RequestParameter or ResponseProperty." | | `operation-link-parameter-invalid-target` | `object` | - | -| `operation-link-parameter-invalid-target.default` | `CallableMessage`<[`string`]\> | - | +| `operation-link-parameter-invalid-target.default` | `CallableMessage`<[`"name"`]\> | - | | `polling-operation-no-lro-failure` | `object` | - | -| `polling-operation-no-lro-failure.default` | `string` | "The status monitor returned from the polling operation must have a status property, with a known status value the indicates failure. This known value may be named 'Failed' or marked with the '@lroFailed' decorator." | +| `polling-operation-no-lro-failure.default` | `"The status monitor returned from the polling operation must have a status property, with a known status value the indicates failure. This known value may be named 'Failed' or marked with the '@lroFailed' decorator."` | "The status monitor returned from the polling operation must have a status property, with a known status value the indicates failure. This known value may be named 'Failed' or marked with the '@lroFailed' decorator." | | `polling-operation-no-lro-success` | `object` | - | -| `polling-operation-no-lro-success.default` | `string` | "The status monitor returned from the polling operation must have a status property, with a known status value the indicates successful completion. This known value may be named 'Succeeded' or marked with the '@lroSucceeded' decorator." | +| `polling-operation-no-lro-success.default` | `"The status monitor returned from the polling operation must have a status property, with a known status value the indicates successful completion. This known value may be named 'Succeeded' or marked with the '@lroSucceeded' decorator."` | "The status monitor returned from the polling operation must have a status property, with a known status value the indicates successful completion. This known value may be named 'Succeeded' or marked with the '@lroSucceeded' decorator." | | `polling-operation-no-ref-or-link` | `object` | - | -| `polling-operation-no-ref-or-link.default` | `string` | "An operation decorated with '@pollingOperation' must either return a response with an 'Operation-Location' header that will contain a runtime link to the polling operation, or specify parameters and return type properties to map into the polling operation parameters. A map into polling operation parameters can be created using the '@pollingOperationParameter' decorator" | +| `polling-operation-no-ref-or-link.default` | `"An operation decorated with '@pollingOperation' must either return a response with an 'Operation-Location' header that will contain a runtime link to the polling operation, or specify parameters and return type properties to map into the polling operation parameters. A map into polling operation parameters can be created using the '@pollingOperationParameter' decorator"` | "An operation decorated with '@pollingOperation' must either return a response with an 'Operation-Location' header that will contain a runtime link to the polling operation, or specify parameters and return type properties to map into the polling operation parameters. A map into polling operation parameters can be created using the '@pollingOperationParameter' decorator" | | `polling-operation-no-status-monitor` | `object` | - | -| `polling-operation-no-status-monitor.default` | `string` | "The operation linked in @pollingOperation must return a valid status monitor. The status monitor model must contain a 'status' property, or a property decorated with '@lroStatus'. The status field must be of Enum or Union type and contain terminal status values for success and failure." | +| `polling-operation-no-status-monitor.default` | `"The operation linked in @pollingOperation must return a valid status monitor. The status monitor model must contain a 'status' property, or a property decorated with '@lroStatus'. The status field must be of Enum or Union type and contain terminal status values for success and failure."` | "The operation linked in @pollingOperation must return a valid status monitor. The status monitor model must contain a 'status' property, or a property decorated with '@lroStatus'. The status field must be of Enum or Union type and contain terminal status values for success and failure." | | `polling-operation-return-model` | `object` | - | -| `polling-operation-return-model.default` | `string` | "An operation annotated with @pollingOperation must return a model or union of model." | +| `polling-operation-return-model.default` | `"An operation annotated with @pollingOperation must return a model or union of model."` | "An operation annotated with @pollingOperation must return a model or union of model." | | `repeatable-requests-trait-missing` | `object` | - | | `repeatable-requests-trait-missing.default` | `CallableMessage`<[]\> | - | | `request-parameter-invalid` | `object` | - | -| `request-parameter-invalid.default` | `CallableMessage`<[`string`]\> | - | +| `request-parameter-invalid.default` | `CallableMessage`<[`"name"`]\> | - | | `response-property-invalid` | `object` | - | -| `response-property-invalid.default` | `CallableMessage`<[`string`]\> | - | +| `response-property-invalid.default` | `CallableMessage`<[`"name"`]\> | - | | `rpc-operation-needs-route` | `object` | - | -| `rpc-operation-needs-route.default` | `string` | "The operation needs a @route" | +| `rpc-operation-needs-route.default` | `"The operation needs a @route"` | "The operation needs a @route" | | `trait-property-without-location` | `object` | - | -| `trait-property-without-location.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `trait-property-without-location.default` | `CallableMessage`<[`"modelName"`, `"propertyName"`]\> | - | | `union-enums-circular` | `object` | - | -| `union-enums-circular.default` | `string` | - | +| `union-enums-circular.default` | `"Union is referencing itself and cannot be resolved as an enum."` | - | | `union-enums-invalid-kind` | `object` | - | -| `union-enums-invalid-kind.default` | `CallableMessage`<[`string`]\> | - | +| `union-enums-invalid-kind.default` | `CallableMessage`<[`"kind"`]\> | - | | `union-enums-multiple-kind` | `object` | - | -| `union-enums-multiple-kind.default` | `CallableMessage`<[`string`]\> | - | +| `union-enums-multiple-kind.default` | `CallableMessage`<[`"kinds"`]\> | - | | `verb-conflict` | `object` | - | -| `verb-conflict.default` | `CallableMessage`<[`string`, `string`, `string`]\> | - | +| `verb-conflict.default` | `CallableMessage`<[`"templateName"`, `"requiredVerb"`, `"verb"`]\> | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/linter.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/linter.md index f3471b65e8..bce1334bd0 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/linter.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/reference/linter.md @@ -61,4 +61,7 @@ Available ruleSets: | `@azure-tools/typespec-azure-core/use-standard-names` | Use recommended names for operations. | | `@azure-tools/typespec-azure-core/use-standard-operations` | Operations should be defined using a signature from the Azure.Core namespace. | | [`@azure-tools/typespec-azure-core/no-string-discriminator`](/libraries/azure-core/rules/no-string-discriminator.md) | Azure services discriminated models should define the discriminated property as an extensible union. | +| [`@azure-tools/typespec-azure-core/require-versioned`](/libraries/azure-core/rules/require-versioned.md) | Azure services should use the versioning library. | | `@azure-tools/typespec-azure-core/friendly-name` | Ensures that @friendlyName is used as intended. | +| [`@azure-tools/typespec-azure-core/no-private-usage`](/libraries/azure-core/rules/no-private-usage.md) | Verify that elements inside Private namespace are not referenced. | +| [`@azure-tools/typespec-azure-core/no-query-explode`](/libraries/azure-core/rules/no-query-explode.md) | It is recommended to serialize query parameter without explode: true | diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-private-usage.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-private-usage.md new file mode 100644 index 0000000000..6a9c8a641e --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-private-usage.md @@ -0,0 +1,32 @@ +--- +title: "no-private-usage" +--- + +```text title="Full name" +@azure-tools/typespec-azure-core/no-private-usage +``` + +Verify that a spec is not referencing items from another library using a private namespace. + +#### ❌ Incorrect + +```ts +@Azure.Core.Foundations.Private.embeddingVector(string) +model Foo {} +``` + +#### ✅ Ok + +Using items from a private namespace within the same library is allowed. + +```ts +namespace MyService; + +@MyService.Private.myPrivateDecorator +model Foo {} + + +namespace Private { + extern dec myPrivateDecorator(target); +} +``` diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-query-explode.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-query-explode.md new file mode 100644 index 0000000000..f431555ab6 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/no-query-explode.md @@ -0,0 +1,35 @@ +--- +title: "no-query-explode" +--- + +```text title="Full name" +@azure-tools/typespec-azure-core/no-query-explode +``` + +Azure services favor serializing query parameter of array type using the simple style(Where each values is joined by a `,`) +Using the `*` uri template modifier or `explode: true` property specify that each individual value of the array should be sent as a separate query parameter. + +#### ❌ Incorrect + +```tsp +op list( + @query(#{ explode: true }) + select: string[], +): Pet[]; +``` + +#### ✅ Correct + +```tsp +op list( + @query + select: string[], +): Pet[]; +``` + +```tsp +op list( + @query(#{ explode: false }) + select: string[], +): Pet[]; +``` diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/require-versioned.md b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/require-versioned.md new file mode 100644 index 0000000000..847146f3c3 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/azure-core/rules/require-versioned.md @@ -0,0 +1,43 @@ +--- +title: "require-versioned" +--- + +```text title="Full name" +@azure-tools/typespec-azure-core/require-versioned +``` + +Azure services should always use the versioning library even if they have a single version. This ensures that the service is ready for future versions and generate the OpenAPI 2.0 in the correct location. + +#### ❌ Incorrect + +```tsp +@service +namespace Azure.MyService; +``` + +```tsp +@service({ + version: "2021-01-01", +}) +namespace Azure.MyService; +``` + +```tsp +@service +@OpenAPI.info({ + version: "2021-01-01", +}) +namespace Azure.MyService; +``` + +#### ✅ Correct + +```tsp +@versioned(Versions) +@service +namespace Azure.MyService; + +enum Versions { + 2021_01_01: "2021-01-01", +} +``` diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-portal-core/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/libraries/azure-portal-core/reference/js-api/variables/$lib.md index 59288495da..b450a3eabd 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-portal-core/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-portal-core/reference/js-api/variables/$lib.md @@ -17,21 +17,21 @@ const $lib: TypeSpecLibrary, | Name | Type | | ------ | ------ | | `file-not-found` | `object` | -| `file-not-found.default` | `CallableMessage`<[`string`, `string`, `string`]\> | +| `file-not-found.default` | `CallableMessage`<[`"decoratorName"`, `"propertyName"`, `"filePath"`]\> | | `invalid-apiversion` | `object` | -| `invalid-apiversion.promotionVersion` | `CallableMessage`<[`string`]\> | -| `invalid-apiversion.serviceVersion` | `CallableMessage`<[`string`]\> | -| `invalid-apiversion.versionsList` | `CallableMessage`<[`string`]\> | +| `invalid-apiversion.promotionVersion` | `CallableMessage`<[`"version"`]\> | +| `invalid-apiversion.serviceVersion` | `CallableMessage`<[`"version"`]\> | +| `invalid-apiversion.versionsList` | `CallableMessage`<[`"version"`]\> | | `invalid-link` | `object` | -| `invalid-link.default` | `CallableMessage`<[`string`]\> | +| `invalid-link.default` | `CallableMessage`<[`"link"`]\> | | `invalid-offer-id` | `object` | | `invalid-offer-id.marketplaceOfferId` | `"@marketplaceOffer id cannot have a blank space."` | | `invalid-type` | `object` | -| `invalid-type.argQueryFile` | `CallableMessage`<[`string`]\> | -| `invalid-type.argQueryString` | `CallableMessage`<[`string`]\> | -| `invalid-type.iconSvg` | `CallableMessage`<[`string`]\> | +| `invalid-type.argQueryFile` | `CallableMessage`<[`"filePath"`]\> | +| `invalid-type.argQueryString` | `CallableMessage`<[`"query"`]\> | +| `invalid-type.iconSvg` | `CallableMessage`<[`"filePath"`]\> | | `not-a-resource` | `object` | | `not-a-resource.browse` | `"@browse can only be applied to TrackedResource models"` | -| `not-a-resource.default` | `CallableMessage`<[`string`]\> | +| `not-a-resource.default` | `CallableMessage`<[`"decoratorName"`]\> | | `too-many-essentials` | `object` | | `too-many-essentials.default` | `"essentials can be only used 5 times in ModelProperty."` | diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/data-types.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/data-types.md index 9d43c110b9..769f6b7d37 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/data-types.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/data-types.md @@ -903,6 +903,10 @@ Supported versions of Azure.ResourceManager building blocks. enum Azure.ResourceManager.Versions ``` +| Name | Value | Description | +| -------------- | ----------------- | --------------------- | +| v1_0_Preview_1 | `"1.0-preview.1"` | Version 1.0-preview.1 | + ### `ResourceProvisioningState` {#Azure.ResourceManager.ResourceProvisioningState} Standard terminal provisioning state of resource type. You can include in your @@ -1690,6 +1694,10 @@ model Azure.ResourceManager.CommonTypes.TrackedResource ### `UserAssignedIdentities` {#Azure.ResourceManager.CommonTypes.UserAssignedIdentities} +:::warning +**Deprecated**: Do not use this model. Instead, use Record directly. Using this model will result in a different client SDK when generated from TypeSpec compared to the Swagger. +::: + The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. ```typespec @@ -1725,6 +1733,14 @@ An internal enum to indicate the resource support for various path types enum Azure.ResourceManager.CommonTypes.ResourceHome ``` +| Name | Value | Description | +| ------------- | ----- | ----------------------------------------- | +| Tenant | | The resource is bound to a tenant | +| Subscription | | The resource is bound to a subscription | +| Location | | The resource is bound to a location | +| ResourceGroup | | The resource is bound to a resource group | +| Extension | | The resource is bound to an extension | + ### `Versions` {#Azure.ResourceManager.CommonTypes.Versions} The Azure Resource Manager common-types versions. @@ -1733,6 +1749,12 @@ The Azure Resource Manager common-types versions. enum Azure.ResourceManager.CommonTypes.Versions ``` +| Name | Value | Description | +| ---- | ----- | ------------------------------------------- | +| v3 | | The Azure Resource Manager v3 common types. | +| v4 | | The Azure Resource Manager v4 common types. | +| v5 | | The Azure Resource Manager v5 common types. | + ### `ActionType` {#Azure.ResourceManager.CommonTypes.ActionType} Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/decorators.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/decorators.md index e4c3b0c285..1b395a9dc5 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/decorators.md @@ -92,7 +92,7 @@ property to the type of the Azure Resource Manager resource. #### Target -`Operation | Model` +`Operation` #### Parameters diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/interfaces.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/interfaces.md index cd33aacc9a..0fc27525a0 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/interfaces.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/interfaces.md @@ -247,6 +247,10 @@ op Azure.ResourceManager.ResourceCreateSync.createOrUpdate(provider: "Microsoft. ### `ResourceDeleteAsync` {#Azure.ResourceManager.ResourceDeleteAsync} +:::warning +**Deprecated**: This should be deprecated in a future release +::: + ```typespec interface Azure.ResourceManager.ResourceDeleteAsync ``` @@ -390,6 +394,10 @@ op Azure.ResourceManager.ResourceListBySubscription.listBySubscription(apiVersio ### `ResourceOperations` {#Azure.ResourceManager.ResourceOperations} +:::warning +**Deprecated**: Use Azure.ResourceManager.TrackedResourceOperations instead +::: + ```typespec interface Azure.ResourceManager.ResourceOperations ``` @@ -845,6 +853,10 @@ op Azure.ResourceManager.ArmResourceCreateOrUpdateAsync(provider: "Microsoft.Thi ### `ArmResourceCreateOrUpdateSync` {#Azure.ResourceManager.ArmResourceCreateOrUpdateSync} +:::warning +**Deprecated**: Please use ArmResourceCreateOrReplaceSync instead +::: + DEPRECATED: Please use ArmResourceCreateOrReplaceSync instead ```typespec @@ -863,6 +875,10 @@ op Azure.ResourceManager.ArmResourceCreateOrUpdateSync(provider: "Microsoft.This ### `ArmResourceDeleteAsync` {#Azure.ResourceManager.ArmResourceDeleteAsync} +:::warning +**Deprecated**: Use 'ArmResourceDeleteWithoutOkAsync' instead +::: + ```typespec op Azure.ResourceManager.ArmResourceDeleteAsync(provider: "Microsoft.ThisWillBeReplaced"): Response | Error ``` @@ -1063,7 +1079,7 @@ op Azure.ResourceManager.checkGlobalNameAvailability(apiVersion: string, subscri ### `checkLocalNameAvailability` {#Azure.ResourceManager.checkLocalNameAvailability} ```typespec -op Azure.ResourceManager.checkLocalNameAvailability(apiVersion: string, subscriptionId: Azure.Core.uuid, provider: "Microsoft.ThisWillBeReplaced", location: string, body: Request): Response | Azure.ResourceManager.CommonTypes.ErrorResponse +op Azure.ResourceManager.checkLocalNameAvailability(apiVersion: string, subscriptionId: Azure.Core.uuid, provider: "Microsoft.ThisWillBeReplaced", location: Azure.Core.azureLocation, body: Request): Response | Azure.ResourceManager.CommonTypes.ErrorResponse ``` #### Template Parameters diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armCommonTypesVersion.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armCommonTypesVersion.md index 44252d40e9..de96e37c9b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armCommonTypesVersion.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armCommonTypesVersion.md @@ -6,7 +6,7 @@ title: "[F] $armCommonTypesVersion" ```ts function $armCommonTypesVersion( context, - entity, + target, version): void ``` @@ -17,7 +17,7 @@ function $armCommonTypesVersion( | Parameter | Type | Description | | ------ | ------ | ------ | | `context` | `DecoratorContext` | DecoratorContext object | -| `entity` | `Namespace` \| `EnumMember` | Target of the decorator. Must be `Namespace` or `EnumMember` type | +| `target` | `Namespace` \| `EnumMember` | - | | `version` | `string` \| `EnumValue` | - | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armLibraryNamespace.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armLibraryNamespace.md index e961247e0c..c7c2a3b283 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armLibraryNamespace.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armLibraryNamespace.md @@ -4,7 +4,7 @@ title: "[F] $armLibraryNamespace" --- ```ts -function $armLibraryNamespace(context, entity): void +function $armLibraryNamespace(context, target): void ``` Mark the target namespace as containign only ARM library types. This is used to create libraries to share among RPs @@ -14,7 +14,7 @@ Mark the target namespace as containign only ARM library types. This is used to | Parameter | Type | Description | | ------ | ------ | ------ | | `context` | `DecoratorContext` | The doecorator context, automatically supplied by the compiler | -| `entity` | `Namespace` | The decorated namespace | +| `target` | `Namespace` | - | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNameValue.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNameValue.md index 6e12f68fb0..5fc8322d61 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNameValue.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNameValue.md @@ -4,7 +4,7 @@ title: "[F] $armProviderNameValue" --- ```ts -function $armProviderNameValue(context, entity): void +function $armProviderNameValue(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $armProviderNameValue(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Operation` | +| `target` | `Operation` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNamespace.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNamespace.md index e7dab8cec0..3fa7516a3c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNamespace.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armProviderNamespace.md @@ -6,8 +6,8 @@ title: "[F] $armProviderNamespace" ```ts function $armProviderNamespace( context, - entity, - armProviderNamespace?): void + target, + providerNamespace?): void ``` `@armProviderNamespace` sets the ARM provider namespace. @@ -17,8 +17,8 @@ function $armProviderNamespace( | Parameter | Type | Description | | ------ | ------ | ------ | | `context` | `DecoratorContext` | DecoratorContext object | -| `entity` | `Namespace` | Target of the decorator. Must be `namespace` type | -| `armProviderNamespace`? | `string` | Provider namespace | +| `target` | `Namespace` | - | +| `providerNamespace`? | `string` | - | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armResourceOperations.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armResourceOperations.md index c7e1940adf..f3d69d1921 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armResourceOperations.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armResourceOperations.md @@ -4,7 +4,10 @@ title: "[F] $armResourceOperations" --- ```ts -function $armResourceOperations(context, interfaceType): void +function $armResourceOperations( + context, + target, + _?): void ``` This decorator is used to identify interfaces containing resource operations. @@ -21,7 +24,8 @@ clients. | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `interfaceType` | `Interface` | +| `target` | `Interface` | +| `_`? | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armVirtualResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armVirtualResource.md index d6145fcc4d..0c16914806 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armVirtualResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$armVirtualResource.md @@ -4,7 +4,7 @@ title: "[F] $armVirtualResource" --- ```ts -function $armVirtualResource(context, entity): void +function $armVirtualResource(context, target): void ``` Marks the given resource as an external resource @@ -14,7 +14,7 @@ Marks the given resource as an external resource | Parameter | Type | Description | | ------ | ------ | ------ | | `context` | `DecoratorContext` | The decorator context | -| `entity` | `Model` | The resource model | +| `target` | `Model` | - | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$extensionResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$extensionResource.md index 82c3c3ea02..9c4b62933b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$extensionResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$extensionResource.md @@ -4,7 +4,7 @@ title: "[F] $extensionResource" --- ```ts -function $extensionResource(context, entity): void +function $extensionResource(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $extensionResource(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$locationResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$locationResource.md index 9fc8b2a3cc..5fed0db622 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$locationResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$locationResource.md @@ -4,7 +4,7 @@ title: "[F] $locationResource" --- ```ts -function $locationResource(context, entity): void +function $locationResource(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $locationResource(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceBaseType.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceBaseType.md index 757f23dda8..74d40f5f16 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceBaseType.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceBaseType.md @@ -6,7 +6,7 @@ title: "[F] $resourceBaseType" ```ts function $resourceBaseType( context, - entity, + target, baseType): void ``` @@ -15,7 +15,7 @@ function $resourceBaseType( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | | `baseType` | `Type` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceGroupResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceGroupResource.md index 8106d6d2e3..ce989c1241 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceGroupResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$resourceGroupResource.md @@ -4,7 +4,7 @@ title: "[F] $resourceGroupResource" --- ```ts -function $resourceGroupResource(context, entity): void +function $resourceGroupResource(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $resourceGroupResource(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$singleton.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$singleton.md index 3cd3ce5a4f..3764f6e2cc 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$singleton.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$singleton.md @@ -6,8 +6,8 @@ title: "[F] $singleton" ```ts function $singleton( context, - resourceType, - keyValue): void + target, + keyValue?): void ``` This decorator is used to mark a resource type as a "singleton", a type with @@ -17,11 +17,11 @@ lists. ## Parameters -| Parameter | Type | Default value | -| ------ | ------ | ------ | -| `context` | `DecoratorContext` | `undefined` | -| `resourceType` | `Model` | `undefined` | -| `keyValue` | `string` | `"default"` | +| Parameter | Type | +| ------ | ------ | +| `context` | `DecoratorContext` | +| `target` | `Model` | +| `keyValue`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$subscriptionResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$subscriptionResource.md index 668073138f..535d00c2b1 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$subscriptionResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$subscriptionResource.md @@ -4,7 +4,7 @@ title: "[F] $subscriptionResource" --- ```ts -function $subscriptionResource(context, entity): void +function $subscriptionResource(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $subscriptionResource(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$tenantResource.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$tenantResource.md index e054f9c642..90c70f3f4e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$tenantResource.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$tenantResource.md @@ -4,7 +4,7 @@ title: "[F] $tenantResource" --- ```ts -function $tenantResource(context, entity): void +function $tenantResource(context, target): void ``` ## Parameters @@ -12,7 +12,7 @@ function $tenantResource(context, entity): void | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$useLibraryNamespace.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$useLibraryNamespace.md index 0fc0d42656..f398d95306 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$useLibraryNamespace.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/functions/$useLibraryNamespace.md @@ -6,7 +6,7 @@ title: "[F] $useLibraryNamespace" ```ts function $useLibraryNamespace( context, - entity, ... + target, ... namespaces): void ``` @@ -17,7 +17,7 @@ Specify which ARM library namespaces this arm provider uses | Parameter | Type | Description | | ------ | ------ | ------ | | `context` | `DecoratorContext` | Standard DecoratorContext object | -| `entity` | `Namespace` | The namespace the decorator is applied to | +| `target` | `Namespace` | - | | ...`namespaces` | `Namespace`[] | The library namespaces that will be used in this namespace | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/variables/$lib.md index 75f44068b3..f988b176d1 100644 --- a/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/libraries/azure-resource-manager/reference/js-api/variables/$lib.md @@ -12,34 +12,34 @@ const $lib: TypeSpecLibrary, never>; | Name | Type | Default value | | ------ | ------ | ------ | | `arm-common-types-incompatible-version` | `object` | - | -| `arm-common-types-incompatible-version.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `arm-common-types-incompatible-version.default` | `CallableMessage`<[`"selectedVersion"`, `"supportedVersions"`]\> | - | | `arm-common-types-invalid-version` | `object` | - | -| `arm-common-types-invalid-version.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `arm-common-types-invalid-version.default` | `CallableMessage`<[`"versionString"`, `"supportedVersions"`]\> | - | | `arm-resource-circular-ancestry` | `object` | - | -| `arm-resource-circular-ancestry.default` | `string` | "There is a loop in the ancestry of this resource. Please ensure that the \`@parentResource\` decorator contains the correct parent resource, and that parentage contains no cycles." | +| `arm-resource-circular-ancestry.default` | "There is a loop in the ancestry of this resource. Please ensure that the \`@parentResource\` decorator contains the correct parent resource, and that parentage contains no cycles." | "There is a loop in the ancestry of this resource. Please ensure that the \`@parentResource\` decorator contains the correct parent resource, and that parentage contains no cycles." | | `arm-resource-duplicate-base-parameter` | `object` | - | -| `arm-resource-duplicate-base-parameter.default` | `string` | "Only one base parameter type is allowed per resource. Each resource may have only one of \`@parentResource\`, \`@resourceGroupResource\`, \`@tenantResource\`, \`@locationResource\`, or \`@subscriptionResource\` decorators." | +| `arm-resource-duplicate-base-parameter.default` | "Only one base parameter type is allowed per resource. Each resource may have only one of \`@parentResource\`, \`@resourceGroupResource\`, \`@tenantResource\`, \`@locationResource\`, or \`@subscriptionResource\` decorators." | "Only one base parameter type is allowed per resource. Each resource may have only one of \`@parentResource\`, \`@resourceGroupResource\`, \`@tenantResource\`, \`@locationResource\`, or \`@subscriptionResource\` decorators." | | `arm-resource-invalid-base-type` | `object` | - | -| `arm-resource-invalid-base-type.default` | `string` | "The @armResourceInternal decorator can only be used on a type that ultimately extends TrackedResource, ProxyResource, or ExtensionResource." | +| `arm-resource-invalid-base-type.default` | `"The @armResourceInternal decorator can only be used on a type that ultimately extends TrackedResource, ProxyResource, or ExtensionResource."` | "The @armResourceInternal decorator can only be used on a type that ultimately extends TrackedResource, ProxyResource, or ExtensionResource." | | `arm-resource-missing` | `object` | - | -| `arm-resource-missing.default` | `CallableMessage`<[`string`]\> | - | +| `arm-resource-missing.default` | `CallableMessage`<[`"type"`]\> | - | | `arm-resource-missing-arm-namespace` | `object` | - | -| `arm-resource-missing-arm-namespace.default` | `string` | "The @armProviderNamespace decorator must be used to define the ARM namespace of the service. This is best applied to the file-level namespace." | +| `arm-resource-missing-arm-namespace.default` | `"The @armProviderNamespace decorator must be used to define the ARM namespace of the service. This is best applied to the file-level namespace."` | "The @armProviderNamespace decorator must be used to define the ARM namespace of the service. This is best applied to the file-level namespace." | | `arm-resource-missing-name-key-decorator` | `object` | - | -| `arm-resource-missing-name-key-decorator.default` | `string` | "Resource type 'name' property must have a @key decorator which defines its key name." | +| `arm-resource-missing-name-key-decorator.default` | `"Resource type 'name' property must have a @key decorator which defines its key name."` | "Resource type 'name' property must have a @key decorator which defines its key name." | | `arm-resource-missing-name-property` | `object` | - | -| `arm-resource-missing-name-property.default` | `string` | "Resource types must include a string property called 'name'." | +| `arm-resource-missing-name-property.default` | `"Resource types must include a string property called 'name'."` | "Resource types must include a string property called 'name'." | | `arm-resource-missing-name-segment-decorator` | `object` | - | -| `arm-resource-missing-name-segment-decorator.default` | `string` | "Resource type 'name' property must have a @segment decorator which defines its path fragment." | +| `arm-resource-missing-name-segment-decorator.default` | `"Resource type 'name' property must have a @segment decorator which defines its path fragment."` | "Resource type 'name' property must have a @segment decorator which defines its path fragment." | | `decorator-in-namespace` | `object` | - | -| `decorator-in-namespace.default` | `CallableMessage`<[`string`]\> | - | +| `decorator-in-namespace.default` | `CallableMessage`<[`"decoratorName"`]\> | - | | `decorator-param-wrong-type` | `object` | - | -| `decorator-param-wrong-type.armUpdateProviderNamespace` | `string` | "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter." | +| `decorator-param-wrong-type.armUpdateProviderNamespace` | `"The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter."` | "The parameter to @armUpdateProviderNamespace must be an operation with a 'provider' parameter." | | `parent-type` | `object` | - | -| `parent-type.notResourceType` | `CallableMessage`<[`string`, `string`]\> | - | +| `parent-type.notResourceType` | `CallableMessage`<[`"parent"`, `"type"`]\> | - | | `resource-without-path-and-segment` | `object` | - | -| `resource-without-path-and-segment.default` | `string` | "Resource types must have a property with '@path\` and '@segment' decorators." | +| `resource-without-path-and-segment.default` | "Resource types must have a property with '@path\` and '@segment' decorators." | "Resource types must have a property with '@path\` and '@segment' decorators." | | `single-arm-provider` | `object` | - | -| `single-arm-provider.default` | `string` | "Only one @armProviderNamespace can be declared in a typespec spec at once." | +| `single-arm-provider.default` | `"Only one @armProviderNamespace can be declared in a typespec spec at once."` | "Only one @armProviderNamespace can be declared in a typespec spec at once." | | `template-type-constraint-no-met` | `object` | - | -| `template-type-constraint-no-met.default` | `CallableMessage`<[`string`, `string`, `string`, `string`]\> | - | +| `template-type-constraint-no-met.default` | `CallableMessage`<[`"sourceType"`, `"entity"`, `"constraintType"`, `"actionMessage"`]\> | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/decorators.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/decorators.md index 4efe92395c..fee0493ac5 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/decorators.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/decorators.md @@ -152,7 +152,7 @@ op func8(@body body: Test5): void; Create a ClientGenerator.Core client out of a namespace or interface ```typespec -@Azure.ClientGenerator.Core.client(value?: {}, scope?: valueof string) +@Azure.ClientGenerator.Core.client(value?: Model, scope?: valueof string) ``` #### Target @@ -163,7 +163,7 @@ Create a ClientGenerator.Core client out of a namespace or interface | Name | Type | Description | | ----- | ---------------- | ------------------------------------------------------------------------------------------------------------- | -| value | `{}` | Optional configuration for the service. | +| value | `Model` | Optional configuration for the service. | | scope | `valueof string` | The language scope you want this decorator to apply to. If not specified, will apply to all language emitters | #### Examples @@ -201,6 +201,10 @@ interface MyInterface {} ### `@clientFormat` {#@Azure.ClientGenerator.Core.clientFormat} +:::warning +**Deprecated**: @clientFormat decorator is deprecated. Use `@encode` decorator in `@typespec/compiler` instead. +::: + DEPRECATED: Use `@encode` decorator in `@typespec/compiler` instead. Can be used to explain the client type that the current TYPESPEC @@ -291,6 +295,10 @@ op test: void; ### `@exclude` {#@Azure.ClientGenerator.Core.exclude} +:::warning +**Deprecated**: @exclude decorator is deprecated. Use `@usage` and `@access` decorator instead. +::: + DEPRECATED: Use `@usage` and `@access` decorator instead. Whether to exclude a model from generation for specific languages. By default we generate @@ -321,6 +329,10 @@ model ModelToExclude { ### `@flattenProperty` {#@Azure.ClientGenerator.Core.flattenProperty} +:::warning +**Deprecated**: @flattenProperty decorator is not recommended to use. +::: + Set whether a model property should be flattened or not. ```typespec @@ -349,6 +361,10 @@ model Bar {} ### `@include` {#@Azure.ClientGenerator.Core.include} +:::warning +**Deprecated**: @include decorator is deprecated. Use `@usage` and `@access` decorator instead. +::: + DEPRECATED: Use `@usage` and `@access` decorator instead. Whether to include a model in generation for specific languages. By default we generate @@ -379,6 +395,10 @@ model ModelToInclude { ### `@internal` {#@Azure.ClientGenerator.Core.internal} +:::warning +**Deprecated**: @internal decorator is deprecated. Use `@access` decorator instead. +::: + DEPRECATED: Use `@access` decorator instead. Whether to mark an operation as internal for specific languages, @@ -430,6 +450,66 @@ Create a ClientGenerator.Core operation group out of a namespace or interface interface MyInterface {} ``` +### `@override` {#@Azure.ClientGenerator.Core.override} + +Override the default client method generated by TCGC from your service definition + +```typespec +@Azure.ClientGenerator.Core.override(override: Operation, scope?: valueof string) +``` + +#### Target + +: The original service definition +`Operation` + +#### Parameters + +| Name | Type | Description | +| -------- | ---------------- | ------------------------------------------------------------------------------------------------------------- | +| override | `Operation` | : The override method definition that specifies the exact client method you want | +| scope | `valueof string` | The language scope you want this decorator to apply to. If not specified, will apply to all language emitters | + +#### Examples + +```typespec +// main.tsp +namespace MyService; + +model Params { + foo: string; + bar: string; +} +op myOperation(...Params): void; // by default, we generate the method signature as `op myOperation(foo: string, bar: string)`; + +// client.tsp +namespace MyCustomizations; + +@override(MyService.operation) +op myOperationCustomization(params: Params): void; + +// method signature is now `op myOperation(params: Params)` +``` + +```typespec +// main.tsp +namespace MyService; + +model Params { + foo: string; + bar: string; +} +op myOperation(...Params): void; // by default, we generate the method signature as `op myOperation(foo: string, bar: string)`; + +// client.tsp +namespace MyCustomizations; + +@override(MyService.operation, "csharp") +op myOperationCustomization(params: Params): void; + +// method signature is now `op myOperation(params: Params)` just for csharp +``` + ### `@protocolAPI` {#@Azure.ClientGenerator.Core.protocolAPI} Whether you want to generate an operation as a protocol operation. diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/index.mdx b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/index.mdx index 8f47aef4aa..49522d3657 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/index.mdx +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/index.mdx @@ -49,5 +49,6 @@ npm install --save-peer @azure-tools/typespec-client-generator-core - [`@include`](./decorators.md#@Azure.ClientGenerator.Core.include) - [`@internal`](./decorators.md#@Azure.ClientGenerator.Core.internal) - [`@operationGroup`](./decorators.md#@Azure.ClientGenerator.Core.operationGroup) +- [`@override`](./decorators.md#@Azure.ClientGenerator.Core.override) - [`@protocolAPI`](./decorators.md#@Azure.ClientGenerator.Core.protocolAPI) - [`@usage`](./decorators.md#@Azure.ClientGenerator.Core.usage) diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/enumerations/UsageFlags.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/enumerations/UsageFlags.md index f4dc7bb6da..f33908dc90 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/enumerations/UsageFlags.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/enumerations/UsageFlags.md @@ -18,3 +18,4 @@ This enum represents the different ways a model can be used in a method. | `None` | `0` | | `Output` | `4` | | `Spread` | `64` | +| `Xml` | `512` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$access.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$access.md index 31d00cd9ef..ef7f52d85a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$access.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$access.md @@ -6,7 +6,7 @@ title: "[F] $access" ```ts function $access( context, - entity, + target, value, scope?): void ``` @@ -16,7 +16,7 @@ function $access( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Enum` \| `Model` \| `Operation` \| `Union` | +| `target` | `Enum` \| `Model` \| `Operation` \| `Union` | | `value` | `EnumMember` | | `scope`? | `string` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$client.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$client.md index ca53381d8d..4e809239ac 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$client.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$client.md @@ -7,7 +7,7 @@ title: "[F] $client" function $client( context, target, - options?, + value?, scope?): void ``` @@ -17,7 +17,7 @@ function $client( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `Namespace` \| `Interface` | -| `options`? | `Model` | +| `value`? | `Model` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientFormat.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientFormat.md index bcf1dfdbbc..abfcb418e0 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientFormat.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientFormat.md @@ -7,8 +7,7 @@ title: "[F] $clientFormat" function $clientFormat( context, target, - format, - scope?): void + value): void ``` ## Parameters @@ -17,8 +16,7 @@ function $clientFormat( | ------ | ------ | | `context` | `DecoratorContext` | | `target` | `ModelProperty` | -| `format` | [`ClientFormat`](../type-aliases/ClientFormat.md) | -| `scope`? | `string` | +| `value` | `"seconds"` \| `"unixtime"` \| `"iso8601"` \| `"rfc1123"` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientName.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientName.md index ae4adb3a78..eae9350112 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientName.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$clientName.md @@ -6,8 +6,8 @@ title: "[F] $clientName" ```ts function $clientName( context, - entity, - value, + target, + rename, scope?): void ``` @@ -16,8 +16,8 @@ function $clientName( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Type` | -| `value` | `string` | +| `target` | `Type` | +| `rename` | `string` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$convenientAPI.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$convenientAPI.md index 44efa7da6b..5bad4b7b70 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$convenientAPI.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$convenientAPI.md @@ -6,8 +6,8 @@ title: "[F] $convenientAPI" ```ts function $convenientAPI( context, - entity, - value, + target, + value?, scope?): void ``` @@ -16,8 +16,8 @@ function $convenientAPI( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Operation` | -| `value` | `boolean` | +| `target` | `Operation` | +| `value`? | `boolean` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$exclude.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$exclude.md index ef45d0cbf6..ebf466c90e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$exclude.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$exclude.md @@ -6,7 +6,7 @@ title: "[F] $exclude" ```ts function $exclude( context, - entity, + target, scope?): void ``` @@ -15,7 +15,7 @@ function $exclude( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$include.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$include.md index 70ac5053d2..32c05901dc 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$include.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$include.md @@ -6,7 +6,7 @@ title: "[F] $include" ```ts function $include( context, - entity, + target, scope?): void ``` @@ -15,7 +15,7 @@ function $include( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Model` | +| `target` | `Model` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$internal.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$internal.md deleted file mode 100644 index f7e550186b..0000000000 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$internal.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -jsApi: true -title: "[F] $internal" - ---- -```ts -function $internal( - context, - target, - scope?): void -``` - -Whether a operation is internal and should not be exposed -to end customers - -## Parameters - -| Parameter | Type | Description | -| ------ | ------ | ------ | -| `context` | `DecoratorContext` | DecoratorContext | -| `target` | `Operation` | Operation to mark as internal | -| `scope`? | `string` | Names of the projection (e.g. "python", "csharp", "java", "javascript") | - -## Returns - -`void` - -## Deprecated - -Use `access` decorator instead. diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$onValidate.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$onValidate.md new file mode 100644 index 0000000000..42cb14e224 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$onValidate.md @@ -0,0 +1,18 @@ +--- +jsApi: true +title: "[F] $onValidate" + +--- +```ts +function $onValidate(program): void +``` + +## Parameters + +| Parameter | Type | +| ------ | ------ | +| `program` | `Program` | + +## Returns + +`void` diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$override.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$override.md new file mode 100644 index 0000000000..4dca8b4dc4 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$override.md @@ -0,0 +1,25 @@ +--- +jsApi: true +title: "[F] $override" + +--- +```ts +function $override( + context, + original, + override, + scope?): void +``` + +## Parameters + +| Parameter | Type | +| ------ | ------ | +| `context` | `DecoratorContext` | +| `original` | `Operation` | +| `override` | `Operation` | +| `scope`? | `string` | + +## Returns + +`void` diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$protocolAPI.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$protocolAPI.md index 8198c7aa98..cba9f96c69 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$protocolAPI.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$protocolAPI.md @@ -6,8 +6,8 @@ title: "[F] $protocolAPI" ```ts function $protocolAPI( context, - entity, - value, + target, + value?, scope?): void ``` @@ -16,8 +16,8 @@ function $protocolAPI( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Operation` | -| `value` | `boolean` | +| `target` | `Operation` | +| `value`? | `boolean` | | `scope`? | `string` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$usage.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$usage.md index 8347a7d0fd..197ff5c26a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$usage.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/$usage.md @@ -6,7 +6,7 @@ title: "[F] $usage" ```ts function $usage( context, - entity, + target, value, scope?): void ``` @@ -16,7 +16,7 @@ function $usage( | Parameter | Type | | ------ | ------ | | `context` | `DecoratorContext` | -| `entity` | `Enum` \| `Model` \| `Union` | +| `target` | `Enum` \| `Model` \| `Union` | | `value` | `EnumMember` \| `Union` | | `scope`? | `string` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addEncodeInfo.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addEncodeInfo.md index 2b3336169e..d8c5af91b2 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addEncodeInfo.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addEncodeInfo.md @@ -19,7 +19,7 @@ type. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | sdk context | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | sdk context | | `type` | `ModelProperty` \| `Scalar` | the original typespec type. Used to grab the encoding decorator off of | | `propertyType` | [`SdkType`](../type-aliases/SdkType.md) | the type of the property, i.e. the internal type that we add the encoding info onto | | `defaultContentType`? | `string` | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addFormatInfo.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addFormatInfo.md index 942521a3a6..af3f2b27ad 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addFormatInfo.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/addFormatInfo.md @@ -18,7 +18,7 @@ type. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | sdk context | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | sdk context | | `type` | `ModelProperty` \| `Scalar` | the original typespec type. Used to grab the format decorator off of | | `propertyType` | [`SdkType`](../type-aliases/SdkType.md) | the type of the property, i.e. the internal type that we add the format info onto | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createDiagnostic.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createDiagnostic.md index 4f9e763acb..ac46fe94bf 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createDiagnostic.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createDiagnostic.md @@ -11,7 +11,7 @@ function createDiagnostic(diag): Diagnostic | Type Parameter | | ------ | -| `C` *extends* \| `"client-name"` \| `"client-service"` \| `"unknown-client-format"` \| `"incorrect-client-format"` \| `"union-null"` \| `"union-unsupported"` \| `"use-enum-instead"` \| `"access"` \| `"invalid-usage"` \| `"invalid-encode"` \| `"conflicting-multipart-model-usage"` \| `"discriminator-not-constant"` \| `"discriminator-not-string"` \| `"wrong-client-decorator"` \| `"encoding-multipart-bytes"` \| `"unsupported-kind"` \| `"multiple-services"` \| `"server-param-not-path"` \| `"unexpected-http-param-type"` \| `"multiple-response-types"` \| `"no-corresponding-method-param"` \| `"unsupported-protocol"` \| `"no-emitter-name"` \| `"unsupported-generic-decorator-arg-type"` \| `"empty-client-name"` | +| `C` *extends* \| `"client-name"` \| `"client-service"` \| `"unknown-client-format"` \| `"incorrect-client-format"` \| `"union-null"` \| `"union-unsupported"` \| `"use-enum-instead"` \| `"access"` \| `"invalid-usage"` \| `"invalid-encode"` \| `"conflicting-multipart-model-usage"` \| `"discriminator-not-constant"` \| `"discriminator-not-string"` \| `"wrong-client-decorator"` \| `"encoding-multipart-bytes"` \| `"unsupported-kind"` \| `"multiple-services"` \| `"server-param-not-path"` \| `"unexpected-http-param-type"` \| `"multiple-response-types"` \| `"no-corresponding-method-param"` \| `"unsupported-protocol"` \| `"no-emitter-name"` \| `"unsupported-generic-decorator-arg-type"` \| `"empty-client-name"` \| `"override-method-parameters-mismatch"` \| `"duplicate-client-name"` \| `"example-loading"` \| `"duplicate-example-file"` \| `"example-value-no-mapping"` \| `"flatten-polymorphism"` | | `M` *extends* `string` \| `number` \| `symbol` | ## Parameters diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createSdkContext.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createSdkContext.md index a96f382a55..9b7b2f238f 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createSdkContext.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createSdkContext.md @@ -7,7 +7,7 @@ title: "[F] createSdkContext" function createSdkContext( context, emitterName?, -options?): SdkContext +options?): Promise> ``` ## Type Parameters @@ -27,4 +27,4 @@ options?): SdkContext ## Returns -[`SdkContext`](../interfaces/SdkContext.md)<`TOptions`, `TServiceOperation`\> +`Promise`<[`SdkContext`](../interfaces/SdkContext.md)<`TOptions`, `TServiceOperation`\>\> diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createTCGCContext.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createTCGCContext.md new file mode 100644 index 0000000000..fb2e9fcf20 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/createTCGCContext.md @@ -0,0 +1,19 @@ +--- +jsApi: true +title: "[F] createTCGCContext" + +--- +```ts +function createTCGCContext(program, emitterName): TCGCContext +``` + +## Parameters + +| Parameter | Type | +| ------ | ------ | +| `program` | `Program` | +| `emitterName` | `string` | + +## Returns + +[`TCGCContext`](../interfaces/TCGCContext.md) diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccess.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccess.md index 1f2d14a14b..1f8fd6b3ba 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccess.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccess.md @@ -11,7 +11,7 @@ function getAccess(context, entity): AccessFlags | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Enum` \| `Model` \| `Operation` \| `Union` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccessOverride.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccessOverride.md index a69a1ca8b2..c331596287 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccessOverride.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAccessOverride.md @@ -11,7 +11,7 @@ function getAccessOverride(context, entity): AccessFlags | undefined | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Enum` \| `Model` \| `Operation` \| `Union` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModels.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModels.md index e744098347..3215744add 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModels.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModels.md @@ -11,7 +11,7 @@ function getAllModels(context, options): (SdkModelType | SdkEnumType)[] | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `options` | `GetAllModelsOptions` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModelsWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModelsWithDiagnostics.md index dc5b544e92..19c43b1e14 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModelsWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getAllModelsWithDiagnostics.md @@ -11,7 +11,7 @@ function getAllModelsWithDiagnostics(context, options): [(SdkModelType | SdkEnum | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `options` | `GetAllModelsOptions` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClient.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClient.md index d74727e3cc..d6616616ee 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClient.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClient.md @@ -13,7 +13,7 @@ Return the client object for the given namespace or interface, or undefined if t | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `type` | `Namespace` \| `Interface` | Type to check | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientFormat.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientFormat.md index 0133fe7096..64b1b78495 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientFormat.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientFormat.md @@ -14,7 +14,7 @@ on whether additional serialization information is provided or needed | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | the Sdk Context | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | the Sdk Context | | `entity` | `ModelProperty` | the entity whose client format we are going to get | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNameOverride.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNameOverride.md index 524189f9b0..aa7f0ebb7b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNameOverride.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNameOverride.md @@ -4,15 +4,19 @@ title: "[F] getClientNameOverride" --- ```ts -function getClientNameOverride(context, entity): string | undefined +function getClientNameOverride( + context, + entity, + languageScope?): string | undefined ``` ## Parameters | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Type` | +| `languageScope`? | `string` \| *typeof* `AllScopes` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNamespaceString.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNamespaceString.md index f79971e55a..7371c020ca 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNamespaceString.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientNamespaceString.md @@ -14,7 +14,7 @@ that value as our namespace. Otherwise, we default to the TypeSpec service names | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientType.md index 1225b7019f..0580fa3c4e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientType.md @@ -14,7 +14,7 @@ function getClientType( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Type` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientTypeWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientTypeWithDiagnostics.md index c93a08661a..5f5f4972e3 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientTypeWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getClientTypeWithDiagnostics.md @@ -14,7 +14,7 @@ function getClientTypeWithDiagnostics( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Type` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguageDefinitionId.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguageDefinitionId.md index 512b1cbc08..43f8f56187 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguageDefinitionId.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguageDefinitionId.md @@ -17,7 +17,7 @@ Helper function to return cross language definition id for a type | Parameter | Type | Default value | Description | | ------ | ------ | ------ | ------ | -| `context` | `TCGCContext` | `undefined` | - | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | `undefined` | - | | `type` | \| `Namespace` \| `Enum` \| `Interface` \| `Model` \| `ModelProperty` \| `Operation` \| `Scalar` \| `Union` | `undefined` | | | `operation`? | `Operation` | `undefined` | - | | `appendNamespace`? | `boolean` | `true` | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguagePackageId.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguagePackageId.md index 4f4fe3d7aa..67340d174b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguagePackageId.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getCrossLanguagePackageId.md @@ -13,7 +13,7 @@ Helper function return the cross langauge package id for a package | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getDefaultApiVersion.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getDefaultApiVersion.md index 45a1c14523..35e659c459 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getDefaultApiVersion.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getDefaultApiVersion.md @@ -13,7 +13,7 @@ Return the default api version for a versioned service. Will return undefined if | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | - | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | - | | `serviceNamespace` | `Namespace` | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEffectivePayloadType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEffectivePayloadType.md index ecd366efbd..947570510f 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEffectivePayloadType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEffectivePayloadType.md @@ -15,7 +15,7 @@ Otherwise the given type is returned unchanged. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | | `type` | `Model` | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEmitterTargetName.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEmitterTargetName.md index 2ac19bfeda..3d2b311ee9 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEmitterTargetName.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getEmitterTargetName.md @@ -11,7 +11,7 @@ function getEmitterTargetName(context): string | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getGeneratedName.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getGeneratedName.md index 453ccecbed..68fd01b82e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getGeneratedName.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getGeneratedName.md @@ -16,7 +16,7 @@ Create a name for anonymous model | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | | `type` | `Model` \| `Union` \| `TspLiteralType` | | | `operation`? | `Operation` | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationExamples.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationExamples.md new file mode 100644 index 0000000000..4f7602c706 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationExamples.md @@ -0,0 +1,21 @@ +--- +jsApi: true +title: "[F] getHttpOperationExamples" + +--- +```ts +function getHttpOperationExamples(context, operation): SdkHttpOperationExample[] +``` + +Get the examples for a given http operation. + +## Parameters + +| Parameter | Type | +| ------ | ------ | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | +| `operation` | `HttpOperation` | + +## Returns + +[`SdkHttpOperationExample`](../interfaces/SdkHttpOperationExample.md)[] diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationWithCache.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationWithCache.md index 17ebc056ae..a8d5d91708 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationWithCache.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getHttpOperationWithCache.md @@ -11,7 +11,7 @@ function getHttpOperationWithCache(context, operation): HttpOperation | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `operation` | `Operation` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getLibraryName.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getLibraryName.md index f1c5fa54b4..4c0cf3ce2b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getLibraryName.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getLibraryName.md @@ -20,7 +20,7 @@ Returns name in the following order of priority | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | | `type` | `Type` & `object` | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOperationGroup.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOperationGroup.md index 0f9a9744b8..37d40419c7 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOperationGroup.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOperationGroup.md @@ -13,7 +13,7 @@ Return the operation group object for the given namespace or interface or undefi | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `type` | `Namespace` \| `Interface` | Type to check | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOverriddenClientMethod.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOverriddenClientMethod.md new file mode 100644 index 0000000000..821ffa406a --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getOverriddenClientMethod.md @@ -0,0 +1,24 @@ +--- +jsApi: true +title: "[F] getOverriddenClientMethod" + +--- +```ts +function getOverriddenClientMethod(context, entity): Operation | undefined +``` + +Gets additional information on how to serialize / deserialize TYPESPEC standard types depending +on whether additional serialization information is provided or needed + +## Parameters + +| Parameter | Type | Description | +| ------ | ------ | ------ | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | the Sdk Context | +| `entity` | `Operation` | the entity whose client format we are going to get | + +## Returns + +`Operation` \| `undefined` + +the format in which to serialize the typespec type or undefined diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getPropertyNames.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getPropertyNames.md index 5fa6268956..8b0d55ebf9 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getPropertyNames.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getPropertyNames.md @@ -13,7 +13,7 @@ Get the library and wire name of a model property. Takes | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | | `property` | `ModelProperty` | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDict.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDict.md index 38c42c3d81..3f8ddd472c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDict.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDict.md @@ -14,7 +14,7 @@ function getSdkArrayOrDict( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Model` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDictWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDictWithDiagnostics.md index 619c2bf016..feeb1bb2d7 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDictWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkArrayOrDictWithDiagnostics.md @@ -14,7 +14,7 @@ function getSdkArrayOrDictWithDiagnostics( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Model` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkBuiltInType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkBuiltInType.md index 87d480768a..38719ac2f9 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkBuiltInType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkBuiltInType.md @@ -4,16 +4,16 @@ title: "[F] getSdkBuiltInType" --- ```ts -function getSdkBuiltInType(context, type): SdkBuiltInType +function getSdkBuiltInType(context, type): SdkDateTimeType | SdkDurationType | SdkBuiltInType ``` ## Parameters | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | \| `BooleanLiteral` \| `IntrinsicType` \| `NumericLiteral` \| `Scalar` \| `StringLiteral` | ## Returns -[`SdkBuiltInType`](../interfaces/SdkBuiltInType.md) +[`SdkDateTimeType`](../type-aliases/SdkDateTimeType.md) \| [`SdkDurationType`](../interfaces/SdkDurationType.md) \| [`SdkBuiltInType`](../interfaces/SdkBuiltInType.md) diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkConstant.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkConstant.md index 9745649e4d..2265e045bc 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkConstant.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkConstant.md @@ -14,7 +14,7 @@ function getSdkConstant( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `BooleanLiteral` \| `NumericLiteral` \| `StringLiteral` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkCredentialParameter.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkCredentialParameter.md index 4b7337e1da..d7f49b9fb9 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkCredentialParameter.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkCredentialParameter.md @@ -11,7 +11,7 @@ function getSdkCredentialParameter(context, client): SdkCredentialParameter | un | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `client` | [`SdkClient`](../interfaces/SdkClient.md) \| [`SdkOperationGroup`](../interfaces/SdkOperationGroup.md) | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkDurationType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkDurationType.md index ef574471a2..29ba94962b 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkDurationType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkDurationType.md @@ -11,7 +11,7 @@ function getSdkDurationType(context, type): SdkDurationType | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Scalar` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnum.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnum.md index 8de879ae60..c7174536dd 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnum.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnum.md @@ -14,7 +14,7 @@ function getSdkEnum( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Enum` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnumValue.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnumValue.md index ac2e7a19cc..800275f306 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnumValue.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkEnumValue.md @@ -14,7 +14,7 @@ function getSdkEnumValue( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `enumType` | [`SdkEnumType`](../interfaces/SdkEnumType.md) | | `type` | `EnumMember` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModel.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModel.md index 24228fb233..f145173bfa 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModel.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModel.md @@ -14,7 +14,7 @@ function getSdkModel( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Model` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyType.md index 977402ff64..f176a4c371 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyType.md @@ -14,7 +14,7 @@ function getSdkModelPropertyType( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `ModelProperty` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyTypeBase.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyTypeBase.md index adc636fe38..ffd1081839 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyTypeBase.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelPropertyTypeBase.md @@ -14,7 +14,7 @@ function getSdkModelPropertyTypeBase( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `ModelProperty` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelWithDiagnostics.md index beec985e37..d27c12dc6c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkModelWithDiagnostics.md @@ -14,7 +14,7 @@ function getSdkModelWithDiagnostics( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Model` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTuple.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTuple.md index 478b29c2a0..16b928afe0 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTuple.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTuple.md @@ -14,7 +14,7 @@ function getSdkTuple( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Tuple` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTupleWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTupleWithDiagnostics.md index 7fdc339925..4d7e701b0a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTupleWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkTupleWithDiagnostics.md @@ -14,7 +14,7 @@ function getSdkTupleWithDiagnostics( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Tuple` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnion.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnion.md index 3cae5f705c..004c2ce4ee 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnion.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnion.md @@ -14,7 +14,7 @@ function getSdkUnion( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Union` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionEnum.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionEnum.md index ea41ad0662..6c2d82405d 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionEnum.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionEnum.md @@ -14,7 +14,7 @@ function getSdkUnionEnum( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `UnionEnum` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionWithDiagnostics.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionWithDiagnostics.md index 09dbe58a83..890416a1c2 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionWithDiagnostics.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getSdkUnionWithDiagnostics.md @@ -14,7 +14,7 @@ function getSdkUnionWithDiagnostics( | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `Union` | | `operation`? | `Operation` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getTypeSpecBuiltInType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getTypeSpecBuiltInType.md new file mode 100644 index 0000000000..ed78ba9f5b --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getTypeSpecBuiltInType.md @@ -0,0 +1,19 @@ +--- +jsApi: true +title: "[F] getTypeSpecBuiltInType" + +--- +```ts +function getTypeSpecBuiltInType(context, kind): SdkBuiltInType +``` + +## Parameters + +| Parameter | Type | +| ------ | ------ | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | +| `kind` | `IntrinsicScalarName` | + +## Returns + +[`SdkBuiltInType`](../interfaces/SdkBuiltInType.md) diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsage.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsage.md index 5fb3cfc487..70629e6335 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsage.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsage.md @@ -11,7 +11,7 @@ function getUsage(context, entity): UsageFlags | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Enum` \| `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsageOverride.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsageOverride.md index 28c7bb6a57..3a65ff2110 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsageOverride.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getUsageOverride.md @@ -11,7 +11,7 @@ function getUsageOverride(context, entity): UsageFlags | undefined | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Enum` \| `Model` \| `Union` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getWireName.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getWireName.md index 0f014591ef..6ff763ab40 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getWireName.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/getWireName.md @@ -13,7 +13,7 @@ Get the serialized name of a type. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | | `type` | `Type` & `object` | | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isApiVersion.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isApiVersion.md index 5804834d5c..9607b30b42 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isApiVersion.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isApiVersion.md @@ -13,7 +13,7 @@ Return whether a parameter is the Api Version parameter of a client | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `type` | `object` | | `type.name` | `string` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isExclude.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isExclude.md index 5b5ffa737f..51c64d8280 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isExclude.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isExclude.md @@ -11,7 +11,7 @@ function isExclude(context, entity): boolean | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInOperationGroup.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInOperationGroup.md index f1b8e4532a..62e23ecbb8 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInOperationGroup.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInOperationGroup.md @@ -13,7 +13,7 @@ Check an operation is in an operation group. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `type` | `Namespace` \| `Interface` \| `Operation` | Type to check | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInclude.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInclude.md index fc2dd0df6e..435569f93c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInclude.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInclude.md @@ -11,7 +11,7 @@ function isInclude(context, entity): boolean | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Model` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInternal.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInternal.md index 8165e1343e..86b77f3d5a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInternal.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isInternal.md @@ -14,7 +14,7 @@ should not expose them to users | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `entity` | `Enum` \| `Model` \| `Operation` \| `Union` | model / operation that we want to check is internal or not | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isOperationGroup.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isOperationGroup.md index 0af02c70ae..99625d319e 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isOperationGroup.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isOperationGroup.md @@ -13,7 +13,7 @@ Check a namespace or interface is an operation group. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `type` | `Namespace` \| `Interface` | Type to check | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isSdkFloatKind.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isSdkFloatKind.md index 067b1d91b0..c6f3606583 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isSdkFloatKind.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/isSdkFloatKind.md @@ -4,7 +4,7 @@ title: "[F] isSdkFloatKind" --- ```ts -function isSdkFloatKind(kind): kind is "decimal" | "float" | "float32" | "float64" | "decimal128" +function isSdkFloatKind(kind): kind is "float" | "float32" | "float64" ``` ## Parameters @@ -15,4 +15,4 @@ function isSdkFloatKind(kind): kind is "decimal" | "float" | "float32" | "float6 ## Returns -kind is "decimal" \| "float" \| "float32" \| "float64" \| "decimal128" +kind is "float" \| "float32" \| "float64" diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listClients.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listClients.md index 02f3e114e1..947cac1cba 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listClients.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listClients.md @@ -13,7 +13,7 @@ List all the clients. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationGroups.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationGroups.md index 4bc0edaae8..8904c329aa 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationGroups.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationGroups.md @@ -16,7 +16,7 @@ List all the operation groups inside a client or an operation group. If ignoreHi | Parameter | Type | Default value | Description | | ------ | ------ | ------ | ------ | -| `context` | `TCGCContext` | `undefined` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | `undefined` | TCGCContext | | `group` | [`SdkClient`](../interfaces/SdkClient.md) \| [`SdkOperationGroup`](../interfaces/SdkOperationGroup.md) | `undefined` | Client or operation group to list operation groups | | `ignoreHierarchy` | `boolean` | `false` | Whether to get all nested operation groups | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationsInOperationGroup.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationsInOperationGroup.md index ed4b829dc7..affb8f6a49 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationsInOperationGroup.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/listOperationsInOperationGroup.md @@ -16,7 +16,7 @@ List operations inside a client or an operation group. If ignoreHierarchy is tru | Parameter | Type | Default value | Description | | ------ | ------ | ------ | ------ | -| `context` | `TCGCContext` | `undefined` | - | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | `undefined` | - | | `group` | [`SdkClient`](../interfaces/SdkClient.md) \| [`SdkOperationGroup`](../interfaces/SdkOperationGroup.md) | `undefined` | Client or operation group to list operations | | `ignoreHierarchy` | `boolean` | `false` | Whether to get all nested operations | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/reportDiagnostic.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/reportDiagnostic.md index 0b3cb6a04f..52be9a300f 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/reportDiagnostic.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/reportDiagnostic.md @@ -11,7 +11,7 @@ function reportDiagnostic(program, diag): void | Type Parameter | | ------ | -| `C` *extends* \| `"client-name"` \| `"client-service"` \| `"unknown-client-format"` \| `"incorrect-client-format"` \| `"union-null"` \| `"union-unsupported"` \| `"use-enum-instead"` \| `"access"` \| `"invalid-usage"` \| `"invalid-encode"` \| `"conflicting-multipart-model-usage"` \| `"discriminator-not-constant"` \| `"discriminator-not-string"` \| `"wrong-client-decorator"` \| `"encoding-multipart-bytes"` \| `"unsupported-kind"` \| `"multiple-services"` \| `"server-param-not-path"` \| `"unexpected-http-param-type"` \| `"multiple-response-types"` \| `"no-corresponding-method-param"` \| `"unsupported-protocol"` \| `"no-emitter-name"` \| `"unsupported-generic-decorator-arg-type"` \| `"empty-client-name"` | +| `C` *extends* \| `"client-name"` \| `"client-service"` \| `"unknown-client-format"` \| `"incorrect-client-format"` \| `"union-null"` \| `"union-unsupported"` \| `"use-enum-instead"` \| `"access"` \| `"invalid-usage"` \| `"invalid-encode"` \| `"conflicting-multipart-model-usage"` \| `"discriminator-not-constant"` \| `"discriminator-not-string"` \| `"wrong-client-decorator"` \| `"encoding-multipart-bytes"` \| `"unsupported-kind"` \| `"multiple-services"` \| `"server-param-not-path"` \| `"unexpected-http-param-type"` \| `"multiple-response-types"` \| `"no-corresponding-method-param"` \| `"unsupported-protocol"` \| `"no-emitter-name"` \| `"unsupported-generic-decorator-arg-type"` \| `"empty-client-name"` \| `"override-method-parameters-mismatch"` \| `"duplicate-client-name"` \| `"example-loading"` \| `"duplicate-example-file"` \| `"example-value-no-mapping"` \| `"flatten-polymorphism"` | | `M` *extends* `string` \| `number` \| `symbol` | ## Parameters diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldFlattenProperty.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldFlattenProperty.md index 8a6e205169..8bb5093d31 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldFlattenProperty.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldFlattenProperty.md @@ -13,7 +13,7 @@ Whether a model property should be flattened or not. | Parameter | Type | Description | | ------ | ------ | ------ | -| `context` | `TCGCContext` | TCGCContext | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | TCGCContext | | `target` | `ModelProperty` | ModelProperty that we want to check whether it should be flattened or not | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateConvenient.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateConvenient.md index 0785aa1a66..87361ee975 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateConvenient.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateConvenient.md @@ -11,7 +11,7 @@ function shouldGenerateConvenient(context, entity): boolean | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Operation` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateProtocol.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateProtocol.md index 034612b243..b7d772f6d9 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateProtocol.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/functions/shouldGenerateProtocol.md @@ -11,7 +11,7 @@ function shouldGenerateProtocol(context, entity): boolean | Parameter | Type | | ------ | ------ | -| `context` | `TCGCContext` | +| `context` | [`TCGCContext`](../interfaces/TCGCContext.md) | | `entity` | `Operation` | ## Returns diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/index.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/index.md index b0dd119af9..053dbc3bc7 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/index.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/index.md @@ -11,10 +11,14 @@ title: "[P] JS API" - [CreateSdkContextOptions](interfaces/CreateSdkContextOptions.md) - [DecoratorInfo](interfaces/DecoratorInfo.md) +- [MultipartOptions](interfaces/MultipartOptions.md) +- [SdkAnyExample](interfaces/SdkAnyExample.md) +- [SdkArrayExample](interfaces/SdkArrayExample.md) - [SdkArrayType](interfaces/SdkArrayType.md) - [SdkBasicServiceMethod](interfaces/SdkBasicServiceMethod.md) - [SdkBodyModelPropertyType](interfaces/SdkBodyModelPropertyType.md) - [SdkBodyParameter](interfaces/SdkBodyParameter.md) +- [SdkBooleanExample](interfaces/SdkBooleanExample.md) - [SdkBuiltInType](interfaces/SdkBuiltInType.md) - [SdkClient](interfaces/SdkClient.md) - [SdkClientAccessor](interfaces/SdkClientAccessor.md) @@ -23,6 +27,7 @@ title: "[P] JS API" - [SdkContext](interfaces/SdkContext.md) - [SdkCredentialParameter](interfaces/SdkCredentialParameter.md) - [SdkCredentialType](interfaces/SdkCredentialType.md) +- [SdkDictionaryExample](interfaces/SdkDictionaryExample.md) - [SdkDictionaryType](interfaces/SdkDictionaryType.md) - [SdkDurationType](interfaces/SdkDurationType.md) - [SdkEmitterOptions](interfaces/SdkEmitterOptions.md) @@ -30,17 +35,25 @@ title: "[P] JS API" - [SdkEndpointType](interfaces/SdkEndpointType.md) - [SdkEnumType](interfaces/SdkEnumType.md) - [SdkEnumValueType](interfaces/SdkEnumValueType.md) +- [SdkExampleTypeBase](interfaces/SdkExampleTypeBase.md) - [SdkHeaderParameter](interfaces/SdkHeaderParameter.md) - [SdkHttpOperation](interfaces/SdkHttpOperation.md) +- [SdkHttpOperationExample](interfaces/SdkHttpOperationExample.md) +- [SdkHttpParameterExample](interfaces/SdkHttpParameterExample.md) - [SdkHttpResponse](interfaces/SdkHttpResponse.md) +- [SdkHttpResponseExample](interfaces/SdkHttpResponseExample.md) +- [SdkHttpResponseHeaderExample](interfaces/SdkHttpResponseHeaderExample.md) - [SdkInitializationType](interfaces/SdkInitializationType.md) - [SdkLroPagingServiceMethod](interfaces/SdkLroPagingServiceMethod.md) - [SdkLroServiceMethod](interfaces/SdkLroServiceMethod.md) - [SdkMethodParameter](interfaces/SdkMethodParameter.md) - [SdkMethodResponse](interfaces/SdkMethodResponse.md) +- [SdkModelExample](interfaces/SdkModelExample.md) - [SdkModelPropertyTypeBase](interfaces/SdkModelPropertyTypeBase.md) - [SdkModelType](interfaces/SdkModelType.md) +- [SdkNullExample](interfaces/SdkNullExample.md) - [SdkNullableType](interfaces/SdkNullableType.md) +- [SdkNumberExample](interfaces/SdkNumberExample.md) - [SdkOperationGroup](interfaces/SdkOperationGroup.md) - [SdkPackage](interfaces/SdkPackage.md) - [SdkPagingServiceMethod](interfaces/SdkPagingServiceMethod.md) @@ -48,8 +61,11 @@ title: "[P] JS API" - [SdkQueryParameter](interfaces/SdkQueryParameter.md) - [SdkServiceResponse](interfaces/SdkServiceResponse.md) - [SdkServiceResponseHeader](interfaces/SdkServiceResponseHeader.md) +- [SdkStringExample](interfaces/SdkStringExample.md) - [SdkTupleType](interfaces/SdkTupleType.md) +- [SdkUnionExample](interfaces/SdkUnionExample.md) - [SdkUnionType](interfaces/SdkUnionType.md) +- [TCGCContext](interfaces/TCGCContext.md) ## Type Aliases @@ -59,6 +75,7 @@ title: "[P] JS API" - [LanguageScopes](type-aliases/LanguageScopes.md) - [SdkBuiltInKinds](type-aliases/SdkBuiltInKinds.md) - [SdkDateTimeType](type-aliases/SdkDateTimeType.md) +- [SdkDatetimeType](type-aliases/SdkDatetimeType-1.md) - [SdkHttpPackage](type-aliases/SdkHttpPackage.md) - [SdkHttpParameter](type-aliases/SdkHttpParameter.md) - [SdkMethod](type-aliases/SdkMethod.md) @@ -69,6 +86,7 @@ title: "[P] JS API" - [SdkServiceOperation](type-aliases/SdkServiceOperation.md) - [SdkServiceParameter](type-aliases/SdkServiceParameter.md) - [SdkType](type-aliases/SdkType.md) +- [SdkTypeExample](type-aliases/SdkTypeExample.md) - [SdkUtcDatetimeType](type-aliases/SdkUtcDatetimeType.md) ## Variables @@ -86,8 +104,9 @@ title: "[P] JS API" - [$exclude](functions/$exclude.md) - [$flattenProperty](functions/$flattenProperty.md) - [$include](functions/$include.md) -- [$internal](functions/$internal.md) +- [$onValidate](functions/$onValidate.md) - [$operationGroup](functions/$operationGroup.md) +- [$override](functions/$override.md) - [$protocolAPI](functions/$protocolAPI.md) - [$usage](functions/$usage.md) - [addEncodeInfo](functions/addEncodeInfo.md) @@ -95,6 +114,7 @@ title: "[P] JS API" - [createDiagnostic](functions/createDiagnostic.md) - [createSdkContext](functions/createSdkContext.md) - [createStateSymbol](functions/createStateSymbol.md) +- [createTCGCContext](functions/createTCGCContext.md) - [getAccess](functions/getAccess.md) - [getAccessOverride](functions/getAccessOverride.md) - [getAllModels](functions/getAllModels.md) @@ -111,10 +131,12 @@ title: "[P] JS API" - [getEffectivePayloadType](functions/getEffectivePayloadType.md) - [getEmitterTargetName](functions/getEmitterTargetName.md) - [getGeneratedName](functions/getGeneratedName.md) +- [getHttpOperationExamples](functions/getHttpOperationExamples.md) - [getHttpOperationWithCache](functions/getHttpOperationWithCache.md) - [getKnownScalars](functions/getKnownScalars.md) - [getLibraryName](functions/getLibraryName.md) - [getOperationGroup](functions/getOperationGroup.md) +- [getOverriddenClientMethod](functions/getOverriddenClientMethod.md) - [getPropertyNames](functions/getPropertyNames.md) - [getSdkArrayOrDict](functions/getSdkArrayOrDict.md) - [getSdkArrayOrDictWithDiagnostics](functions/getSdkArrayOrDictWithDiagnostics.md) @@ -133,6 +155,7 @@ title: "[P] JS API" - [getSdkUnion](functions/getSdkUnion.md) - [getSdkUnionEnum](functions/getSdkUnionEnum.md) - [getSdkUnionWithDiagnostics](functions/getSdkUnionWithDiagnostics.md) +- [getTypeSpecBuiltInType](functions/getTypeSpecBuiltInType.md) - [getUsage](functions/getUsage.md) - [getUsageOverride](functions/getUsageOverride.md) - [getWireName](functions/getWireName.md) diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/MultipartOptions.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/MultipartOptions.md new file mode 100644 index 0000000000..85e4749d07 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/MultipartOptions.md @@ -0,0 +1,14 @@ +--- +jsApi: true +title: "[I] MultipartOptions" + +--- +## Properties + +| Property | Type | +| ------ | ------ | +| `contentType?` | [`SdkModelPropertyType`](../type-aliases/SdkModelPropertyType.md) | +| `defaultContentTypes` | `string`[] | +| `filename?` | [`SdkModelPropertyType`](../type-aliases/SdkModelPropertyType.md) | +| `isFilePart` | `boolean` | +| `isMulti` | `boolean` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkAnyExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkAnyExample.md new file mode 100644 index 0000000000..c7c76a1d86 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkAnyExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkAnyExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"any"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkBuiltInType`](SdkBuiltInType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `unknown` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkArrayExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkArrayExample.md new file mode 100644 index 0000000000..b6fdae3103 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkArrayExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkArrayExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"array"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkArrayType`](SdkArrayType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | [`SdkTypeExample`](../type-aliases/SdkTypeExample.md)[] | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBodyModelPropertyType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBodyModelPropertyType.md index 5e2f746622..12fe8d986a 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBodyModelPropertyType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBodyModelPropertyType.md @@ -24,6 +24,7 @@ title: "[I] SdkBodyModelPropertyType" | `isGeneratedName` | `boolean` | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`isGeneratedName` | | `isMultipartFileInput` | `boolean` | - | | `kind` | `"property"` | - | +| `multipartOptions?` | [`MultipartOptions`](MultipartOptions.md) | - | | `name` | `string` | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`name` | | `onClient` | `boolean` | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`onClient` | | `optional` | `boolean` | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`optional` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBooleanExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBooleanExample.md new file mode 100644 index 0000000000..3d6972f79d --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBooleanExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkBooleanExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"boolean"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkBuiltInType`](SdkBuiltInType.md) \| [`SdkConstantType`](SdkConstantType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `boolean` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBuiltInType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBuiltInType.md index db45927489..b3e0ba89f4 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBuiltInType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkBuiltInType.md @@ -12,9 +12,12 @@ title: "[I] SdkBuiltInType" | Property | Type | Overrides | Inherited from | | ------ | ------ | ------ | ------ | | `__raw?` | `Type` | - | `SdkTypeBase.__raw` | +| `baseType?` | [`SdkBuiltInType`](SdkBuiltInType.md) | - | - | +| `crossLanguageDefinitionId` | `string` | - | - | | `decorators` | [`DecoratorInfo`](DecoratorInfo.md)[] | - | `SdkTypeBase.decorators` | | `deprecation?` | `string` | - | `SdkTypeBase.deprecation` | | `description?` | `string` | - | `SdkTypeBase.description` | | `details?` | `string` | - | `SdkTypeBase.details` | | `encode` | `string` | - | - | | `kind` | [`SdkBuiltInKinds`](../type-aliases/SdkBuiltInKinds.md) | `SdkTypeBase.kind` | - | +| `name` | `string` | - | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkClientType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkClientType.md index 1172f660d2..50b13670f2 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkClientType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkClientType.md @@ -19,6 +19,7 @@ title: "[I] SdkClientType" | ------ | ------ | ------ | ------ | | `apiVersions` | `string`[] | - | - | | ~~`arm`~~ | `boolean` | **Deprecated** This property is deprecated. Look at `.arm` on `SdkContext` instead. | - | +| `crossLanguageDefinitionId` | `string` | - | - | | `decorators` | [`DecoratorInfo`](DecoratorInfo.md)[] | - | `DecoratedType.decorators` | | `description?` | `string` | - | - | | `details?` | `string` | - | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkContext.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkContext.md index 3a63fc8aa5..eb6154ad5c 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkContext.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkContext.md @@ -5,7 +5,7 @@ title: "[I] SdkContext" --- ## Extends -- `TCGCContext` +- [`TCGCContext`](TCGCContext.md) ## Type Parameters @@ -18,31 +18,33 @@ title: "[I] SdkContext" | Property | Type | Inherited from | | ------ | ------ | ------ | -| `__namespaceToApiVersionClientDefaultValue` | `Map`<`Namespace` \| `Interface`, `undefined` \| `string`\> | `TCGCContext.__namespaceToApiVersionClientDefaultValue` | -| `__namespaceToApiVersionParameter` | `Map`<`Namespace` \| `Interface`, [`SdkParameter`](../type-aliases/SdkParameter.md)\> | `TCGCContext.__namespaceToApiVersionParameter` | -| `__rawClients?` | [`SdkClient`](SdkClient.md)[] | `TCGCContext.__rawClients` | -| `__service_projection?` | `Map`<`Namespace`, [`Namespace`, `undefined` \| `ProjectedProgram`]\> | `TCGCContext.__service_projection` | -| `__subscriptionIdParameter?` | [`SdkParameter`](../type-aliases/SdkParameter.md) | `TCGCContext.__subscriptionIdParameter` | -| `__tspTypeToApiVersions` | `Map`<`Type`, `string`[]\> | `TCGCContext.__tspTypeToApiVersions` | -| `apiVersion?` | `string` | `TCGCContext.apiVersion` | -| `arm?` | `boolean` | `TCGCContext.arm` | -| `decoratorsAllowList?` | `string`[] | `TCGCContext.decoratorsAllowList` | -| `diagnostics` | readonly `Diagnostic`[] | `TCGCContext.diagnostics` | +| `__httpOperationExamples?` | `Map`<`HttpOperation`, [`SdkHttpOperationExample`](SdkHttpOperationExample.md)[]\> | [`TCGCContext`](TCGCContext.md).`__httpOperationExamples` | +| `__namespaceToApiVersionClientDefaultValue` | `Map`<`Namespace` \| `Interface`, `undefined` \| `string`\> | [`TCGCContext`](TCGCContext.md).`__namespaceToApiVersionClientDefaultValue` | +| `__namespaceToApiVersionParameter` | `Map`<`Namespace` \| `Interface`, [`SdkParameter`](../type-aliases/SdkParameter.md)\> | [`TCGCContext`](TCGCContext.md).`__namespaceToApiVersionParameter` | +| `__rawClients?` | [`SdkClient`](SdkClient.md)[] | [`TCGCContext`](TCGCContext.md).`__rawClients` | +| `__service_projection?` | `Map`<`Namespace`, [`Namespace`, `undefined` \| `ProjectedProgram`]\> | [`TCGCContext`](TCGCContext.md).`__service_projection` | +| `__subscriptionIdParameter?` | [`SdkParameter`](../type-aliases/SdkParameter.md) | [`TCGCContext`](TCGCContext.md).`__subscriptionIdParameter` | +| `__tspTypeToApiVersions` | `Map`<`Type`, `string`[]\> | [`TCGCContext`](TCGCContext.md).`__tspTypeToApiVersions` | +| `apiVersion?` | `string` | [`TCGCContext`](TCGCContext.md).`apiVersion` | +| `arm?` | `boolean` | [`TCGCContext`](TCGCContext.md).`arm` | +| `decoratorsAllowList?` | `string`[] | [`TCGCContext`](TCGCContext.md).`decoratorsAllowList` | +| `diagnostics` | readonly `Diagnostic`[] | [`TCGCContext`](TCGCContext.md).`diagnostics` | | `emitContext` | `EmitContext`<`TOptions`\> | - | -| `emitterName` | `string` | `TCGCContext.emitterName` | -| `filterOutCoreModels?` | `boolean` | `TCGCContext.filterOutCoreModels` | -| `flattenUnionAsEnum?` | `boolean` | `TCGCContext.flattenUnionAsEnum` | -| `generateConvenienceMethods?` | `boolean` | `TCGCContext.generateConvenienceMethods` | -| `generateProtocolMethods?` | `boolean` | `TCGCContext.generateProtocolMethods` | -| `generatedNames?` | `Map`<`Model` \| `Union` \| `TspLiteralType`, `string`\> | `TCGCContext.generatedNames` | -| `httpOperationCache?` | `Map`<`Operation`, `HttpOperation`\> | `TCGCContext.httpOperationCache` | -| `knownScalars?` | `Record`<`string`, [`SdkBuiltInKinds`](../type-aliases/SdkBuiltInKinds.md)\> | `TCGCContext.knownScalars` | -| `modelsMap?` | `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\> | `TCGCContext.modelsMap` | -| `operationModelsMap?` | `Map`<`Operation`, `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\>\> | `TCGCContext.operationModelsMap` | -| `originalProgram` | `Program` | `TCGCContext.originalProgram` | -| `packageName?` | `string` | `TCGCContext.packageName` | -| `previewStringRegex` | `RegExp` | `TCGCContext.previewStringRegex` | -| `program` | `Program` | `TCGCContext.program` | +| `emitterName` | `string` | [`TCGCContext`](TCGCContext.md).`emitterName` | +| `examplesDirectory?` | `string` | [`TCGCContext`](TCGCContext.md).`examplesDirectory` | +| `filterOutCoreModels?` | `boolean` | [`TCGCContext`](TCGCContext.md).`filterOutCoreModels` | +| `flattenUnionAsEnum?` | `boolean` | [`TCGCContext`](TCGCContext.md).`flattenUnionAsEnum` | +| `generateConvenienceMethods?` | `boolean` | [`TCGCContext`](TCGCContext.md).`generateConvenienceMethods` | +| `generateProtocolMethods?` | `boolean` | [`TCGCContext`](TCGCContext.md).`generateProtocolMethods` | +| `generatedNames?` | `Map`<`Model` \| `Union` \| `TspLiteralType`, `string`\> | [`TCGCContext`](TCGCContext.md).`generatedNames` | +| `httpOperationCache?` | `Map`<`Operation`, `HttpOperation`\> | [`TCGCContext`](TCGCContext.md).`httpOperationCache` | +| `knownScalars?` | `Record`<`string`, [`SdkBuiltInKinds`](../type-aliases/SdkBuiltInKinds.md)\> | [`TCGCContext`](TCGCContext.md).`knownScalars` | +| `modelsMap?` | `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\> | [`TCGCContext`](TCGCContext.md).`modelsMap` | +| `operationModelsMap?` | `Map`<`Operation`, `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\>\> | [`TCGCContext`](TCGCContext.md).`operationModelsMap` | +| `originalProgram` | `Program` | [`TCGCContext`](TCGCContext.md).`originalProgram` | +| `packageName?` | `string` | [`TCGCContext`](TCGCContext.md).`packageName` | +| `previewStringRegex` | `RegExp` | [`TCGCContext`](TCGCContext.md).`previewStringRegex` | +| `program` | `Program` | [`TCGCContext`](TCGCContext.md).`program` | | `sdkPackage` | [`SdkPackage`](SdkPackage.md)<`TServiceOperation`\> | - | -| `spreadModels?` | `Map`<`Model`, [`SdkModelType`](SdkModelType.md)\> | `TCGCContext.spreadModels` | -| `unionsMap?` | `Map`<`Union`, [`SdkUnionType`](SdkUnionType.md)\> | `TCGCContext.unionsMap` | +| `spreadModels?` | `Map`<`Model`, [`SdkModelType`](SdkModelType.md)\> | [`TCGCContext`](TCGCContext.md).`spreadModels` | +| `unionsMap?` | `Map`<`Union`, [`SdkUnionType`](SdkUnionType.md)\> | [`TCGCContext`](TCGCContext.md).`unionsMap` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDictionaryExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDictionaryExample.md new file mode 100644 index 0000000000..958e33e488 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDictionaryExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkDictionaryExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"dict"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkDictionaryType`](SdkDictionaryType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `Record`<`string`, [`SdkTypeExample`](../type-aliases/SdkTypeExample.md)\> | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDurationType.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDurationType.md index 1998427d7a..0b57cecc23 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDurationType.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkDurationType.md @@ -12,10 +12,13 @@ title: "[I] SdkDurationType" | Property | Type | Overrides | Inherited from | | ------ | ------ | ------ | ------ | | `__raw?` | `Type` | - | `SdkTypeBase.__raw` | +| `baseType?` | [`SdkDurationType`](SdkDurationType.md) | - | - | +| `crossLanguageDefinitionId` | `string` | - | - | | `decorators` | [`DecoratorInfo`](DecoratorInfo.md)[] | - | `SdkTypeBase.decorators` | | `deprecation?` | `string` | - | `SdkTypeBase.deprecation` | | `description?` | `string` | - | `SdkTypeBase.description` | | `details?` | `string` | - | `SdkTypeBase.details` | | `encode` | `DurationKnownEncoding` | - | - | | `kind` | `"duration"` | `SdkTypeBase.kind` | - | +| `name` | `string` | - | - | | `wireType` | [`SdkBuiltInType`](SdkBuiltInType.md) | - | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEmitterOptions.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEmitterOptions.md index dd638bb777..74d65e6a31 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEmitterOptions.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEmitterOptions.md @@ -8,6 +8,7 @@ title: "[I] SdkEmitterOptions" | Property | Type | | ------ | ------ | | `api-version?` | `string` | +| `examples-directory?` | `string` | | `filter-out-core-models?` | `boolean` | | `flatten-union-as-enum?` | `boolean` | | `generate-convenience-methods?` | `boolean` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEndpointParameter.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEndpointParameter.md index 6bd332ae66..3aab5f0e52 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEndpointParameter.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkEndpointParameter.md @@ -25,5 +25,5 @@ title: "[I] SdkEndpointParameter" | `onClient` | `true` | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`onClient` | - | | `optional` | `boolean` | - | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`optional` | | `serializedName?` | `string` | - | - | -| `type` | [`SdkEndpointType`](SdkEndpointType.md) | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`type` | - | +| `type` | [`SdkUnionType`](SdkUnionType.md) \| [`SdkEndpointType`](SdkEndpointType.md) | [`SdkModelPropertyTypeBase`](SdkModelPropertyTypeBase.md).`type` | - | | `urlEncode` | `boolean` | - | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkExampleTypeBase.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkExampleTypeBase.md new file mode 100644 index 0000000000..acdd698d99 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkExampleTypeBase.md @@ -0,0 +1,24 @@ +--- +jsApi: true +title: "[I] SdkExampleTypeBase" + +--- +## Extended by + +- [`SdkStringExample`](SdkStringExample.md) +- [`SdkNumberExample`](SdkNumberExample.md) +- [`SdkBooleanExample`](SdkBooleanExample.md) +- [`SdkNullExample`](SdkNullExample.md) +- [`SdkAnyExample`](SdkAnyExample.md) +- [`SdkArrayExample`](SdkArrayExample.md) +- [`SdkDictionaryExample`](SdkDictionaryExample.md) +- [`SdkUnionExample`](SdkUnionExample.md) +- [`SdkModelExample`](SdkModelExample.md) + +## Properties + +| Property | Type | +| ------ | ------ | +| `kind` | `string` | +| `type` | [`SdkType`](../type-aliases/SdkType.md) | +| `value` | `unknown` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperation.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperation.md index fa6334ed45..94f9598ca4 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperation.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperation.md @@ -13,9 +13,10 @@ title: "[I] SdkHttpOperation" | ------ | ------ | | `__raw` | `HttpOperation` | | `bodyParam?` | [`SdkBodyParameter`](SdkBodyParameter.md) | +| `examples?` | [`SdkHttpOperationExample`](SdkHttpOperationExample.md)[] | | `exceptions` | `Map`<`number` \| `"*"` \| `HttpStatusCodeRange`, [`SdkHttpResponse`](SdkHttpResponse.md)\> | | `kind` | `"http"` | -| `parameters` | ([`SdkQueryParameter`](SdkQueryParameter.md) \| [`SdkPathParameter`](SdkPathParameter.md) \| [`SdkHeaderParameter`](SdkHeaderParameter.md))[] | +| `parameters` | ([`SdkPathParameter`](SdkPathParameter.md) \| [`SdkQueryParameter`](SdkQueryParameter.md) \| [`SdkHeaderParameter`](SdkHeaderParameter.md))[] | | `path` | `string` | | `responses` | `Map`<`number` \| `HttpStatusCodeRange`, [`SdkHttpResponse`](SdkHttpResponse.md)\> | | `verb` | `HttpVerb` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperationExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperationExample.md new file mode 100644 index 0000000000..4409c08a19 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpOperationExample.md @@ -0,0 +1,20 @@ +--- +jsApi: true +title: "[I] SdkHttpOperationExample" + +--- +## Extends + +- `SdkExampleBase` + +## Properties + +| Property | Type | Overrides | Inherited from | +| ------ | ------ | ------ | ------ | +| `description` | `string` | - | `SdkExampleBase.description` | +| `filePath` | `string` | - | `SdkExampleBase.filePath` | +| `kind` | `"http"` | `SdkExampleBase.kind` | - | +| `name` | `string` | - | `SdkExampleBase.name` | +| `parameters` | [`SdkHttpParameterExample`](SdkHttpParameterExample.md)[] | - | - | +| `rawExample` | `any` | - | `SdkExampleBase.rawExample` | +| `responses` | `Map`<`number`, [`SdkHttpResponseExample`](SdkHttpResponseExample.md)\> | - | - | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpParameterExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpParameterExample.md new file mode 100644 index 0000000000..361d5c602b --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpParameterExample.md @@ -0,0 +1,11 @@ +--- +jsApi: true +title: "[I] SdkHttpParameterExample" + +--- +## Properties + +| Property | Type | +| ------ | ------ | +| `parameter` | [`SdkHttpParameter`](../type-aliases/SdkHttpParameter.md) | +| `value` | [`SdkTypeExample`](../type-aliases/SdkTypeExample.md) | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseExample.md new file mode 100644 index 0000000000..09e77b0b68 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseExample.md @@ -0,0 +1,12 @@ +--- +jsApi: true +title: "[I] SdkHttpResponseExample" + +--- +## Properties + +| Property | Type | +| ------ | ------ | +| `bodyValue?` | [`SdkTypeExample`](../type-aliases/SdkTypeExample.md) | +| `headers` | [`SdkHttpResponseHeaderExample`](SdkHttpResponseHeaderExample.md)[] | +| `response` | [`SdkHttpResponse`](SdkHttpResponse.md) | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseHeaderExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseHeaderExample.md new file mode 100644 index 0000000000..d285394c37 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkHttpResponseHeaderExample.md @@ -0,0 +1,11 @@ +--- +jsApi: true +title: "[I] SdkHttpResponseHeaderExample" + +--- +## Properties + +| Property | Type | +| ------ | ------ | +| `header` | [`SdkServiceResponseHeader`](SdkServiceResponseHeader.md) | +| `value` | [`SdkTypeExample`](../type-aliases/SdkTypeExample.md) | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkModelExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkModelExample.md new file mode 100644 index 0000000000..6c6712f86d --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkModelExample.md @@ -0,0 +1,17 @@ +--- +jsApi: true +title: "[I] SdkModelExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `additionalPropertiesValue?` | `Record`<`string`, [`SdkTypeExample`](../type-aliases/SdkTypeExample.md)\> | - | +| `kind` | `"model"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkModelType`](SdkModelType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `Record`<`string`, [`SdkTypeExample`](../type-aliases/SdkTypeExample.md)\> | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNullExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNullExample.md new file mode 100644 index 0000000000..9c7602f391 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNullExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkNullExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"null"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkNullableType`](SdkNullableType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `null` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNumberExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNumberExample.md new file mode 100644 index 0000000000..e274d5e89a --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkNumberExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkNumberExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"number"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | \| [`SdkBuiltInType`](SdkBuiltInType.md) \| [`SdkDateTimeType`](../type-aliases/SdkDateTimeType.md) \| [`SdkDurationType`](SdkDurationType.md) \| [`SdkEnumType`](SdkEnumType.md) \| [`SdkEnumValueType`](SdkEnumValueType.md) \| [`SdkConstantType`](SdkConstantType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `number` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkPackage.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkPackage.md index 44eb4c5e39..19cdea2380 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkPackage.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkPackage.md @@ -11,12 +11,11 @@ title: "[I] SdkPackage" ## Properties -| Property | Type | Description | -| ------ | ------ | ------ | -| `clients` | [`SdkClientType`](SdkClientType.md)<`TServiceOperation`\>[] | - | -| `crossLanguagePackageId` | `string` | - | -| ~~`diagnostics`~~ | readonly `Diagnostic`[] | **Deprecated** This property is deprecated. Look at `.diagnostics` on SdkContext instead. | -| `enums` | [`SdkEnumType`](SdkEnumType.md)[] | - | -| `models` | [`SdkModelType`](SdkModelType.md)[] | - | -| `name` | `string` | - | -| `rootNamespace` | `string` | - | +| Property | Type | +| ------ | ------ | +| `clients` | [`SdkClientType`](SdkClientType.md)<`TServiceOperation`\>[] | +| `crossLanguagePackageId` | `string` | +| `enums` | [`SdkEnumType`](SdkEnumType.md)[] | +| `models` | [`SdkModelType`](SdkModelType.md)[] | +| `name` | `string` | +| `rootNamespace` | `string` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkStringExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkStringExample.md new file mode 100644 index 0000000000..2ca585eeee --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkStringExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkStringExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"string"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | \| [`SdkBuiltInType`](SdkBuiltInType.md) \| [`SdkDateTimeType`](../type-aliases/SdkDateTimeType.md) \| [`SdkDurationType`](SdkDurationType.md) \| [`SdkEnumType`](SdkEnumType.md) \| [`SdkEnumValueType`](SdkEnumValueType.md) \| [`SdkConstantType`](SdkConstantType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `string` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkUnionExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkUnionExample.md new file mode 100644 index 0000000000..bb066cc2c5 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/SdkUnionExample.md @@ -0,0 +1,16 @@ +--- +jsApi: true +title: "[I] SdkUnionExample" + +--- +## Extends + +- [`SdkExampleTypeBase`](SdkExampleTypeBase.md) + +## Properties + +| Property | Type | Overrides | +| ------ | ------ | ------ | +| `kind` | `"union"` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`kind` | +| `type` | [`SdkUnionType`](SdkUnionType.md) | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`type` | +| `value` | `unknown` | [`SdkExampleTypeBase`](SdkExampleTypeBase.md).`value` | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/TCGCContext.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/TCGCContext.md new file mode 100644 index 0000000000..906cffd8c0 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/interfaces/TCGCContext.md @@ -0,0 +1,41 @@ +--- +jsApi: true +title: "[I] TCGCContext" + +--- +## Extended by + +- [`SdkContext`](SdkContext.md) + +## Properties + +| Property | Type | +| ------ | ------ | +| `__httpOperationExamples?` | `Map`<`HttpOperation`, [`SdkHttpOperationExample`](SdkHttpOperationExample.md)[]\> | +| `__namespaceToApiVersionClientDefaultValue` | `Map`<`Namespace` \| `Interface`, `undefined` \| `string`\> | +| `__namespaceToApiVersionParameter` | `Map`<`Namespace` \| `Interface`, [`SdkParameter`](../type-aliases/SdkParameter.md)\> | +| `__rawClients?` | [`SdkClient`](SdkClient.md)[] | +| `__service_projection?` | `Map`<`Namespace`, [`Namespace`, `undefined` \| `ProjectedProgram`]\> | +| `__subscriptionIdParameter?` | [`SdkParameter`](../type-aliases/SdkParameter.md) | +| `__tspTypeToApiVersions` | `Map`<`Type`, `string`[]\> | +| `apiVersion?` | `string` | +| `arm?` | `boolean` | +| `decoratorsAllowList?` | `string`[] | +| `diagnostics` | readonly `Diagnostic`[] | +| `emitterName` | `string` | +| `examplesDirectory?` | `string` | +| `filterOutCoreModels?` | `boolean` | +| `flattenUnionAsEnum?` | `boolean` | +| `generateConvenienceMethods?` | `boolean` | +| `generateProtocolMethods?` | `boolean` | +| `generatedNames?` | `Map`<`Model` \| `Union` \| `TspLiteralType`, `string`\> | +| `httpOperationCache?` | `Map`<`Operation`, `HttpOperation`\> | +| `knownScalars?` | `Record`<`string`, [`SdkBuiltInKinds`](../type-aliases/SdkBuiltInKinds.md)\> | +| `modelsMap?` | `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\> | +| `operationModelsMap?` | `Map`<`Operation`, `Map`<`Type`, [`SdkEnumType`](SdkEnumType.md) \| [`SdkModelType`](SdkModelType.md)\>\> | +| `originalProgram` | `Program` | +| `packageName?` | `string` | +| `previewStringRegex` | `RegExp` | +| `program` | `Program` | +| `spreadModels?` | `Map`<`Model`, [`SdkModelType`](SdkModelType.md)\> | +| `unionsMap?` | `Map`<`Union`, [`SdkUnionType`](SdkUnionType.md)\> | diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkBuiltInKinds.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkBuiltInKinds.md index 3a2ab479e6..46df868172 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkBuiltInKinds.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkBuiltInKinds.md @@ -4,10 +4,5 @@ title: "[T] SdkBuiltInKinds" --- ```ts -type SdkBuiltInKinds: - | keyof typeof SdkBuiltInKindsMiscellaneousEnum - | keyof typeof SdkIntKindsEnum - | keyof typeof SdkFloatKindsEnum - | keyof typeof SdkGenericBuiltInStringKindsEnum - | keyof typeof SdkAzureBuiltInStringKindsMapping; +type SdkBuiltInKinds: Exclude | "any"; ``` diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkTypeExample.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkTypeExample.md new file mode 100644 index 0000000000..f685681343 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/type-aliases/SdkTypeExample.md @@ -0,0 +1,17 @@ +--- +jsApi: true +title: "[T] SdkTypeExample" + +--- +```ts +type SdkTypeExample: + | SdkStringExample + | SdkNumberExample + | SdkBooleanExample + | SdkNullExample + | SdkAnyExample + | SdkArrayExample + | SdkDictionaryExample + | SdkUnionExample + | SdkModelExample; +``` diff --git a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/variables/$lib.md b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/variables/$lib.md index c295eda07f..1201e358ab 100644 --- a/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/variables/$lib.md +++ b/packages/website/versioned_docs/version-latest/libraries/typespec-client-generator-core/reference/js-api/variables/$lib.md @@ -12,55 +12,70 @@ const $lib: TypeSpecLibrary, never>; | Name | Type | Default value | | ------ | ------ | ------ | | `access` | `object` | - | -| `access.default` | `string` | - | +| `access.default` | "Access decorator value must be \"public\" or \"internal\"." | - | | `client-name` | `object` | - | -| `client-name.default` | `CallableMessage`<[`string`]\> | - | +| `client-name.default` | `CallableMessage`<[`"name"`]\> | - | | `client-service` | `object` | - | -| `client-service.default` | `CallableMessage`<[`string`]\> | - | +| `client-service.default` | `CallableMessage`<[`"name"`]\> | - | | `conflicting-multipart-model-usage` | `object` | - | -| `conflicting-multipart-model-usage.default` | `string` | "Invalid encoding" | -| `conflicting-multipart-model-usage.wrongType` | `CallableMessage`<[`string`, `string`, `string`]\> | - | +| `conflicting-multipart-model-usage.default` | `"Invalid encoding"` | "Invalid encoding" | +| `conflicting-multipart-model-usage.wrongType` | `CallableMessage`<[`"modelName"`, `"modelName"`, `"modelName"`]\> | - | | `discriminator-not-constant` | `object` | - | -| `discriminator-not-constant.default` | `CallableMessage`<[`string`]\> | - | +| `discriminator-not-constant.default` | `CallableMessage`<[`"discriminator"`]\> | - | | `discriminator-not-string` | `object` | - | -| `discriminator-not-string.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `discriminator-not-string.default` | `CallableMessage`<[`"discriminator"`, `"discriminatorValue"`]\> | - | +| `duplicate-client-name` | `object` | - | +| `duplicate-client-name.default` | `CallableMessage`<[`"name"`, `"scope"`]\> | - | +| `duplicate-client-name.nonDecorator` | `CallableMessage`<[`"name"`, `"scope"`]\> | - | +| `duplicate-example-file` | `object` | - | +| `duplicate-example-file.default` | `CallableMessage`<[`"filename"`, `"title"`, `"operationId"`]\> | - | | `empty-client-name` | `object` | - | -| `empty-client-name.default` | `string` | - | +| `empty-client-name.default` | `"Cannot pass an empty value to the @clientName decorator"` | - | | `encoding-multipart-bytes` | `object` | - | -| `encoding-multipart-bytes.default` | `string` | "Encoding should not be applied to bytes content in a multipart request. This is semi-incompatible with how multipart works in HTTP." | +| `encoding-multipart-bytes.default` | `"Encoding should not be applied to bytes content in a multipart request. This is semi-incompatible with how multipart works in HTTP."` | "Encoding should not be applied to bytes content in a multipart request. This is semi-incompatible with how multipart works in HTTP." | +| `example-loading` | `object` | - | +| `example-loading.default` | `CallableMessage`<[`"filename"`, `"error"`]\> | - | +| `example-loading.noDirectory` | `CallableMessage`<[`"directory"`]\> | - | +| `example-loading.noOperationId` | `CallableMessage`<[`"filename"`]\> | - | +| `example-value-no-mapping` | `object` | - | +| `example-value-no-mapping.default` | `CallableMessage`<[`"relativePath"`, `"value"`]\> | - | +| `flatten-polymorphism` | `object` | - | +| `flatten-polymorphism.default` | `"Cannot flatten property of polymorphic type."` | - | | `incorrect-client-format` | `object` | - | -| `incorrect-client-format.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `incorrect-client-format.default` | `CallableMessage`<[`"format"`, `"expectedTargetTypes"`]\> | - | | `invalid-encode` | `object` | - | -| `invalid-encode.default` | `string` | "Invalid encoding" | -| `invalid-encode.wrongType` | `CallableMessage`<[`string`, `string`]\> | - | +| `invalid-encode.default` | `"Invalid encoding"` | "Invalid encoding" | +| `invalid-encode.wrongType` | `CallableMessage`<[`"encoding"`, `"type"`]\> | - | | `invalid-usage` | `object` | - | -| `invalid-usage.default` | `string` | - | +| `invalid-usage.default` | "Usage decorator value must be 2 (\"input\") or 4 (\"output\")." | - | | `multiple-response-types` | `object` | - | -| `multiple-response-types.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `multiple-response-types.default` | `CallableMessage`<[`"operation"`, `"response"`]\> | - | | `multiple-services` | `object` | - | -| `multiple-services.default` | `CallableMessage`<[`string`]\> | - | +| `multiple-services.default` | `CallableMessage`<[`"service"`]\> | - | | `no-corresponding-method-param` | `object` | - | -| `no-corresponding-method-param.default` | `CallableMessage`<[`string`, `string`, `string`, `string`]\> | - | +| `no-corresponding-method-param.default` | `CallableMessage`<[`"paramName"`, `"methodName"`, `"paramName"`, `"paramName"`]\> | - | | `no-emitter-name` | `object` | - | -| `no-emitter-name.default` | `string` | "Can not find name for your emitter, please check your emitter name." | +| `no-emitter-name.default` | `"Can not find name for your emitter, please check your emitter name."` | "Can not find name for your emitter, please check your emitter name." | +| `override-method-parameters-mismatch` | `object` | - | +| `override-method-parameters-mismatch.default` | `CallableMessage`<[`"methodName"`, `"originalParameters"`, `"overrideParameters"`]\> | - | | `server-param-not-path` | `object` | - | -| `server-param-not-path.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `server-param-not-path.default` | `CallableMessage`<[`"templateArgumentName"`, `"templateArgumentType"`]\> | - | | `unexpected-http-param-type` | `object` | - | -| `unexpected-http-param-type.default` | `CallableMessage`<[`string`, `string`, `string`]\> | - | +| `unexpected-http-param-type.default` | `CallableMessage`<[`"paramName"`, `"expectedType"`, `"actualType"`]\> | - | | `union-null` | `object` | - | -| `union-null.default` | `string` | "Cannot have a union containing only null types." | +| `union-null.default` | `"Cannot have a union containing only null types."` | "Cannot have a union containing only null types." | | `union-unsupported` | `object` | - | -| `union-unsupported.default` | `string` | "Unions cannot be emitted by our language generators unless all options are literals of the same type." | -| `union-unsupported.null` | `string` | "Unions containing multiple model types cannot be emitted unless the union is between one model type and 'null'." | +| `union-unsupported.default` | `"Unions cannot be emitted by our language generators unless all options are literals of the same type."` | "Unions cannot be emitted by our language generators unless all options are literals of the same type." | +| `union-unsupported.null` | `"Unions containing multiple model types cannot be emitted unless the union is between one model type and 'null'."` | "Unions containing multiple model types cannot be emitted unless the union is between one model type and 'null'." | | `unknown-client-format` | `object` | - | -| `unknown-client-format.default` | `CallableMessage`<[`string`, `string`]\> | - | +| `unknown-client-format.default` | `CallableMessage`<[`"format"`, `"knownValues"`]\> | - | | `unsupported-generic-decorator-arg-type` | `object` | - | -| `unsupported-generic-decorator-arg-type.default` | `CallableMessage`<[`string`]\> | - | +| `unsupported-generic-decorator-arg-type.default` | `CallableMessage`<[`"decoratorName"`]\> | - | | `unsupported-kind` | `object` | - | -| `unsupported-kind.default` | `CallableMessage`<[`string`]\> | - | +| `unsupported-kind.default` | `CallableMessage`<[`"kind"`]\> | - | | `unsupported-protocol` | `object` | - | -| `unsupported-protocol.default` | `string` | "Currently we only support HTTP and HTTPS protocols" | +| `unsupported-protocol.default` | `"Currently we only support HTTP and HTTPS protocols"` | "Currently we only support HTTP and HTTPS protocols" | | `use-enum-instead` | `object` | - | -| `use-enum-instead.default` | `string` | "Use enum instead of union of string or number literals. Falling back to the literal type." | +| `use-enum-instead.default` | `"Use enum instead of union of string or number literals. Falling back to the literal type."` | "Use enum instead of union of string or number literals. Falling back to the literal type." | | `wrong-client-decorator` | `object` | - | -| `wrong-client-decorator.default` | `string` | "@client or @operationGroup should decorate namespace or interface in client.tsp" | +| `wrong-client-decorator.default` | `"@client or @operationGroup should decorate namespace or interface in client.tsp"` | "@client or @operationGroup should decorate namespace or interface in client.tsp" | diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/01-get-started.md b/packages/website/versioned_docs/version-latest/migrate-swagger/01-get-started.md new file mode 100644 index 0000000000..7b5f0a66ff --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/01-get-started.md @@ -0,0 +1,76 @@ +--- +title: Getting started +order: 0 +--- + +# Getting started with TypeSpec migration + +We have created a swagger to TypeSpec conversion tool to help take on the bulk of the manual conversion labor. It can handle both data-plane and management-plane swaggers. The produced TypeSpec relies on the Azure.Core and Azure.Resource.Manager libraries. + +**_Important!_** Because TypeSpec is more expressive than Swagger and with the help of evolving Azure libraries, this tool should only be used as an aid in the conversion/migration process, not as the sole tool to produce final version of TypeSpec specs without human inspection, correction and optimization. + +## Steps of running the tool + +- Ensure [Node.js](https://nodejs.org/en/download/) 18.3 LTS or later is installed. +- Install [`@azure-tools/typespec-client-generator-cli`](https://www.npmjs.com/package/@azure-tools/typespec-client-generator-cli): + +### Update existing swagger files + +- Run the tool to sort existing swagger so you can easily compare with TypeSpec generated swagger. Please note this functionality has been added in version 0.10.0. Please update to latest if you don't see this command option. + + ```shell + tsp-client sort-swagger [path to existing swagger] + ``` + +- Please check in the updated swaggers in separate PR prior submitting TypeSpec. This will allow you and reviewers to easily see any changes introduced by the TypeSpec conversion. + +### Generate TypeSpec with converter + +```shell +npm install -g @azure-tools/typespec-client-generator-cli +``` + +- Run the tool from the directory you would like to output your files. + + - Convert a **data-plane** specification: + + ```shell + tsp-client convert --swagger-readme [path to readme.md] + ``` + + - Convert a **control-plane** specification: + + ```shell + tsp-client convert --swagger-readme [path to readme.md] --arm + ``` + +- Review generated TypeSpec +- Layout [the TypeSpec project folders appropriately](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md). +- Leverage standard `tspconfig.yaml` ([Template projects](https://github.com/microsoft/typespec/tree/main/eng/feeds)) and make appropriate output file name changes. +- Ensure it compiles successfully locally + +### Review and adjust the TypeSpec + +This is the probably most critical step of the conversion. As you have pre-sorted the swagger files in the first step, you would see the delta introduced in swagger. + +- Review and make appropriate changes to ensure minimal changes for swagger.You can check the migration Tips for commonly asked questions and solutions. +- Review any custom operation template introduced. The goal is to use the built-in templates from `Azure.Core` and `Azure.Resource.Manager`. +- Review any #FixMe generated by the converter +- Review any warnings +- Avoid large monolithic files. We recommend modularize models and operations into separate files for easy maintenance. + +### Create Spec PR with new TypeSpec project + +- Review CI checks such as breaking changes and other failures. + +## How to Get Help + +- Ask questions in the [TypeSpec Discussions Channel](https://teams.microsoft.com/l/channel/19%3a906c1efbbec54dc8949ac736633e6bdf%40thread.skype/TypeSpec%2520Discussion%2520%25F0%259F%2590%25AE?groupId=3e17dcb0-4257-4a30-b843-77f47f1d4121&tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47) +- Attend TypeSpec office hours. The office hours is listed on top tabs on the discussion channel. +- File issues in the [typespec-azure github repo](https://github.com/azure/typespec-azure/issues) + - For bugs, please include: + - A high-level description of the bug + - Expected and Actual Results + - Repro steps, including any TypeSpec code that you used + - Any error messages you saw, including stack traces. For issues with VS or VS Code tooling see [Troubleshooting VSCode Tooling and Filing Issues](../typespec-getting-started.md#troubleshooting-vscode-tooling-and-filing-issues) +- Schedule review meetings with TypeSpec team. diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/_category_.json b/packages/website/versioned_docs/version-latest/migrate-swagger/_category_.json new file mode 100644 index 0000000000..ece7d1e09f --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Convert swagger to TypeSpec", + "link": { + "type": "generated-index" + } +} diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/_category_.json b/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/_category_.json new file mode 100644 index 0000000000..dc2392e2a5 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Migration Checklists", + "link": { + "type": "generated-index" + } +} diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-arm-tips.md b/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-arm-tips.md new file mode 100644 index 0000000000..3f9073e805 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-arm-tips.md @@ -0,0 +1,85 @@ +# Migrate ARM specs + +The swagger converter will not be able to accurately represent every part of every API in TypeSpec. This document outlines some common changes you may need to make to a converted TypeSpec to make it conform to your existing service API and pass validation checks. + +## Initial pass through checklist + +✅ **DO** name your ARM spec folder with `.Management` suffix. + +✅ **DO** configure your tspconfig.yaml. See: [example tspconfig.yaml][tspconfig] + +✅ **DO** extend the `@azure-tools/typespec-azure-rulesets/resource-manager` linter rule set in your tspconfig.yaml if not already there. Example: + +``` +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" +``` + +✅ **DO** ensure your `@service` and `@server` definitions are correct in main.tsp + +✅ **DO** ensure `interface Operations extends Azure.ResourceManager.Operations {}` is in main.tsp + +✅ **DO** ensure your versions enum is up to date. For an initial migration we recommend migrating your latest stable API version (and the latest preview API version the service may support after the stable API version) + +✅ **DO** ensure you have correct ARM common type version select with each service version. Example: + +``` + ... + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) <--- + v2021_10_01_preview: "2021-10-01-preview", +``` + +✅ **DO** review all enum definitions and add documentation over each value. See: [Documentation in TypeSpec][docs] + +❌ **DON'T** suppress documentation warnings + +✅ **DO** use the [standard Typespec Azure.ResourceManager and Azure.Core operation templates and data-types][standard-templates] wherever possible. Standard operation templates should be used as much as possible + +✅ **DO** use `union` instead of `enum` to define Azure extensible enums. See: [Defining enums for Azure services][no-enum]. Example: + +``` +/** The color of a widget. */ +union WidgetColor { + string, + + /** Red Widget Color */ + Red: "Red", + + /** Green Widget Color */ + Green: "Green", + + /** Blue Widget Color */ + Blue: "Blue", +} +``` + +❌ **DON'T** import or use templates `xxx.Private` namespaces + +✅ **DO** make client customizations in a `client.tsp` file + +❌ **DON'T** import or use `@azure-tools/typespec-client-generator-core` in other files aside from client.tsp. + +✅ **DO** run `tsp compile .` on your specification and address all warnings + +## Additional considerations + +✅ **DO** ensure you pull in the latest `main` from the Azure/azure-rest-api-specs repo to stay up to date with latest dependencies + +✅ **DO** run `npm ci` to get a clean install of the package.json dependencies + +❌ **DON'T** modify the package.json or package-lock.json files at the root of the azure-rest-api-specs repo + +❌ **DON'T** add your own package.json or package-lock.json files in your project directory + +❌ **DON'T** add multiple tspconfig.yaml files for your service specification + +✅ **DO** consult [ci-fix.md][ci-fix] for fixes to common CI errors reported + + + +[tspconfig]: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/contosowidgetmanager/Contoso.Management/tspconfig.yaml +[docs]: https://typespec.io/docs/language-basics/documentation +[standard-templates]: https://azure.github.io/typespec-azure/docs/next/libraries/azure-resource-manager/reference +[ci-fix]: https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/ci-fix.md +[no-enum]: https://azure.github.io/typespec-azure/docs/libraries/azure-core/rules/no-enum diff --git a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/migrate-dp-tips.md b/packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-dp-tips.md similarity index 100% rename from packages/website/versioned_docs/version-latest/howtos/migrate-swagger/migrate-dp-tips.md rename to packages/website/versioned_docs/version-latest/migrate-swagger/checklists/migrate-dp-tips.md diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/faq/_category_.json b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/_category_.json new file mode 100644 index 0000000000..11e74b5bc4 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/_category_.json @@ -0,0 +1,6 @@ +{ + "label": "Migration FAQ", + "link": { + "type": "generated-index" + } +} diff --git a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/migrate-arm-tips.md b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/breakingchange.md similarity index 75% rename from packages/website/versioned_docs/version-latest/howtos/migrate-swagger/migrate-arm-tips.md rename to packages/website/versioned_docs/version-latest/migrate-swagger/faq/breakingchange.md index 0e53c24d34..acdb6158ff 100644 --- a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/migrate-arm-tips.md +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/breakingchange.md @@ -1,10 +1,10 @@ -# Migrate ARM Specs +# Resolving Swagger Breaking Change Violations The Swagger Converter will not be able to accurately represent every part of every API in TypeSpec. This document outlines some common changes you might need to make to a converted TypeSpec to make it conform to your existing service API and pass check-in validations. -## Resolving Swagger Breaking Change Violations +## Migrate ARM Specs ### Changing the Names of Request Payload Parameters @@ -162,58 +162,3 @@ You can generally choose an asynchronous operation template that matches your op ```tsp createOrUpdate is ArmResourceDeleteAsync; ``` - -## Resolving Swagger LintDiff Violations - -### `VisibilityChanged` for `nextLink` and `value` properties - -The issue is that some older specifications marked these values as read only. This has no real impact on the API or client generation, but it is easy to mitigate for the whole specification. To fix, simply add the following augment decorator statements to the `main.tsp` file. - -```tsp -@@visibility(Azure.Core.Page.value, "read"); -@@visibility(Azure.Core.Page.nextLink, "read"); -``` - -### `ProvisioningStateMustBeReadOnly` - -This violation is caused by a problem with the mechanism that ARM Api validation uses to determine if a [property is read-only. You can work around the issue by setting the `use-read-only-status-schema` configuration setting in `azure/tools/typespec-autorest` options to `true` in your `tspConfig.yaml` configuration file: - -```yml -emit: - - "@azure-tools/typespec-autorest" -options: - "@azure-tools/typespec-autorest": - use-read-only-status-schema: true -``` - -### `LroLocationHeader` - -This violation occurs when your spec uses an LRO operation template that follows the older version of LRO standards. Tof fix the issue, you would change the operation template to match the latest recommendation. - -#### PUT Operations - -```tsp - // LRO PUT template with required headers and no 200 response - createOrUpdate is ArmResourceCreateOrReplaceAsync; -``` - -#### PATCH Operations - -```tsp - // LRO PATCH template with required headers, response codes, and lro options - update is ArmResourcePatchAsync; -``` - -### POST(Action) Operations - -```tsp - // LRO POST (Action) template with required headers, response codes, and lro options - doAction is ArmResourceActionAsync; -``` - -### DELETE Operations - -```tsp - // LRO delete template with required headers and no 200 response - delete is ArmResourceDeleteWithoutOKAsync; -``` diff --git a/packages/website/versioned_docs/version-latest/migrate-swagger/faq/lintdiff.md b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/lintdiff.md new file mode 100644 index 0000000000..a601ff111c --- /dev/null +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/lintdiff.md @@ -0,0 +1,62 @@ +# Resolving Swagger Lint Diff Violations + +The Swagger Converter will not be able to accurately represent every part of every API in TypeSpec. This document +outlines some common changes you might need to make to a converted TypeSpec to make it conform to your existing service API and +pass check-in validations. + +## Migrate ARM Specs + +## Resolving Swagger LintDiff Violations + +### `VisibilityChanged` for `nextLink` and `value` properties + +The issue is that some older specifications marked these values as read only. This has no real impact on the API or client generation, but it is easy to mitigate for the whole specification. To fix, simply add the following augment decorator statements to the `main.tsp` file. + +```tsp +@@visibility(Azure.Core.Page.value, "read"); +@@visibility(Azure.Core.Page.nextLink, "read"); +``` + +### `ProvisioningStateMustBeReadOnly` + +This violation is caused by a problem with the mechanism that ARM Api validation uses to determine if a [property is read-only. You can work around the issue by setting the `use-read-only-status-schema` configuration setting in `azure/tools/typespec-autorest` options to `true` in your `tspConfig.yaml` configuration file: + +```yml +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + use-read-only-status-schema: true +``` + +### `LroLocationHeader` + +This violation occurs when your spec uses an LRO operation template that follows the older version of LRO standards. Tof fix the issue, you would change the operation template to match the latest recommendation. + +#### PUT Operations + +```tsp + // LRO PUT template with required headers and no 200 response + createOrUpdate is ArmResourceCreateOrReplaceAsync; +``` + +#### PATCH Operations + +```tsp + // LRO PATCH template with required headers, response codes, and lro options + update is ArmResourcePatchAsync; +``` + +### POST(Action) Operations + +```tsp + // LRO POST (Action) template with required headers, response codes, and lro options + doAction is ArmResourceActionAsync; +``` + +### DELETE Operations + +```tsp + // LRO delete template with required headers and no 200 response + delete is ArmResourceDeleteWithoutOKAsync; +``` diff --git a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/x-ms-examples.md b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/x-ms-examples.md similarity index 98% rename from packages/website/versioned_docs/version-latest/howtos/migrate-swagger/x-ms-examples.md rename to packages/website/versioned_docs/version-latest/migrate-swagger/faq/x-ms-examples.md index 70ec8ee552..1953e550f0 100644 --- a/packages/website/versioned_docs/version-latest/howtos/migrate-swagger/x-ms-examples.md +++ b/packages/website/versioned_docs/version-latest/migrate-swagger/faq/x-ms-examples.md @@ -1,5 +1,5 @@ --- -title: x-ms-examples +title: x-ms-examples example files --- The `x-ms-examples` is automatically populated in the generated OpenAPI 2.0 when using the `typespec-autorest` emitter. diff --git a/packages/website/versioned_docs/version-latest/release-notes/release-2023-04-11.md b/packages/website/versioned_docs/version-latest/release-notes/release-2023-04-11.md index 3d89633778..c99495549f 100644 --- a/packages/website/versioned_docs/version-latest/release-notes/release-2023-04-11.md +++ b/packages/website/versioned_docs/version-latest/release-notes/release-2023-04-11.md @@ -59,9 +59,7 @@ op list(@collectionFormat("multi") @query select: string[]): Pet[]; // Now op list( - @query({ - format: "multi", - }) + @query(#{ explode: true }) select: string[], ): Pet[]; ``` diff --git a/packages/website/versioned_docs/version-latest/release-notes/release-2024-07-16.md b/packages/website/versioned_docs/version-latest/release-notes/release-2024-07-16.md index afd82452a5..f540bb8ad1 100644 --- a/packages/website/versioned_docs/version-latest/release-notes/release-2024-07-16.md +++ b/packages/website/versioned_docs/version-latest/release-notes/release-2024-07-16.md @@ -1,5 +1,5 @@ --- -title: 0.44.0 June 2024 +title: 0.44.0 July 2024 --- # Release Notes Version 0.44.0 - July 2024 diff --git a/packages/website/versioned_docs/version-latest/release-notes/release-2024-08-06.md b/packages/website/versioned_docs/version-latest/release-notes/release-2024-08-06.md new file mode 100644 index 0000000000..1990b1fe35 --- /dev/null +++ b/packages/website/versioned_docs/version-latest/release-notes/release-2024-08-06.md @@ -0,0 +1,50 @@ +--- +title: 0.45.0 August 2024 +--- + +# Release Notes Version 0.45.0 - August 2024 + +See TypeSpec Core 0.59 [release notes](https://typespec.io/docs/release-notes/release-2024-08-06) + +:::warning +This release contains deprecations and breaking changes +::: + +## Features + +### @azure-tools/typespec-autorest + +- [#1275](https://github.com/Azure/typespec-azure/pull/1275) Add support for encoding numeric types as string +- [#1247](https://github.com/Azure/typespec-azure/pull/1247) Add support for URI templates in routes + +### @azure-tools/typespec-azure-core + +- [#1154](https://github.com/Azure/typespec-azure/pull/1154) Add new `@azure-tools/typespec-azure-core/require-versioned` linting rule to require Azure service to use versioning library. +- [#1193](https://github.com/Azure/typespec-azure/pull/1193) Add new linter rule to prevent using items from Private namespace from an external library. + +### @azure-tools/typespec-client-generator-core + +- [#1258](https://github.com/Azure/typespec-azure/pull/1258) add support for encoding an int as a string +- [#1155](https://github.com/Azure/typespec-azure/pull/1155) Make literal endpoints overridable +- [#1148](https://github.com/Azure/typespec-azure/pull/1148) add `@override` decorator that allows authors to explicitly describe their desired client method + +## Bug Fixes + +### @azure-tools/typespec-autorest + +- [#1248](https://github.com/Azure/typespec-azure/pull/1248) Fix issue what allowed `multi` format on a header + +### @azure-tools/typespec-azure-core + +- [#1198](https://github.com/Azure/typespec-azure/pull/1198) Use some more precise types for certain decorators that would have crashed otherwise + +### @azure-tools/typespec-azure-resource-manager + +- [#1187](https://github.com/Azure/typespec-azure/pull/1187) Replace deprecated LocationParameter with LocationResourceParameter + +### @azure-tools/typespec-client-generator-core + +- [#1238](https://github.com/Azure/typespec-azure/pull/1238) TCGC, add `crossLanguageDefinitionId` to `SdkClientType` +- [#1266](https://github.com/Azure/typespec-azure/pull/1266) expose default values for endpoint template arguments through `.clientDefaultValue` +- [#1281](https://github.com/Azure/typespec-azure/pull/1281) Support @multipartBody for `bodyParam` of `SdkHttpOperation` +- [#1233](https://github.com/Azure/typespec-azure/pull/1233) don't move server description onto endpoints parameter diff --git a/packages/website/versioned_sidebars/version-latest-sidebars.json b/packages/website/versioned_sidebars/version-latest-sidebars.json index 9e01c26ed1..efe2ea0f89 100644 --- a/packages/website/versioned_sidebars/version-latest-sidebars.json +++ b/packages/website/versioned_sidebars/version-latest-sidebars.json @@ -32,6 +32,14 @@ "reference/azure-style-guide" ] }, + { + "Convert Swagger to TypeSpec": [ + { + "type": "autogenerated", + "dirName": "migrate-swagger" + } + ] + }, { "Libraries": [ {