20 lines
401 B
TypeScript
20 lines
401 B
TypeScript
|
import chalk from "chalk"
|
||
|
import pretty from "pretty-time"
|
||
|
|
||
|
export class PerfTimer {
|
||
|
evts: { [key: string]: [number, number] }
|
||
|
|
||
|
constructor() {
|
||
|
this.evts = {}
|
||
|
this.addEvent("start")
|
||
|
}
|
||
|
|
||
|
addEvent(evtName: string) {
|
||
|
this.evts[evtName] = process.hrtime()
|
||
|
}
|
||
|
|
||
|
timeSince(evtName?: string): string {
|
||
|
return chalk.yellow(pretty(process.hrtime(this.evts[evtName ?? "start"])))
|
||
|
}
|
||
|
}
|