in src/Custom/RealtimeConversation/ResponseUpdates/ConversationItemStreamingPartDeltaUpdate.Serialization.cs [46:75]
internal static ConversationItemStreamingPartDeltaUpdate DeserializeItemStreamingPartDeltaUpdate(JsonElement element, ModelReaderWriterOptions options = null)
{
if (element.ValueKind != JsonValueKind.Object)
{
return null;
}
foreach (JsonProperty elementProperty in element.EnumerateObject())
{
if (elementProperty.NameEquals("type"u8))
{
string updateType = elementProperty.Value.ToString();
ConversationUpdate baseUpdate =
StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemContentPartStarted.ToSerialString())
? InternalRealtimeServerEventResponseContentPartAdded.DeserializeInternalRealtimeServerEventResponseContentPartAdded(element, options)
: StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemStreamingPartAudioDelta.ToSerialString())
? InternalRealtimeServerEventResponseAudioDelta.DeserializeInternalRealtimeServerEventResponseAudioDelta(element, options)
: StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemStreamingPartAudioTranscriptionDelta.ToSerialString())
? InternalRealtimeServerEventResponseAudioTranscriptDelta.DeserializeInternalRealtimeServerEventResponseAudioTranscriptDelta(element, options)
: StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemStreamingPartTextDelta.ToSerialString())
? InternalRealtimeServerEventResponseTextDelta.DeserializeInternalRealtimeServerEventResponseTextDelta(element, options)
: StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemStreamingFunctionCallArgumentsDelta.ToSerialString())
? InternalRealtimeServerEventResponseFunctionCallArgumentsDelta.DeserializeInternalRealtimeServerEventResponseFunctionCallArgumentsDelta(element, options)
: null;
return new ConversationItemStreamingPartDeltaUpdate(baseUpdate);
}
}
return null;
}