in src/Elastic.Clients.Elasticsearch/_Shared/Types/Core/Bulk/BulkUpdateBody.cs [57:104]
protected override void SerializeProperties(Utf8JsonWriter writer, JsonSerializerOptions options, IElasticsearchClientSettings settings)
{
if (PartialUpdate is not null)
{
writer.WritePropertyName("doc");
settings.SourceSerializer.Serialize(PartialUpdate, writer);
}
if (Script is not null)
{
writer.WritePropertyName("script");
JsonSerializer.Serialize(writer, Script, options);
}
if (ScriptedUpsert.HasValue)
{
writer.WritePropertyName("scripted_upsert");
JsonSerializer.Serialize(writer, ScriptedUpsert.Value, options);
}
if (DocAsUpsert.HasValue)
{
writer.WritePropertyName("doc_as_upsert");
JsonSerializer.Serialize(writer, DocAsUpsert.Value, options);
}
if (Upsert is not null)
{
writer.WritePropertyName("upsert");
settings.SourceSerializer.Serialize(Upsert, writer, settings.MemoryStreamFactory);
}
if (Source is not null)
{
writer.WritePropertyName("_source");
switch (Source.Tag)
{
case UnionTag.T1:
JsonSerializer.Serialize(writer, Source.Value1, options);
break;
case UnionTag.T2:
JsonSerializer.Serialize(writer, Source.Value2, options);
break;
default:
throw new InvalidOperationException();
}
}
}