@typespec/http-client-csharp 0.1.9 → 1.0.0-alpha.20250314.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emitter/src/constants.d.ts +11 -0
- package/dist/emitter/src/constants.d.ts.map +1 -0
- package/dist/emitter/src/constants.js +23 -0
- package/dist/emitter/src/constants.js.map +1 -0
- package/dist/emitter/src/emitter.d.ts +19 -0
- package/dist/emitter/src/emitter.d.ts.map +1 -0
- package/dist/emitter/src/emitter.js +212 -0
- package/dist/emitter/src/emitter.js.map +1 -0
- package/dist/emitter/src/index.d.ts +12 -0
- package/dist/emitter/src/index.d.ts.map +1 -0
- package/dist/emitter/src/index.js +11 -0
- package/dist/emitter/src/index.js.map +1 -0
- package/dist/emitter/src/lib/client-model-builder.d.ts +10 -0
- package/dist/emitter/src/lib/client-model-builder.d.ts.map +1 -0
- package/dist/emitter/src/lib/client-model-builder.js +150 -0
- package/dist/emitter/src/lib/client-model-builder.js.map +1 -0
- package/dist/emitter/src/lib/decorators.d.ts +10 -0
- package/dist/emitter/src/lib/decorators.d.ts.map +1 -0
- package/dist/emitter/src/lib/decorators.js +17 -0
- package/dist/emitter/src/lib/decorators.js.map +1 -0
- package/dist/emitter/src/lib/example-converter.d.ts +7 -0
- package/dist/emitter/src/lib/example-converter.d.ts.map +1 -0
- package/dist/emitter/src/lib/example-converter.js +131 -0
- package/dist/emitter/src/lib/example-converter.js.map +1 -0
- package/dist/emitter/src/lib/lib.d.ts +32 -0
- package/dist/emitter/src/lib/lib.d.ts.map +1 -0
- package/dist/emitter/src/lib/lib.js +116 -0
- package/dist/emitter/src/lib/lib.js.map +1 -0
- package/dist/emitter/src/lib/logger-level.d.ts +10 -0
- package/dist/emitter/src/lib/logger-level.d.ts.map +1 -0
- package/dist/emitter/src/lib/logger-level.js +13 -0
- package/dist/emitter/src/lib/logger-level.js.map +1 -0
- package/dist/emitter/src/lib/logger.d.ts +21 -0
- package/dist/emitter/src/lib/logger.d.ts.map +1 -0
- package/dist/emitter/src/lib/logger.js +67 -0
- package/dist/emitter/src/lib/logger.js.map +1 -0
- package/dist/emitter/src/lib/model.d.ts +8 -0
- package/dist/emitter/src/lib/model.d.ts.map +1 -0
- package/dist/emitter/src/lib/model.js +37 -0
- package/dist/emitter/src/lib/model.js.map +1 -0
- package/dist/emitter/src/lib/operation-converter.d.ts +8 -0
- package/dist/emitter/src/lib/operation-converter.d.ts.map +1 -0
- package/dist/emitter/src/lib/operation-converter.js +341 -0
- package/dist/emitter/src/lib/operation-converter.js.map +1 -0
- package/dist/emitter/src/lib/service-authentication.d.ts +5 -0
- package/dist/emitter/src/lib/service-authentication.d.ts.map +1 -0
- package/dist/emitter/src/lib/service-authentication.js +123 -0
- package/dist/emitter/src/lib/service-authentication.js.map +1 -0
- package/dist/emitter/src/lib/type-converter.d.ts +8 -0
- package/dist/emitter/src/lib/type-converter.d.ts.map +1 -0
- package/dist/emitter/src/lib/type-converter.js +335 -0
- package/dist/emitter/src/lib/type-converter.js.map +1 -0
- package/dist/emitter/src/lib/typespec-server.d.ts +10 -0
- package/dist/emitter/src/lib/typespec-server.d.ts.map +1 -0
- package/dist/emitter/src/lib/typespec-server.js +90 -0
- package/dist/emitter/src/lib/typespec-server.js.map +1 -0
- package/dist/emitter/src/lib/utils.d.ts +21 -0
- package/dist/emitter/src/lib/utils.d.ts.map +1 -0
- package/dist/emitter/src/lib/utils.js +105 -0
- package/dist/emitter/src/lib/utils.js.map +1 -0
- package/dist/emitter/src/options.d.ts +77 -0
- package/dist/emitter/src/options.d.ts.map +1 -0
- package/dist/emitter/src/options.js +89 -0
- package/dist/emitter/src/options.js.map +1 -0
- package/dist/emitter/src/sdk-context-options.d.ts +9 -0
- package/dist/emitter/src/sdk-context-options.d.ts.map +1 -0
- package/dist/emitter/src/sdk-context-options.js +31 -0
- package/dist/emitter/src/sdk-context-options.js.map +1 -0
- package/dist/emitter/src/sdk-context.d.ts +20 -0
- package/dist/emitter/src/sdk-context.d.ts.map +1 -0
- package/dist/emitter/src/sdk-context.js +4 -0
- package/dist/emitter/src/sdk-context.js.map +1 -0
- package/dist/emitter/src/tsdoc-metadata.json +11 -0
- package/dist/emitter/src/type/client-kind.d.ts +5 -0
- package/dist/emitter/src/type/client-kind.d.ts.map +1 -0
- package/dist/emitter/src/type/client-kind.js +8 -0
- package/dist/emitter/src/type/client-kind.js.map +1 -0
- package/dist/emitter/src/type/code-model.d.ts +12 -0
- package/dist/emitter/src/type/code-model.d.ts.map +1 -0
- package/dist/emitter/src/type/code-model.js +4 -0
- package/dist/emitter/src/type/code-model.js.map +1 -0
- package/dist/emitter/src/type/collection-format.d.ts +13 -0
- package/dist/emitter/src/type/collection-format.d.ts.map +1 -0
- package/dist/emitter/src/type/collection-format.js +22 -0
- package/dist/emitter/src/type/collection-format.js.map +1 -0
- package/dist/emitter/src/type/configuration.d.ts +7 -0
- package/dist/emitter/src/type/configuration.d.ts.map +1 -0
- package/dist/emitter/src/type/configuration.js +4 -0
- package/dist/emitter/src/type/configuration.js.map +1 -0
- package/dist/emitter/src/type/external-docs.d.ts +5 -0
- package/dist/emitter/src/type/external-docs.d.ts.map +1 -0
- package/dist/emitter/src/type/external-docs.js +4 -0
- package/dist/emitter/src/type/external-docs.js.map +1 -0
- package/dist/emitter/src/type/http-response-header.d.ts +9 -0
- package/dist/emitter/src/type/http-response-header.d.ts.map +1 -0
- package/dist/emitter/src/type/http-response-header.js +4 -0
- package/dist/emitter/src/type/http-response-header.js.map +1 -0
- package/dist/emitter/src/type/input-api-key-auth.d.ts +7 -0
- package/dist/emitter/src/type/input-api-key-auth.d.ts.map +1 -0
- package/dist/emitter/src/type/input-api-key-auth.js +4 -0
- package/dist/emitter/src/type/input-api-key-auth.js.map +1 -0
- package/dist/emitter/src/type/input-auth.d.ts +7 -0
- package/dist/emitter/src/type/input-auth.d.ts.map +1 -0
- package/dist/emitter/src/type/input-auth.js +4 -0
- package/dist/emitter/src/type/input-auth.js.map +1 -0
- package/dist/emitter/src/type/input-client.d.ts +17 -0
- package/dist/emitter/src/type/input-client.d.ts.map +1 -0
- package/dist/emitter/src/type/input-client.js +4 -0
- package/dist/emitter/src/type/input-client.js.map +1 -0
- package/dist/emitter/src/type/input-constant.d.ts +6 -0
- package/dist/emitter/src/type/input-constant.d.ts.map +1 -0
- package/dist/emitter/src/type/input-constant.js +4 -0
- package/dist/emitter/src/type/input-constant.js.map +1 -0
- package/dist/emitter/src/type/input-examples.d.ts +77 -0
- package/dist/emitter/src/type/input-examples.d.ts.map +1 -0
- package/dist/emitter/src/type/input-examples.js +4 -0
- package/dist/emitter/src/type/input-examples.js.map +1 -0
- package/dist/emitter/src/type/input-oauth2-auth.d.ts +4 -0
- package/dist/emitter/src/type/input-oauth2-auth.d.ts.map +1 -0
- package/dist/emitter/src/type/input-oauth2-auth.js +4 -0
- package/dist/emitter/src/type/input-oauth2-auth.js.map +1 -0
- package/dist/emitter/src/type/input-operation-parameter-kind.d.ts +9 -0
- package/dist/emitter/src/type/input-operation-parameter-kind.d.ts.map +1 -0
- package/dist/emitter/src/type/input-operation-parameter-kind.js +12 -0
- package/dist/emitter/src/type/input-operation-parameter-kind.js.map +1 -0
- package/dist/emitter/src/type/input-operation.d.ts +36 -0
- package/dist/emitter/src/type/input-operation.d.ts.map +1 -0
- package/dist/emitter/src/type/input-operation.js +4 -0
- package/dist/emitter/src/type/input-operation.js.map +1 -0
- package/dist/emitter/src/type/input-parameter.d.ts +30 -0
- package/dist/emitter/src/type/input-parameter.d.ts.map +1 -0
- package/dist/emitter/src/type/input-parameter.js +4 -0
- package/dist/emitter/src/type/input-parameter.js.map +1 -0
- package/dist/emitter/src/type/input-type.d.ts +120 -0
- package/dist/emitter/src/type/input-type.d.ts.map +1 -0
- package/dist/emitter/src/type/input-type.js +21 -0
- package/dist/emitter/src/type/input-type.js.map +1 -0
- package/dist/emitter/src/type/literal-type-context.d.ts +8 -0
- package/dist/emitter/src/type/literal-type-context.d.ts.map +1 -0
- package/dist/emitter/src/type/literal-type-context.js +4 -0
- package/dist/emitter/src/type/literal-type-context.js.map +1 -0
- package/dist/emitter/src/type/operation-final-state-via.d.ts +12 -0
- package/dist/emitter/src/type/operation-final-state-via.d.ts.map +1 -0
- package/dist/emitter/src/type/operation-final-state-via.js +36 -0
- package/dist/emitter/src/type/operation-final-state-via.js.map +1 -0
- package/dist/emitter/src/type/operation-long-running.d.ts +8 -0
- package/dist/emitter/src/type/operation-long-running.d.ts.map +1 -0
- package/dist/emitter/src/type/operation-long-running.js +4 -0
- package/dist/emitter/src/type/operation-long-running.js.map +1 -0
- package/dist/emitter/src/type/operation-paging.d.ts +19 -0
- package/dist/emitter/src/type/operation-paging.d.ts.map +1 -0
- package/dist/emitter/src/type/operation-paging.js +4 -0
- package/dist/emitter/src/type/operation-paging.js.map +1 -0
- package/dist/emitter/src/type/operation-response.d.ts +10 -0
- package/dist/emitter/src/type/operation-response.d.ts.map +1 -0
- package/dist/emitter/src/type/operation-response.js +4 -0
- package/dist/emitter/src/type/operation-response.js.map +1 -0
- package/dist/emitter/src/type/protocols.d.ts +3 -0
- package/dist/emitter/src/type/protocols.d.ts.map +1 -0
- package/dist/emitter/src/type/protocols.js +4 -0
- package/dist/emitter/src/type/protocols.js.map +1 -0
- package/dist/emitter/src/type/request-location.d.ts +12 -0
- package/dist/emitter/src/type/request-location.d.ts.map +1 -0
- package/dist/emitter/src/type/request-location.js +19 -0
- package/dist/emitter/src/type/request-location.js.map +1 -0
- package/dist/emitter/src/type/request-method.d.ts +13 -0
- package/dist/emitter/src/type/request-method.d.ts.map +1 -0
- package/dist/emitter/src/type/request-method.js +40 -0
- package/dist/emitter/src/type/request-method.js.map +1 -0
- package/dist/emitter/src/type/response-location.d.ts +6 -0
- package/dist/emitter/src/type/response-location.d.ts.map +1 -0
- package/dist/emitter/src/type/response-location.js +9 -0
- package/dist/emitter/src/type/response-location.js.map +1 -0
- package/dist/emitter/src/type/validation-type.d.ts +6 -0
- package/dist/emitter/src/type/validation-type.d.ts.map +1 -0
- package/dist/emitter/src/type/validation-type.js +9 -0
- package/dist/emitter/src/type/validation-type.js.map +1 -0
- package/dist/generator/CommandLine.dll +0 -0
- package/dist/generator/Humanizer.dll +0 -0
- package/dist/generator/Microsoft.Bcl.AsyncInterfaces.dll +0 -0
- package/dist/generator/Microsoft.Build.Framework.dll +0 -0
- package/dist/generator/Microsoft.Build.dll +0 -0
- package/dist/generator/Microsoft.CodeAnalysis.CSharp.Workspaces.dll +0 -0
- package/dist/generator/Microsoft.CodeAnalysis.CSharp.dll +0 -0
- package/dist/generator/Microsoft.CodeAnalysis.Workspaces.dll +0 -0
- package/dist/generator/Microsoft.CodeAnalysis.dll +0 -0
- package/dist/generator/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- package/dist/generator/Microsoft.NET.StringTools.dll +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.StubLibrary.deps.json +826 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.StubLibrary.dll +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.StubLibrary.pdb +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.deps.json +809 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.dll +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.ClientModel.pdb +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.Input.dll +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.Input.pdb +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.deps.json +758 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.dll +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.pdb +0 -0
- package/dist/generator/Microsoft.TypeSpec.Generator.runtimeconfig.json +12 -0
- package/dist/generator/NuGet.Common.dll +0 -0
- package/dist/generator/NuGet.Configuration.dll +0 -0
- package/dist/generator/NuGet.Frameworks.dll +0 -0
- package/dist/generator/System.ClientModel.dll +0 -0
- package/dist/generator/System.ComponentModel.Composition.dll +0 -0
- package/dist/generator/System.Composition.AttributedModel.dll +0 -0
- package/dist/generator/System.Composition.Convention.dll +0 -0
- package/dist/generator/System.Composition.Hosting.dll +0 -0
- package/dist/generator/System.Composition.Runtime.dll +0 -0
- package/dist/generator/System.Composition.TypedParts.dll +0 -0
- package/dist/generator/System.Configuration.ConfigurationManager.dll +0 -0
- package/dist/generator/System.Diagnostics.EventLog.dll +0 -0
- package/dist/generator/System.IO.Pipelines.dll +0 -0
- package/dist/generator/System.Memory.Data.dll +0 -0
- package/dist/generator/System.Reflection.MetadataLoadContext.dll +0 -0
- package/dist/generator/System.Security.Cryptography.ProtectedData.dll +0 -0
- package/dist/generator/cs/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/cs/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/cs/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/de/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/de/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/de/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/de/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/es/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/es/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/es/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/es/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/fr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/fr/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/fr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/it/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/it/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/it/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/it/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/ja/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/ja/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/ja/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/ko/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/ko/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/ko/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/pl/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/pl/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/pl/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/pt-BR/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/pt-BR/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/pt-BR/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/ru/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/ru/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/ru/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll +0 -0
- package/dist/generator/runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll +0 -0
- package/dist/generator/tr/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/tr/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/tr/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/zh-Hans/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/zh-Hans/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/zh-Hans/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/dist/generator/zh-Hant/Microsoft.CodeAnalysis.CSharp.Workspaces.resources.dll +0 -0
- package/dist/generator/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +0 -0
- package/dist/generator/zh-Hant/Microsoft.CodeAnalysis.Workspaces.resources.dll +0 -0
- package/dist/generator/zh-Hant/Microsoft.CodeAnalysis.resources.dll +0 -0
- package/package.json +41 -41
- package/readme.md +16 -12
- package/LICENSE +0 -21
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The name of the file that contains the generated code model.
|
|
3
|
+
* @beta
|
|
4
|
+
*/
|
|
5
|
+
export declare const tspOutputFileName = "tspCodeModel.json";
|
|
6
|
+
/**
|
|
7
|
+
* The name of the file that contains the generated configuration file.
|
|
8
|
+
* @beta
|
|
9
|
+
*/
|
|
10
|
+
export declare const configurationFileName = "Configuration.json";
|
|
11
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../emitter/src/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
+
/**
|
|
4
|
+
* The name of the file that contains the generated code model.
|
|
5
|
+
* @beta
|
|
6
|
+
*/
|
|
7
|
+
export const tspOutputFileName = "tspCodeModel.json";
|
|
8
|
+
/**
|
|
9
|
+
* The name of the file that contains the generated configuration file.
|
|
10
|
+
* @beta
|
|
11
|
+
*/
|
|
12
|
+
export const configurationFileName = "Configuration.json";
|
|
13
|
+
/**
|
|
14
|
+
* The minimum supported major version of the .NET SDK for invoking the generator.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const _minSupportedDotNetSdkVersion = 8;
|
|
18
|
+
/**
|
|
19
|
+
* The default name of the code model plugin.
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export const _defaultPluginName = "ScmCodeModelPlugin";
|
|
23
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../emitter/src/constants.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AACrD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EmitContext } from "@typespec/compiler";
|
|
2
|
+
import { CSharpEmitterOptions } from "./options.js";
|
|
3
|
+
import { CSharpEmitterContext } from "./sdk-context.js";
|
|
4
|
+
import { CodeModel } from "./type/code-model.js";
|
|
5
|
+
/**
|
|
6
|
+
* The entry point for the emitter. This function is called by the typespec compiler.
|
|
7
|
+
* @param context - The emit context
|
|
8
|
+
* @beta
|
|
9
|
+
*/
|
|
10
|
+
export declare function $onEmit(context: EmitContext<CSharpEmitterOptions>): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Write the code model to the output folder.
|
|
13
|
+
* @param context - The CSharp emitter context
|
|
14
|
+
* @param codeModel - The code model
|
|
15
|
+
* @param outputFolder - The output folder
|
|
16
|
+
* @beta
|
|
17
|
+
*/
|
|
18
|
+
export declare function writeCodeModel(context: CSharpEmitterContext, codeModel: CodeModel, outputFolder: string): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=emitter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../../emitter/src/emitter.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAMZ,MAAM,oBAAoB,CAAC;AAc5B,OAAO,EAAwB,oBAAoB,EAAkB,MAAM,cAAc,CAAC;AAE1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAuBjD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,CAAC,iBAgGvE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,oBAAoB,EAC7B,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,iBAMrB"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
+
import { createSdkContext, UsageFlags } from "@azure-tools/typespec-client-generator-core";
|
|
4
|
+
import { getDirectoryPath, joinPaths, NoTarget, resolvePath, } from "@typespec/compiler";
|
|
5
|
+
import fs, { statSync } from "fs";
|
|
6
|
+
import { PreserveType, stringifyRefs } from "json-serialize-refs";
|
|
7
|
+
import { dirname } from "path";
|
|
8
|
+
import { fileURLToPath } from "url";
|
|
9
|
+
import { _minSupportedDotNetSdkVersion, configurationFileName, tspOutputFileName, } from "./constants.js";
|
|
10
|
+
import { createModel } from "./lib/client-model-builder.js";
|
|
11
|
+
import { LoggerLevel } from "./lib/logger-level.js";
|
|
12
|
+
import { Logger } from "./lib/logger.js";
|
|
13
|
+
import { execAsync, execCSharpGenerator } from "./lib/utils.js";
|
|
14
|
+
import { _resolveOutputFolder, resolveOptions } from "./options.js";
|
|
15
|
+
import { defaultSDKContextOptions } from "./sdk-context-options.js";
|
|
16
|
+
/**
|
|
17
|
+
* Look for the project root by looking up until a `package.json` is found.
|
|
18
|
+
* @param path Path to start looking
|
|
19
|
+
*/
|
|
20
|
+
function findProjectRoot(path) {
|
|
21
|
+
let current = path;
|
|
22
|
+
while (true) {
|
|
23
|
+
const pkgPath = joinPaths(current, "package.json");
|
|
24
|
+
const stats = checkFile(pkgPath);
|
|
25
|
+
if (stats?.isFile()) {
|
|
26
|
+
return current;
|
|
27
|
+
}
|
|
28
|
+
const parent = getDirectoryPath(current);
|
|
29
|
+
if (parent === current) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
current = parent;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The entry point for the emitter. This function is called by the typespec compiler.
|
|
37
|
+
* @param context - The emit context
|
|
38
|
+
* @beta
|
|
39
|
+
*/
|
|
40
|
+
export async function $onEmit(context) {
|
|
41
|
+
const program = context.program;
|
|
42
|
+
const options = resolveOptions(context);
|
|
43
|
+
const outputFolder = _resolveOutputFolder(context);
|
|
44
|
+
/* set the log level. */
|
|
45
|
+
const logger = new Logger(program, options.logLevel ?? LoggerLevel.INFO);
|
|
46
|
+
if (!program.compilerOptions.noEmit && !program.hasError()) {
|
|
47
|
+
// Write out the dotnet model to the output path
|
|
48
|
+
const sdkContext = {
|
|
49
|
+
...(await createSdkContext(context, "@typespec/http-client-csharp", defaultSDKContextOptions)),
|
|
50
|
+
logger: logger,
|
|
51
|
+
__typeCache: {
|
|
52
|
+
crossLanguageDefinitionIds: new Map(),
|
|
53
|
+
types: new Map(),
|
|
54
|
+
models: new Map(),
|
|
55
|
+
enums: new Map(),
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
program.reportDiagnostics(sdkContext.diagnostics);
|
|
59
|
+
let root = createModel(sdkContext);
|
|
60
|
+
if (root) {
|
|
61
|
+
root = options["update-code-model"](root);
|
|
62
|
+
const generatedFolder = resolvePath(outputFolder, "src", "Generated");
|
|
63
|
+
if (!fs.existsSync(generatedFolder)) {
|
|
64
|
+
fs.mkdirSync(generatedFolder, { recursive: true });
|
|
65
|
+
}
|
|
66
|
+
// emit tspCodeModel.json
|
|
67
|
+
await writeCodeModel(sdkContext, root, outputFolder);
|
|
68
|
+
const namespace = root.Name;
|
|
69
|
+
const configurations = {
|
|
70
|
+
"output-folder": ".",
|
|
71
|
+
"package-name": options["package-name"] ?? namespace,
|
|
72
|
+
"unreferenced-types-handling": options["unreferenced-types-handling"],
|
|
73
|
+
"disable-xml-docs": options["disable-xml-docs"] === false ? undefined : options["disable-xml-docs"],
|
|
74
|
+
};
|
|
75
|
+
//emit configuration.json
|
|
76
|
+
await program.host.writeFile(resolvePath(outputFolder, configurationFileName), prettierOutput(JSON.stringify(configurations, null, 2)));
|
|
77
|
+
const csProjFile = resolvePath(outputFolder, "src", `${configurations["package-name"]}.csproj`);
|
|
78
|
+
logger.info(`Checking if ${csProjFile} exists`);
|
|
79
|
+
const emitterPath = options["emitter-extension-path"] ?? import.meta.url;
|
|
80
|
+
const projectRoot = findProjectRoot(dirname(fileURLToPath(emitterPath)));
|
|
81
|
+
const generatorPath = resolvePath(projectRoot + "/dist/generator/Microsoft.TypeSpec.Generator.dll");
|
|
82
|
+
try {
|
|
83
|
+
const result = await execCSharpGenerator(sdkContext, {
|
|
84
|
+
generatorPath: generatorPath,
|
|
85
|
+
outputFolder: outputFolder,
|
|
86
|
+
pluginName: options["plugin-name"],
|
|
87
|
+
newProject: options["new-project"] || !checkFile(csProjFile),
|
|
88
|
+
debug: options.debug ?? false,
|
|
89
|
+
});
|
|
90
|
+
if (result.exitCode !== 0) {
|
|
91
|
+
const isValid = await _validateDotNetSdk(sdkContext, _minSupportedDotNetSdkVersion);
|
|
92
|
+
// if the dotnet sdk is valid, the error is not dependency issue, log it as normal
|
|
93
|
+
if (isValid) {
|
|
94
|
+
throw new Error(`Failed to generate the library. Exit code: ${result.exitCode}.\nStackTrace: \n${result.stderr}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
const isValid = await _validateDotNetSdk(sdkContext, _minSupportedDotNetSdkVersion);
|
|
100
|
+
// if the dotnet sdk is valid, the error is not dependency issue, log it as normal
|
|
101
|
+
if (isValid)
|
|
102
|
+
throw new Error(error);
|
|
103
|
+
}
|
|
104
|
+
if (!options["save-inputs"]) {
|
|
105
|
+
// delete
|
|
106
|
+
context.program.host.rm(resolvePath(outputFolder, tspOutputFileName));
|
|
107
|
+
context.program.host.rm(resolvePath(outputFolder, configurationFileName));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Write the code model to the output folder.
|
|
114
|
+
* @param context - The CSharp emitter context
|
|
115
|
+
* @param codeModel - The code model
|
|
116
|
+
* @param outputFolder - The output folder
|
|
117
|
+
* @beta
|
|
118
|
+
*/
|
|
119
|
+
export async function writeCodeModel(context, codeModel, outputFolder) {
|
|
120
|
+
await context.program.host.writeFile(resolvePath(outputFolder, tspOutputFileName), prettierOutput(stringifyRefs(codeModel, transformJSONProperties, 1, PreserveType.Objects)));
|
|
121
|
+
}
|
|
122
|
+
/** check the dotnet sdk installation.
|
|
123
|
+
* Report diagnostic if dotnet sdk is not installed or its version does not meet prerequisite
|
|
124
|
+
* @param sdkContext - The SDK context
|
|
125
|
+
* @param minVersionRequisite - The minimum required major version
|
|
126
|
+
* @param logger - The logger
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
export async function _validateDotNetSdk(sdkContext, minMajorVersion) {
|
|
130
|
+
try {
|
|
131
|
+
const result = await execAsync("dotnet", ["--version"], { stdio: "pipe" });
|
|
132
|
+
return validateDotNetSdkVersionCore(sdkContext, result.stdout, minMajorVersion);
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
if (error && "code" in error && error["code"] === "ENOENT") {
|
|
136
|
+
sdkContext.logger.reportDiagnostic({
|
|
137
|
+
code: "invalid-dotnet-sdk-dependency",
|
|
138
|
+
messageId: "missing",
|
|
139
|
+
format: {
|
|
140
|
+
dotnetMajorVersion: `${minMajorVersion}`,
|
|
141
|
+
downloadUrl: "https://dotnet.microsoft.com/",
|
|
142
|
+
},
|
|
143
|
+
target: NoTarget,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function validateDotNetSdkVersionCore(sdkContext, version, minMajorVersion) {
|
|
150
|
+
if (version) {
|
|
151
|
+
const dotIndex = version.indexOf(".");
|
|
152
|
+
const firstPart = dotIndex === -1 ? version : version.substring(0, dotIndex);
|
|
153
|
+
const major = Number(firstPart);
|
|
154
|
+
if (isNaN(major)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
if (major < minMajorVersion) {
|
|
158
|
+
sdkContext.logger.reportDiagnostic({
|
|
159
|
+
code: "invalid-dotnet-sdk-dependency",
|
|
160
|
+
messageId: "invalidVersion",
|
|
161
|
+
format: {
|
|
162
|
+
installedVersion: version,
|
|
163
|
+
dotnetMajorVersion: `${minMajorVersion}`,
|
|
164
|
+
downloadUrl: "https://dotnet.microsoft.com/",
|
|
165
|
+
},
|
|
166
|
+
target: NoTarget,
|
|
167
|
+
});
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
return true;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
sdkContext.logger.error("Cannot get the installed .NET SDK version.");
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function transformJSONProperties(key, value) {
|
|
178
|
+
// convertUsageNumbersToStrings
|
|
179
|
+
if (this["kind"] === "model" || this["kind"] === "enum") {
|
|
180
|
+
if (key === "usage" && typeof value === "number") {
|
|
181
|
+
if (value === 0) {
|
|
182
|
+
return "None";
|
|
183
|
+
}
|
|
184
|
+
const result = [];
|
|
185
|
+
for (const prop in UsageFlags) {
|
|
186
|
+
if (!isNaN(Number(prop))) {
|
|
187
|
+
if ((value & Number(prop)) !== 0) {
|
|
188
|
+
result.push(UsageFlags[prop]);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return result.join(",");
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// skip __raw if there is one
|
|
196
|
+
if (key === "__raw") {
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
return value;
|
|
200
|
+
}
|
|
201
|
+
function prettierOutput(output) {
|
|
202
|
+
return output + "\n";
|
|
203
|
+
}
|
|
204
|
+
function checkFile(pkgPath) {
|
|
205
|
+
try {
|
|
206
|
+
return statSync(pkgPath);
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=emitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../../emitter/src/emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { configurationFileName, tspOutputFileName } from "./constants.js";
|
|
2
|
+
export { $onEmit, writeCodeModel } from "./emitter.js";
|
|
3
|
+
export { createModel } from "./lib/client-model-builder.js";
|
|
4
|
+
export { createDiagnostic, getTracer, reportDiagnostic } from "./lib/lib.js";
|
|
5
|
+
export { LoggerLevel } from "./lib/logger-level.js";
|
|
6
|
+
export { Logger } from "./lib/logger.js";
|
|
7
|
+
export { CSharpEmitterOptions, CSharpEmitterOptionsSchema, defaultOptions, resolveOptions, } from "./options.js";
|
|
8
|
+
export { setSDKContextOptions } from "./sdk-context-options.js";
|
|
9
|
+
export { CSharpEmitterContext } from "./sdk-context.js";
|
|
10
|
+
export { CodeModel } from "./type/code-model.js";
|
|
11
|
+
export { InputModelType } from "./type/input-type.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../emitter/src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
+
export { configurationFileName, tspOutputFileName } from "./constants.js";
|
|
4
|
+
export { $onEmit, writeCodeModel } from "./emitter.js";
|
|
5
|
+
export { createModel } from "./lib/client-model-builder.js";
|
|
6
|
+
export { createDiagnostic, getTracer, reportDiagnostic } from "./lib/lib.js";
|
|
7
|
+
export { LoggerLevel } from "./lib/logger-level.js";
|
|
8
|
+
export { Logger } from "./lib/logger.js";
|
|
9
|
+
export { CSharpEmitterOptionsSchema, defaultOptions, resolveOptions, } from "./options.js";
|
|
10
|
+
export { setSDKContextOptions } from "./sdk-context-options.js";
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../emitter/src/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAEL,0BAA0B,EAC1B,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CSharpEmitterContext } from "../sdk-context.js";
|
|
2
|
+
import { CodeModel } from "../type/code-model.js";
|
|
3
|
+
/**
|
|
4
|
+
* Creates the code model from the SDK context.
|
|
5
|
+
* @param sdkContext - The SDK context
|
|
6
|
+
* @returns The code model
|
|
7
|
+
* @beta
|
|
8
|
+
*/
|
|
9
|
+
export declare function createModel(sdkContext: CSharpEmitterContext): CodeModel;
|
|
10
|
+
//# sourceMappingURL=client-model-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-model-builder.d.ts","sourceRoot":"","sources":["../../../../emitter/src/lib/client-model-builder.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAWlD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,oBAAoB,GAAG,SAAS,CAoKvE"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
+
import { UsageFlags, } from "@azure-tools/typespec-client-generator-core";
|
|
4
|
+
import { NoTarget } from "@typespec/compiler";
|
|
5
|
+
import { InputOperationParameterKind } from "../type/input-operation-parameter-kind.js";
|
|
6
|
+
import { RequestLocation } from "../type/request-location.js";
|
|
7
|
+
import { navigateModels } from "./model.js";
|
|
8
|
+
import { fromSdkServiceMethod, getParameterDefaultValue } from "./operation-converter.js";
|
|
9
|
+
import { processServiceAuthentication } from "./service-authentication.js";
|
|
10
|
+
import { fromSdkType } from "./type-converter.js";
|
|
11
|
+
/**
|
|
12
|
+
* Creates the code model from the SDK context.
|
|
13
|
+
* @param sdkContext - The SDK context
|
|
14
|
+
* @returns The code model
|
|
15
|
+
* @beta
|
|
16
|
+
*/
|
|
17
|
+
export function createModel(sdkContext) {
|
|
18
|
+
const sdkPackage = sdkContext.sdkPackage;
|
|
19
|
+
navigateModels(sdkContext);
|
|
20
|
+
const sdkApiVersionEnums = sdkPackage.enums.filter((e) => e.usage === UsageFlags.ApiVersionEnum);
|
|
21
|
+
const rootClients = sdkPackage.clients.filter((c) => c.initialization.access === "public");
|
|
22
|
+
if (rootClients.length === 0) {
|
|
23
|
+
sdkContext.logger.reportDiagnostic({
|
|
24
|
+
code: "no-root-client",
|
|
25
|
+
format: {},
|
|
26
|
+
target: NoTarget,
|
|
27
|
+
});
|
|
28
|
+
return {};
|
|
29
|
+
}
|
|
30
|
+
const rootApiVersions = sdkApiVersionEnums.length > 0
|
|
31
|
+
? sdkApiVersionEnums[0].values.map((v) => v.value).flat()
|
|
32
|
+
: rootClients[0].apiVersions;
|
|
33
|
+
const inputClients = [];
|
|
34
|
+
fromSdkClients(rootClients, inputClients, []);
|
|
35
|
+
const clientModel = {
|
|
36
|
+
// rootNamespace is really coalescing the `package-name` option and the first namespace found.
|
|
37
|
+
Name: sdkPackage.rootNamespace,
|
|
38
|
+
ApiVersions: rootApiVersions,
|
|
39
|
+
Enums: Array.from(sdkContext.__typeCache.enums.values()),
|
|
40
|
+
Models: Array.from(sdkContext.__typeCache.models.values()),
|
|
41
|
+
Clients: inputClients,
|
|
42
|
+
Auth: processServiceAuthentication(sdkContext, sdkPackage),
|
|
43
|
+
};
|
|
44
|
+
return clientModel;
|
|
45
|
+
function fromSdkClients(clients, inputClients, parentClientNames) {
|
|
46
|
+
for (const client of clients) {
|
|
47
|
+
const inputClient = fromSdkClient(client, parentClientNames);
|
|
48
|
+
inputClients.push(inputClient);
|
|
49
|
+
const subClients = client.methods
|
|
50
|
+
.filter((m) => m.kind === "clientaccessor")
|
|
51
|
+
.map((m) => m.response);
|
|
52
|
+
parentClientNames.push(inputClient.Name);
|
|
53
|
+
fromSdkClients(subClients, inputClients, parentClientNames);
|
|
54
|
+
parentClientNames.pop();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function fromSdkClient(client, parentNames) {
|
|
58
|
+
const endpointParameter = client.initialization.properties.find((p) => p.kind === "endpoint");
|
|
59
|
+
const uri = getMethodUri(endpointParameter);
|
|
60
|
+
const clientParameters = fromSdkEndpointParameter(endpointParameter);
|
|
61
|
+
const clientName = getClientName(client, parentNames);
|
|
62
|
+
sdkContext.__typeCache.crossLanguageDefinitionIds.set(client.crossLanguageDefinitionId, client.__raw.type);
|
|
63
|
+
return {
|
|
64
|
+
Name: clientName,
|
|
65
|
+
Namespace: client.namespace,
|
|
66
|
+
Summary: client.summary,
|
|
67
|
+
Doc: client.doc,
|
|
68
|
+
Operations: client.methods
|
|
69
|
+
.filter((m) => m.kind !== "clientaccessor")
|
|
70
|
+
.map((m) => fromSdkServiceMethod(sdkContext, m, uri, rootApiVersions)),
|
|
71
|
+
Protocol: {},
|
|
72
|
+
Parent: parentNames.length > 0 ? parentNames[parentNames.length - 1] : undefined,
|
|
73
|
+
Parameters: clientParameters,
|
|
74
|
+
Decorators: client.decorators,
|
|
75
|
+
CrossLanguageDefinitionId: client.crossLanguageDefinitionId,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
function getClientName(client, parentClientNames) {
|
|
79
|
+
const clientName = client.name;
|
|
80
|
+
if (parentClientNames.length === 0)
|
|
81
|
+
return clientName;
|
|
82
|
+
if (parentClientNames.length >= 2)
|
|
83
|
+
return `${parentClientNames.slice(parentClientNames.length - 1).join("")}${clientName}`;
|
|
84
|
+
return clientName;
|
|
85
|
+
}
|
|
86
|
+
function fromSdkEndpointParameter(p) {
|
|
87
|
+
if (p.type.kind === "union") {
|
|
88
|
+
return fromSdkEndpointType(p.type.variantTypes[0]);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
return fromSdkEndpointType(p.type);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function fromSdkEndpointType(type) {
|
|
95
|
+
// TODO: support free-style endpoint url with multiple parameters
|
|
96
|
+
const endpointExpr = type.serverUrl
|
|
97
|
+
.replace("https://", "")
|
|
98
|
+
.replace("http://", "")
|
|
99
|
+
.split("/")[0];
|
|
100
|
+
if (!/^\{\w+\}$/.test(endpointExpr)) {
|
|
101
|
+
sdkContext.logger.reportDiagnostic({
|
|
102
|
+
code: "unsupported-endpoint-url",
|
|
103
|
+
format: { endpoint: type.serverUrl },
|
|
104
|
+
target: NoTarget,
|
|
105
|
+
});
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
const endpointVariableName = endpointExpr.substring(1, endpointExpr.length - 1);
|
|
109
|
+
const parameters = [];
|
|
110
|
+
for (const parameter of type.templateArguments) {
|
|
111
|
+
const isEndpoint = parameter.name === endpointVariableName;
|
|
112
|
+
const parameterType = isEndpoint
|
|
113
|
+
? {
|
|
114
|
+
kind: "url",
|
|
115
|
+
name: "url",
|
|
116
|
+
crossLanguageDefinitionId: "TypeSpec.url",
|
|
117
|
+
}
|
|
118
|
+
: fromSdkType(sdkContext, parameter.type); // TODO: consolidate with converter.fromSdkEndpointType
|
|
119
|
+
parameters.push({
|
|
120
|
+
Name: parameter.name,
|
|
121
|
+
NameInRequest: parameter.serializedName,
|
|
122
|
+
Summary: parameter.summary,
|
|
123
|
+
Doc: parameter.doc,
|
|
124
|
+
// TODO: we should do the magic in generator
|
|
125
|
+
Type: parameterType,
|
|
126
|
+
Location: RequestLocation.Uri,
|
|
127
|
+
IsApiVersion: parameter.isApiVersionParam,
|
|
128
|
+
IsResourceParameter: false,
|
|
129
|
+
IsContentType: false,
|
|
130
|
+
IsRequired: !parameter.optional,
|
|
131
|
+
IsEndpoint: isEndpoint,
|
|
132
|
+
SkipUrlEncoding: false,
|
|
133
|
+
Explode: false,
|
|
134
|
+
Kind: InputOperationParameterKind.Client,
|
|
135
|
+
DefaultValue: getParameterDefaultValue(sdkContext, parameter.clientDefaultValue, parameterType),
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return parameters;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
function getMethodUri(p) {
|
|
142
|
+
if (!p)
|
|
143
|
+
return "";
|
|
144
|
+
if (p.type.kind === "endpoint" && p.type.templateArguments.length > 0)
|
|
145
|
+
return p.type.serverUrl;
|
|
146
|
+
if (p.type.kind === "union" && p.type.variantTypes.length > 0)
|
|
147
|
+
return p.type.variantTypes[0].serverUrl;
|
|
148
|
+
return `{${p.name}}`;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=client-model-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-model-builder.js","sourceRoot":"","sources":["../../../../emitter/src/lib/client-model-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SdkContext } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
+
import { DecoratedType, Operation, Type } from "@typespec/compiler";
|
|
3
|
+
import { ExternalDocs } from "../type/external-docs.js";
|
|
4
|
+
export declare function getExternalDocs(context: SdkContext, entity: Type): ExternalDocs | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* @returns operationId set via the @operationId decorator or `undefined`
|
|
7
|
+
*/
|
|
8
|
+
export declare function getOperationId(context: SdkContext, entity: Operation): string | undefined;
|
|
9
|
+
export declare function hasDecorator(type: DecoratedType, name: string): boolean;
|
|
10
|
+
//# sourceMappingURL=decorators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../../../emitter/src/lib/decorators.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,SAAS,CAE3F;AAGD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAEzF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
|
+
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
+
const externalDocsKey = Symbol("externalDocs");
|
|
4
|
+
export function getExternalDocs(context, entity) {
|
|
5
|
+
return context.program.stateMap(externalDocsKey).get(entity);
|
|
6
|
+
}
|
|
7
|
+
const operationIdsKey = Symbol("operationIds");
|
|
8
|
+
/**
|
|
9
|
+
* @returns operationId set via the @operationId decorator or `undefined`
|
|
10
|
+
*/
|
|
11
|
+
export function getOperationId(context, entity) {
|
|
12
|
+
return context.program.stateMap(operationIdsKey).get(entity);
|
|
13
|
+
}
|
|
14
|
+
export function hasDecorator(type, name) {
|
|
15
|
+
return type.decorators.find((it) => it.decorator.name === name) !== undefined;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../emitter/src/lib/decorators.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAM/F,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,MAAM,UAAU,eAAe,CAAC,OAAmB,EAAE,MAAY;IAC/D,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAmB,EAAE,MAAiB;IACnE,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAmB,EAAE,IAAY;IAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,SAAS,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SdkHttpOperationExample, SdkHttpParameter, SdkHttpResponse } from "@azure-tools/typespec-client-generator-core";
|
|
2
|
+
import { CSharpEmitterContext } from "../sdk-context.js";
|
|
3
|
+
import { InputHttpOperationExample } from "../type/input-examples.js";
|
|
4
|
+
import { InputParameter } from "../type/input-parameter.js";
|
|
5
|
+
import { OperationResponse } from "../type/operation-response.js";
|
|
6
|
+
export declare function fromSdkHttpExamples(sdkContext: CSharpEmitterContext, examples: SdkHttpOperationExample[], parameterMap: Map<SdkHttpParameter, InputParameter>, responseMap: Map<SdkHttpResponse, OperationResponse>): InputHttpOperationExample[];
|
|
7
|
+
//# sourceMappingURL=example-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example-converter.d.ts","sourceRoot":"","sources":["../../../../emitter/src/lib/example-converter.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,uBAAuB,EACvB,gBAAgB,EAEhB,eAAe,EAQhB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAKL,yBAAyB,EAS1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAS5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,uBAAuB,EAAE,EACnC,YAAY,EAAE,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,GACnD,yBAAyB,EAAE,CA0J7B"}
|