@scrabble-solver/solver
Version:
Scrabble Solver 2 - Solver
18 lines (17 loc) • 840 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const constants_1 = require("@scrabble-solver/constants");
const getCellsScore = (config, cells) => {
const total = cells.reduce(({ multiplier, score }, cell) => {
const bonus = config.getCellBonus(cell);
const { characterMultiplier, wordMultiplier } = bonus && bonus.canApply(config, cell) ? bonus.value : constants_1.NO_BONUS;
const characterScore = config.pointsMap[cell.tile.character] || 0;
const tileScore = cell.tile.isBlank ? config.blankScore : characterScore;
return {
multiplier: multiplier * wordMultiplier,
score: score + tileScore * characterMultiplier,
};
}, { multiplier: 1, score: 0 });
return total.score * total.multiplier;
};
exports.default = getCellsScore;