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/Evals/InternalDeleteEvalRunResponse.Serialization.cs

157lines · modecode

1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel;
7using System.ClientModel.Primitives;
8using System.Collections.Generic;
9using System.Text.Json;
10using OpenAI;
11
12namespace OpenAI.Evals
13{
14 internal partial class InternalDeleteEvalRunResponse : IJsonModel<InternalDeleteEvalRunResponse>
15 {
16 internal InternalDeleteEvalRunResponse()
17 {
18 }
19
20 void IJsonModel<InternalDeleteEvalRunResponse>.Write(Utf8JsonWriter writer, ModelReaderWriterOptions options)
21 {
22 writer.WriteStartObject();
23 JsonModelWriteCore(writer, options);
24 writer.WriteEndObject();
25 }
26
27 protected virtual void JsonModelWriteCore(Utf8JsonWriter writer, ModelReaderWriterOptions options)
28 {
29 string format = options.Format == "W" ? ((IPersistableModel<InternalDeleteEvalRunResponse>)this).GetFormatFromOptions(options) : options.Format;
30 if (format != "J")
31 {
32 throw new FormatException($"The model {nameof(InternalDeleteEvalRunResponse)} does not support writing '{format}' format.");
33 }
34 if (_additionalBinaryDataProperties?.ContainsKey("object") != true)
35 {
36 writer.WritePropertyName("object"u8);
37 writer.WriteStringValue(Object);
38 }
39 if (_additionalBinaryDataProperties?.ContainsKey("deleted") != true)
40 {
41 writer.WritePropertyName("deleted"u8);
42 writer.WriteBooleanValue(Deleted);
43 }
44 if (_additionalBinaryDataProperties?.ContainsKey("eval_run_id") != true)
45 {
46 writer.WritePropertyName("eval_run_id"u8);
47 writer.WriteStringValue(EvalRunId);
48 }
49 // Plugin customization: remove options.Format != "W" check
50 if (_additionalBinaryDataProperties != null)
51 {
52 foreach (var item in _additionalBinaryDataProperties)
53 {
54 if (ModelSerializationExtensions.IsSentinelValue(item.Value))
55 {
56 continue;
57 }
58 writer.WritePropertyName(item.Key);
59#if NET6_0_OR_GREATER
60 writer.WriteRawValue(item.Value);
61#else
62 using (JsonDocument document = JsonDocument.Parse(item.Value))
63 {
64 JsonSerializer.Serialize(writer, document.RootElement);
65 }
66#endif
67 }
68 }
69 }
70
71 InternalDeleteEvalRunResponse IJsonModel<InternalDeleteEvalRunResponse>.Create(ref Utf8JsonReader reader, ModelReaderWriterOptions options) => JsonModelCreateCore(ref reader, options);
72
73 protected virtual InternalDeleteEvalRunResponse JsonModelCreateCore(ref Utf8JsonReader reader, ModelReaderWriterOptions options)
74 {
75 string format = options.Format == "W" ? ((IPersistableModel<InternalDeleteEvalRunResponse>)this).GetFormatFromOptions(options) : options.Format;
76 if (format != "J")
77 {
78 throw new FormatException($"The model {nameof(InternalDeleteEvalRunResponse)} does not support reading '{format}' format.");
79 }
80 using JsonDocument document = JsonDocument.ParseValue(ref reader);
81 return DeserializeInternalDeleteEvalRunResponse(document.RootElement, options);
82 }
83
84 internal static InternalDeleteEvalRunResponse DeserializeInternalDeleteEvalRunResponse(JsonElement element, ModelReaderWriterOptions options)
85 {
86 if (element.ValueKind == JsonValueKind.Null)
87 {
88 return null;
89 }
90 string @object = default;
91 bool deleted = default;
92 string evalRunId = default;
93 IDictionary<string, BinaryData> additionalBinaryDataProperties = new ChangeTrackingDictionary<string, BinaryData>();
94 foreach (var prop in element.EnumerateObject())
95 {
96 if (prop.NameEquals("object"u8))
97 {
98 @object = prop.Value.GetString();
99 continue;
100 }
101 if (prop.NameEquals("deleted"u8))
102 {
103 deleted = prop.Value.GetBoolean();
104 continue;
105 }
106 if (prop.NameEquals("eval_run_id"u8))
107 {
108 evalRunId = prop.Value.GetString();
109 continue;
110 }
111 // Plugin customization: remove options.Format != "W" check
112 additionalBinaryDataProperties.Add(prop.Name, BinaryData.FromString(prop.Value.GetRawText()));
113 }
114 return new InternalDeleteEvalRunResponse(@object, deleted, evalRunId, additionalBinaryDataProperties);
115 }
116
117 BinaryData IPersistableModel<InternalDeleteEvalRunResponse>.Write(ModelReaderWriterOptions options) => PersistableModelWriteCore(options);
118
119 protected virtual BinaryData PersistableModelWriteCore(ModelReaderWriterOptions options)
120 {
121 string format = options.Format == "W" ? ((IPersistableModel<InternalDeleteEvalRunResponse>)this).GetFormatFromOptions(options) : options.Format;
122 switch (format)
123 {
124 case "J":
125 return ModelReaderWriter.Write(this, options, OpenAIContext.Default);
126 default:
127 throw new FormatException($"The model {nameof(InternalDeleteEvalRunResponse)} does not support writing '{options.Format}' format.");
128 }
129 }
130
131 InternalDeleteEvalRunResponse IPersistableModel<InternalDeleteEvalRunResponse>.Create(BinaryData data, ModelReaderWriterOptions options) => PersistableModelCreateCore(data, options);
132
133 protected virtual InternalDeleteEvalRunResponse PersistableModelCreateCore(BinaryData data, ModelReaderWriterOptions options)
134 {
135 string format = options.Format == "W" ? ((IPersistableModel<InternalDeleteEvalRunResponse>)this).GetFormatFromOptions(options) : options.Format;
136 switch (format)
137 {
138 case "J":
139 using (JsonDocument document = JsonDocument.Parse(data))
140 {
141 return DeserializeInternalDeleteEvalRunResponse(document.RootElement, options);
142 }
143 default:
144 throw new FormatException($"The model {nameof(InternalDeleteEvalRunResponse)} does not support reading '{options.Format}' format.");
145 }
146 }
147
148 string IPersistableModel<InternalDeleteEvalRunResponse>.GetFormatFromOptions(ModelReaderWriterOptions options) => "J";
149
150 public static explicit operator InternalDeleteEvalRunResponse(ClientResult result)
151 {
152 using PipelineResponse response = result.GetRawResponse();
153 using JsonDocument document = JsonDocument.Parse(response.Content);
154 return DeserializeInternalDeleteEvalRunResponse(document.RootElement, ModelSerializationExtensions.WireOptions);
155 }
156 }
157}
158