shelving
Version:
Toolkit for using data in JavaScript.
21 lines (20 loc) • 502 B
JavaScript
import { Store } from "./Store.js";
/** Store a boolean. */
export class BooleanStore extends Store {
// Override to set default value to `false`
constructor(value = false) {
super(value);
}
// Override to automatically convert to boolean.
_convert(input) {
return !!input;
}
// Override for fast equality.
_equal(a, b) {
return a === b;
}
/** Toggle the current boolean value. */
toggle() {
this.value = !this.value;
}
}