From 7fff4499fd915bcea3fa93b1aa8b35f4fe7a6027 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sun, 28 May 2017 00:38:50 +0200 Subject: add linting (and some initial fixes) --- node_modules/pretty-ms/index.js | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 node_modules/pretty-ms/index.js (limited to 'node_modules/pretty-ms/index.js') diff --git a/node_modules/pretty-ms/index.js b/node_modules/pretty-ms/index.js new file mode 100644 index 000000000..74aadf440 --- /dev/null +++ b/node_modules/pretty-ms/index.js @@ -0,0 +1,47 @@ +'use strict'; +var parseMs = require('parse-ms'); +var plur = require('plur'); +var isFinitePonyfill = require('is-finite'); + +module.exports = function (ms, opts) { + if (!isFinitePonyfill(ms)) { + throw new TypeError('Expected a finite number'); + } + + opts = opts || {}; + + if (ms < 1000) { + var msDecimalDigits = typeof opts.msDecimalDigits === 'number' ? opts.msDecimalDigits : 0; + return (msDecimalDigits ? ms.toFixed(msDecimalDigits) : Math.ceil(ms)) + (opts.verbose ? ' ' + plur('millisecond', Math.ceil(ms)) : 'ms'); + } + + var ret = []; + + var add = function (val, long, short, valStr) { + if (val === 0) { + return; + } + + var postfix = opts.verbose ? ' ' + plur(long, val) : short; + + ret.push((valStr || val) + postfix); + }; + + var parsed = parseMs(ms); + + add(parsed.days, 'day', 'd'); + add(parsed.hours, 'hour', 'h'); + add(parsed.minutes, 'minute', 'm'); + + if (opts.compact) { + add(parsed.seconds, 'second', 's'); + return '~' + ret[0]; + } + + var sec = ms / 1000 % 60; + var secDecimalDigits = typeof opts.secDecimalDigits === 'number' ? opts.secDecimalDigits : 1; + var secStr = sec.toFixed(secDecimalDigits).replace(/\.0$/, ''); + add(sec, 'second', 's', secStr); + + return ret.join(' '); +}; -- cgit v1.2.3