internal static ConversationItemStreamingPartFinishedUpdate DeserializeItemStreamingPartFinishedUpdate()

in src/Custom/RealtimeConversation/ResponseUpdates/ConversationItemStreamingPartFinishedUpdate.Serialization.cs [43:66]


    internal static ConversationItemStreamingPartFinishedUpdate DeserializeItemStreamingPartFinishedUpdate(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.ItemContentPartFinished.ToSerialString())
                        ? InternalRealtimeServerEventResponseContentPartDone.DeserializeInternalRealtimeServerEventResponseContentPartDone(element, options)
                    : StringComparer.OrdinalIgnoreCase.Equals(updateType, ConversationUpdateKind.ItemStreamingFunctionCallArgumentsFinished.ToSerialString())
                        ? InternalRealtimeServerEventResponseFunctionCallArgumentsDone.DeserializeInternalRealtimeServerEventResponseFunctionCallArgumentsDone(element, options)
                    : null;

                return new ConversationItemStreamingPartFinishedUpdate(baseUpdate);
            }
        }
        return null;
    }