UNPKG

wallet-storage

Version:

BRC100 conforming wallet, wallet storage and wallet signer components

32 lines (23 loc) 861 B
import { Monitor } from '../Monitor'; import { WalletMonitorTask } from './WalletMonitorTask'; export class TaskClock extends WalletMonitorTask { static taskName = 'Clock'; nextMinute: number constructor(monitor: Monitor, public triggerMsecs = 1 * monitor.oneSecond) { super(monitor, TaskClock.taskName); this.nextMinute = this.getNextMinute() } trigger(nowMsecsSinceEpoch: number): { run: boolean; } { const s = this.storage; const run = Date.now() > this.nextMinute return { run }; } async runTask(): Promise<string> { const log = `${new Date(this.nextMinute).toISOString()}` this.nextMinute = this.getNextMinute() return log } getNextMinute() : number { return Math.ceil(Date.now() / this.monitor.oneMinute) * this.monitor.oneMinute } }