1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| 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);
| };
|
|