serialize method
Implementation
String serialize([int indent = 0]) {
final self = this;
if (self is FieldNode) {
var str = '${self.name.value}';
if (self.selectionSet?.selections.isNotEmpty == true) {
str += ' {\n';
self.selectionSet!.selections.forEach((element) {
str += element.serialize(indent + 1);
});
str += '${indent.indent()}}';
}
return "${str}\n";
} else if (self is FragmentSpreadNode) {
return '${indent.indent()}...${self.name.value}\n';
} else if (self is InlineFragmentNode) {
return '${indent.indent()}...on ${self.typeCondition!.on.name.value} { ${self.selectionSet.serialize(indent + 1)} }';
} else {
throw "Unsupported selection";
}
}