src/Elastic.CommonSchema/Serialization/PropertiesReaderJsonConverterBase.Generated.cs (65 lines of code) (raw):

// Licensed to Elasticsearch B.V under one or more agreements. // Elasticsearch B.V licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information /* IMPORTANT NOTE ============== This file has been generated. If you wish to submit a PR please modify the original csharp file and submit the PR with that change. Thanks! */ using System; using System.Collections.Generic; using System.Text.Json; using System.Text.Json.Serialization; namespace Elastic.CommonSchema.Serialization; /// <summary> Specialized converter for <see cref="Log"/> </summary> internal partial class LogEntityJsonConverter : PropertiesReaderJsonConverterBase<Log> { /// <inheritdoc cref="PropertiesReaderJsonConverterBase{T}.ReadProperties"/> protected override bool ReadProperties(ref Utf8JsonReader reader, Log ecsEvent, JsonSerializerOptions options) { var propertyName = reader.GetString(); reader.Read(); return propertyName switch { "file.path" => ReadPropString(ref reader, "file.path", ecsEvent, (b, v) => b.FilePath = v), "level" => ReadPropString(ref reader, "level", ecsEvent, (b, v) => b.Level = v), "logger" => ReadPropString(ref reader, "logger", ecsEvent, (b, v) => b.Logger = v), "origin.file.line" => ReadPropLong(ref reader, "origin.file.line", ecsEvent, (b, v) => b.OriginFileLine = v), "origin.file.name" => ReadPropString(ref reader, "origin.file.name", ecsEvent, (b, v) => b.OriginFileName = v), "origin.function" => ReadPropString(ref reader, "origin.function", ecsEvent, (b, v) => b.OriginFunction = v), "syslog" => ReadProp<LogSyslog>(ref reader, "syslog", ecsEvent, (b, v) => b.Syslog = v, options), _ => ReadProperty(ref reader, propertyName, ecsEvent, options) }; } private partial bool ReadProperty(ref Utf8JsonReader reader, string propertyName, Log ecsEvent, JsonSerializerOptions options); /// <inheritdoc cref="JsonConverter{T}.Write"/> public override void Write(Utf8JsonWriter writer, Log value, JsonSerializerOptions options) { if (value == null || !value.ShouldSerialize) { writer.WriteNullValue(); return; } writer.WriteStartObject(); WritePropString(writer, "file.path", value.FilePath); WritePropString(writer, "logger", value.Logger); WritePropLong(writer, "origin.file.line", value.OriginFileLine); WritePropString(writer, "origin.file.name", value.OriginFileName); WritePropString(writer, "origin.function", value.OriginFunction); WriteProp(writer, "syslog", value.Syslog, options); writer.WriteEndObject(); } } /// <summary> Specialized converter for <see cref="Ecs"/> </summary> internal partial class EcsEntityJsonConverter : PropertiesReaderJsonConverterBase<Ecs> { /// <inheritdoc cref="PropertiesReaderJsonConverterBase{T}.ReadProperties"/> protected override bool ReadProperties(ref Utf8JsonReader reader, Ecs ecsEvent, JsonSerializerOptions options) { var propertyName = reader.GetString(); reader.Read(); return propertyName switch { "version" => ReadPropString(ref reader, "version", ecsEvent, (b, v) => b.Version = v), _ => ReadProperty(ref reader, propertyName, ecsEvent, options) }; } private partial bool ReadProperty(ref Utf8JsonReader reader, string propertyName, Ecs ecsEvent, JsonSerializerOptions options); /// <inheritdoc cref="JsonConverter{T}.Write"/> public override void Write(Utf8JsonWriter writer, Ecs value, JsonSerializerOptions options) { if (value == null || !value.ShouldSerialize) { writer.WriteNullValue(); return; } writer.WriteStartObject(); writer.WriteEndObject(); } }