UNPKG

@logic-pad/core

Version:
54 lines (53 loc) 1.38 kB
import GridData from '../grid.js'; import { MajorRule, State } from '../primitives.js'; import Rule from './rule.js'; class CompletePatternRule extends Rule { /** * **Complete the pattern** * * This rule validates answers based on the provided solution. */ constructor() { super(); } get id() { return MajorRule.CompletePattern; } get explanation() { return `Complete the pattern`; } createExampleGrid() { return CompletePatternRule.EXAMPLE_GRID; } get searchVariants() { return CompletePatternRule.SEARCH_VARIANTS; } validateGrid(_grid) { return { state: State.Incomplete }; } copyWith(_) { return new CompletePatternRule(); } get validateWithSolution() { return true; } get isSingleton() { return true; } } Object.defineProperty(CompletePatternRule, "EXAMPLE_GRID", { enumerable: true, configurable: true, writable: true, value: Object.freeze(GridData.create(['wbwbw', 'bwbwb', 'wbwbw', 'bwbwb'])) }); Object.defineProperty(CompletePatternRule, "SEARCH_VARIANTS", { enumerable: true, configurable: true, writable: true, value: [ new CompletePatternRule().searchVariant(), ] }); export default CompletePatternRule; export const instance = new CompletePatternRule();