@webkrafters/long-count
Version:
Long Count - intervals and timeout capable of handling superbly long wait times surviving device sleep and wake cycles.
32 lines (31 loc) • 1.64 kB
TypeScript
export type { default as TimerObservable } from './observable/index';
export type { default as Timer } from './timer/index';
export type { LongCounter, Interval } from './main';
export type Delay = BigInteger | Iterable<number> | IterableIterator<number> | number | string | undefined;
export type DelayTypeName = 'BigInt' | 'Invalid' | 'Iterable' | 'Number' | 'String' | 'Undefined' | 'Uint8Array';
export type EventName = 'cycleEnding' | 'cycleStarted' | 'exit' | 'resume' | 'suspend';
export declare const enum EventType {
END_CYCLE = "cycleEnding",
EXIT = "exit",
RESUME_CYCLE = "resume",
START_CYCLE = "cycleStarted",
SUSPEND_CYCLE = "suspend"
}
export interface ITimerObservable {
addEventListener<ARGS extends Array<any>>(eventType: EventType, listener: VoidFn<ARGS>): void;
addEventListener<ARGS extends Array<any>>(eventType: EventName, listener: VoidFn<ARGS>): 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;
}
export type MyInteger = Uint8Array | number;
export type ObserverMap = {
[K in EventName]: Set<VoidFn>;
};
export interface Options {
immediate?: boolean;
maxTimeoutDelay?: number;
}
export type VoidFn<ARGS extends Array<any> = Array<any>> = (...args: ARGS) => void;
export { clearInterval, clearTimeout, setInterval, setTimeout } from './main';