2021-05-15 17:36:35 +02:00
// <auto-generated/>
#nullable enable
namespace WotBlitzStatisticsPro.Blazor.GraphQl.State
{
2022-08-22 17:25:41 +02:00
[global::System.CodeDom.Compiler.GeneratedCode("StrawberryShake", "12.12.1.0")]
2021-05-15 17:36:35 +02:00
public partial class FindClansBuilder : global :: StrawberryShake . IOperationResultBuilder < global :: System . Text . Json . JsonDocument , global :: WotBlitzStatisticsPro . Blazor . GraphQl . IFindClansResult >
{
private readonly global :: StrawberryShake . IEntityStore _entityStore ;
private readonly global :: StrawberryShake . IEntityIdSerializer _idSerializer ;
private readonly global :: StrawberryShake . IOperationResultDataFactory < global :: WotBlitzStatisticsPro . Blazor . GraphQl . IFindClansResult > _resultDataFactory ;
private readonly global :: StrawberryShake . Serialization . ILeafValueParser < global :: System . String , global :: WotBlitzStatisticsPro . Blazor . GraphQl . RealmType > _realmTypeParser ;
private readonly global :: StrawberryShake . Serialization . ILeafValueParser < global :: System . String , global :: WotBlitzStatisticsPro . Blazor . GraphQl . RequestLanguage > _requestLanguageParser ;
private readonly global :: StrawberryShake . Serialization . ILeafValueParser < global :: System . String , global :: System . String > _stringParser ;
private readonly global :: StrawberryShake . Serialization . ILeafValueParser < global :: System . Int64 , global :: System . Int64 > _longParser ;
private readonly global :: StrawberryShake . Serialization . ILeafValueParser < global :: System . Int32 , global :: System . Int32 > _intParser ;
public FindClansBuilder ( global :: StrawberryShake . IEntityStore entityStore , global :: StrawberryShake . IEntityIdSerializer idSerializer , global :: StrawberryShake . IOperationResultDataFactory < global :: WotBlitzStatisticsPro . Blazor . GraphQl . IFindClansResult > resultDataFactory , global :: StrawberryShake . Serialization . ISerializerResolver serializerResolver )
{
_entityStore = entityStore ?? throw new global :: System . ArgumentNullException ( nameof ( entityStore ));
_idSerializer = idSerializer ?? throw new global :: System . ArgumentNullException ( nameof ( idSerializer ));
_resultDataFactory = resultDataFactory ?? throw new global :: System . ArgumentNullException ( nameof ( resultDataFactory ));
_realmTypeParser = serializerResolver . GetLeafValueParser < global :: System . String , global :: WotBlitzStatisticsPro . Blazor . GraphQl . RealmType >( "RealmType" ) ?? throw new global :: System . ArgumentException ( "No serializer for type `RealmType` found." );
_requestLanguageParser = serializerResolver . GetLeafValueParser < global :: System . String , global :: WotBlitzStatisticsPro . Blazor . GraphQl . RequestLanguage >( "RequestLanguage" ) ?? throw new global :: System . ArgumentException ( "No serializer for type `RequestLanguage` found." );
_stringParser = serializerResolver . GetLeafValueParser < global :: System . String , global :: System . String >( "String" ) ?? throw new global :: System . ArgumentException ( "No serializer for type `String` found." );
_longParser = serializerResolver . GetLeafValueParser < global :: System . Int64 , global :: System . Int64 >( "Long" ) ?? throw new global :: System . ArgumentException ( "No serializer for type `Long` found." );
_intParser = serializerResolver . GetLeafValueParser < global :: System . Int32 , global :: System . Int32 >( "Int" ) ?? throw new global :: System . ArgumentException ( "No serializer for type `Int` found." );
}
public global :: StrawberryShake . IOperationResult < IFindClansResult > Build ( global :: StrawberryShake . Response < global :: System . Text . Json . JsonDocument > response )
{
( IFindClansResult Result , FindClansResultInfo Info )? data = null ;
global :: System . Collections . Generic . IReadOnlyList < global :: StrawberryShake . IClientError >? errors = null ;
if ( response . Exception is null )
{
try
{
if ( response . Body != null )
{
if ( response . Body . RootElement . TryGetProperty ( "data" , out global :: System . Text . Json . JsonElement dataElement ) && dataElement . ValueKind == global :: System . Text . Json . JsonValueKind . Object )
{
data = BuildData ( dataElement );
}
if ( response . Body . RootElement . TryGetProperty ( "errors" , out global :: System . Text . Json . JsonElement errorsElement ))
{
errors = global :: StrawberryShake . Json . JsonErrorParser . ParseErrors ( errorsElement );
}
}
}
catch ( global :: System . Exception ex )
{
errors = new global :: StrawberryShake . IClientError []{ new global :: StrawberryShake . ClientError ( ex . Message , exception : ex , extensions : new global :: System . Collections . Generic . Dictionary < global :: System . String , global :: System . Object ?>{{ "body" , response . Body ?. RootElement . ToString ()}})};
}
}
else
{
2022-08-22 17:25:41 +02:00
if ( response . Body != null && response . Body . RootElement . TryGetProperty ( "errors" , out global :: System . Text . Json . JsonElement errorsElement ))
{
errors = global :: StrawberryShake . Json . JsonErrorParser . ParseErrors ( errorsElement );
}
else
{
errors = new global :: StrawberryShake . IClientError []{ new global :: StrawberryShake . ClientError ( response . Exception . Message , exception : response . Exception , extensions : new global :: System . Collections . Generic . Dictionary < global :: System . String , global :: System . Object ?>{{ "body" , response . Body ?. RootElement . ToString ()}})};
}
2021-05-15 17:36:35 +02:00
}
return new global :: StrawberryShake . OperationResult < IFindClansResult >( data ?. Result , data ?. Info , _resultDataFactory , errors );
}
private ( IFindClansResult , FindClansResultInfo ) BuildData ( global :: System . Text . Json . JsonElement obj )
{
var entityIds = new global :: System . Collections . Generic . HashSet < global :: StrawberryShake . EntityId >();
global :: StrawberryShake . IEntityStoreSnapshot snapshot = default !;
_entityStore . Update ( session =>
{
snapshot = session . CurrentSnapshot ;
});
var resultInfo = new FindClansResultInfo ( DeserializeIFindClans_ClansNonNullableArray ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "clans" )), entityIds , snapshot . Version );
return ( _resultDataFactory . Create ( resultInfo ), resultInfo );
}
private global :: System . Collections . Generic . IReadOnlyList < global :: WotBlitzStatisticsPro . Blazor . GraphQl . State . ClanSearchResponseItemData >? DeserializeIFindClans_ClansNonNullableArray ( global :: System . Text . Json . JsonElement ? obj )
{
if (! obj . HasValue )
{
return null ;
}
var clanSearchResponseItems = new global :: System . Collections . Generic . List < global :: WotBlitzStatisticsPro . Blazor . GraphQl . State . ClanSearchResponseItemData >();
foreach ( global :: System . Text . Json . JsonElement child in obj . Value . EnumerateArray ())
{
clanSearchResponseItems . Add ( DeserializeNonNullableIFindClans_Clans ( child ));
}
return clanSearchResponseItems ;
}
private global :: WotBlitzStatisticsPro . Blazor . GraphQl . State . ClanSearchResponseItemData DeserializeNonNullableIFindClans_Clans ( global :: System . Text . Json . JsonElement ? obj )
{
if (! obj . HasValue )
{
throw new global :: System . ArgumentNullException ();
}
var typename = obj . Value . GetProperty ( "__typename" ). GetString ();
if ( typename ?. Equals ( "ClanSearchResponseItem" , global :: System . StringComparison . Ordinal ) ?? false )
{
return new global :: WotBlitzStatisticsPro . Blazor . GraphQl . State . ClanSearchResponseItemData ( typename , clanId : DeserializeNonNullableInt64 ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "clanId" )), createdAt : DeserializeNonNullableInt32 ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "createdAt" )), membersCount : DeserializeNonNullableInt32 ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "membersCount" )), name : DeserializeString ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "name" )), tag : DeserializeString ( global :: StrawberryShake . Json . JsonElementExtensions . GetPropertyOrNull ( obj , "tag" )));
}
throw new global :: System . NotSupportedException ();
}
private global :: System . Int64 DeserializeNonNullableInt64 ( global :: System . Text . Json . JsonElement ? obj )
{
if (! obj . HasValue )
{
throw new global :: System . ArgumentNullException ();
}
return _longParser . Parse ( obj . Value . GetInt64 ()!);
}
private global :: System . Int32 DeserializeNonNullableInt32 ( global :: System . Text . Json . JsonElement ? obj )
{
if (! obj . HasValue )
{
throw new global :: System . ArgumentNullException ();
}
return _intParser . Parse ( obj . Value . GetInt32 ()!);
}
private global :: System . String ? DeserializeString ( global :: System . Text . Json . JsonElement ? obj )
{
if (! obj . HasValue )
{
return null ;
}
return _stringParser . Parse ( obj . Value . GetString ()!);
}
}
}