123456789101112131415161718192021222324252627282930313233343536373839 |
- var toInt = require('./toInt');
- var lpad = require('./lpad');
- var toStr = require('./toStr');
- var floor = Math.floor;
- exports = function(duration) {
- var mask =
- arguments.length > 1 && arguments[1] !== undefined
- ? arguments[1]
- : 'hh:mm:ss';
- duration = toInt(duration);
- var d = floor(duration / 86400000);
- var h = floor(duration / 3600000) % 24;
- var m = floor(duration / 60000) % 60;
- var s = floor(duration / 1000) % 60;
- var l = floor(duration) % 1000;
- var flags = {
- d: d,
- h: h,
- hh: padZero(h),
- m: m,
- mm: padZero(m),
- s: s,
- ss: padZero(s),
- l: l,
- ll: padZero(l, 3)
- };
- return mask.replace(regToken, function(match) {
- if (match in flags) return flags[match];
- return match.slice(1, match.length - 1);
- });
- };
- var padZero = function(str) {
- var len =
- arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
- return lpad(toStr(str), len, '0');
- };
- var regToken = /d{1,2}|h{1,2}|m{1,2}|s{1,2}|l{1,2}|"[^"]*"|'[^']*'/g;
- module.exports = exports;
|