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/Batch/InternalBatchRequestCounts.Serialization.cs

149lines · modeblame

9f9f2936Jose Arriaga Maldonado2 years ago1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel.Primitives;
7using System.Collections.Generic;
8using System.Text.Json;
e0fee603Jose Arriaga Maldonado1 years ago9using OpenAI;
9f9f2936Jose Arriaga Maldonado2 years ago10
11namespace OpenAI.Batch
12{
13internal partial class InternalBatchRequestCounts : IJsonModel<InternalBatchRequestCounts>
14{
e0fee603Jose Arriaga Maldonado1 years ago15internal InternalBatchRequestCounts()
16{
17}
18
9f9f2936Jose Arriaga Maldonado2 years ago19void IJsonModel<InternalBatchRequestCounts>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
20{
e0fee603Jose Arriaga Maldonado1 years ago21writer.WriteStartObject();
22JsonModelWriteCore(writer, options);
23writer.WriteEndObject();
24}
25
26protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
27{
28string format = options.Format == "W" ? ((IPersistableModel<InternalBatchRequestCounts>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago29if (format != "J")
30{
31throw new FormatException($"The model {nameof(InternalBatchRequestCounts)} does not support writing '{format}' format.");
32}
e0fee603Jose Arriaga Maldonado1 years ago33if (_additionalBinaryDataProperties?.ContainsKey("total") != true)
9f9f2936Jose Arriaga Maldonado2 years ago34{
19fc7d54Jose Arriaga Maldonado2 years ago35writer.WritePropertyName("total"u8);
36writer.WriteNumberValue(Total);
37}
e0fee603Jose Arriaga Maldonado1 years ago38if (_additionalBinaryDataProperties?.ContainsKey("completed") != true)
19fc7d54Jose Arriaga Maldonado2 years ago39{
40writer.WritePropertyName("completed"u8);
41writer.WriteNumberValue(Completed);
42}
e0fee603Jose Arriaga Maldonado1 years ago43if (_additionalBinaryDataProperties?.ContainsKey("failed") != true)
19fc7d54Jose Arriaga Maldonado2 years ago44{
45writer.WritePropertyName("failed"u8);
46writer.WriteNumberValue(Failed);
47}
5dce104aJose Arriaga Maldonado1 years ago48// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago49if (_additionalBinaryDataProperties != null)
19fc7d54Jose Arriaga Maldonado2 years ago50{
e0fee603Jose Arriaga Maldonado1 years ago51foreach (var item in _additionalBinaryDataProperties)
9f9f2936Jose Arriaga Maldonado2 years ago52{
19fc7d54Jose Arriaga Maldonado2 years ago53if (ModelSerializationExtensions.IsSentinelValue(item.Value))
54{
55continue;
56}
9f9f2936Jose Arriaga Maldonado2 years ago57writer.WritePropertyName(item.Key);
58#if NET6_0_OR_GREATER
e0fee603Jose Arriaga Maldonado1 years ago59writer.WriteRawValue(item.Value);
9f9f2936Jose Arriaga Maldonado2 years ago60#else
61using (JsonDocument document = JsonDocument.Parse(item.Value))
62{
63JsonSerializer.Serialize(writer, document.RootElement);
64}
65#endif
66}
67}
68}
69
e0fee603Jose Arriaga Maldonado1 years ago70InternalBatchRequestCounts IJsonModel<InternalBatchRequestCounts>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
71
72protected virtual InternalBatchRequestCounts JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago73{
e0fee603Jose Arriaga Maldonado1 years ago74string format = options.Format == "W" ? ((IPersistableModel<InternalBatchRequestCounts>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago75if (format != "J")
76{
77throw new FormatException($"The model {nameof(InternalBatchRequestCounts)} does not support reading '{format}' format.");
78}
79using JsonDocument document = JsonDocument.ParseValue(ref reader);
80return DeserializeInternalBatchRequestCounts(document.RootElement, options);
81}
82
e0fee603Jose Arriaga Maldonado1 years ago83internal static InternalBatchRequestCounts DeserializeInternalBatchRequestCounts(JsonElement element, ModelReaderWriterOptions options)
9f9f2936Jose Arriaga Maldonado2 years ago84{
85if (element.ValueKind == JsonValueKind.Null)
86{
87return null;
88}
89int total = default;
90int completed = default;
91int failed = default;
e0fee603Jose Arriaga Maldonado1 years ago92IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
93foreach (var prop in element.EnumerateObject())
9f9f2936Jose Arriaga Maldonado2 years ago94{
e0fee603Jose Arriaga Maldonado1 years ago95if (prop.NameEquals("total"u8))
9f9f2936Jose Arriaga Maldonado2 years ago96{
e0fee603Jose Arriaga Maldonado1 years ago97total = prop.Value.GetInt32();
9f9f2936Jose Arriaga Maldonado2 years ago98continue;
99}
e0fee603Jose Arriaga Maldonado1 years ago100if (prop.NameEquals("completed"u8))
9f9f2936Jose Arriaga Maldonado2 years ago101{
e0fee603Jose Arriaga Maldonado1 years ago102completed = prop.Value.GetInt32();
9f9f2936Jose Arriaga Maldonado2 years ago103continue;
104}
e0fee603Jose Arriaga Maldonado1 years ago105if (prop.NameEquals("failed"u8))
9f9f2936Jose Arriaga Maldonado2 years ago106{
e0fee603Jose Arriaga Maldonado1 years ago107failed = prop.Value.GetInt32();
9f9f2936Jose Arriaga Maldonado2 years ago108continue;
109}
5dce104aJose Arriaga Maldonado1 years ago110// Plugin customization: remove options.Format != "W" check
0ca4c062Jose Arriaga Maldonado1 years ago111additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
9f9f2936Jose Arriaga Maldonado2 years ago112}
e0fee603Jose Arriaga Maldonado1 years ago113return new InternalBatchRequestCounts(total, completed, failed, additionalBinaryDataProperties);
9f9f2936Jose Arriaga Maldonado2 years ago114}
115
e0fee603Jose Arriaga Maldonado1 years ago116BinaryData IPersistableModel<InternalBatchRequestCounts>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
9f9f2936Jose Arriaga Maldonado2 years ago117
e0fee603Jose Arriaga Maldonado1 years ago118protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
119{
120string format = options.Format == "W" ? ((IPersistableModel<InternalBatchRequestCounts>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago121switch (format)
122{
123case "J":
5dce104aJose Arriaga Maldonado1 years ago124return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
9f9f2936Jose Arriaga Maldonado2 years ago125default:
126throw new FormatException($"The model {nameof(InternalBatchRequestCounts)} does not support writing '{options.Format}' format.");
127}
128}
129
e0fee603Jose Arriaga Maldonado1 years ago130InternalBatchRequestCounts IPersistableModel<InternalBatchRequestCounts>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
9f9f2936Jose Arriaga Maldonado2 years ago131
e0fee603Jose Arriaga Maldonado1 years ago132protected virtual InternalBatchRequestCounts PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
133{
134string format = options.Format == "W" ? ((IPersistableModel<InternalBatchRequestCounts>)this).GetFormatFromOptions(options) : options.Format;
9f9f2936Jose Arriaga Maldonado2 years ago135switch (format)
136{
137case "J":
e0fee603Jose Arriaga Maldonado1 years ago138using (JsonDocument document = JsonDocument.Parse(data))
9f9f2936Jose Arriaga Maldonado2 years ago139{
140return DeserializeInternalBatchRequestCounts(document.RootElement, options);
141}
142default:
143throw new FormatException($"The model {nameof(InternalBatchRequestCounts)} does not support reading '{options.Format}' format.");
144}
145}
146
147string IPersistableModel<InternalBatchRequestCounts>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
148}
149}