33 lines
661 B
JavaScript
33 lines
661 B
JavaScript
exports.nano = time => +time[0] * 1e9 + +time[1];
|
|
|
|
exports.scale = {
|
|
'w': 6048e11,
|
|
'd': 864e11,
|
|
'h': 36e11,
|
|
'm': 6e10,
|
|
's': 1e9,
|
|
'ms': 1e6,
|
|
'μs': 1e3,
|
|
'ns': 1,
|
|
};
|
|
|
|
exports.regex = {
|
|
'w': /^(w((ee)?k)?s?)$/,
|
|
'd': /^(d(ay)?s?)$/,
|
|
'h': /^(h((ou)?r)?s?)$/,
|
|
'm': /^(min(ute)?s?|m)$/,
|
|
's': /^((sec(ond)?)s?|s)$/,
|
|
'ms': /^(milli(second)?s?|ms)$/,
|
|
'μs': /^(micro(second)?s?|μs)$/,
|
|
'ns': /^(nano(second)?s?|ns?)$/,
|
|
};
|
|
|
|
exports.isSmallest = function(uom, unit) {
|
|
return exports.regex[uom].test(unit);
|
|
};
|
|
|
|
exports.round = function(num, digits) {
|
|
const n = Math.abs(num);
|
|
return /[0-9]/.test(digits) ? n.toFixed(digits) : Math.round(n);
|
|
};
|