File tree 4 files changed +45
-4
lines changed
eng/packages/http-client-csharp/emitter/src
4 files changed +45
-4
lines changed Original file line number Diff line number Diff line change @@ -5,12 +5,12 @@ import { EmitContext } from "@typespec/compiler";
5
5
6
6
import {
7
7
$onEmit as $onMTGEmit ,
8
- CSharpEmitterOptions
9
8
} from "@typespec/http-client-csharp" ;
9
+ import { AzureEmitterOptions } from "./options.js" ;
10
10
11
- export async function $onEmit ( context : EmitContext < CSharpEmitterOptions > ) {
11
+ export async function $onEmit ( context : EmitContext < AzureEmitterOptions > ) {
12
12
context . options [ "generator-name" ] ??= "AzureClientGenerator" ;
13
13
context . options [ "emitter-extension-path" ] ??= import . meta. url ;
14
14
context . options [ "license" ] ??= { name : "MIT License" , company : "Microsoft Corporation" } ;
15
15
await $onMTGEmit ( context ) ;
16
- }
16
+ }
Original file line number Diff line number Diff line change 1
1
// Copyright (c) Microsoft Corporation. All rights reserved.
2
2
// Licensed under the MIT License. See License.txt in the project root for license information.
3
3
4
- export * from "./emitter.js" ;
4
+ export { $onEmit } from "./emitter.js" ;
5
+ export { AzureEmitterOptions , AzureEmitterOptionsSchema } from "./options.js" ;
6
+ export { $lib } from "./lib/lib.js" ;
Original file line number Diff line number Diff line change
1
+ import { createTypeSpecLibrary } from "@typespec/compiler" ;
2
+ import {
3
+ $lib as httpClientCSharpLib ,
4
+ } from "@typespec/http-client-csharp" ;
5
+ import { AzureEmitterOptionsSchema } from "../options.js" ;
6
+
7
+ export const $lib = createTypeSpecLibrary ( {
8
+ name : "@azure-typespec/http-client-csharp" ,
9
+ diagnostics : httpClientCSharpLib . diagnostics ,
10
+ emitter : {
11
+ options : AzureEmitterOptionsSchema ,
12
+ } ,
13
+ } ) ;
Original file line number Diff line number Diff line change
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
+ import { JSONSchemaType } from "@typespec/compiler" ;
5
+ import { CSharpEmitterOptions , CSharpEmitterOptionsSchema } from "@typespec/http-client-csharp" ;
6
+
7
+ export interface AzureEmitterOptions extends CSharpEmitterOptions {
8
+ namespace ?: string ;
9
+ "model-namespace" ?: boolean ;
10
+ }
11
+
12
+ export const AzureEmitterOptionsSchema : JSONSchemaType < AzureEmitterOptions > = {
13
+ type : "object" ,
14
+ properties : {
15
+ ...CSharpEmitterOptionsSchema . properties ,
16
+ namespace : {
17
+ type : "string" ,
18
+ description : "The C# namespace to use for the generated code. This will override the TypeSpec namespaces." ,
19
+ } ,
20
+ "model-namespace" : {
21
+ type : "boolean" ,
22
+ description : "Whether to put models under a separate 'Models' sub-namespace. This only applies if the 'namespace' option is set. " +
23
+ " The default value is 'true' when the 'namespace' option is set. Otherwise, each model will be in the corresponding namespace defined in the TypeSpec." ,
24
+ } ,
25
+ } ,
26
+ } ;
You can’t perform that action at this time.
0 commit comments