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/Visitors/ExplicitConversionFromClientResultVisitor.cs

26lines · modecode

1using Microsoft.TypeSpec.Generator.ClientModel;
2using Microsoft.TypeSpec.Generator.Primitives;
3using Microsoft.TypeSpec.Generator.Providers;
4using System.ClientModel;
5
6namespace OpenAILibraryPlugin.Visitors;
7
8/// <summary>
9/// This visitor removes the generated implicit operator that converts model to BinaryContent.
10/// </summary>
11public class ExplicitConversionFromClientResultVisitor : ScmLibraryVisitor
12{
13 protected override MethodProvider VisitMethod(MethodProvider method)
14 {
15 if (method.Signature.Modifiers.HasFlag(MethodSignatureModifiers.Explicit) &&
16 method.Signature.Modifiers.HasFlag(MethodSignatureModifiers.Operator) &&
17 method.Signature.Parameters.Count == 1 &&
18 method.Signature.Parameters[0].Type.Name == nameof(ClientResult) &&
19 !method.EnclosingType.DeclarationModifiers.HasFlag(TypeSignatureModifiers.Internal))
20 {
21 return null;
22 }
23
24 return method;
25 }
26}
27