surrogate
Version:
Object method hooks made easy
20 lines (19 loc) • 701 B
TypeScript
import type { TimeTracking } from '../interfaces';
export declare abstract class Trackable implements TimeTracking {
protected readonly hookTimes: [number, number][];
protected nanosecondsInMilliseconds: number;
protected nanosecondsInSeconds: number;
protected hookStartTime: number;
protected abstract readonly startTime: number;
protected abstract getNow(): number;
getStartTime(): number;
getHookStartTime(): number;
getLastRunDuration(): number;
getTotalDuration(): number;
getDurationSinceLastRun(): number;
setHookStart(): void;
setHookEnd(): void;
get lastRun(): number[];
get lastRunStart(): number;
get lastRunEnd(): number;
}