UNPKG

hswidget

Version:
20 lines 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.State = void 0; class State { constructor(numValues, initialValue = 0, transition = State.transitions.cycle) { this.numValues = numValues; this.transition = transition; this.state = 0; this.getNumValues = () => this.numValues; this.getValue = () => this.state; this.setValue = (newValue) => this.state = newValue % this.numValues; this.advance = (input) => this.transition(this, input); this.state = initialValue; } } exports.State = State; State.transitions = { cycle: (state) => state.setValue((state.getValue() + 1) % state.getNumValues()), }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3VwcG9ydC9TdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQ0EsTUFBYSxLQUFLO0lBZ0JkLFlBQTZCLFNBQWdCLEVBQUUsWUFBWSxHQUFDLENBQUMsRUFBWSxhQUFXLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSztRQUE5RSxjQUFTLEdBQVQsU0FBUyxDQUFPO1FBQTRCLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBUmpHLFVBQUssR0FBRyxDQUFDLENBQUM7UUFXYixpQkFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDcEMsYUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFHLENBQUMsUUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXZFLFlBQU8sR0FBRyxDQUFDLEtBQVUsRUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFOekQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUM7SUFDOUIsQ0FBQzs7QUFsQkwsc0JBd0JDO0FBdkJVLGlCQUFXLEdBQStCO0lBRTdDLEtBQUssRUFBRSxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsR0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Q0FHekYsQ0FBQyJ9