UNPKG

@villedemontreal/general-utils

Version:
48 lines 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Timer = void 0; const moment = require("moment"); /** * A Timer object. Can be used to compute time elapsed * from its creation to the moment one of its methods * is called. * * For example : * * let timer = new Timer(); * * // ... do something * * console.log(timer.getMillisecondsElapsed()); * console.log(timer.toString()); */ class Timer { constructor() { this.start = process.hrtime(); } /** * The number of smilliseconds elapsed since the * time was started. */ getMillisecondsElapsed() { const end = process.hrtime(this.start); const millisecs = Math.round(end[0] * 1000 + this.start[1] / 1000000); return millisecs; } /** * Computes the amount of time elapsed since the * timer was started and returns a string to represents * this duration. * * @param format the format to use for the resulting string. The * default format is "HH:mm:ss.SSS". Have a look at the moment library * documentation to see how to define a custom format : * https://momentjs.com/docs/#/displaying/format/ */ toString(format = 'HH:mm:ss.SSS') { const millisecs = this.getMillisecondsElapsed(); return moment.utc(millisecs).format(format); } } exports.Timer = Timer; //# sourceMappingURL=timer.js.map