surrogate
Version:
Object method hooks made easy
58 lines (53 loc) • 1.59 kB
JavaScript
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
$parcel$export(module.exports, "Trackable", () => $87d87f01e74beade$export$2726b3852afd85de);
class $87d87f01e74beade$export$2726b3852afd85de {
getStartTime() {
return Date.now() - this.getTotalDuration();
}
getHookStartTime() {
return this.getStartTime() + (this.hookStartTime - this.startTime);
}
getLastRunDuration() {
const [hookStart, hookEnd] = this.lastRun;
return hookEnd - hookStart;
}
getTotalDuration() {
return this.getNow() - this.startTime;
}
getDurationSinceLastRun() {
const lastRun = this.lastRunEnd;
return this.getNow() - lastRun;
}
setHookStart() {
this.hookStartTime = this.getNow();
}
setHookEnd() {
this.hookTimes.push([
this.hookStartTime,
this.getNow()
]);
}
get lastRun() {
const [hookStart, hookEnd] = this.hookTimes[this.hookTimes.length - 1] ?? [];
return [
hookStart ?? this.startTime,
hookEnd ?? this.getNow()
];
}
get lastRunStart() {
const [hookStart] = this.lastRun;
return hookStart;
}
get lastRunEnd() {
const [, hookEnd] = this.lastRun;
return hookEnd;
}
constructor(){
this.hookTimes = [];
this.nanosecondsInMilliseconds = 1000000;
this.nanosecondsInSeconds = 1000000000;
}
}
//# sourceMappingURL=surrogate.fcd39a25.js.map