fentastic
Version:
Validate and parse Forsyth-Edwards Notation (FEN) used to describe a chess game board position.
31 lines (30 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseActiveColor = exports.validateActiveColor = void 0;
const ParseError_js_1 = require("./ParseError.js");
const fieldName = 'Active color';
const validateActiveColor = (field) => {
try {
if (field.tokens.length !== 1) {
throw new ParseError_js_1.ParseError(fieldName, field.tokens.length, field.tokens[0].index, '1', 'field length to be', 'count');
}
if (field.value !== 'w' && field.value !== 'b') {
throw new ParseError_js_1.ParseError(fieldName, field.value, field.tokens[0].index, 'w|b');
}
}
catch (e) {
if (e instanceof ParseError_js_1.ParseError) {
field.error = e;
}
else {
throw e;
}
}
return field;
};
exports.validateActiveColor = validateActiveColor;
// TODO: This seems unnecessary. Can't I just use the original w or b?
const parseActiveColor = (field) => {
return field.value === 'w' ? 'white' : 'black';
};
exports.parseActiveColor = parseActiveColor;