UNPKG

@vaadin/hilla-react-signals

Version:

Signals for Hilla React

27 lines 1.11 kB
import { createIncrementCommand, isIncrementCommand } from './commands.js'; import { $createOperation, $processServerResponse, $resolveOperation, $setValueQuietly, $update, } from './FullStackSignal.js'; import { ValueSignal } from './ValueSignal.js'; export class NumberSignal extends ValueSignal { incrementBy(delta) { if (delta === 0) { const resolvedPromise = Promise.resolve(undefined); return this[$createOperation]({ id: '', promise: resolvedPromise }); } const command = createIncrementCommand('', delta); const promise = this[$update](command); return this[$createOperation]({ id: command.commandId, promise }); } valueAsInt() { return Math.trunc(this.value); } [$processServerResponse](command) { if (isIncrementCommand(command)) { this[$setValueQuietly](this.value + command.delta); this[$resolveOperation](command.commandId, undefined); } else { super[$processServerResponse](command); } } } //# sourceMappingURL=NumberSignal.js.map