fragmentDefinition static method
FragmentDefinitionNode
fragmentDefinition(})
Creates a FragmentDefinitionNode for defining reusable fragments.
This helper creates named fragments that can be referenced by fragment spreads elsewhere in the document. This is essential for resolving "Unknown fragment" errors when using fragmentSpread().
Example:
fragmentDefinition('UserField', 'User', selections: [
field('id'),
field('name'),
field('email'),
])
This creates:
fragment UserField on User {
id
name
email
}
Implementation
static FragmentDefinitionNode fragmentDefinition(
String name,
String typeCondition, {
List<SelectionNode>? selections,
}) {
return FragmentDefinitionNode(
name: nameNode(name),
typeCondition: TypeConditionNode(
on: NamedTypeNode(name: nameNode(typeCondition)),
),
selectionSet: SelectionSetNode(selections: selections ?? []),
);
}