public static EventDescription Parse(ReadOnlySpan <byte> data) { var reader = new Utf8GraphQLReader(data); if (reader.Read()) { if (reader.Kind != TokenKind.Name) { // TODO : exception throw new Exception(); } string name = reader.GetString(); var parser = new Utf8GraphQLParser( reader, ParserOptions.NoLocation); IReadOnlyList <ArgumentNode> arguments = parser.ParseArguments(); return(new EventDescription(name, arguments)); } throw new ArgumentException("data is empty.", nameof(data)); }