@logic-pad/core
Version:
54 lines (53 loc) • 1.38 kB
JavaScript
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();