1313use GraphQL \Language \AST \EnumTypeDefinitionNode ;
1414use GraphQL \Language \AST \InputObjectTypeDefinitionNode ;
1515use GraphQL \Language \AST \InterfaceTypeDefinitionNode ;
16+ use GraphQL \Language \AST \NamedTypeNode ;
17+ use GraphQL \Language \AST \Node ;
1618use GraphQL \Language \AST \NodeList ;
1719use GraphQL \Language \AST \ObjectTypeDefinitionNode ;
1820use GraphQL \Language \AST \ScalarTypeDefinitionNode ;
1921use GraphQL \Language \AST \SchemaDefinitionNode ;
22+ use GraphQL \Language \AST \TypeDefinitionNode ;
2023use GraphQL \Language \AST \UnionTypeDefinitionNode ;
2124use GraphQL \Language \Parser ;
2225use GraphQL \Language \Printer ;
@@ -1444,20 +1447,23 @@ interface Hello {
14441447 ' ;
14451448 $ doc = Parser::parse ($ sdl );
14461449
1450+ /** @var array<int, string> $decorated */
14471451 $ decorated = [];
1452+ /** @var array<int, array{array<string, mixed>, Node&TypeDefinitionNode, array<string, mixed>}> $calls */
14481453 $ calls = [];
14491454
1450- $ typeConfigDecorator = static function ($ defaultConfig , $ node , $ allNodesMap ) use (&$ decorated , &$ calls ) {
1455+ $ typeConfigDecorator = static function (array $ defaultConfig , TypeDefinitionNode $ node , array $ allNodesMap ) use (&$ decorated , &$ calls ) {
14511456 $ decorated [] = $ defaultConfig ['name ' ];
14521457 $ calls [] = [$ defaultConfig , $ node , $ allNodesMap ];
14531458
1454- return ['description ' => 'My description of ' . $ node ->name ->value ] + $ defaultConfig ;
1459+ return ['description ' => 'My description of ' . $ node ->getName () ->value ] + $ defaultConfig ;
14551460 };
14561461
14571462 $ schema = BuildSchema::buildAST ($ doc , $ typeConfigDecorator );
14581463 $ schema ->getTypeMap ();
14591464 self ::assertSame (['Query ' , 'Color ' , 'Hello ' ], $ decorated );
14601465
1466+ self ::assertArrayHasKey (0 , $ calls );
14611467 [$ defaultConfig , $ node , $ allNodesMap ] = $ calls [0 ]; // type Query
14621468 self ::assertInstanceOf (ObjectTypeDefinitionNode::class, $ node );
14631469 self ::assertSame ('Query ' , $ defaultConfig ['name ' ]);
@@ -1471,6 +1477,7 @@ interface Hello {
14711477 self ::assertInstanceOf (ObjectType::class, $ query );
14721478 self ::assertSame ('My description of Query ' , $ query ->description );
14731479
1480+ self ::assertArrayHasKey (1 , $ calls );
14741481 [$ defaultConfig , $ node , $ allNodesMap ] = $ calls [1 ]; // enum Color
14751482 self ::assertInstanceOf (EnumTypeDefinitionNode::class, $ node );
14761483 self ::assertSame ('Color ' , $ defaultConfig ['name ' ]);
@@ -1493,6 +1500,7 @@ interface Hello {
14931500 self ::assertInstanceOf (EnumType::class, $ color );
14941501 self ::assertSame ('My description of Color ' , $ color ->description );
14951502
1503+ self ::assertArrayHasKey (2 , $ calls );
14961504 [$ defaultConfig , $ node , $ allNodesMap ] = $ calls [2 ]; // interface Hello
14971505 self ::assertInstanceOf (InterfaceTypeDefinitionNode::class, $ node );
14981506 self ::assertSame ('Hello ' , $ defaultConfig ['name ' ]);
0 commit comments