-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
43 lines (42 loc) · 1.03 KB
/
index.js
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
33
34
35
36
37
38
39
40
41
42
43
const units = {
time: {
auto: 'auto',
microseconds: 'µs',
milliseconds: 'ms',
alias: {
'microseconds': 'µs',
'milliseconds': 'ms'
},
valid: [
'auto',
'ms',
'µs',
'microseconds',
'milliseconds'
]
},
memory: [
'B',
'KB',
'MB'
]
};
module.exports = {
AUTO: units.time.auto,
MILLISECONDS: units.time.milliseconds,
MICROSECONDS: units.time.microseconds,
BYTES: units.memory[0],
KILOBYTES: units.memory[1],
MEGABYTES: units.memory[2],
MEMORY_CONVERSION_FACTOR: 1024,
TIME_CONVERSTION_FACTOR: 1000,
hrToMicro: (hrtime) => (hrtime[0] * 1000 * 1000) + (hrtime[1] / 1000),
milliToMicro: (t) => t * 1000,
microToMilli: (t) => t / 1000,
byteToKilobyte: (m) => m / 1024,
kilobyteToMegabyte: (m) => m / 1024,
isValidTimeUnit: (u) => units.time.valid.includes(u),
isValidMemoryUnit: (u) => units.memory.includes(u),
isAliasForTimeUnit: (u) => Object.keys(units.time.alias).includes(u),
getAliasForTimeUnit: (u) => units.time.alias[u]
};