File: Generated\361d1da7f942c932\TestJsonSerializerContext.GetJsonTypeInfo.g.cs
Project: ..\..\..\test\Libraries\Microsoft.Extensions.AI.Tests\Microsoft.Extensions.AI.Tests.csproj (Microsoft.Extensions.AI.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(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.AnnotatedRegion))
            {
                return Create_AnnotatedRegion(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.AutoChatToolMode))
            {
                return Create_AutoChatToolMode(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.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<float>))
            {
                return Create_EmbeddingSingle(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.FunctionResultContent))
            {
                return Create_FunctionResultContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedFileContent))
            {
                return Create_HostedFileContent(options);
            }
            if (type == typeof(global::Microsoft.Extensions.AI.HostedVectorStoreContent))
            {
                return Create_HostedVectorStoreContent(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.InputResponseContent))
            {
                return Create_InputResponseContent(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.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.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.ToolResultContent))
            {
                return Create_ToolResultContent(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.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.Generic.IReadOnlyList<global::Microsoft.Extensions.AI.ChatResponseUpdate>))
            {
                return Create_IReadOnlyListChatResponseUpdate(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.Guid))
            {
                return Create_Guid(options);
            }
            if (type == typeof(global::System.ReadOnlyMemory<float>))
            {
                return Create_ReadOnlyMemorySingle(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.Uri))
            {
                return Create_Uri(options);
            }
            if (type == typeof(int))
            {
                return Create_Int32(options);
            }
            if (type == typeof(int?))
            {
                return Create_NullableInt32(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(string))
            {
                return Create_String(options);
            }
            return null;
        }
    }
}