openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.10

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/Generated/Internal/BinaryContentHelper.cs

133lines · modecode

1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.ClientModel;
7using System.Collections.Generic;
8using System.Text.Json;
9
10namespace OpenAI
11{
12 internal static class BinaryContentHelper
13 {
14 public static BinaryContent FromEnumerable<T>(IEnumerable<T> enumerable)
15 where T : notnull
16 {
17 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
18 content.JsonWriter.WriteStartArray();
19 foreach (var item in enumerable)
20 {
21 content.JsonWriter.WriteObjectValue(item, ModelSerializationExtensions.WireOptions);
22 }
23 content.JsonWriter.WriteEndArray();
24
25 return content;
26 }
27
28 public static BinaryContent FromEnumerable(IEnumerable<BinaryData> enumerable)
29 {
30 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
31 content.JsonWriter.WriteStartArray();
32 foreach (var item in enumerable)
33 {
34 if (item == null)
35 {
36 content.JsonWriter.WriteNullValue();
37 }
38 else
39 {
40#if NET6_0_OR_GREATER
41 content.JsonWriter.WriteRawValue(item);
42#else
43 using (JsonDocument document = JsonDocument.Parse(item))
44 {
45 JsonSerializer.Serialize(content.JsonWriter, document.RootElement);
46 }
47#endif
48 }
49 }
50 content.JsonWriter.WriteEndArray();
51
52 return content;
53 }
54
55 public static BinaryContent FromEnumerable<T>(ReadOnlySpan<T> span)
56 where T : notnull
57 {
58 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
59 content.JsonWriter.WriteStartArray();
60 for (int i = 0; i < span.Length; i++)
61 {
62 content.JsonWriter.WriteObjectValue(span[i], ModelSerializationExtensions.WireOptions);
63 }
64 content.JsonWriter.WriteEndArray();
65
66 return content;
67 }
68
69 public static BinaryContent FromDictionary<TValue>(IDictionary<string, TValue> dictionary)
70 where TValue : notnull
71 {
72 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
73 content.JsonWriter.WriteStartObject();
74 foreach (var item in dictionary)
75 {
76 content.JsonWriter.WritePropertyName(item.Key);
77 content.JsonWriter.WriteObjectValue(item.Value, ModelSerializationExtensions.WireOptions);
78 }
79 content.JsonWriter.WriteEndObject();
80
81 return content;
82 }
83
84 public static BinaryContent FromDictionary(IDictionary<string, BinaryData> dictionary)
85 {
86 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
87 content.JsonWriter.WriteStartObject();
88 foreach (var item in dictionary)
89 {
90 content.JsonWriter.WritePropertyName(item.Key);
91 if (item.Value == null)
92 {
93 content.JsonWriter.WriteNullValue();
94 }
95 else
96 {
97#if NET6_0_OR_GREATER
98 content.JsonWriter.WriteRawValue(item.Value);
99#else
100 using (JsonDocument document = JsonDocument.Parse(item.Value))
101 {
102 JsonSerializer.Serialize(content.JsonWriter, document.RootElement);
103 }
104#endif
105 }
106 }
107 content.JsonWriter.WriteEndObject();
108
109 return content;
110 }
111
112 public static BinaryContent FromObject(object value)
113 {
114 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
115 content.JsonWriter.WriteObjectValue<object>(value, ModelSerializationExtensions.WireOptions);
116 return content;
117 }
118
119 public static BinaryContent FromObject(BinaryData value)
120 {
121 Utf8JsonBinaryContent content = new Utf8JsonBinaryContent();
122#if NET6_0_OR_GREATER
123 content.JsonWriter.WriteRawValue(value);
124#else
125 using (JsonDocument document = JsonDocument.Parse(value))
126 {
127 JsonSerializer.Serialize(content.JsonWriter, document.RootElement);
128 }
129#endif
130 return content;
131 }
132 }
133}
134