UNPKG

@webkrafters/long-count

Version:

Long Count - intervals and timeout capable of handling superbly long wait times surviving device sleep and wake cycles.

51 lines (50 loc) 2.78 kB
import type { Delay, EventName, EventType, Options, VoidFn } from './index'; import TimerObservable from './observable/index'; import Timer from './timer/index'; export type Opts = Partial<Options>; export declare const internal: { current: number; graceId: any; gracePeriod: number; is(envcode: number): boolean; previous: any; ttl: number; unwatch(): void; watch(): void; watchId: any; }; export declare class LongCounter extends TimerObservable { private _id; private _timer; constructor(timer: Timer); get expired(): boolean; get id(): number; get timeRemaining(): import("./index").MyInteger; protected set timer(timer: any); addEventListener<ARGS extends Array<any>>(eventType: EventName, listener: VoidFn<ARGS>): void; addEventListener<ARGS extends Array<any>>(eventType: EventType, listener: VoidFn<ARGS>): void; cancel(): void; dispatchEvent<ARGS extends Array<any>>(eventType: EventType, ...args: ARGS): void; dispatchEvent<ARGS extends Array<any>>(eventType: EventName, ...args: ARGS): void; removeEventListener<ARGS extends Array<any>>(eventType: EventType, listener: VoidFn<ARGS>): void; removeEventListener<ARGS extends Array<any>>(eventType: EventName, listener: VoidFn<ARGS>): void; valueOf(): number; } export declare class Interval extends LongCounter { constructor(timer: Timer); updateTimer(timer: Timer, internalCode: number): void; } /** @param longCounter - LongCounter instance or LongCounter.id property value */ export declare const clearInterval: <T extends number | LongCounter>(longCounter: T) => void; /** @param longCounter - LongCounter instance or LongCounter.id property value */ export declare const clearTimeout: <T extends number | LongCounter>(longCounter: T) => void; /** @param options - Options.immediate property value */ export declare function setInterval<ARGS extends Array<unknown>>(fn: VoidFn<ARGS>, delay?: Delay, options?: boolean, ...args: ARGS): Interval; /** @param options - Options.immediate property value */ export declare function setInterval<ARGS extends Array<unknown>>(fn: VoidFn<ARGS>, delay?: Delay, options?: boolean, ...args: ARGS): Interval; /** @param options - Options object */ export declare function setInterval<ARGS extends Array<unknown>>(fn: VoidFn<ARGS>, delay?: Delay, options?: Opts, ...args: ARGS): Interval; /** @param options - Options.immediate property value */ export declare function setTimeout<ARGS extends Array<unknown>>(fn: VoidFn<ARGS>, delay?: Delay, options?: boolean, ...args: ARGS): LongCounter; /** @param options - Options object */ export declare function setTimeout<ARGS extends Array<unknown>>(fn: VoidFn<ARGS>, delay?: Delay, options?: Opts, ...args: ARGS): LongCounter;