@scrabble-solver/solver
Version:
Scrabble Solver 2 - Solver
23 lines (22 loc) • 997 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const generateEndIndices_1 = __importDefault(require("./generateEndIndices"));
const generateStartIndices_1 = __importDefault(require("./generateStartIndices"));
const generatePattern = ({ board, cells, config, PatternModel, }) => {
const startIndices = (0, generateStartIndices_1.default)(cells);
return startIndices.flatMap((startIndex) => {
const endIndices = (0, generateEndIndices_1.default)(cells, startIndex);
const patterns = [];
for (const endIndex of endIndices) {
const pattern = new PatternModel(board, cells.slice(startIndex, endIndex + 1));
if (pattern.canBePlaced(config)) {
patterns.push(pattern);
}
}
return patterns;
});
};
exports.default = generatePattern;