UNPKG

@marxlnfcs/wildduck-api

Version:

Provides a client to interact with the wildduck api

41 lines (40 loc) 1.36 kB
"use strict"; 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;