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/ImplicitConversionToBinaryContentVisitor.cs

24lines · modepreview

using Microsoft.TypeSpec.Generator.ClientModel;
using Microsoft.TypeSpec.Generator.Primitives;
using Microsoft.TypeSpec.Generator.Providers;

namespace OpenAILibraryPlugin.Visitors;

/// <summary>
/// This visitor removes the generated implicit operator that converts model to BinaryContent.
/// </summary>
public class ImplicitConversionToBinaryContentVisitor : ScmLibraryVisitor
{
    protected override MethodProvider VisitMethod(MethodProvider method)
    {
        if (method.Signature.Modifiers.HasFlag(MethodSignatureModifiers.Implicit) &&
            method.Signature.Modifiers.HasFlag(MethodSignatureModifiers.Operator) &&
            method.Signature.Name == "BinaryContent" &&
            method.Signature.Parameters.Count == 1)
        {
            return null;
        }

        return method;
    }
}