generateInputClass static method
Generates an input class definition from a GraphQL input object type definition node
Implementation
static ClassDefinition generateInputClass(
InputObjectTypeDefinitionNode node,
Context context,
) {
final name = ClassName(name: node.name.value);
final nextContext = context.sameTypeWithNoPath(
alias: name,
ofUnion: Nullable<TypeDefinitionNode?>(null),
);
logFn(context, nextContext.align, '-> Input class');
logFn(
context,
nextContext.align,
'┌ ${nextContext.path}[${node.name.value}]',
);
final properties = generateInputProperties(node.fields, nextContext);
logFn(
context,
nextContext.align,
'└ ${nextContext.path}[${node.name.value}]',
);
logFn(
context,
nextContext.align,
'<- Generated input class ${name.namePrintable}.',
);
return ClassDefinition(
isInput: true,
name: name,
properties: properties,
);
}