@@ -111,7 +111,7 @@ discard block |
||
111 | 111 | */ |
112 | 112 | public function getExtendedTypes(): array |
113 | 113 | { |
114 | - $extendedTypes = \array_map(function ($type) { |
|
114 | + $extendedTypes = \array_map(function($type) { |
|
115 | 115 | return $this->getExtendedType($type); |
116 | 116 | }, $this->info->getSchema()->getTypeMap()); |
117 | 117 | |
@@ -133,7 +133,7 @@ discard block |
||
133 | 133 | |
134 | 134 | return \array_merge( |
135 | 135 | $existingDirectives, |
136 | - \array_map(function (DirectiveDefinitionNode $node) { |
|
136 | + \array_map(function(DirectiveDefinitionNode $node) { |
|
137 | 137 | return $this->definitionBuilder->buildDirective($node); |
138 | 138 | }, $this->info->getDirectiveDefinitions()) |
139 | 139 | ); |
@@ -238,10 +238,10 @@ discard block |
||
238 | 238 | return newObjectType([ |
239 | 239 | 'name' => $typeName, |
240 | 240 | 'description' => $type->getDescription(), |
241 | - 'interfaces' => function () use ($type) { |
|
241 | + 'interfaces' => function() use ($type) { |
|
242 | 242 | return $this->extendImplementedInterfaces($type); |
243 | 243 | }, |
244 | - 'fields' => function () use ($type) { |
|
244 | + 'fields' => function() use ($type) { |
|
245 | 245 | return $this->extendFieldMap($type); |
246 | 246 | }, |
247 | 247 | 'astNode' => $type->getAstNode(), |
@@ -266,7 +266,7 @@ discard block |
||
266 | 266 | return newInterfaceType([ |
267 | 267 | 'name' => $typeName, |
268 | 268 | 'description' => $type->getDescription(), |
269 | - 'fields' => function () use ($type) { |
|
269 | + 'fields' => function() use ($type) { |
|
270 | 270 | return $this->extendFieldMap($type); |
271 | 271 | }, |
272 | 272 | 'astNode' => $type->getAstNode(), |
@@ -296,7 +296,7 @@ discard block |
||
296 | 296 | return newUnionType([ |
297 | 297 | 'name' => $type->getName(), |
298 | 298 | 'description' => $type->getDescription(), |
299 | - 'types' => \array_map(function ($unionType) { |
|
299 | + 'types' => \array_map(function($unionType) { |
|
300 | 300 | return $this->getExtendedType($unionType); |
301 | 301 | }, $type->getTypes()), |
302 | 302 | 'astNode' => $type->getAstNode(), |
@@ -313,7 +313,7 @@ discard block |
||
313 | 313 | { |
314 | 314 | $typeName = $type->getName(); |
315 | 315 | |
316 | - $interfaces = \array_map(function (InterfaceType $interface) { |
|
316 | + $interfaces = \array_map(function(InterfaceType $interface) { |
|
317 | 317 | return $this->getExtendedType($interface); |
318 | 318 | }, $type->getInterfaces()); |
319 | 319 | |
@@ -355,7 +355,7 @@ discard block |
||
355 | 355 | 'description' => $field->getDescription(), |
356 | 356 | 'deprecationReason' => $field->getDeprecationReason(), |
357 | 357 | 'type' => $this->extendFieldType($field->getType()), |
358 | - 'args' => keyMap($field->getArguments(), function (Argument $argument) { |
|
358 | + 'args' => keyMap($field->getArguments(), function(Argument $argument) { |
|
359 | 359 | return $argument->getName(); |
360 | 360 | }), |
361 | 361 | 'astNode' => $field->getAstNode(), |
@@ -125,7 +125,7 @@ discard block |
||
125 | 125 | * @return mixed |
126 | 126 | * @throws SyntaxErrorException |
127 | 127 | */ |
128 | - $buildValue = function (LexerInterface $lexer) { |
|
128 | + $buildValue = function(LexerInterface $lexer) { |
|
129 | 129 | $this->expect($lexer, TokenKindEnum::COLON); |
130 | 130 | return $this->buildValueLiteral($lexer); |
131 | 131 | }; |
@@ -152,7 +152,7 @@ discard block |
||
152 | 152 | * @return mixed |
153 | 153 | * @throws SyntaxErrorException |
154 | 154 | */ |
155 | - $buildValue = function (LexerInterface $lexer) { |
|
155 | + $buildValue = function(LexerInterface $lexer) { |
|
156 | 156 | $this->expect($lexer, TokenKindEnum::COLON); |
157 | 157 | return $this->buildValueLiteral($lexer); |
158 | 158 | }; |
@@ -172,7 +172,7 @@ discard block |
||
172 | 172 | */ |
173 | 173 | protected function buildArgumentsDefinition(LexerInterface $lexer): ?array |
174 | 174 | { |
175 | - $buildFunction = function (LexerInterface $lexer): array { |
|
175 | + $buildFunction = function(LexerInterface $lexer): array { |
|
176 | 176 | return $this->buildInputValueDefinition($lexer); |
177 | 177 | }; |
178 | 178 | |
@@ -640,7 +640,7 @@ discard block |
||
640 | 640 | |
641 | 641 | $this->expectKeyword($lexer, KeywordEnum::FRAGMENT); |
642 | 642 | |
643 | - $buildTypeCondition = function (LexerInterface $lexer) { |
|
643 | + $buildTypeCondition = function(LexerInterface $lexer) { |
|
644 | 644 | $this->expectKeyword($lexer, 'on'); |
645 | 645 | return $this->buildNamedType($lexer); |
646 | 646 | }; |
@@ -700,7 +700,7 @@ discard block |
||
700 | 700 | */ |
701 | 701 | protected function buildInputFieldsDefinition(LexerInterface $lexer): ?array |
702 | 702 | { |
703 | - $buildFunction = function (LexerInterface $lexer): array { |
|
703 | + $buildFunction = function(LexerInterface $lexer): array { |
|
704 | 704 | return $this->buildInputValueDefinition($lexer); |
705 | 705 | }; |
706 | 706 | |
@@ -1357,7 +1357,7 @@ discard block |
||
1357 | 1357 | { |
1358 | 1358 | $start = $lexer->getToken(); |
1359 | 1359 | |
1360 | - $buildValue = function (LexerInterface $lexer, bool $isConst) { |
|
1360 | + $buildValue = function(LexerInterface $lexer, bool $isConst) { |
|
1361 | 1361 | $this->expect($lexer, TokenKindEnum::COLON); |
1362 | 1362 | |
1363 | 1363 | return $this->buildValueLiteral($lexer, $isConst); |
@@ -1415,7 +1415,7 @@ discard block |
||
1415 | 1415 | * @return mixed |
1416 | 1416 | * @throws SyntaxErrorException |
1417 | 1417 | */ |
1418 | - $buildType = function (LexerInterface $lexer) { |
|
1418 | + $buildType = function(LexerInterface $lexer) { |
|
1419 | 1419 | $this->expect($lexer, TokenKindEnum::COLON); |
1420 | 1420 | |
1421 | 1421 | return $this->buildTypeReference($lexer); |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | return $coercedValues; |
57 | 57 | } |
58 | 58 | |
59 | - $argumentNodeMap = keyMap($argumentNodes, function (ArgumentNode $value) { |
|
59 | + $argumentNodeMap = keyMap($argumentNodes, function(ArgumentNode $value) { |
|
60 | 60 | return $value->getNameValue(); |
61 | 61 | }); |
62 | 62 | |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | array $variableValues = [] |
132 | 132 | ): ?array { |
133 | 133 | $directiveNode = $node->hasDirectives() |
134 | - ? find($node->getDirectives(), function (NameAwareInterface $value) use ($directive) { |
|
134 | + ? find($node->getDirectives(), function(NameAwareInterface $value) use ($directive) { |
|
135 | 135 | return $value->getNameValue() === $directive->getName(); |
136 | 136 | }) : null; |
137 | 137 | |
@@ -329,7 +329,7 @@ discard block |
||
329 | 329 | ]); |
330 | 330 | } |
331 | 331 | return new CoercedValue($parseResult, null); |
332 | - } catch (InvalidTypeException|CoercingException $ex) { |
|
332 | + } catch (InvalidTypeException | CoercingException $ex) { |
|
333 | 333 | return new CoercedValue(null, [ |
334 | 334 | $this->buildCoerceException( |
335 | 335 | sprintf('Expected type %s', (string)$type), |
@@ -363,7 +363,7 @@ discard block |
||
363 | 363 | } |
364 | 364 | } |
365 | 365 | |
366 | - $suggestions = suggestionList((string)$value, array_map(function (EnumValue $enumValue) { |
|
366 | + $suggestions = suggestionList((string)$value, array_map(function(EnumValue $enumValue) { |
|
367 | 367 | return $enumValue->getName(); |
368 | 368 | }, $type->getValues())); |
369 | 369 |
@@ -57,7 +57,7 @@ discard block |
||
57 | 57 | */ |
58 | 58 | protected function registerIntrospectionTypes() |
59 | 59 | { |
60 | - $this->container->add(GraphQL::SCHEMA_INTROSPECTION, function () { |
|
60 | + $this->container->add(GraphQL::SCHEMA_INTROSPECTION, function() { |
|
61 | 61 | return newObjectType([ |
62 | 62 | 'name' => GraphQL::SCHEMA_INTROSPECTION, |
63 | 63 | 'isIntrospection' => true, |
@@ -65,19 +65,19 @@ discard block |
||
65 | 65 | 'A GraphQL Schema defines the capabilities of a GraphQL server. It ' . |
66 | 66 | 'exposes all available types and directives on the server, as well as ' . |
67 | 67 | 'the entry points for query, mutation, and subscription operations.', |
68 | - 'fields' => function () { |
|
68 | + 'fields' => function() { |
|
69 | 69 | return [ |
70 | 70 | 'types' => [ |
71 | 71 | 'description' => 'A list of all types supported by this server.', |
72 | 72 | 'type' => newNonNull(newList(newNonNull(__Type()))), |
73 | - 'resolve' => function (SchemaInterface $schema): array { |
|
73 | + 'resolve' => function(SchemaInterface $schema): array { |
|
74 | 74 | return array_values($schema->getTypeMap()); |
75 | 75 | }, |
76 | 76 | ], |
77 | 77 | 'queryType' => [ |
78 | 78 | 'description' => 'The type that query operations will be rooted at.', |
79 | 79 | 'type' => newNonNull(__Type()), |
80 | - 'resolve' => function (SchemaInterface $schema): ?TypeInterface { |
|
80 | + 'resolve' => function(SchemaInterface $schema): ?TypeInterface { |
|
81 | 81 | return $schema->getQueryType(); |
82 | 82 | }, |
83 | 83 | ], |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | 'If this server supports mutation, the type that ' . |
87 | 87 | 'mutation operations will be rooted at.', |
88 | 88 | 'type' => __Type(), |
89 | - 'resolve' => function (SchemaInterface $schema): ?TypeInterface { |
|
89 | + 'resolve' => function(SchemaInterface $schema): ?TypeInterface { |
|
90 | 90 | return $schema->getMutationType(); |
91 | 91 | }, |
92 | 92 | ], |
@@ -95,14 +95,14 @@ discard block |
||
95 | 95 | 'If this server support subscription, the type that ' . |
96 | 96 | 'subscription operations will be rooted at.', |
97 | 97 | 'type' => __Type(), |
98 | - 'resolve' => function (SchemaInterface $schema): ?TypeInterface { |
|
98 | + 'resolve' => function(SchemaInterface $schema): ?TypeInterface { |
|
99 | 99 | return $schema->getSubscriptionType(); |
100 | 100 | }, |
101 | 101 | ], |
102 | 102 | 'directives' => [ |
103 | 103 | 'description' => 'A list of all directives supported by this server.', |
104 | 104 | 'type' => newNonNull(newList(newNonNull(__Directive()))), |
105 | - 'resolve' => function (SchemaInterface $schema): array { |
|
105 | + 'resolve' => function(SchemaInterface $schema): array { |
|
106 | 106 | return $schema->getDirectives(); |
107 | 107 | }, |
108 | 108 | ], |
@@ -111,7 +111,7 @@ discard block |
||
111 | 111 | ]); |
112 | 112 | }, true/* $shared */); |
113 | 113 | |
114 | - $this->container->add(GraphQL::DIRECTIVE_INTROSPECTION, function () { |
|
114 | + $this->container->add(GraphQL::DIRECTIVE_INTROSPECTION, function() { |
|
115 | 115 | return newObjectType([ |
116 | 116 | 'name' => GraphQL::DIRECTIVE_INTROSPECTION, |
117 | 117 | 'isIntrospection' => true, |
@@ -122,7 +122,7 @@ discard block |
||
122 | 122 | 'execution behavior in ways field arguments will not suffice, such as ' . |
123 | 123 | 'conditionally including or skipping a field. Directives provide this by ' . |
124 | 124 | 'describing additional information to the executor.', |
125 | - 'fields' => function () { |
|
125 | + 'fields' => function() { |
|
126 | 126 | return [ |
127 | 127 | 'name' => ['type' => newNonNull(String())], |
128 | 128 | 'description' => ['type' => String()], |
@@ -131,7 +131,7 @@ discard block |
||
131 | 131 | ], |
132 | 132 | 'args' => [ |
133 | 133 | 'type' => newNonNull(newList(newNonNull(__InputValue()))), |
134 | - 'resolve' => function (DirectiveInterface $directive): array { |
|
134 | + 'resolve' => function(DirectiveInterface $directive): array { |
|
135 | 135 | return $directive->getArguments() ?: []; |
136 | 136 | }, |
137 | 137 | ], |
@@ -140,7 +140,7 @@ discard block |
||
140 | 140 | ]); |
141 | 141 | }, true/* $shared */); |
142 | 142 | |
143 | - $this->container->add(GraphQL::DIRECTIVE_LOCATION_INTROSPECTION, function () { |
|
143 | + $this->container->add(GraphQL::DIRECTIVE_LOCATION_INTROSPECTION, function() { |
|
144 | 144 | return newEnumType([ |
145 | 145 | 'name' => GraphQL::DIRECTIVE_LOCATION_INTROSPECTION, |
146 | 146 | 'isIntrospection' => true, |
@@ -206,7 +206,7 @@ discard block |
||
206 | 206 | ]); |
207 | 207 | }, true/* $shared */); |
208 | 208 | |
209 | - $this->container->add(GraphQL::TYPE_INTROSPECTION, function () { |
|
209 | + $this->container->add(GraphQL::TYPE_INTROSPECTION, function() { |
|
210 | 210 | return newObjectType([ |
211 | 211 | 'name' => GraphQL::TYPE_INTROSPECTION, |
212 | 212 | 'isIntrospection' => true, |
@@ -219,11 +219,11 @@ discard block |
||
219 | 219 | 'Object and Interface types provide the fields they describe. Abstract ' . |
220 | 220 | 'types, Union and Interface, provide the Object types possible ' . |
221 | 221 | 'at runtime. List and NonNull types compose other types.', |
222 | - 'fields' => function () { |
|
222 | + 'fields' => function() { |
|
223 | 223 | return [ |
224 | 224 | 'kind' => [ |
225 | 225 | 'type' => newNonNull(__TypeKind()), |
226 | - 'resolve' => function (TypeInterface $type) { |
|
226 | + 'resolve' => function(TypeInterface $type) { |
|
227 | 227 | if ($type instanceof ScalarType) { |
228 | 228 | return TypeKindEnum::SCALAR; |
229 | 229 | } |
@@ -259,7 +259,7 @@ discard block |
||
259 | 259 | 'args' => [ |
260 | 260 | 'includeDeprecated' => ['type' => Boolean(), 'defaultValue' => false], |
261 | 261 | ], |
262 | - 'resolve' => function (TypeInterface $type, array $args): |
|
262 | + 'resolve' => function(TypeInterface $type, array $args): |
|
263 | 263 | ?array { |
264 | 264 | ['includeDeprecated' => $includeDeprecated] = $args; |
265 | 265 | |
@@ -267,7 +267,7 @@ discard block |
||
267 | 267 | $fields = array_values($type->getFields()); |
268 | 268 | |
269 | 269 | if (!$includeDeprecated) { |
270 | - $fields = array_filter($fields, function (Field $field) { |
|
270 | + $fields = array_filter($fields, function(Field $field) { |
|
271 | 271 | return !$field->getIsDeprecated(); |
272 | 272 | }); |
273 | 273 | } |
@@ -280,13 +280,13 @@ discard block |
||
280 | 280 | ], |
281 | 281 | 'interfaces' => [ |
282 | 282 | 'type' => newList(newNonNull(__Type())), |
283 | - 'resolve' => function (TypeInterface $type): ?array { |
|
283 | + 'resolve' => function(TypeInterface $type): ?array { |
|
284 | 284 | return $type instanceof ObjectType ? $type->getInterfaces() : null; |
285 | 285 | }, |
286 | 286 | ], |
287 | 287 | 'possibleTypes' => [ |
288 | 288 | 'type' => newList(newNonNull(__Type())), |
289 | - 'resolve' => function ( |
|
289 | + 'resolve' => function( |
|
290 | 290 | TypeInterface $type, |
291 | 291 | array $args, |
292 | 292 | array $context, |
@@ -304,14 +304,14 @@ discard block |
||
304 | 304 | 'args' => [ |
305 | 305 | 'includeDeprecated' => ['type' => Boolean(), 'defaultValue' => false], |
306 | 306 | ], |
307 | - 'resolve' => function (TypeInterface $type, array $args): ?array { |
|
307 | + 'resolve' => function(TypeInterface $type, array $args): ?array { |
|
308 | 308 | ['includeDeprecated' => $includeDeprecated] = $args; |
309 | 309 | |
310 | 310 | if ($type instanceof EnumType) { |
311 | 311 | $values = array_values($type->getValues()); |
312 | 312 | |
313 | 313 | if (!$includeDeprecated) { |
314 | - $values = array_filter($values, function (Field $field) { |
|
314 | + $values = array_filter($values, function(Field $field) { |
|
315 | 315 | return !$field->getIsDeprecated(); |
316 | 316 | }); |
317 | 317 | } |
@@ -324,7 +324,7 @@ discard block |
||
324 | 324 | ], |
325 | 325 | 'inputFields' => [ |
326 | 326 | 'type' => newList(newNonNull(__InputValue())), |
327 | - 'resolve' => function (TypeInterface $type): ?array { |
|
327 | + 'resolve' => function(TypeInterface $type): ?array { |
|
328 | 328 | return $type instanceof InputObjectType ? $type->getFields() : null; |
329 | 329 | }, |
330 | 330 | ], |
@@ -334,20 +334,20 @@ discard block |
||
334 | 334 | ]); |
335 | 335 | }, true/* $shared */); |
336 | 336 | |
337 | - $this->container->add(GraphQL::FIELD_INTROSPECTION, function () { |
|
337 | + $this->container->add(GraphQL::FIELD_INTROSPECTION, function() { |
|
338 | 338 | return newObjectType([ |
339 | 339 | 'name' => GraphQL::FIELD_INTROSPECTION, |
340 | 340 | 'isIntrospection' => true, |
341 | 341 | 'description' => |
342 | 342 | 'Object and Interface types are described by a list of Fields, each of ' . |
343 | 343 | 'which has a name, potentially a list of arguments, and a return type.', |
344 | - 'fields' => function () { |
|
344 | + 'fields' => function() { |
|
345 | 345 | return [ |
346 | 346 | 'name' => ['type' => newNonNull(String())], |
347 | 347 | 'description' => ['type' => String()], |
348 | 348 | 'args' => [ |
349 | 349 | 'type' => newNonNull(newList(newNonNull(__InputValue()))), |
350 | - 'resolve' => function (ArgumentsAwareInterface $directive): array { |
|
350 | + 'resolve' => function(ArgumentsAwareInterface $directive): array { |
|
351 | 351 | return $directive->getArguments() ?? []; |
352 | 352 | }, |
353 | 353 | ], |
@@ -359,7 +359,7 @@ discard block |
||
359 | 359 | ]); |
360 | 360 | }, true/* $shared */); |
361 | 361 | |
362 | - $this->container->add(GraphQL::INPUT_VALUE_INTROSPECTION, function () { |
|
362 | + $this->container->add(GraphQL::INPUT_VALUE_INTROSPECTION, function() { |
|
363 | 363 | return newObjectType([ |
364 | 364 | 'name' => GraphQL::INPUT_VALUE_INTROSPECTION, |
365 | 365 | 'isIntrospection' => true, |
@@ -367,7 +367,7 @@ discard block |
||
367 | 367 | 'Arguments provided to Fields or Directives and the input fields of an ' . |
368 | 368 | 'InputObject are represented as Input Values which describe their type ' . |
369 | 369 | 'and optionally a default value.', |
370 | - 'fields' => function () { |
|
370 | + 'fields' => function() { |
|
371 | 371 | return [ |
372 | 372 | 'name' => ['type' => newNonNull(String())], |
373 | 373 | 'description' => ['type' => String()], |
@@ -377,7 +377,7 @@ discard block |
||
377 | 377 | 'description' => |
378 | 378 | 'A GraphQL-formatted string representing the default value for this ' . |
379 | 379 | 'input value.', |
380 | - 'resolve' => function ($inputValue) { |
|
380 | + 'resolve' => function($inputValue) { |
|
381 | 381 | // TODO: Implement this when we have support for printing AST. |
382 | 382 | return null; |
383 | 383 | } |
@@ -387,7 +387,7 @@ discard block |
||
387 | 387 | ]); |
388 | 388 | }, true/* $shared */); |
389 | 389 | |
390 | - $this->container->add(GraphQL::ENUM_VALUE_INTROSPECTION, function () { |
|
390 | + $this->container->add(GraphQL::ENUM_VALUE_INTROSPECTION, function() { |
|
391 | 391 | return newObjectType([ |
392 | 392 | 'name' => GraphQL::ENUM_VALUE_INTROSPECTION, |
393 | 393 | 'isIntrospection' => true, |
@@ -395,7 +395,7 @@ discard block |
||
395 | 395 | 'One possible value for a given Enum. Enum values are unique values, not ' . |
396 | 396 | 'a placeholder for a string or numeric value. However an Enum value is ' . |
397 | 397 | 'returned in a JSON response as a string.', |
398 | - 'fields' => function () { |
|
398 | + 'fields' => function() { |
|
399 | 399 | return [ |
400 | 400 | 'name' => ['type' => newNonNull(String())], |
401 | 401 | 'description' => ['type' => String()], |
@@ -406,7 +406,7 @@ discard block |
||
406 | 406 | ]); |
407 | 407 | }, true/* $shared */); |
408 | 408 | |
409 | - $this->container->add(GraphQL::TYPE_KIND_INTROSPECTION, function () { |
|
409 | + $this->container->add(GraphQL::TYPE_KIND_INTROSPECTION, function() { |
|
410 | 410 | return newEnumType([ |
411 | 411 | 'name' => GraphQL::TYPE_KIND_INTROSPECTION, |
412 | 412 | 'isIntrospection' => true, |
@@ -446,19 +446,19 @@ discard block |
||
446 | 446 | */ |
447 | 447 | protected function registerMetaFields() |
448 | 448 | { |
449 | - $this->container->add(GraphQL::SCHEMA_META_FIELD_DEFINITION, function ($__Schema) { |
|
449 | + $this->container->add(GraphQL::SCHEMA_META_FIELD_DEFINITION, function($__Schema) { |
|
450 | 450 | return new Field([ |
451 | 451 | 'name' => '__schema', |
452 | 452 | 'type' => newNonNull($__Schema), |
453 | 453 | 'description' => 'Access the current type schema of this server.', |
454 | - 'resolve' => function ($source, $args, $context, ResolveInfo $info): SchemaInterface { |
|
454 | + 'resolve' => function($source, $args, $context, ResolveInfo $info): SchemaInterface { |
|
455 | 455 | return $info->getSchema(); |
456 | 456 | } |
457 | 457 | ]); |
458 | 458 | }) |
459 | 459 | ->withArgument(GraphQL::SCHEMA_INTROSPECTION); |
460 | 460 | |
461 | - $this->container->add(GraphQL::TYPE_META_FIELD_DEFINITION, function ($__Type) { |
|
461 | + $this->container->add(GraphQL::TYPE_META_FIELD_DEFINITION, function($__Type) { |
|
462 | 462 | return new Field([ |
463 | 463 | 'name' => '__type', |
464 | 464 | 'type' => $__Type, |
@@ -466,7 +466,7 @@ discard block |
||
466 | 466 | 'args' => [ |
467 | 467 | 'name' => ['type' => newNonNull(String())], |
468 | 468 | ], |
469 | - 'resolve' => function ($source, $args, $context, ResolveInfo $info): TypeInterface { |
|
469 | + 'resolve' => function($source, $args, $context, ResolveInfo $info): TypeInterface { |
|
470 | 470 | ['name' => $name] = $args; |
471 | 471 | $schema = $info->getSchema(); |
472 | 472 | return $schema->getType($name); |
@@ -475,12 +475,12 @@ discard block |
||
475 | 475 | }) |
476 | 476 | ->withArgument(GraphQL::TYPE_INTROSPECTION); |
477 | 477 | |
478 | - $this->container->add(GraphQL::TYPE_NAME_META_FIELD_DEFINITION, function () { |
|
478 | + $this->container->add(GraphQL::TYPE_NAME_META_FIELD_DEFINITION, function() { |
|
479 | 479 | return new Field([ |
480 | 480 | 'name' => '__typename', |
481 | 481 | 'type' => newNonNull(String()), |
482 | 482 | 'description' => 'The name of the current Object type at runtime.', |
483 | - 'resolve' => function ($source, $args, $context, ResolveInfo $info): string { |
|
483 | + 'resolve' => function($source, $args, $context, ResolveInfo $info): string { |
|
484 | 484 | $parentType = $info->getParentType(); |
485 | 485 | return null !== $parentType ? $parentType->getName() : null; |
486 | 486 | } |
@@ -34,11 +34,11 @@ discard block |
||
34 | 34 | * {@inheritdoc} |
35 | 35 | */ |
36 | 36 | public function read( |
37 | - int $code, |
|
38 | - int $pos, |
|
39 | - int $line, |
|
40 | - int $col, |
|
41 | - Token $prev |
|
37 | + int $code, |
|
38 | + int $pos, |
|
39 | + int $line, |
|
40 | + int $col, |
|
41 | + Token $prev |
|
42 | 42 | ): Token { |
43 | 43 | switch ($code) { |
44 | 44 | case 33: // ! |
@@ -107,11 +107,11 @@ discard block |
||
107 | 107 | * @return \Digia\GraphQL\Language\Token |
108 | 108 | */ |
109 | 109 | protected function readName( |
110 | - int $code, |
|
111 | - int $pos, |
|
112 | - int $line, |
|
113 | - int $col, |
|
114 | - Token $prev |
|
110 | + int $code, |
|
111 | + int $pos, |
|
112 | + int $line, |
|
113 | + int $col, |
|
114 | + Token $prev |
|
115 | 115 | ): Token { |
116 | 116 | $body = $this->lexer->getBody(); |
117 | 117 | $bodyLength = mb_strlen($body); |
@@ -124,7 +124,7 @@ discard block |
||
124 | 124 | } |
125 | 125 | |
126 | 126 | return new Token(TokenKindEnum::NAME, $start, $pos, $line, $col, $prev, |
127 | - sliceString($body, $start, $pos)); |
|
127 | + sliceString($body, $start, $pos)); |
|
128 | 128 | } |
129 | 129 | |
130 | 130 | /** |
@@ -138,11 +138,11 @@ discard block |
||
138 | 138 | * @throws \Digia\GraphQL\Error\SyntaxErrorException |
139 | 139 | */ |
140 | 140 | protected function readBlockString( |
141 | - int $code, |
|
142 | - int $pos, |
|
143 | - int $line, |
|
144 | - int $col, |
|
145 | - Token $prev |
|
141 | + int $code, |
|
142 | + int $pos, |
|
143 | + int $line, |
|
144 | + int $col, |
|
145 | + Token $prev |
|
146 | 146 | ): Token { |
147 | 147 | $body = $this->lexer->getBody(); |
148 | 148 | $bodyLength = mb_strlen($body); |
@@ -158,21 +158,21 @@ discard block |
||
158 | 158 | $rawValue .= sliceString($body, $chunkStart, $pos); |
159 | 159 | |
160 | 160 | return new Token( |
161 | - TokenKindEnum::BLOCK_STRING, |
|
162 | - $start, |
|
163 | - $pos + 3, |
|
164 | - $line, |
|
165 | - $col, |
|
166 | - $prev, |
|
167 | - blockStringValue($rawValue) |
|
161 | + TokenKindEnum::BLOCK_STRING, |
|
162 | + $start, |
|
163 | + $pos + 3, |
|
164 | + $line, |
|
165 | + $col, |
|
166 | + $prev, |
|
167 | + blockStringValue($rawValue) |
|
168 | 168 | ); |
169 | 169 | } |
170 | 170 | |
171 | 171 | if (isSourceCharacter($code)) { |
172 | 172 | throw new SyntaxErrorException( |
173 | - $this->lexer->getSource(), |
|
174 | - $pos, |
|
175 | - sprintf('Invalid character within String: %s', |
|
173 | + $this->lexer->getSource(), |
|
174 | + $pos, |
|
175 | + sprintf('Invalid character within String: %s', |
|
176 | 176 | printCharCode($code)) |
177 | 177 | ); |
178 | 178 | } |
@@ -187,7 +187,7 @@ discard block |
||
187 | 187 | } |
188 | 188 | |
189 | 189 | throw new SyntaxErrorException($this->lexer->getSource(), $pos, |
190 | - 'Unterminated string.'); |
|
190 | + 'Unterminated string.'); |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | /** |
@@ -201,11 +201,11 @@ discard block |
||
201 | 201 | * @throws \Digia\GraphQL\Error\SyntaxErrorException |
202 | 202 | */ |
203 | 203 | protected function readNumber( |
204 | - int $code, |
|
205 | - int $pos, |
|
206 | - int $line, |
|
207 | - int $col, |
|
208 | - Token $prev |
|
204 | + int $code, |
|
205 | + int $pos, |
|
206 | + int $line, |
|
207 | + int $col, |
|
208 | + Token $prev |
|
209 | 209 | ): Token { |
210 | 210 | $body = $this->lexer->getBody(); |
211 | 211 | $start = $pos; |
@@ -221,9 +221,9 @@ discard block |
||
221 | 221 | $code = charCodeAt($body, ++$pos); |
222 | 222 | if (isNumber($code)) { |
223 | 223 | throw new SyntaxErrorException( |
224 | - $this->lexer->getSource(), |
|
225 | - $pos, |
|
226 | - sprintf('Invalid number, unexpected digit after 0: %s.', |
|
224 | + $this->lexer->getSource(), |
|
225 | + $pos, |
|
226 | + sprintf('Invalid number, unexpected digit after 0: %s.', |
|
227 | 227 | printCharCode($code)) |
228 | 228 | ); |
229 | 229 | } |
@@ -254,13 +254,13 @@ discard block |
||
254 | 254 | } |
255 | 255 | |
256 | 256 | return new Token( |
257 | - $isFloat ? TokenKindEnum::FLOAT : TokenKindEnum::INT, |
|
258 | - $start, |
|
259 | - $pos, |
|
260 | - $line, |
|
261 | - $col, |
|
262 | - $prev, |
|
263 | - sliceString($body, $start, $pos) |
|
257 | + $isFloat ? TokenKindEnum::FLOAT : TokenKindEnum::INT, |
|
258 | + $start, |
|
259 | + $pos, |
|
260 | + $line, |
|
261 | + $col, |
|
262 | + $prev, |
|
263 | + sliceString($body, $start, $pos) |
|
264 | 264 | ); |
265 | 265 | } |
266 | 266 | |
@@ -275,11 +275,11 @@ discard block |
||
275 | 275 | * @throws \Digia\GraphQL\Error\SyntaxErrorException |
276 | 276 | */ |
277 | 277 | protected function readString( |
278 | - int $code, |
|
279 | - int $pos, |
|
280 | - int $line, |
|
281 | - int $col, |
|
282 | - Token $prev |
|
278 | + int $code, |
|
279 | + int $pos, |
|
280 | + int $line, |
|
281 | + int $col, |
|
282 | + Token $prev |
|
283 | 283 | ): Token { |
284 | 284 | $body = $this->lexer->getBody(); |
285 | 285 | $bodyLength = mb_strlen($body); |
@@ -295,14 +295,14 @@ discard block |
||
295 | 295 | $value .= sliceString($body, $chunkStart, $pos); |
296 | 296 | |
297 | 297 | return new Token(TokenKindEnum::STRING, $start, $pos + 1, $line, |
298 | - $col, $prev, $value); |
|
298 | + $col, $prev, $value); |
|
299 | 299 | } |
300 | 300 | |
301 | 301 | if ($this->isSourceCharacter($code)) { |
302 | 302 | throw new SyntaxErrorException( |
303 | - $this->lexer->getSource(), |
|
304 | - $pos, |
|
305 | - sprintf('Invalid character within String: %s', |
|
303 | + $this->lexer->getSource(), |
|
304 | + $pos, |
|
305 | + sprintf('Invalid character within String: %s', |
|
306 | 306 | printCharCode($code)) |
307 | 307 | ); |
308 | 308 | } |
@@ -342,19 +342,19 @@ discard block |
||
342 | 342 | case 117: |
343 | 343 | // u |
344 | 344 | $charCode = uniCharCode( |
345 | - charCodeAt($body, $pos + 1), |
|
346 | - charCodeAt($body, $pos + 2), |
|
347 | - charCodeAt($body, $pos + 3), |
|
348 | - charCodeAt($body, $pos + 4) |
|
345 | + charCodeAt($body, $pos + 1), |
|
346 | + charCodeAt($body, $pos + 2), |
|
347 | + charCodeAt($body, $pos + 3), |
|
348 | + charCodeAt($body, $pos + 4) |
|
349 | 349 | ); |
350 | 350 | if ($charCode < 0) { |
351 | 351 | throw new SyntaxErrorException( |
352 | - $this->lexer->getSource(), |
|
353 | - $pos, |
|
354 | - sprintf( |
|
352 | + $this->lexer->getSource(), |
|
353 | + $pos, |
|
354 | + sprintf( |
|
355 | 355 | 'Invalid character escape sequence: \\u%s', |
356 | 356 | sliceString($body, $pos + 1, $pos + 5) |
357 | - ) |
|
357 | + ) |
|
358 | 358 | ); |
359 | 359 | } |
360 | 360 | $value .= chr($charCode); |
@@ -362,9 +362,9 @@ discard block |
||
362 | 362 | break; |
363 | 363 | default: |
364 | 364 | throw new SyntaxErrorException( |
365 | - $this->lexer->getSource(), |
|
366 | - $pos, |
|
367 | - sprintf('Invalid character escape sequence: \\%s', |
|
365 | + $this->lexer->getSource(), |
|
366 | + $pos, |
|
367 | + sprintf('Invalid character escape sequence: \\%s', |
|
368 | 368 | chr($code)) |
369 | 369 | ); |
370 | 370 | } |
@@ -375,7 +375,7 @@ discard block |
||
375 | 375 | } |
376 | 376 | |
377 | 377 | throw new SyntaxErrorException($this->lexer->getSource(), $pos, |
378 | - 'Unterminated string.'); |
|
378 | + 'Unterminated string.'); |
|
379 | 379 | } |
380 | 380 | |
381 | 381 | /** |
@@ -388,14 +388,14 @@ discard block |
||
388 | 388 | * @return \Digia\GraphQL\Language\Token |
389 | 389 | */ |
390 | 390 | protected function readSpread( |
391 | - int $code, |
|
392 | - int $pos, |
|
393 | - int $line, |
|
394 | - int $col, |
|
395 | - Token $prev |
|
391 | + int $code, |
|
392 | + int $pos, |
|
393 | + int $line, |
|
394 | + int $col, |
|
395 | + Token $prev |
|
396 | 396 | ): Token { |
397 | 397 | return new Token(TokenKindEnum::SPREAD, $pos, $pos + 3, $line, $col, |
398 | - $prev); |
|
398 | + $prev); |
|
399 | 399 | } |
400 | 400 | |
401 | 401 | /** |
@@ -408,14 +408,14 @@ discard block |
||
408 | 408 | * @return \Digia\GraphQL\Language\Token |
409 | 409 | */ |
410 | 410 | protected function readDollar( |
411 | - int $code, |
|
412 | - int $pos, |
|
413 | - int $line, |
|
414 | - int $col, |
|
415 | - Token $prev |
|
411 | + int $code, |
|
412 | + int $pos, |
|
413 | + int $line, |
|
414 | + int $col, |
|
415 | + Token $prev |
|
416 | 416 | ): Token { |
417 | 417 | return new Token(TokenKindEnum::DOLLAR, $pos, $pos + 1, $line, $col, |
418 | - $prev); |
|
418 | + $prev); |
|
419 | 419 | } |
420 | 420 | |
421 | 421 | /** |
@@ -428,14 +428,14 @@ discard block |
||
428 | 428 | * @return \Digia\GraphQL\Language\Token |
429 | 429 | */ |
430 | 430 | protected function readPipe( |
431 | - int $code, |
|
432 | - int $pos, |
|
433 | - int $line, |
|
434 | - int $col, |
|
435 | - Token $prev |
|
431 | + int $code, |
|
432 | + int $pos, |
|
433 | + int $line, |
|
434 | + int $col, |
|
435 | + Token $prev |
|
436 | 436 | ): Token { |
437 | 437 | return new Token(TokenKindEnum::PIPE, $pos, $pos + 1, $line, $col, |
438 | - $prev); |
|
438 | + $prev); |
|
439 | 439 | } |
440 | 440 | |
441 | 441 | /** |
@@ -448,11 +448,11 @@ discard block |
||
448 | 448 | * @return \Digia\GraphQL\Language\Token |
449 | 449 | */ |
450 | 450 | protected function readParenthesis( |
451 | - int $code, |
|
452 | - int $pos, |
|
453 | - int $line, |
|
454 | - int $col, |
|
455 | - Token $prev |
|
451 | + int $code, |
|
452 | + int $pos, |
|
453 | + int $line, |
|
454 | + int $col, |
|
455 | + Token $prev |
|
456 | 456 | ): Token { |
457 | 457 | return $code === 40 |
458 | 458 | ? new Token(TokenKindEnum::PAREN_L, $pos, $pos + 1, $line, $col, |
@@ -471,14 +471,14 @@ discard block |
||
471 | 471 | * @return \Digia\GraphQL\Language\Token |
472 | 472 | */ |
473 | 473 | protected function readEquals( |
474 | - int $code, |
|
475 | - int $pos, |
|
476 | - int $line, |
|
477 | - int $col, |
|
478 | - Token $prev |
|
474 | + int $code, |
|
475 | + int $pos, |
|
476 | + int $line, |
|
477 | + int $col, |
|
478 | + Token $prev |
|
479 | 479 | ): Token { |
480 | 480 | return new Token(TokenKindEnum::EQUALS, $pos, $pos + 1, $line, $col, |
481 | - $prev); |
|
481 | + $prev); |
|
482 | 482 | } |
483 | 483 | |
484 | 484 | /** |
@@ -491,11 +491,11 @@ discard block |
||
491 | 491 | * @return \Digia\GraphQL\Language\Token |
492 | 492 | */ |
493 | 493 | protected function readAt( |
494 | - int $code, |
|
495 | - int $pos, |
|
496 | - int $line, |
|
497 | - int $col, |
|
498 | - Token $prev |
|
494 | + int $code, |
|
495 | + int $pos, |
|
496 | + int $line, |
|
497 | + int $col, |
|
498 | + Token $prev |
|
499 | 499 | ): Token { |
500 | 500 | return new Token(TokenKindEnum::AT, $pos, $pos + 1, $line, $col, $prev); |
501 | 501 | } |
@@ -510,11 +510,11 @@ discard block |
||
510 | 510 | * @return \Digia\GraphQL\Language\Token |
511 | 511 | */ |
512 | 512 | protected function readComment( |
513 | - int $code, |
|
514 | - int $pos, |
|
515 | - int $line, |
|
516 | - int $col, |
|
517 | - Token $prev |
|
513 | + int $code, |
|
514 | + int $pos, |
|
515 | + int $line, |
|
516 | + int $col, |
|
517 | + Token $prev |
|
518 | 518 | ): Token { |
519 | 519 | $body = $this->lexer->getBody(); |
520 | 520 | $start = $pos; |
@@ -524,13 +524,13 @@ discard block |
||
524 | 524 | } while ($code !== null && ($code > 0x001f || $code === 0x0009)); // SourceCharacter but not LineTerminator |
525 | 525 | |
526 | 526 | return new Token( |
527 | - TokenKindEnum::COMMENT, |
|
528 | - $start, |
|
529 | - $pos, |
|
530 | - $line, |
|
531 | - $col, |
|
532 | - $prev, |
|
533 | - sliceString($body, $start + 1, $pos) |
|
527 | + TokenKindEnum::COMMENT, |
|
528 | + $start, |
|
529 | + $pos, |
|
530 | + $line, |
|
531 | + $col, |
|
532 | + $prev, |
|
533 | + sliceString($body, $start + 1, $pos) |
|
534 | 534 | ); |
535 | 535 | } |
536 | 536 | |
@@ -544,14 +544,14 @@ discard block |
||
544 | 544 | * @return \Digia\GraphQL\Language\Token |
545 | 545 | */ |
546 | 546 | protected function readColon( |
547 | - int $code, |
|
548 | - int $pos, |
|
549 | - int $line, |
|
550 | - int $col, |
|
551 | - Token $prev |
|
547 | + int $code, |
|
548 | + int $pos, |
|
549 | + int $line, |
|
550 | + int $col, |
|
551 | + Token $prev |
|
552 | 552 | ): Token { |
553 | 553 | return new Token(TokenKindEnum::COLON, $pos, $pos + 1, $line, $col, |
554 | - $prev); |
|
554 | + $prev); |
|
555 | 555 | } |
556 | 556 | |
557 | 557 | /** |
@@ -564,14 +564,14 @@ discard block |
||
564 | 564 | * @return \Digia\GraphQL\Language\Token |
565 | 565 | */ |
566 | 566 | protected function readAmp( |
567 | - int $code, |
|
568 | - int $pos, |
|
569 | - int $line, |
|
570 | - int $col, |
|
571 | - Token $prev |
|
567 | + int $code, |
|
568 | + int $pos, |
|
569 | + int $line, |
|
570 | + int $col, |
|
571 | + Token $prev |
|
572 | 572 | ): Token { |
573 | 573 | return new Token(TokenKindEnum::AMP, $pos, $pos + 1, $line, $col, |
574 | - $prev); |
|
574 | + $prev); |
|
575 | 575 | } |
576 | 576 | |
577 | 577 | /** |
@@ -584,14 +584,14 @@ discard block |
||
584 | 584 | * @return \Digia\GraphQL\Language\Token |
585 | 585 | */ |
586 | 586 | protected function readBang( |
587 | - int $code, |
|
588 | - int $pos, |
|
589 | - int $line, |
|
590 | - int $col, |
|
591 | - Token $prev |
|
587 | + int $code, |
|
588 | + int $pos, |
|
589 | + int $line, |
|
590 | + int $col, |
|
591 | + Token $prev |
|
592 | 592 | ): Token { |
593 | 593 | return new Token(TokenKindEnum::BANG, $pos, $pos + 1, $line, $col, |
594 | - $prev); |
|
594 | + $prev); |
|
595 | 595 | } |
596 | 596 | |
597 | 597 | /** |
@@ -604,11 +604,11 @@ discard block |
||
604 | 604 | * @return \Digia\GraphQL\Language\Token |
605 | 605 | */ |
606 | 606 | protected function readBrace( |
607 | - int $code, |
|
608 | - int $pos, |
|
609 | - int $line, |
|
610 | - int $col, |
|
611 | - Token $prev |
|
607 | + int $code, |
|
608 | + int $pos, |
|
609 | + int $line, |
|
610 | + int $col, |
|
611 | + Token $prev |
|
612 | 612 | ): Token { |
613 | 613 | return $code === 123 |
614 | 614 | ? new Token(TokenKindEnum::BRACE_L, $pos, $pos + 1, $line, $col, |
@@ -627,11 +627,11 @@ discard block |
||
627 | 627 | * @return \Digia\GraphQL\Language\Token |
628 | 628 | */ |
629 | 629 | protected function readBracket( |
630 | - int $code, |
|
631 | - int $pos, |
|
632 | - int $line, |
|
633 | - int $col, |
|
634 | - Token $prev |
|
630 | + int $code, |
|
631 | + int $pos, |
|
632 | + int $line, |
|
633 | + int $col, |
|
634 | + Token $prev |
|
635 | 635 | ): Token { |
636 | 636 | return $code === 91 |
637 | 637 | ? new Token(TokenKindEnum::BRACKET_L, $pos, $pos + 1, $line, $col, |
@@ -660,9 +660,9 @@ discard block |
||
660 | 660 | } |
661 | 661 | |
662 | 662 | throw new SyntaxErrorException( |
663 | - $this->lexer->getSource(), |
|
664 | - $pos, |
|
665 | - sprintf('Invalid number, expected digit but got: %s', |
|
663 | + $this->lexer->getSource(), |
|
664 | + $pos, |
|
665 | + sprintf('Invalid number, expected digit but got: %s', |
|
666 | 666 | printCharCode($code)) |
667 | 667 | ); |
668 | 668 | } |
@@ -716,9 +716,9 @@ discard block |
||
716 | 716 | * @return bool |
717 | 717 | */ |
718 | 718 | protected function isEscapedTripleQuote( |
719 | - string $body, |
|
720 | - int $code, |
|
721 | - int $pos |
|
719 | + string $body, |
|
720 | + int $code, |
|
721 | + int $pos |
|
722 | 722 | ): bool { |
723 | 723 | return $code === 92 && |
724 | 724 | charCodeAt($body, $pos + 1) === 34 && |
@@ -59,11 +59,11 @@ discard block |
||
59 | 59 | */ |
60 | 60 | protected $reader; |
61 | 61 | |
62 | - /** |
|
63 | - * Lexer constructor. |
|
64 | - * |
|
65 | - * @param \Digia\GraphQL\Language\TokenReaderInterface $reader |
|
66 | - */ |
|
62 | + /** |
|
63 | + * Lexer constructor. |
|
64 | + * |
|
65 | + * @param \Digia\GraphQL\Language\TokenReaderInterface $reader |
|
66 | + */ |
|
67 | 67 | public function __construct(TokenReaderInterface $reader) |
68 | 68 | { |
69 | 69 | $startOfFileToken = new Token(TokenKindEnum::SOF); |
@@ -195,7 +195,7 @@ discard block |
||
195 | 195 | public function read(int $code, int $pos, int $line, int $col, Token $prev): Token |
196 | 196 | { |
197 | 197 | if ($token = $this->reader->read($code, $pos, $line, $col, $prev)) { |
198 | - return $token; |
|
198 | + return $token; |
|
199 | 199 | } |
200 | 200 | |
201 | 201 | throw new SyntaxErrorException($this->source, $pos, $this->unexpectedCharacterMessage($code)); |
@@ -5,26 +5,26 @@ |
||
5 | 5 | interface TokenReaderInterface |
6 | 6 | { |
7 | 7 | |
8 | - /** |
|
9 | - * @param int $code |
|
10 | - * @param int $pos |
|
11 | - * @param int $line |
|
12 | - * @param int $col |
|
13 | - * @param Token $prev |
|
14 | - * @return Token |
|
15 | - */ |
|
16 | - public function read(int $code, int $pos, int $line, int $col, Token $prev): Token; |
|
8 | + /** |
|
9 | + * @param int $code |
|
10 | + * @param int $pos |
|
11 | + * @param int $line |
|
12 | + * @param int $col |
|
13 | + * @param Token $prev |
|
14 | + * @return Token |
|
15 | + */ |
|
16 | + public function read(int $code, int $pos, int $line, int $col, Token $prev): Token; |
|
17 | 17 | |
18 | - /** |
|
19 | - * @param \Digia\GraphQL\Language\LexerInterface $lexer |
|
20 | - * |
|
21 | - * @return mixed |
|
22 | - */ |
|
23 | - public function setLexer(LexerInterface $lexer); |
|
18 | + /** |
|
19 | + * @param \Digia\GraphQL\Language\LexerInterface $lexer |
|
20 | + * |
|
21 | + * @return mixed |
|
22 | + */ |
|
23 | + public function setLexer(LexerInterface $lexer); |
|
24 | 24 | |
25 | - /** |
|
26 | - * @return \Digia\GraphQL\Language\LexerInterface |
|
27 | - */ |
|
28 | - public function getLexer(): LexerInterface; |
|
25 | + /** |
|
26 | + * @return \Digia\GraphQL\Language\LexerInterface |
|
27 | + */ |
|
28 | + public function getLexer(): LexerInterface; |
|
29 | 29 | |
30 | 30 | } |