@azure-tools/typespec-ts 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/operation/build/all.log +1 -0
- package/.rush/temp/operation/build/state.json +3 -0
- package/.rush/temp/package-deps_build.json +205 -190
- package/.rush/temp/shrinkwrap-deps.json +488 -471
- package/CHANGELOG.md +7 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/modelUtils.d.ts +1 -1
- package/dist/src/modelUtils.d.ts.map +1 -1
- package/dist/src/modelUtils.js +79 -56
- package/dist/src/modelUtils.js.map +1 -1
- package/dist/src/operationUtil.d.ts +26 -0
- package/dist/src/operationUtil.d.ts.map +1 -1
- package/dist/src/operationUtil.js +76 -17
- package/dist/src/operationUtil.js.map +1 -1
- package/dist/src/transform/transform.d.ts.map +1 -1
- package/dist/src/transform/transform.js +9 -6
- package/dist/src/transform/transform.js.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
- package/dist/src/transform/transformApiVersionInfo.js +3 -3
- package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.d.ts +6 -0
- package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -0
- package/dist/src/transform/{transformAnnotationDetails.js → transformHelperFunctionDetails.js} +2 -2
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -0
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +41 -33
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformPaths.d.ts.map +1 -1
- package/dist/src/transform/transformPaths.js +20 -12
- package/dist/src/transform/transformPaths.js.map +1 -1
- package/dist/src/transform/transformResponses.d.ts.map +1 -1
- package/dist/src/transform/transformResponses.js +29 -8
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.js +1 -1
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -38
- package/src/index.ts +2 -0
- package/src/modelUtils.ts +143 -47
- package/src/operationUtil.ts +111 -22
- package/src/transform/transform.ts +20 -5
- package/src/transform/transformApiVersionInfo.ts +18 -3
- package/src/transform/{transformAnnotationDetails.ts → transformHelperFunctionDetails.ts} +3 -3
- package/src/transform/transformParameters.ts +71 -20
- package/src/transform/transformPaths.ts +30 -15
- package/src/transform/transformResponses.ts +50 -6
- package/src/transform/transformSchemas.ts +1 -1
- package/test/commands/cadl-ranch-list.ts +25 -28
- package/test/commands/gen-cadl-ranch.ts +6 -2
- package/test/integration/arrayItemTypes.spec.ts +2 -2
- package/test/integration/azurecore.spec.ts +64 -24
- package/test/integration/collectionFormat.spec.ts +44 -0
- package/test/integration/dictionary.spec.ts +2 -2
- package/test/integration/extensibleEnums.spec.ts +8 -8
- package/test/integration/fixedEnums.spec.ts +7 -7
- package/test/integration/generated/arrays/itemTypes/src/arrayItemTypesClient.ts +5 -1
- package/test/integration/generated/arrays/itemTypes/src/clientDefinitions.ts +20 -20
- package/test/integration/generated/arrays/itemTypes/src/logger.ts +5 -0
- package/test/integration/generated/authentication/apiKey/package.json +1 -1
- package/test/integration/generated/authentication/apiKey/src/authApiKeyClient.ts +6 -2
- package/test/integration/generated/authentication/apiKey/src/logger.ts +5 -0
- package/test/integration/generated/authentication/oauth2/src/authOauth2Client.ts +6 -2
- package/test/integration/generated/authentication/oauth2/src/logger.ts +5 -0
- package/test/integration/generated/authentication/union/src/authUnionClient.ts +6 -2
- package/test/integration/generated/authentication/union/src/logger.ts +5 -0
- package/test/integration/generated/azure/core/package.json +1 -1
- package/test/integration/generated/azure/core/src/azureCoreClient.ts +5 -1
- package/test/integration/generated/azure/core/src/clientDefinitions.ts +22 -8
- package/test/integration/generated/azure/core/src/isUnexpected.ts +18 -7
- package/test/integration/generated/azure/core/src/logger.ts +5 -0
- package/test/integration/generated/azure/core/src/outputModels.ts +7 -0
- package/test/integration/generated/azure/core/src/paginateHelper.ts +55 -5
- package/test/integration/generated/azure/core/src/parameters.ts +1 -0
- package/test/integration/generated/azure/core/src/responses.ts +23 -1
- package/test/integration/generated/azure/core-traits/package.json +1 -1
- package/test/integration/generated/azure/core-traits/src/azureCoreTraitsClient.ts +5 -1
- package/test/integration/generated/azure/core-traits/src/clientDefinitions.ts +7 -25
- package/test/integration/generated/azure/core-traits/src/isUnexpected.ts +6 -19
- package/test/integration/generated/azure/core-traits/src/logger.ts +5 -0
- package/test/integration/generated/azure/core-traits/src/outputModels.ts +15 -0
- package/test/integration/generated/azure/core-traits/src/parameters.ts +4 -19
- package/test/integration/generated/azure/core-traits/src/responses.ts +6 -30
- package/test/integration/generated/dictionary/package.json +1 -1
- package/test/integration/generated/dictionary/src/clientDefinitions.ts +22 -22
- package/test/integration/generated/dictionary/src/dictClient.ts +5 -1
- package/test/integration/generated/dictionary/src/logger.ts +5 -0
- package/test/integration/generated/enums/extensible/README.md +3 -3
- package/test/integration/generated/enums/extensible/package.json +1 -1
- package/test/integration/generated/enums/extensible/src/clientDefinitions.ts +5 -5
- package/test/integration/generated/enums/extensible/src/index.ts +3 -3
- package/test/integration/generated/enums/extensible/src/logger.ts +5 -0
- package/test/integration/generated/enums/extensible/src/{enumsExtensible.ts → typeEnumExtensible.ts} +9 -5
- package/test/integration/generated/enums/fixed/README.md +3 -3
- package/test/integration/generated/enums/fixed/package.json +1 -1
- package/test/integration/generated/enums/fixed/src/clientDefinitions.ts +5 -5
- package/test/integration/generated/enums/fixed/src/index.ts +3 -3
- package/test/integration/generated/enums/fixed/src/logger.ts +5 -0
- package/test/integration/generated/enums/fixed/src/{enumsFixed.ts → typeEnumFixed.ts} +9 -5
- package/test/integration/generated/internal/src/clientDefinitions.ts +38 -12
- package/test/integration/generated/internal/src/index.ts +0 -1
- package/test/integration/generated/internal/src/internalClient.ts +5 -1
- package/test/integration/generated/internal/src/logger.ts +5 -0
- package/test/integration/generated/internal/src/outputModels.ts +9 -5
- package/test/integration/generated/internal/src/parameters.ts +32 -8
- package/test/integration/generated/internal/src/responses.ts +18 -5
- package/test/integration/generated/lro/lroCore/README.md +3 -3
- package/test/integration/generated/lro/lroCore/package.json +2 -2
- package/test/integration/generated/lro/lroCore/src/clientDefinitions.ts +8 -5
- package/test/integration/generated/lro/lroCore/src/index.ts +3 -3
- package/test/integration/generated/lro/lroCore/src/isUnexpected.ts +14 -7
- package/test/integration/generated/lro/lroCore/src/logger.ts +5 -0
- package/test/integration/generated/lro/lroCore/src/pollingHelper.ts +38 -0
- package/test/integration/generated/lro/lroCore/src/responses.ts +18 -0
- package/test/integration/generated/lro/lroCore/src/{azureLroCore.ts → specsAzureCoreLroStandard.ts} +9 -5
- package/test/integration/generated/lro/{lroBasic → lroRPC}/README.md +7 -7
- package/test/integration/generated/lro/{lroBasic → lroRPC}/api-extractor.json +1 -1
- package/test/integration/generated/lro/{lroBasic → lroRPC}/package.json +6 -6
- package/test/integration/generated/lro/lroRPC/src/clientDefinitions.ts +79 -0
- package/test/integration/generated/{resiliency/devDriven → lro/lroRPC}/src/index.ts +4 -4
- package/test/integration/generated/{resiliency/devDriven → lro/lroRPC}/src/isUnexpected.ts +57 -21
- package/test/integration/generated/lro/lroRPC/src/logger.ts +5 -0
- package/test/integration/generated/lro/lroRPC/src/models.ts +8 -0
- package/test/integration/generated/lro/lroRPC/src/outputModels.ts +40 -0
- package/test/integration/generated/lro/lroRPC/src/parameters.ts +20 -0
- package/test/integration/generated/lro/{lroBasic → lroRPC}/src/pollingHelper.ts +52 -0
- package/test/integration/generated/lro/lroRPC/src/responses.ts +124 -0
- package/test/integration/generated/lro/lroRPC/src/specsAzureCoreLroRpc.ts +35 -0
- package/test/integration/generated/lro/{lroBasic → lroRPC}/tspconfig.yaml +2 -2
- package/test/integration/generated/models/inheritance/README.md +3 -3
- package/test/integration/generated/models/inheritance/package.json +1 -1
- package/test/integration/generated/models/inheritance/src/clientDefinitions.ts +13 -11
- package/test/integration/generated/models/inheritance/src/index.ts +3 -3
- package/test/integration/generated/models/inheritance/src/logger.ts +5 -0
- package/test/integration/generated/models/inheritance/src/{modelsInheritance.ts → typeModelInheritance.ts} +9 -5
- package/test/integration/generated/models/propertyNullable/README.md +3 -3
- package/test/integration/generated/models/propertyNullable/package.json +1 -1
- package/test/integration/generated/models/propertyNullable/src/clientDefinitions.ts +43 -43
- package/test/integration/generated/models/propertyNullable/src/index.ts +3 -3
- package/test/integration/generated/models/propertyNullable/src/logger.ts +5 -0
- package/test/integration/generated/models/propertyNullable/src/parameters.ts +14 -12
- package/test/integration/generated/models/propertyNullable/src/responses.ts +4 -4
- package/test/integration/generated/models/propertyNullable/src/{modelsPropertyNullable.ts → typePropertyNullable.ts} +9 -5
- package/test/integration/generated/models/propertyOptional/README.md +3 -3
- package/test/integration/generated/models/propertyOptional/package.json +1 -1
- package/test/integration/generated/models/propertyOptional/src/clientDefinitions.ts +47 -47
- package/test/integration/generated/models/propertyOptional/src/index.ts +3 -3
- package/test/integration/generated/models/propertyOptional/src/logger.ts +5 -0
- package/test/integration/generated/models/propertyOptional/src/parameters.ts +7 -6
- package/test/integration/generated/models/propertyOptional/src/responses.ts +4 -4
- package/test/integration/generated/models/propertyOptional/src/{modelsPropertyOptional.ts → typePropertyOptional.ts} +9 -5
- package/test/integration/generated/models/propertyTypes/README.md +3 -3
- package/test/integration/generated/models/propertyTypes/package.json +1 -1
- package/test/integration/generated/models/propertyTypes/src/clientDefinitions.ts +123 -47
- package/test/integration/generated/models/propertyTypes/src/index.ts +3 -3
- package/test/integration/generated/models/propertyTypes/src/logger.ts +5 -0
- package/test/integration/generated/models/propertyTypes/src/models.ts +24 -0
- package/test/integration/generated/models/propertyTypes/src/outputModels.ts +24 -0
- package/test/integration/generated/models/propertyTypes/src/parameters.ts +48 -6
- package/test/integration/generated/models/propertyTypes/src/responses.ts +52 -4
- package/test/integration/generated/models/propertyTypes/src/{modelsPropertyTypes.ts → typePropertyValueTypes.ts} +9 -5
- package/test/integration/generated/models/usage/README.md +3 -3
- package/test/integration/generated/models/usage/package.json +1 -1
- package/test/integration/generated/models/usage/src/clientDefinitions.ts +7 -7
- package/test/integration/generated/models/usage/src/index.ts +3 -3
- package/test/integration/generated/models/usage/src/logger.ts +5 -0
- package/test/integration/generated/models/usage/src/{modelsUsage.ts → typeModelUsage.ts} +9 -5
- package/test/integration/generated/models/visibility/README.md +3 -3
- package/test/integration/generated/models/visibility/package.json +1 -1
- package/test/integration/generated/models/visibility/src/clientDefinitions.ts +3 -3
- package/test/integration/generated/models/visibility/src/index.ts +3 -3
- package/test/integration/generated/models/visibility/src/logger.ts +5 -0
- package/test/integration/generated/models/visibility/src/{modelsVisibilityAutomatic.ts → typeModelVisibility.ts} +9 -5
- package/test/integration/generated/parameters/collection-format/src/clientDefinitions.ts +24 -0
- package/test/integration/generated/parameters/collection-format/src/collectionFormatClient.ts +5 -1
- package/test/integration/generated/parameters/collection-format/src/logger.ts +5 -0
- package/test/integration/generated/parameters/collection-format/src/parameters.ts +33 -0
- package/test/integration/generated/parameters/collection-format/src/responses.ts +15 -0
- package/test/integration/generated/parameters/collection-format/src/serializeHelper.ts +12 -0
- package/test/integration/generated/parameters/spread/src/clientDefinitions.ts +61 -0
- package/test/integration/generated/{lro/lroBasic → parameters/spread}/src/index.ts +4 -5
- package/test/integration/generated/parameters/spread/src/logger.ts +5 -0
- package/test/integration/generated/{lro/lroBasic/src/outputModels.ts → parameters/spread/src/models.ts} +2 -3
- package/test/integration/generated/parameters/spread/src/parameters.ts +61 -0
- package/test/integration/generated/{lro/lroBasic/src/azureLro.ts → parameters/spread/src/parametersSpread.ts} +10 -6
- package/test/integration/generated/parameters/spread/src/responses.ts +25 -0
- package/test/integration/generated/{resiliency/devDriven → parameters/spread}/tspconfig.yaml +2 -4
- package/test/integration/generated/projection/src/clientDefinitions.ts +47 -21
- package/test/integration/generated/projection/src/logger.ts +5 -0
- package/test/integration/generated/projection/src/models.ts +18 -7
- package/test/integration/generated/projection/src/parameters.ts +32 -10
- package/test/integration/generated/projection/src/projectionClient.ts +5 -1
- package/test/integration/generated/projection/src/responses.ts +18 -3
- package/test/integration/generated/resiliency/srvDriven1/README.md +4 -4
- package/test/integration/generated/resiliency/srvDriven1/package.json +1 -1
- package/test/integration/generated/resiliency/srvDriven1/src/clientDefinitions.ts +25 -49
- package/test/integration/generated/resiliency/srvDriven1/src/index.ts +3 -5
- package/test/integration/generated/resiliency/srvDriven1/src/logger.ts +5 -0
- package/test/integration/generated/resiliency/srvDriven1/src/parameters.ts +11 -32
- package/test/integration/generated/resiliency/srvDriven1/src/responses.ts +9 -24
- package/test/integration/generated/resiliency/srvDriven1/src/serviceDrivenOldClient.ts +43 -0
- package/test/integration/generated/resiliency/srvDriven1/tspconfig.yaml +1 -0
- package/test/integration/generated/resiliency/srvDriven2/README.md +13 -4
- package/test/integration/generated/resiliency/srvDriven2/package.json +1 -1
- package/test/integration/generated/resiliency/srvDriven2/src/clientDefinitions.ts +32 -68
- package/test/integration/generated/resiliency/srvDriven2/src/index.ts +3 -5
- package/test/integration/generated/resiliency/srvDriven2/src/logger.ts +5 -0
- package/test/integration/generated/resiliency/srvDriven2/src/parameters.ts +19 -42
- package/test/integration/generated/resiliency/srvDriven2/src/responses.ts +10 -31
- package/test/integration/generated/resiliency/srvDriven2/src/serviceDrivenNewClient.ts +43 -0
- package/test/integration/generated/resiliency/srvDriven2/tspconfig.yaml +1 -0
- package/test/integration/generated/server/path/multiple/src/logger.ts +5 -0
- package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts +6 -2
- package/test/integration/generated/server/path/single/src/logger.ts +5 -0
- package/test/integration/generated/server/path/single/src/singleParamInServerPathClient.ts +6 -2
- package/test/integration/generated/specialWords/src/logger.ts +5 -0
- package/test/integration/generated/specialWords/src/specialWordsClient.ts +5 -1
- package/test/integration/generated/unions/src/clientDefinitions.ts +8 -8
- package/test/integration/generated/unions/src/logger.ts +5 -0
- package/test/integration/generated/unions/src/unionsClient.ts +5 -1
- package/test/integration/internal.spec.ts +45 -12
- package/test/integration/lroCore.spec.ts +89 -0
- package/test/integration/modelInheritance.spec.ts +13 -13
- package/test/integration/modelPropertyNullable.spec.ts +8 -8
- package/test/integration/modelPropertyOptional.spec.ts +32 -32
- package/test/integration/modelPropertyType.spec.ts +22 -6
- package/test/integration/modelUsage.spec.ts +7 -7
- package/test/integration/projection.spec.ts +62 -15
- package/test/integration/resiliencyDpgCustomization.spec.ts +133 -38
- package/test/integration/spreadParameters.spec.ts +82 -0
- package/test/integration/unions.spec.ts +4 -4
- package/test/unit/apiVersion.spec.ts +19 -7
- package/test/unit/clientFactoryGenerator.spec.ts +44 -16
- package/test/unit/modelsGenerator.spec.ts +212 -2
- package/test/unit/util/emitUtil.ts +13 -4
- package/test/unit/util/testUtil.ts +7 -2
- package/typespec-ts.build.log +0 -1
- package/dist/src/transform/transformAnnotationDetails.d.ts +0 -6
- package/dist/src/transform/transformAnnotationDetails.d.ts.map +0 -1
- package/dist/src/transform/transformAnnotationDetails.js.map +0 -1
- package/test/integration/generated/internal/src/models.ts +0 -8
- package/test/integration/generated/lro/lroBasic/src/clientDefinitions.ts +0 -37
- package/test/integration/generated/lro/lroBasic/src/parameters.ts +0 -8
- package/test/integration/generated/lro/lroBasic/src/responses.ts +0 -23
- package/test/integration/generated/resiliency/devDriven/.eslintrc.json +0 -11
- package/test/integration/generated/resiliency/devDriven/README.md +0 -56
- package/test/integration/generated/resiliency/devDriven/api-extractor.json +0 -18
- package/test/integration/generated/resiliency/devDriven/package.json +0 -81
- package/test/integration/generated/resiliency/devDriven/rollup.config.js +0 -118
- package/test/integration/generated/resiliency/devDriven/src/clientDefinitions.ts +0 -75
- package/test/integration/generated/resiliency/devDriven/src/models.ts +0 -8
- package/test/integration/generated/resiliency/devDriven/src/outputModels.ts +0 -25
- package/test/integration/generated/resiliency/devDriven/src/paginateHelper.ts +0 -154
- package/test/integration/generated/resiliency/devDriven/src/parameters.ts +0 -17
- package/test/integration/generated/resiliency/devDriven/src/resiliencyDevDriven.ts +0 -31
- package/test/integration/generated/resiliency/devDriven/src/responses.ts +0 -62
- package/test/integration/generated/resiliency/devDriven/tsconfig.json +0 -25
- package/test/integration/generated/resiliency/srvDriven1/src/models.ts +0 -6
- package/test/integration/generated/resiliency/srvDriven1/src/outputModels.ts +0 -6
- package/test/integration/generated/resiliency/srvDriven1/src/resiliencyServiceDriven1.ts +0 -31
- package/test/integration/generated/resiliency/srvDriven2/src/models.ts +0 -6
- package/test/integration/generated/resiliency/srvDriven2/src/outputModels.ts +0 -6
- package/test/integration/generated/resiliency/srvDriven2/src/resiliencyServiceDriven2.ts +0 -31
- package/test/integration/helloWorld.spec.ts +0 -20
- package/test/integration/lroBasic.spec.ts +0 -25
- /package/test/integration/generated/lro/{lroBasic → lroRPC}/.eslintrc.json +0 -0
- /package/test/integration/generated/lro/{lroBasic → lroRPC}/rollup.config.js +0 -0
- /package/test/integration/generated/lro/{lroBasic → lroRPC}/tsconfig.json +0 -0
|
@@ -2,33 +2,18 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { HttpResponse } from "@azure-rest/core-client";
|
|
5
|
-
import { MessageOutput } from "./outputModels";
|
|
6
5
|
|
|
7
|
-
/**
|
|
8
|
-
export interface
|
|
9
|
-
status: "
|
|
6
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
7
|
+
export interface FromNone204Response extends HttpResponse {
|
|
8
|
+
status: "204";
|
|
10
9
|
}
|
|
11
10
|
|
|
12
|
-
/**
|
|
13
|
-
export interface
|
|
14
|
-
status: "
|
|
15
|
-
body: MessageOutput;
|
|
11
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
12
|
+
export interface FromOneRequired204Response extends HttpResponse {
|
|
13
|
+
status: "204";
|
|
16
14
|
}
|
|
17
15
|
|
|
18
|
-
/**
|
|
19
|
-
export interface
|
|
20
|
-
status: "
|
|
21
|
-
body: MessageOutput;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Answer from service */
|
|
25
|
-
export interface PostParameters200Response extends HttpResponse {
|
|
26
|
-
status: "200";
|
|
27
|
-
body: MessageOutput;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/** Answer from service */
|
|
31
|
-
export interface GetOptional200Response extends HttpResponse {
|
|
32
|
-
status: "200";
|
|
33
|
-
body: MessageOutput;
|
|
16
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
17
|
+
export interface FromOneOptional204Response extends HttpResponse {
|
|
18
|
+
status: "204";
|
|
34
19
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
|
|
4
|
+
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
6
|
+
import { ServiceDrivenOldClient } from "./clientDefinitions";
|
|
7
|
+
|
|
8
|
+
export interface ServiceDrivenOldClientOptions extends ClientOptions {
|
|
9
|
+
apiVersion?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Initialize a new instance of `ServiceDrivenOldClient`
|
|
14
|
+
* @param serviceDeploymentVersion - Pass in either 'v1' or 'v2'. This represents a version of the service deployment in history. 'v1' is for the deployment when the service had only one api version. 'v2' is for the deployment when the service had api-versions 'v1' and 'v2'.
|
|
15
|
+
* @param options - the parameter for all optional parameters
|
|
16
|
+
*/
|
|
17
|
+
export default function createClient(
|
|
18
|
+
serviceDeploymentVersion: string,
|
|
19
|
+
options: ServiceDrivenOldClientOptions = {}
|
|
20
|
+
): ServiceDrivenOldClient {
|
|
21
|
+
const apiVersion = options.apiVersion ?? "v1";
|
|
22
|
+
const baseUrl =
|
|
23
|
+
options.baseUrl ??
|
|
24
|
+
`http://localhost:3000/resiliency/service-driven/client:v1/service:${serviceDeploymentVersion}/api-version:${apiVersion}`;
|
|
25
|
+
const userAgentInfo = `azsdk-js-srv-driven-1-rest/1.0.0`;
|
|
26
|
+
const userAgentPrefix =
|
|
27
|
+
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
28
|
+
? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
|
|
29
|
+
: `${userAgentInfo}`;
|
|
30
|
+
options = {
|
|
31
|
+
...options,
|
|
32
|
+
userAgentOptions: {
|
|
33
|
+
userAgentPrefix,
|
|
34
|
+
},
|
|
35
|
+
loggingOptions: {
|
|
36
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const client = getClient(baseUrl, options) as ServiceDrivenOldClient;
|
|
41
|
+
|
|
42
|
+
return client;
|
|
43
|
+
}
|
|
@@ -1,6 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ServiceDrivenNew REST client library for JavaScript
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Test that we can grow up a service spec and service deployment into a multi-versioned service with full client support.
|
|
4
|
+
|
|
5
|
+
There are three concepts that should be clarified:
|
|
6
|
+
1. Client spec version: refers to the spec that the client is generated from. 'v1' is a client generated from old.tsp and 'v2' is a client generated from main.tsp.
|
|
7
|
+
2. Service deployment version: refers to a deployment version of the service. 'v1' represents the initial deployment of the service with a single api version. 'v2' represents the new deployment of a service with multiple api versions
|
|
8
|
+
3. Api version: The initial deployment of the service only supports api version 'v1'. The new deployment of the service supports api versions 'v1' and 'v2'.
|
|
9
|
+
|
|
10
|
+
We test the following configurations from this service spec:
|
|
11
|
+
- A client generated from the second service spec can call the second deployment of a service with api version v1
|
|
12
|
+
- A client generated from the second service spec can call the second deployment of a service with api version v2
|
|
4
13
|
|
|
5
14
|
**Please rely heavily on our [REST client docs](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/rest-clients.md) to use this library**
|
|
6
15
|
|
|
@@ -20,13 +29,13 @@ Key links:
|
|
|
20
29
|
|
|
21
30
|
### Install the `@msinternal/srv-driven-2` package
|
|
22
31
|
|
|
23
|
-
Install the
|
|
32
|
+
Install the ServiceDrivenNew REST client REST client library for JavaScript with `npm`:
|
|
24
33
|
|
|
25
34
|
```bash
|
|
26
35
|
npm install @msinternal/srv-driven-2
|
|
27
36
|
```
|
|
28
37
|
|
|
29
|
-
### Create and authenticate a `
|
|
38
|
+
### Create and authenticate a `ServiceDrivenNewClient`
|
|
30
39
|
|
|
31
40
|
To use an [Azure Active Directory (AAD) token credential](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-with-a-pre-fetched-access-token),
|
|
32
41
|
provide an instance of the desired credential type obtained from the
|
|
@@ -2,92 +2,56 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
PostParametersParameters,
|
|
10
|
-
GetOptionalParameters,
|
|
11
|
-
GetNewOperationParameters,
|
|
5
|
+
AddOperationParameters,
|
|
6
|
+
FromNoneParameters,
|
|
7
|
+
FromOneRequiredParameters,
|
|
8
|
+
FromOneOptionalParameters,
|
|
12
9
|
} from "./parameters";
|
|
13
10
|
import {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
PostParameters200Response,
|
|
19
|
-
GetOptional200Response,
|
|
20
|
-
GetNewOperation200Response,
|
|
11
|
+
AddOperation204Response,
|
|
12
|
+
FromNone204Response,
|
|
13
|
+
FromOneRequired204Response,
|
|
14
|
+
FromOneOptional204Response,
|
|
21
15
|
} from "./responses";
|
|
22
16
|
import { Client, StreamableMethod } from "@azure-rest/core-client";
|
|
23
17
|
|
|
24
|
-
export interface
|
|
25
|
-
/**
|
|
26
|
-
* Head request, no params.
|
|
27
|
-
* Initially has no query parameters. After evolution, a new optional query parameter is added
|
|
28
|
-
*/
|
|
29
|
-
head(
|
|
30
|
-
options?: HeadNoParamsParameters
|
|
31
|
-
): StreamableMethod<HeadNoParams200Response>;
|
|
32
|
-
/**
|
|
33
|
-
* Get true Boolean value on path.
|
|
34
|
-
* Initially only has one required Query Parameter. After evolution, a new optional query parameter is added
|
|
35
|
-
*/
|
|
36
|
-
get(options: GetRequiredParameters): StreamableMethod<GetRequired200Response>;
|
|
37
|
-
/** Initially has one required query parameter and one optional query parameter. After evolution, a new optional query parameter is added */
|
|
38
|
-
put(
|
|
39
|
-
options: PutRequiredOptionalParameters
|
|
40
|
-
): StreamableMethod<PutRequiredOptional200Response>;
|
|
41
|
-
/**
|
|
42
|
-
* Delete something.
|
|
43
|
-
* Initially the path exists but there is no delete method. After evolution this is a new method in a known path
|
|
44
|
-
*/
|
|
18
|
+
export interface AddOperation {
|
|
19
|
+
/** Added operation */
|
|
45
20
|
delete(
|
|
46
|
-
options?:
|
|
47
|
-
): StreamableMethod<
|
|
21
|
+
options?: AddOperationParameters
|
|
22
|
+
): StreamableMethod<AddOperation204Response>;
|
|
48
23
|
}
|
|
49
24
|
|
|
50
|
-
export interface
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
options: PostParametersParameters
|
|
54
|
-
): StreamableMethod<PostParameters200Response>;
|
|
25
|
+
export interface FromNone {
|
|
26
|
+
/** Test that grew up from accepting no parameters to an optional input parameter */
|
|
27
|
+
head(options?: FromNoneParameters): StreamableMethod<FromNone204Response>;
|
|
55
28
|
}
|
|
56
29
|
|
|
57
|
-
export interface
|
|
58
|
-
/**
|
|
59
|
-
* Get true Boolean value on path.
|
|
60
|
-
* Initially has one optional query parameter. After evolution, a new optional query parameter is added
|
|
61
|
-
*/
|
|
30
|
+
export interface FromOneRequired {
|
|
31
|
+
/** Operation that grew up from accepting one required parameter to accepting a required parameter and an optional parameter. */
|
|
62
32
|
get(
|
|
63
|
-
options
|
|
64
|
-
): StreamableMethod<
|
|
33
|
+
options: FromOneRequiredParameters
|
|
34
|
+
): StreamableMethod<FromOneRequired204Response>;
|
|
65
35
|
}
|
|
66
36
|
|
|
67
|
-
export interface
|
|
68
|
-
/**
|
|
69
|
-
* I'm a new operation.
|
|
70
|
-
* Initially neither path or method exist for this operation. After evolution, this is a new method in a new path
|
|
71
|
-
*/
|
|
37
|
+
export interface FromOneOptional {
|
|
38
|
+
/** Tests that we can grow up an operation from accepting one optional parameter to accepting two optional parameters. */
|
|
72
39
|
get(
|
|
73
|
-
options?:
|
|
74
|
-
): StreamableMethod<
|
|
40
|
+
options?: FromOneOptionalParameters
|
|
41
|
+
): StreamableMethod<FromOneOptional204Response>;
|
|
75
42
|
}
|
|
76
43
|
|
|
77
44
|
export interface Routes {
|
|
78
|
-
/** Resource for '/
|
|
79
|
-
(path: "/
|
|
80
|
-
/** Resource for '/
|
|
81
|
-
(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
(path: "/serviceDriven2/serviceDriven/moreParameters"): GetOptional;
|
|
87
|
-
/** Resource for '/serviceDriven2/serviceDriven/newPath' has methods for the following verbs: get */
|
|
88
|
-
(path: "/serviceDriven2/serviceDriven/newPath"): GetNewOperation;
|
|
45
|
+
/** Resource for '/add-operation' has methods for the following verbs: delete */
|
|
46
|
+
(path: "/add-operation"): AddOperation;
|
|
47
|
+
/** Resource for '/add-optional-param/from-none' has methods for the following verbs: head */
|
|
48
|
+
(path: "/add-optional-param/from-none"): FromNone;
|
|
49
|
+
/** Resource for '/add-optional-param/from-one-required' has methods for the following verbs: get */
|
|
50
|
+
(path: "/add-optional-param/from-one-required"): FromOneRequired;
|
|
51
|
+
/** Resource for '/add-optional-param/from-one-optional' has methods for the following verbs: get */
|
|
52
|
+
(path: "/add-optional-param/from-one-optional"): FromOneOptional;
|
|
89
53
|
}
|
|
90
54
|
|
|
91
|
-
export type
|
|
55
|
+
export type ServiceDrivenNewClient = Client & {
|
|
92
56
|
path: Routes;
|
|
93
57
|
};
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
|
-
import
|
|
4
|
+
import ServiceDrivenNewClient from "./serviceDrivenNewClient";
|
|
5
5
|
|
|
6
|
-
export * from "./
|
|
6
|
+
export * from "./serviceDrivenNewClient";
|
|
7
7
|
export * from "./parameters";
|
|
8
8
|
export * from "./responses";
|
|
9
9
|
export * from "./clientDefinitions";
|
|
10
|
-
export * from "./models";
|
|
11
|
-
export * from "./outputModels";
|
|
12
10
|
|
|
13
|
-
export default
|
|
11
|
+
export default ServiceDrivenNewClient;
|
|
@@ -2,67 +2,44 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { RequestParameters } from "@azure-rest/core-client";
|
|
5
|
-
import { PostInput } from "./models";
|
|
6
5
|
|
|
7
|
-
export
|
|
8
|
-
/** I'm a new input optional parameter */
|
|
9
|
-
new_parameter?: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export interface HeadNoParamsQueryParam {
|
|
13
|
-
queryParameters?: HeadNoParamsQueryParamProperties;
|
|
14
|
-
}
|
|
6
|
+
export type AddOperationParameters = RequestParameters;
|
|
15
7
|
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
export interface GetRequiredQueryParamProperties {
|
|
19
|
-
/** I am a required parameter */
|
|
20
|
-
parameter: string;
|
|
8
|
+
export interface FromNoneQueryParamProperties {
|
|
21
9
|
/** I'm a new input optional parameter */
|
|
22
|
-
|
|
10
|
+
"new-parameter"?: string;
|
|
23
11
|
}
|
|
24
12
|
|
|
25
|
-
export interface
|
|
26
|
-
queryParameters
|
|
13
|
+
export interface FromNoneQueryParam {
|
|
14
|
+
queryParameters?: FromNoneQueryParamProperties;
|
|
27
15
|
}
|
|
28
16
|
|
|
29
|
-
export type
|
|
17
|
+
export type FromNoneParameters = FromNoneQueryParam & RequestParameters;
|
|
30
18
|
|
|
31
|
-
export interface
|
|
19
|
+
export interface FromOneRequiredQueryParamProperties {
|
|
32
20
|
/** I am a required parameter */
|
|
33
|
-
|
|
34
|
-
/** I am an optional parameter */
|
|
35
|
-
optionalParam?: string;
|
|
21
|
+
parameter: string;
|
|
36
22
|
/** I'm a new input optional parameter */
|
|
37
|
-
|
|
23
|
+
"new-parameter"?: string;
|
|
38
24
|
}
|
|
39
25
|
|
|
40
|
-
export interface
|
|
41
|
-
queryParameters:
|
|
26
|
+
export interface FromOneRequiredQueryParam {
|
|
27
|
+
queryParameters: FromOneRequiredQueryParamProperties;
|
|
42
28
|
}
|
|
43
29
|
|
|
44
|
-
export type
|
|
30
|
+
export type FromOneRequiredParameters = FromOneRequiredQueryParam &
|
|
45
31
|
RequestParameters;
|
|
46
32
|
|
|
47
|
-
export interface
|
|
48
|
-
/** I am a body parameter. My only valid JSON entry is { url: "http://example.org/myimage.jpeg" } */
|
|
49
|
-
body: PostInput;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export type PostParametersParameters = PostParametersBodyParam &
|
|
53
|
-
RequestParameters;
|
|
54
|
-
export type DeleteParametersParameters = RequestParameters;
|
|
55
|
-
|
|
56
|
-
export interface GetOptionalQueryParamProperties {
|
|
33
|
+
export interface FromOneOptionalQueryParamProperties {
|
|
57
34
|
/** I am an optional parameter */
|
|
58
|
-
|
|
35
|
+
parameter?: string;
|
|
59
36
|
/** I'm a new input optional parameter */
|
|
60
|
-
|
|
37
|
+
"new-parameter"?: string;
|
|
61
38
|
}
|
|
62
39
|
|
|
63
|
-
export interface
|
|
64
|
-
queryParameters?:
|
|
40
|
+
export interface FromOneOptionalQueryParam {
|
|
41
|
+
queryParameters?: FromOneOptionalQueryParamProperties;
|
|
65
42
|
}
|
|
66
43
|
|
|
67
|
-
export type
|
|
68
|
-
|
|
44
|
+
export type FromOneOptionalParameters = FromOneOptionalQueryParam &
|
|
45
|
+
RequestParameters;
|
|
@@ -2,44 +2,23 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { HttpResponse } from "@azure-rest/core-client";
|
|
5
|
-
import { MessageOutput } from "./outputModels";
|
|
6
5
|
|
|
7
|
-
/**
|
|
8
|
-
export interface
|
|
9
|
-
status: "
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/** Answer from service */
|
|
13
|
-
export interface GetRequired200Response extends HttpResponse {
|
|
14
|
-
status: "200";
|
|
15
|
-
body: MessageOutput;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Answer from service */
|
|
19
|
-
export interface PutRequiredOptional200Response extends HttpResponse {
|
|
20
|
-
status: "200";
|
|
21
|
-
body: MessageOutput;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Answer from service */
|
|
25
|
-
export interface PostParameters200Response extends HttpResponse {
|
|
26
|
-
status: "200";
|
|
27
|
-
body: MessageOutput;
|
|
6
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
7
|
+
export interface AddOperation204Response extends HttpResponse {
|
|
8
|
+
status: "204";
|
|
28
9
|
}
|
|
29
10
|
|
|
30
11
|
/** There is no content to send for this request, but the headers may be useful. */
|
|
31
|
-
export interface
|
|
12
|
+
export interface FromNone204Response extends HttpResponse {
|
|
32
13
|
status: "204";
|
|
33
14
|
}
|
|
34
15
|
|
|
35
|
-
/**
|
|
36
|
-
export interface
|
|
37
|
-
status: "
|
|
38
|
-
body: MessageOutput;
|
|
16
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
17
|
+
export interface FromOneRequired204Response extends HttpResponse {
|
|
18
|
+
status: "204";
|
|
39
19
|
}
|
|
40
20
|
|
|
41
|
-
/**
|
|
42
|
-
export interface
|
|
43
|
-
status: "
|
|
44
|
-
body: MessageOutput;
|
|
21
|
+
/** There is no content to send for this request, but the headers may be useful. */
|
|
22
|
+
export interface FromOneOptional204Response extends HttpResponse {
|
|
23
|
+
status: "204";
|
|
45
24
|
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT license.
|
|
3
|
+
|
|
4
|
+
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
6
|
+
import { ServiceDrivenNewClient } from "./clientDefinitions";
|
|
7
|
+
|
|
8
|
+
export interface ServiceDrivenNewClientOptions extends ClientOptions {
|
|
9
|
+
apiVersion?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Initialize a new instance of `ServiceDrivenNewClient`
|
|
14
|
+
* @param serviceDeploymentVersion - Pass in either 'v1' or 'v2'. This represents a version of the service deployment in history. 'v1' is for the deployment when the service had only one api version. 'v2' is for the deployment when the service had api-versions 'v1' and 'v2'.
|
|
15
|
+
* @param options - the parameter for all optional parameters
|
|
16
|
+
*/
|
|
17
|
+
export default function createClient(
|
|
18
|
+
serviceDeploymentVersion: string,
|
|
19
|
+
options: ServiceDrivenNewClientOptions = {}
|
|
20
|
+
): ServiceDrivenNewClient {
|
|
21
|
+
const apiVersion = options.apiVersion ?? "v2";
|
|
22
|
+
const baseUrl =
|
|
23
|
+
options.baseUrl ??
|
|
24
|
+
`http://localhost:3000/resiliency/service-driven/client:v2/service:${serviceDeploymentVersion}/api-version:${apiVersion}`;
|
|
25
|
+
const userAgentInfo = `azsdk-js-srv-driven-2-rest/1.0.0`;
|
|
26
|
+
const userAgentPrefix =
|
|
27
|
+
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
|
28
|
+
? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
|
|
29
|
+
: `${userAgentInfo}`;
|
|
30
|
+
options = {
|
|
31
|
+
...options,
|
|
32
|
+
userAgentOptions: {
|
|
33
|
+
userAgentPrefix,
|
|
34
|
+
},
|
|
35
|
+
loggingOptions: {
|
|
36
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const client = getClient(baseUrl, options) as ServiceDrivenNewClient;
|
|
41
|
+
|
|
42
|
+
return client;
|
|
43
|
+
}
|
package/test/integration/generated/server/path/multiple/src/multipleParamInServerPathClient.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
5
6
|
import { MultipleParamInServerPathClient } from "./clientDefinitions";
|
|
6
7
|
|
|
7
8
|
export interface MultipleParamInServerPathClientOptions extends ClientOptions {
|
|
@@ -10,8 +11,8 @@ export interface MultipleParamInServerPathClientOptions extends ClientOptions {
|
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Initialize a new instance of `MultipleParamInServerPathClient`
|
|
13
|
-
* @param endpoint
|
|
14
|
-
* @param options
|
|
14
|
+
* @param endpoint - Pass in http://localhost:3000 for endpoint.
|
|
15
|
+
* @param options - the parameter for all optional parameters
|
|
15
16
|
*/
|
|
16
17
|
export default function createClient(
|
|
17
18
|
endpoint: string,
|
|
@@ -31,6 +32,9 @@ export default function createClient(
|
|
|
31
32
|
userAgentOptions: {
|
|
32
33
|
userAgentPrefix,
|
|
33
34
|
},
|
|
35
|
+
loggingOptions: {
|
|
36
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
37
|
+
},
|
|
34
38
|
};
|
|
35
39
|
|
|
36
40
|
const client = getClient(baseUrl, options) as MultipleParamInServerPathClient;
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
5
6
|
import { SingleParamInServerPathClient } from "./clientDefinitions";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Initialize a new instance of `SingleParamInServerPathClient`
|
|
9
|
-
* @param endpoint
|
|
10
|
-
* @param options
|
|
10
|
+
* @param endpoint - Need to be set as 'http://localhost:3000' in client.
|
|
11
|
+
* @param options - the parameter for all optional parameters
|
|
11
12
|
*/
|
|
12
13
|
export default function createClient(
|
|
13
14
|
endpoint: string,
|
|
@@ -26,6 +27,9 @@ export default function createClient(
|
|
|
26
27
|
userAgentOptions: {
|
|
27
28
|
userAgentPrefix,
|
|
28
29
|
},
|
|
30
|
+
loggingOptions: {
|
|
31
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
32
|
+
},
|
|
29
33
|
};
|
|
30
34
|
|
|
31
35
|
const client = getClient(baseUrl, options) as SingleParamInServerPathClient;
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
5
6
|
import { SpecialWordsClient } from "./clientDefinitions";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Initialize a new instance of `SpecialWordsClient`
|
|
9
|
-
* @param options
|
|
10
|
+
* @param options - the parameter for all optional parameters
|
|
10
11
|
*/
|
|
11
12
|
export default function createClient(
|
|
12
13
|
options: ClientOptions = {}
|
|
@@ -23,6 +24,9 @@ export default function createClient(
|
|
|
23
24
|
userAgentOptions: {
|
|
24
25
|
userAgentPrefix,
|
|
25
26
|
},
|
|
27
|
+
loggingOptions: {
|
|
28
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
29
|
+
},
|
|
26
30
|
};
|
|
27
31
|
|
|
28
32
|
const client = getClient(baseUrl, options) as SpecialWordsClient;
|
|
@@ -38,14 +38,14 @@ export interface SendSecondNamedUnionValue {
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
export interface Routes {
|
|
41
|
-
/** Resource for '/
|
|
42
|
-
(path: "/
|
|
43
|
-
/** Resource for '/
|
|
44
|
-
(path: "/
|
|
45
|
-
/** Resource for '/
|
|
46
|
-
(path: "/
|
|
47
|
-
/** Resource for '/
|
|
48
|
-
(path: "/
|
|
41
|
+
/** Resource for '/type/union/int' has methods for the following verbs: post */
|
|
42
|
+
(path: "/type/union/int"): SendInt;
|
|
43
|
+
/** Resource for '/type/union/int-array' has methods for the following verbs: post */
|
|
44
|
+
(path: "/type/union/int-array"): SendIntArray;
|
|
45
|
+
/** Resource for '/type/union/model1' has methods for the following verbs: post */
|
|
46
|
+
(path: "/type/union/model1"): SendFirstNamedUnionValue;
|
|
47
|
+
/** Resource for '/type/union/model2' has methods for the following verbs: post */
|
|
48
|
+
(path: "/type/union/model2"): SendSecondNamedUnionValue;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export type UnionsClient = Client & {
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
3
|
|
|
4
4
|
import { getClient, ClientOptions } from "@azure-rest/core-client";
|
|
5
|
+
import { logger } from "./logger";
|
|
5
6
|
import { UnionsClient } from "./clientDefinitions";
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Initialize a new instance of `UnionsClient`
|
|
9
|
-
* @param options
|
|
10
|
+
* @param options - the parameter for all optional parameters
|
|
10
11
|
*/
|
|
11
12
|
export default function createClient(
|
|
12
13
|
options: ClientOptions = {}
|
|
@@ -23,6 +24,9 @@ export default function createClient(
|
|
|
23
24
|
userAgentOptions: {
|
|
24
25
|
userAgentPrefix,
|
|
25
26
|
},
|
|
27
|
+
loggingOptions: {
|
|
28
|
+
logger: options.loggingOptions?.logger ?? logger.info,
|
|
29
|
+
},
|
|
26
30
|
};
|
|
27
31
|
|
|
28
32
|
const client = getClient(baseUrl, options) as UnionsClient;
|