openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
achandmsft-patch-2

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

codegen/generator/src/OpenAILibraryGenerator.cs

45lines · modecode

1using System;
2using System.ComponentModel.Composition;
3using Microsoft.TypeSpec.Generator;
4using Microsoft.TypeSpec.Generator.ClientModel;
5using OpenAILibraryPlugin.Visitors;
6
7namespace OpenAILibraryPlugin
8{
9 [Export(typeof(CodeModelGenerator))]
10 [ExportMetadata("GeneratorName", nameof(OpenAILibraryGenerator))]
11 public class OpenAILibraryGenerator : ScmCodeModelGenerator
12 {
13 private static OpenAILibraryGenerator? s_instance;
14 internal static OpenAILibraryGenerator Instance => s_instance ?? throw new InvalidOperationException("OpenAILibraryGenerator was not initialized.");
15
16 [ImportingConstructor]
17 public OpenAILibraryGenerator(GeneratorContext context) : base(context)
18 {
19 s_instance = this;
20 }
21
22 protected override void Configure()
23 {
24 base.Configure();
25 AddVisitor(new ConstructorFixupVisitor());
26 AddVisitor(new KindRenameVisitor());
27 AddVisitor(new VisibilityVisitor());
28 AddVisitor(new ContentInnerCollectionDefinedVisitor());
29 AddVisitor(new NonAbstractPublicTypesVisitor());
30 AddVisitor(new PageOrderRemovalVisitor(this));
31 AddVisitor(new OmittedTypesVisitor());
32 AddVisitor(new InvariantFormatAdditionalPropertiesVisitor());
33 AddVisitor(new OpenAILibraryVisitor());
34 AddVisitor(new VirtualMessageCreationVisitor());
35 AddVisitor(new ProhibitedNamespaceVisitor());
36 AddVisitor(new ExplicitConversionFromClientResultVisitor());
37 AddVisitor(new ImplicitConversionToBinaryContentVisitor());
38 AddVisitor(new ModelSerializationVisitor());
39 AddVisitor(new ExperimentalAttributeVisitor());
40 AddVisitor(new ModelDirectoryVisitor());
41 AddVisitor(new PaginationVisitor());
42 AddVisitor(new MetadataQueryParamVisitor());
43 }
44 }
45}