serialize method

String serialize([
  1. int indent = 0
])

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";
  }
}