public override void Write()

in src/Functions.Worker.Extensions.OpenAI/Search/SearchableDocumentJsonConverter.cs [20:79]


    public override void Write(Utf8JsonWriter writer, SearchableDocument value, JsonSerializerOptions options)
    {
        writer.WriteStartObject();

        writer.WritePropertyName("embeddingsContext"u8);
        writer.WriteStartObject();

        if (value.EmbeddingsContext?.Request is List<string> inputList)
        {
            writer.WritePropertyName("request"u8);
            var inputWrapper = JsonModelListWrapper.FromList(inputList);
            inputWrapper.Write(writer, modelReaderWriterOptions);
        }
        if (value.EmbeddingsContext?.Response is IJsonModel<OpenAIEmbeddingCollection> response)
        {
            writer.WritePropertyName("response"u8);
            response.Write(writer, modelReaderWriterOptions);
        }
        if (value.EmbeddingsContext != null)
        {
            writer.WritePropertyName("count"u8);
            writer.WriteNumberValue(value.EmbeddingsContext.Count);
        }

        writer.WriteEndObject();

        writer.WritePropertyName("connectionInfo"u8);
        writer.WriteStartObject();
        writer.WritePropertyName("connectionName"u8);

        if (value.ConnectionInfo == null)
        {
            writer.WriteNullValue();
        }
        else
        {
            writer.WriteStringValue(value.ConnectionInfo.ConnectionName);
        }

        writer.WritePropertyName("collectionName"u8);

        if (value.ConnectionInfo == null)
        {
            writer.WriteNullValue();
        }
        else if (value.ConnectionInfo.CollectionName == null)
        {
            writer.WriteNullValue();
        }
        else
        {
            writer.WriteStringValue(value.ConnectionInfo.CollectionName);
        }
        writer.WriteEndObject();


        writer.WritePropertyName("title");
        writer.WriteStringValue(value.Title);
        writer.WriteEndObject();
    }