UNPKG

fentastic

Version:

Validate and parse Forsyth-Edwards Notation (FEN) used to describe a chess game board position.

18 lines (17 loc) 741 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createTokenGroups = void 0; const split = (isDelimiter, tokens) => { var _a; const result = [[]]; for (const token of tokens) { isDelimiter(token) ? result.push([token]) : (_a = result.at(-1)) === null || _a === void 0 ? void 0 : _a.push(token); } return result; }; const createTokenGroups = (isDelimiter, tokens) => (split(isDelimiter, tokens).map((group) => ({ value: group.filter(token => !isDelimiter(token)).map(token => token.value).join(''), delimiter: group.find(isDelimiter) || { value: '', index: 0 }, tokens: group.filter(token => !isDelimiter(token)) }))); exports.createTokenGroups = createTokenGroups;