File: Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs
Project: ..\..\..\test\Libraries\Microsoft.Extensions.AI.Abstractions.Tests\Microsoft.Extensions.AI.Abstractions.Tests.csproj (Microsoft.Extensions.AI.Abstractions.Tests)
// <auto-generated/>
 
#nullable enable annotations
#nullable disable warnings
 
// Suppress warnings about [Obsolete] member usage in generated code.
#pragma warning disable CS0612, CS0618
 
namespace Microsoft.Extensions.AI
{
    internal sealed partial class TestJsonSerializerContext : global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver
    {
        /// <inheritdoc/>
        public override global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? GetTypeInfo(global::System.Type type)
        {
            Options.TryGetTypeInfo(type, out global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? typeInfo);
            return typeInfo;
        }
 
        global::System.Text.Json.Serialization.Metadata.JsonTypeInfo? global::System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver.GetTypeInfo(global::System.Type type, global::System.Text.Json.JsonSerializerOptions options)
        {
            if (type == typeof(bool))
            {
                return Create_Boolean(options);
            }
            if (type == typeof(bool?))
            {
                return Create_NullableBoolean(options);
            }
            if (type == typeof(decimal))
            {
                return Create_Decimal(options);
            }
            if (type == typeof(double))
            {
                return Create_Double(options);
            }
            if (type == typeof(float))
            {
                return Create_Single(options);
            }
            if (type == typeof(float?))
            {
                return Create_NullableSingle(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary))
            {
                return Create_AdditionalPropertiesDictionary(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AdditionalPropertiesDictionary<long>))
            {
                return Create_AdditionalPropertiesDictionaryInt64(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AIAnnotation))
            {
                return Create_AIAnnotation(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AIContent))
            {
                return Create_AIContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AIFunctionArguments))
            {
                return Create_AIFunctionArguments(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AnnotatedRegion))
            {
                return Create_AnnotatedRegion(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AutoChatToolMode))
            {
                return Create_AutoChatToolMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.BinaryEmbedding))
            {
                return Create_BinaryEmbedding(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatFinishReason))
            {
                return Create_ChatFinishReason(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatFinishReason?))
            {
                return Create_NullableChatFinishReason(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatMessage))
            {
                return Create_ChatMessage(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatOptions))
            {
                return Create_ChatOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponse))
            {
                return Create_ChatResponse(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormat))
            {
                return Create_ChatResponseFormat(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatJson))
            {
                return Create_ChatResponseFormatJson(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatTests.SomeType))
            {
                return Create_SomeType(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatTests.TypeWithDisplayName))
            {
                return Create_TypeWithDisplayName(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseFormatText))
            {
                return Create_ChatResponseFormatText(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatResponseUpdate))
            {
                return Create_ChatResponseUpdate(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatRole))
            {
                return Create_ChatRole(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatRole?))
            {
                return Create_NullableChatRole(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ChatToolMode))
            {
                return Create_ChatToolMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.CitationAnnotation))
            {
                return Create_CitationAnnotation(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.CodeInterpreterToolCallContent))
            {
                return Create_CodeInterpreterToolCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.CodeInterpreterToolResultContent))
            {
                return Create_CodeInterpreterToolResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.DataContent))
            {
                return Create_DataContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.Embedding))
            {
                return Create_Embedding(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.Embedding<byte>))
            {
                return Create_EmbeddingByte(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.Embedding<double>))
            {
                return Create_EmbeddingDouble(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.Embedding<float>))
            {
                return Create_EmbeddingSingle(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.Embedding<sbyte>))
            {
                return Create_EmbeddingSByte(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.EmbeddingGenerationOptions))
            {
                return Create_EmbeddingGenerationOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ErrorContent))
            {
                return Create_ErrorContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.FunctionCallContent))
            {
                return Create_FunctionCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.FunctionCallContent[]))
            {
                return Create_FunctionCallContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent))
            {
                return Create_FunctionResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.FunctionResultContent[]))
            {
                return Create_FunctionResultContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedFileClientOptions))
            {
                return Create_HostedFileClientOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedFileContent))
            {
                return Create_HostedFileContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedMcpServerToolAlwaysRequireApprovalMode))
            {
                return Create_HostedMcpServerToolAlwaysRequireApprovalMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedMcpServerToolApprovalMode))
            {
                return Create_HostedMcpServerToolApprovalMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedMcpServerToolNeverRequireApprovalMode))
            {
                return Create_HostedMcpServerToolNeverRequireApprovalMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedMcpServerToolRequireSpecificApprovalMode))
            {
                return Create_HostedMcpServerToolRequireSpecificApprovalMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedVectorStoreContent))
            {
                return Create_HostedVectorStoreContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationOptions))
            {
                return Create_ImageGenerationOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationResponse))
            {
                return Create_ImageGenerationResponse(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationResponseFormat))
            {
                return Create_ImageGenerationResponseFormat(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationResponseFormat?))
            {
                return Create_NullableImageGenerationResponseFormat(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationToolCallContent))
            {
                return Create_ImageGenerationToolCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ImageGenerationToolResultContent))
            {
                return Create_ImageGenerationToolResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.InputRequestContent))
            {
                return Create_InputRequestContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.InputRequestContent[]))
            {
                return Create_InputRequestContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.InputResponseContent))
            {
                return Create_InputResponseContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.InputResponseContent[]))
            {
                return Create_InputResponseContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.McpServerToolCallContent))
            {
                return Create_McpServerToolCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.McpServerToolResultContent))
            {
                return Create_McpServerToolResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.NoneChatToolMode))
            {
                return Create_NoneChatToolMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ReasoningEffort))
            {
                return Create_ReasoningEffort(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ReasoningEffort?))
            {
                return Create_NullableReasoningEffort(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ReasoningOptions))
            {
                return Create_ReasoningOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ReasoningOutput))
            {
                return Create_ReasoningOutput(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ReasoningOutput?))
            {
                return Create_NullableReasoningOutput(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.RequiredChatToolMode))
            {
                return Create_RequiredChatToolMode(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ResponseContinuationToken))
            {
                return Create_ResponseContinuationToken(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.SpeechToTextOptions))
            {
                return Create_SpeechToTextOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.SpeechToTextResponse))
            {
                return Create_SpeechToTextResponse(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.SpeechToTextResponseUpdate))
            {
                return Create_SpeechToTextResponseUpdate(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.SpeechToTextResponseUpdateKind))
            {
                return Create_SpeechToTextResponseUpdateKind(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextContent))
            {
                return Create_TextContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextReasoningContent))
            {
                return Create_TextReasoningContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextSpanAnnotatedRegion))
            {
                return Create_TextSpanAnnotatedRegion(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextToSpeechOptions))
            {
                return Create_TextToSpeechOptions(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextToSpeechResponse))
            {
                return Create_TextToSpeechResponse(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextToSpeechResponseUpdate))
            {
                return Create_TextToSpeechResponseUpdate(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.TextToSpeechResponseUpdateKind))
            {
                return Create_TextToSpeechResponseUpdateKind(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolApprovalRequestContent))
            {
                return Create_ToolApprovalRequestContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolApprovalResponseContent))
            {
                return Create_ToolApprovalResponseContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolCallContent))
            {
                return Create_ToolCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolCallContent[]))
            {
                return Create_ToolCallContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolResultContent))
            {
                return Create_ToolResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.ToolResultContent[]))
            {
                return Create_ToolResultContentArray(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.UriContent))
            {
                return Create_UriContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.UsageContent))
            {
                return Create_UsageContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.UsageDetails))
            {
                return Create_UsageDetails(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.WebSearchToolCallContent))
            {
                return Create_WebSearchToolCallContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.WebSearchToolResultContent))
            {
                return Create_WebSearchToolResultContent(options);
            }
            if (type == typeof(global::System.Collections.BitArray))
            {
                return Create_BitArray(options);
            }
            if (type == typeof(global::System.Collections.Generic.Dictionary<string, global::System.Text.Json.JsonDocument>))
            {
                return Create_DictionaryStringJsonDocument(options);
            }
            if (type == typeof(global::System.Collections.Generic.Dictionary<string, global::System.Text.Json.Nodes.JsonNode>))
            {
                return Create_DictionaryStringJsonNode(options);
            }
            if (type == typeof(global::System.Collections.Generic.Dictionary<string, object>))
            {
                return Create_DictionaryStringObject(options);
            }
            if (type == typeof(global::System.Collections.Generic.Dictionary<string, string>))
            {
                return Create_DictionaryStringString(options);
            }
            if (type == typeof(global::System.Collections.Generic.IDictionary<string, object>))
            {
                return Create_IDictionaryStringObject(options);
            }
            if (type == typeof(global::System.Collections.Generic.IList<global::Microsoft.Extensions.AI.AIAnnotation>))
            {
                return Create_IListAIAnnotation(options);
            }
            if (type == typeof(global::System.Collections.Generic.IList<global::Microsoft.Extensions.AI.AIContent>))
            {
                return Create_IListAIContent(options);
            }
            if (type == typeof(global::System.Collections.Generic.IList<global::Microsoft.Extensions.AI.AnnotatedRegion>))
            {
                return Create_IListAnnotatedRegion(options);
            }
            if (type == typeof(global::System.Collections.Generic.IList<global::Microsoft.Extensions.AI.ChatMessage>))
            {
                return Create_IListChatMessage(options);
            }
            if (type == typeof(global::System.Collections.Generic.IList<string>))
            {
                return Create_IListString(options);
            }
            if (type == typeof(global::System.Collections.ObjectModel.ReadOnlyDictionary<string, string>))
            {
                return Create_ReadOnlyDictionaryStringString(options);
            }
            if (type == typeof(global::System.DateTimeOffset))
            {
                return Create_DateTimeOffset(options);
            }
            if (type == typeof(global::System.DateTimeOffset?))
            {
                return Create_NullableDateTimeOffset(options);
            }
            if (type == typeof(global::System.DayOfWeek))
            {
                return Create_DayOfWeek(options);
            }
            if (type == typeof(global::System.DayOfWeek[]))
            {
                return Create_DayOfWeekArray(options);
            }
            if (type == typeof(global::System.Drawing.Size))
            {
                return Create_Size(options);
            }
            if (type == typeof(global::System.Drawing.Size?))
            {
                return Create_NullableSize(options);
            }
            if (type == typeof(global::System.Guid))
            {
                return Create_Guid(options);
            }
            if (type == typeof(global::System.ReadOnlyMemory<byte>))
            {
                return Create_ReadOnlyMemoryByte(options);
            }
            if (type == typeof(global::System.ReadOnlyMemory<double>))
            {
                return Create_ReadOnlyMemoryDouble(options);
            }
            if (type == typeof(global::System.ReadOnlyMemory<float>))
            {
                return Create_ReadOnlyMemorySingle(options);
            }
            if (type == typeof(global::System.ReadOnlyMemory<sbyte>))
            {
                return Create_ReadOnlyMemorySByte(options);
            }
            if (type == typeof(global::System.Text.Json.JsonDocument))
            {
                return Create_JsonDocument(options);
            }
            if (type == typeof(global::System.Text.Json.JsonElement))
            {
                return Create_JsonElement(options);
            }
            if (type == typeof(global::System.Text.Json.JsonElement?))
            {
                return Create_NullableJsonElement(options);
            }
            if (type == typeof(global::System.Text.Json.Nodes.JsonNode))
            {
                return Create_JsonNode(options);
            }
            if (type == typeof(global::System.TimeSpan))
            {
                return Create_TimeSpan(options);
            }
            if (type == typeof(global::System.TimeSpan?))
            {
                return Create_NullableTimeSpan(options);
            }
            if (type == typeof(global::System.Uri))
            {
                return Create_Uri(options);
            }
            if (type == typeof(int))
            {
                return Create_Int32(options);
            }
            if (type == typeof(int?))
            {
                return Create_NullableInt32(options);
            }
            if (type == typeof(int[]))
            {
                return Create_Int32Array(options);
            }
            if (type == typeof(long))
            {
                return Create_Int64(options);
            }
            if (type == typeof(long?))
            {
                return Create_NullableInt64(options);
            }
            if (type == typeof(object))
            {
                return Create_Object(options);
            }
            if (type == typeof(sbyte))
            {
                return Create_SByte(options);
            }
            if (type == typeof(string))
            {
                return Create_String(options);
            }
            return null;
        }
    }
}