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

src/Generated/Models/Audio/AudioTranslation.Serialization.cs

197lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel.Primitives;
7using System.Collections.Generic;
5dce104aJose Arriaga Maldonado1 years ago8using System.Diagnostics.CodeAnalysis;
9f9f2936Jose Arriaga Maldonado2 years ago9using System.Text.Json;
e0fee603Jose Arriaga Maldonado1 years ago10using OpenAI;
9f9f2936Jose Arriaga Maldonado2 years ago11
12namespace OpenAI.Audio
13{
14public partial class AudioTranslation : IJsonModel<AudioTranslation>
15{
5dce104aJose Arriaga Maldonado1 years ago16internal AudioTranslation() : this(null, null, null, null, default, null)
e0fee603Jose Arriaga Maldonado1 years ago17{
18}
19
9f9f2936Jose Arriaga Maldonado2 years ago20void IJsonModel<AudioTranslation>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
21{
e0fee603Jose Arriaga Maldonado1 years ago22writer.WriteStartObject();
23JsonModelWriteCore(writer, options);
24writer.WriteEndObject();
25}
26
5dce104aJose Arriaga Maldonado1 years ago27[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago28protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
29{
30string format = options.Format == "W" ? ((IPersistableModel<AudioTranslation>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago31if (format != "J")
32{
33throw new FormatException($"The model {nameof(AudioTranslation)} does not support writing '{format}' format.");
34}
e0fee603Jose Arriaga Maldonado1 years ago35if (_additionalBinaryDataProperties?.ContainsKey("language") != true)
19fc7d54Jose Arriaga Maldonado2 years ago36{
37writer.WritePropertyName("language"u8);
38writer.WriteStringValue(Language);
39}
e0fee603Jose Arriaga Maldonado1 years ago40if (_additionalBinaryDataProperties?.ContainsKey("text") != true)
19fc7d54Jose Arriaga Maldonado2 years ago41{
42writer.WritePropertyName("text"u8);
43writer.WriteStringValue(Text);
44}
5dce104aJose Arriaga Maldonado1 years ago45// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago46if (Optional.IsCollectionDefined(Segments) && _additionalBinaryDataProperties?.ContainsKey("segments") != true)
9f9f2936Jose Arriaga Maldonado2 years ago47{
48writer.WritePropertyName("segments"u8);
49writer.WriteStartArray();
e0fee603Jose Arriaga Maldonado1 years ago50foreach (TranscribedSegment item in Segments)
9f9f2936Jose Arriaga Maldonado2 years ago51{
52writer.WriteObjectValue(item, options);
53}
54writer.WriteEndArray();
55}
e0fee603Jose Arriaga Maldonado1 years ago56if (_additionalBinaryDataProperties?.ContainsKey("task") != true)
57{
58writer.WritePropertyName("task"u8);
5dce104aJose Arriaga Maldonado1 years ago59writer.WriteStringValue(Task);
e0fee603Jose Arriaga Maldonado1 years ago60}
61if (_additionalBinaryDataProperties?.ContainsKey("duration") != true)
9f9f2936Jose Arriaga Maldonado2 years ago62{
e0fee603Jose Arriaga Maldonado1 years ago63writer.WritePropertyName("duration"u8);
64writer.WriteNumberValue(Convert.ToDouble(Duration.Value.ToString("s\\.FFF")));
65}
5dce104aJose Arriaga Maldonado1 years ago66// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago67if (_additionalBinaryDataProperties != null)
e0fee603Jose Arriaga Maldonado1 years ago68{
69foreach (var item in _additionalBinaryDataProperties)
9f9f2936Jose Arriaga Maldonado2 years ago70{
19fc7d54Jose Arriaga Maldonado2 years ago71if (ModelSerializationExtensions.IsSentinelValue(item.Value))
72{
73continue;
74}
9f9f2936Jose Arriaga Maldonado2 years ago75writer.WritePropertyName(item.Key);
76#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago77writer.WriteRawValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago78#else
79using (JsonDocument document = JsonDocument.Parse(item.Value))
80{
81JsonSerializer.Serialize(writer, document.RootElement);
82}
83#endif
84}
85}
86}
87
e0fee603Jose Arriaga Maldonado1 years ago88AudioTranslation IJsonModel<AudioTranslation>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
89
5dce104aJose Arriaga Maldonado1 years ago90[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago91protected virtual AudioTranslation JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago92{
e0fee603Jose Arriaga Maldonado1 years ago93string format = options.Format == "W" ? ((IPersistableModel<AudioTranslation>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago94if (format != "J")
95{
96throw new FormatException($"The model {nameof(AudioTranslation)} does not support reading '{format}' format.");
97}
98using JsonDocument document = JsonDocument.ParseValue(ref reader);
99return DeserializeAudioTranslation(document.RootElement, options);
100}
101
e0fee603Jose Arriaga Maldonado1 years ago102internal static AudioTranslation DeserializeAudioTranslation(JsonElement element, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago103{
104if (element.ValueKind == JsonValueKind.Null)
105{
106return null;
107}
108string language = default;
109string text = default;
110IReadOnlyList<TranscribedSegment> segments = default;
5dce104aJose Arriaga Maldonado1 years ago111string task = default;
e0fee603Jose Arriaga Maldonado1 years ago112TimeSpan? duration = default;
113IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
114foreach (var prop in element.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago115{
e0fee603Jose Arriaga Maldonado1 years ago116if (prop.NameEquals("language"u8))
9f9f2936Jose Arriaga Maldonado2 years ago117{
e0fee603Jose Arriaga Maldonado1 years ago118language = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago119continue;
120}
e0fee603Jose Arriaga Maldonado1 years ago121if (prop.NameEquals("text"u8))
9f9f2936Jose Arriaga Maldonado2 years ago122{
e0fee603Jose Arriaga Maldonado1 years ago123text = prop.Value.GetString();
9f9f2936Jose Arriaga Maldonado2 years ago124continue;
125}
e0fee603Jose Arriaga Maldonado1 years ago126if (prop.NameEquals("segments"u8))
9f9f2936Jose Arriaga Maldonado2 years ago127{
e0fee603Jose Arriaga Maldonado1 years ago128if (prop.Value.ValueKind == JsonValueKind.Null)
9f9f2936Jose Arriaga Maldonado2 years ago129{
130continue;
131}
132List<TranscribedSegment> array = new List<TranscribedSegment>();
e0fee603Jose Arriaga Maldonado1 years ago133foreach (var item in prop.Value.EnumerateArray())
9f9f2936Jose Arriaga Maldonado2 years ago134{
135array.Add(TranscribedSegment.DeserializeTranscribedSegment(item, options));
136}
137segments = array;
138continue;
139}
e0fee603Jose Arriaga Maldonado1 years ago140if (prop.NameEquals("task"u8))
141{
5dce104aJose Arriaga Maldonado1 years ago142task = prop.Value.GetString();
e0fee603Jose Arriaga Maldonado1 years ago143continue;
144}
145if (prop.NameEquals("duration"u8))
146{
147duration = TimeSpan.FromSeconds(prop.Value.GetDouble());
148continue;
149}
5dce104aJose Arriaga Maldonado1 years ago150// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago151additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago152}
153return new AudioTranslation(
154language,
155text,
156segments ?? new ChangeTrackingList<TranscribedSegment>(),
e0fee603Jose Arriaga Maldonado1 years ago157task,
158duration,
159additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago160}
161
e0fee603Jose Arriaga Maldonado1 years ago162BinaryData IPersistableModel<AudioTranslation>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago163
5dce104aJose Arriaga Maldonado1 years ago164[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago165protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
166{
167string format = options.Format == "W" ? ((IPersistableModel<AudioTranslation>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago168switch (format)
169{
170case "J":
5dce104aJose Arriaga Maldonado1 years ago171return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
9f9f2936Jose Arriaga Maldonado2 years ago172default:
173throw new FormatException($"The model {nameof(AudioTranslation)} does not support writing '{options.Format}' format.");
174}
175}
176
e0fee603Jose Arriaga Maldonado1 years ago177AudioTranslation IPersistableModel<AudioTranslation>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago178
5dce104aJose Arriaga Maldonado1 years ago179[Experimental("OPENAI001")]
e0fee603Jose Arriaga Maldonado1 years ago180protected virtual AudioTranslation PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
181{
182string format = options.Format == "W" ? ((IPersistableModel<AudioTranslation>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago183switch (format)
184{
185case "J":
e0fee603Jose Arriaga Maldonado1 years ago186using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago187{
188return DeserializeAudioTranslation(document.RootElement, options);
189}
190default:
191throw new FormatException($"The model {nameof(AudioTranslation)} does not support reading '{options.Format}' format.");
192}
193}
194
195string IPersistableModel<AudioTranslation>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
196}
197}