parsePgn static method
Parse a PGN string and return a PgnGame.
Provide a optional function initHeaders to create different headers other than the default.
The parser will interpret any input as a PGN, creating a tree of syntactically valid (but not necessarily legal) moves, skipping any invalid tokens.
Implementation
static PgnGame<PgnNodeData> parsePgn(String pgn,
{PgnHeaders Function() initHeaders = defaultHeaders}) {
final List<PgnGame<PgnNodeData>> games = [];
_PgnParser((PgnGame<PgnNodeData> game) {
games.add(game);
}, initHeaders)
.parse(pgn);
if (games.isEmpty) {
return PgnGame(
headers: initHeaders(), moves: PgnNode(), comments: const []);
}
return games[0];
}