■ ■ ■ ■ ■ ■
server/lib/schema-parsers/src/Hasura/GraphQL/Parser/Internal/Parser.hs
skipped 184 lines 185 185 Maybe Description -> 186 186 [FieldParser origin m a] -> 187 187 n (Parser origin 'Output m (OMap.InsOrdHashMap Name (ParsedSelection a))) 188 + {-# INLINE safeSelectionSet #-} 188 189 safeSelectionSet name description fields 189 190 | null duplicates = pure $ selectionSetObject name description fields [] 190 191 | otherwise = skipped 32 lines 223 224 -- see Note [The interfaces story] in Hasura.GraphQL.Parser.Schema. 224 225 [Parser origin 'Output m b] -> 225 226 Parser origin 'Output m (OMap.InsOrdHashMap Name (ParsedSelection a)) 227 + {-# INLINE selectionSetObject #-} 226 228 selectionSetObject name description parsers implementsInterfaces = 227 229 Parser 228 230 { pType = skipped 50 lines 279 281 -- Note [The interfaces story] in Hasura.GraphQL.Parser.Schema for details. 280 282 t (Parser origin 'Output n b) -> 281 283 Parser origin 'Output n (t b) 284 + {-# INLINE selectionSetInterface #-} 282 285 selectionSetInterface name description fields objectImplementations = 283 286 Parser 284 287 { pType = skipped 21 lines 306 309 -- | The member object types. 307 310 t (Parser origin 'Output n b) -> 308 311 Parser origin 'Output n (t b) 312 + {-# INLINE selectionSetUnion #-} 309 313 selectionSetUnion name description objectImplementations = 310 314 Parser 311 315 { pType = skipped 20 lines 332 336 -- | type of the result 333 337 Parser origin 'Both m b -> 334 338 FieldParser origin m a 339 + {-# INLINE selection #-} 335 340 selection name description argumentsParser resultParser = 336 341 rawSelection name description argumentsParser resultParser 337 342 <&> \(_alias, _args, a) -> a skipped 9 lines 347 352 Parser origin 'Both m b -> 348 353 -- | alias provided (if any), and the arguments 349 354 FieldParser origin m (Maybe Name, HashMap Name (Value Variable), a) 355 + {-# INLINE rawSelection #-} 350 356 rawSelection name description argumentsParser resultParser = 351 357 FieldParser 352 358 { fDefinition = skipped 36 lines 389 395 -- | parser for the subselection set 390 396 Parser origin 'Output m b -> 391 397 FieldParser origin m (a, b) 398 + {-# INLINE subselection #-} 392 399 subselection name description argumentsParser bodyParser = 393 400 rawSubselection name description argumentsParser bodyParser 394 401 <&> \(_alias, _args, a, b) -> (a, b) skipped 8 lines 403 410 -- | parser for the subselection set 404 411 Parser origin 'Output m b -> 405 412 FieldParser origin m (Maybe Name, HashMap Name (Value Variable), a, b) 413 + {-# INLINE rawSubselection #-} 406 414 rawSubselection name description argumentsParser bodyParser = 407 415 FieldParser 408 416 { fDefinition = skipped 19 lines 428 436 -- | type of the result 429 437 Parser origin 'Both m a -> 430 438 FieldParser origin m () 439 + {-# INLINE selection_ #-} 431 440 selection_ name description = selection name description (pure ()) 432 441 433 442 -- | A shorthand for a 'subselection' that takes no arguments. skipped 4 lines 438 447 -- | parser for the subselection set 439 448 Parser origin 'Output m a -> 440 449 FieldParser origin m a 450 + {-# INLINE subselection_ #-} 441 451 subselection_ name description bodyParser = 442 452 snd <$> subselection name description (pure ()) bodyParser 443 453