-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.js
41 lines (33 loc) · 1.1 KB
/
utils.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
const colors = require('colors');
const moment = require('moment');
console.error = inputString => console.log(colors.red(inputString));
console.success = inputString => console.log(colors.green(inputString));
function sleepMs(waitTimeInMs) {
return new Promise(resolve => {
console.log(`Sleeping for: ${durationToString(moment.duration(waitTimeInMs, 'ms'))}`);
setTimeout(resolve, waitTimeInMs);
})
}
function durationToString(duration) {
return `${duration.days()}[d] ${duration.hours()}[h] ${duration.minutes()}[m] ${duration.seconds()}[s] ${duration.milliseconds()}[ms]`
}
function mergeDateWithTime(momentDate, momentTime) {
return momentDate.clone().hour(momentTime.hour()).minute(momentTime.minute());
}
function printRequestError(error) {
console.error(`Can't make request. Error: ${error.message}`)
}
function exitProgram(exitReason, successfully) {
if (successfully) {
console.success(exitReason.message);
} else {
console.error(exitReason.message);
}
process.exit(exitReason.id);
}
module.exports = {
sleepMs,
printRequestError,
exitProgram,
mergeDateWithTime
}