- // En-passant square, if any
- getEpSquare(moveOrSquare) {
- if (typeof moveOrSquare === "string") {
- const square = moveOrSquare;
- if (square == "-")
- return undefined;
- return C.SquareToCoords(square);
- }
- // Argument is a move:
- const move = moveOrSquare;
+ // En-passant square from FEN string, if any
+ readEpSquare_s(fenSquare_s) {
+ if (fenSquare_s == "-")
+ return undefined;
+ let res = fenSquare_s.split(',').map(C.SquareToCoords);
+ if (res.length == 1) //most common case
+ return res[0];
+ return res;
+ }
+
+ // Extract potential en-passant square from just played move
+ setEpSquare_s(move) {
+ this.epSquare = undefined;