@marxlnfcs/wildduck-api
Version:
Provides a client to interact with the wildduck api
41 lines (40 loc) • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DurationCalculator = exports.createDurationCalculator = void 0;
function createDurationCalculator() {
return new DurationCalculator();
}
exports.createDurationCalculator = createDurationCalculator;
class DurationCalculator {
get startDate() { return this._startDate; }
get endDate() { return this._endDate; }
start() {
this._startDate = new Date();
return this;
}
stop() {
this._endDate = new Date();
return this;
}
get duration() {
if (!this.startDate || !this.endDate) {
return 0;
}
return this.endDate.getTime() - this.startDate.getTime();
}
get durationString() {
const duration = this.duration;
const days = Math.trunc(duration / 86400000);
const hours = Math.trunc(duration / 3600000) % 24;
const minutes = Math.trunc(duration / 60000) % 60;
const seconds = Math.trunc(duration / 1000) % 60;
switch (true) {
case days > 0: return days + 'd';
case hours > 0: return hours + 'h';
case minutes > 0: return minutes + 'm';
case seconds > 0: return seconds + 's';
default: return duration + 'ms';
}
}
}
exports.DurationCalculator = DurationCalculator;