UNPKG

@scrabble-solver/solver

Version:
27 lines (26 loc) 1.45 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const areDigraphsValid_1 = __importDefault(require("./areDigraphsValid")); const fillPattern_1 = __importDefault(require("./fillPattern")); const generatePatterns_1 = __importDefault(require("./generatePatterns")); const getPatternScore_1 = __importDefault(require("./getPatternScore")); const getUniquePatterns_1 = __importDefault(require("./getUniquePatterns")); const solve = (trie, config, board, tiles) => { const patterns = (0, generatePatterns_1.default)(config, board); const filledPatterns = patterns.flatMap((pattern) => (0, fillPattern_1.default)(trie, config, pattern, tiles)); const validPatterns = config.twoCharacterTiles.length > 0 ? filledPatterns.filter((pattern) => (0, areDigraphsValid_1.default)(config, pattern)) : filledPatterns; const uniquePatterns = (0, getUniquePatterns_1.default)(validPatterns); const results = uniquePatterns.map((pattern, index) => ({ cells: pattern.cells.map((cell) => cell.toJson()), collisions: pattern.getCollisions().map((collision) => collision.cells.map((cell) => cell.toJson())), id: index, points: (0, getPatternScore_1.default)(config, pattern), })); return results; }; exports.default = solve;