zcash-grant-system/frontend/bin/utils.js

28 lines
694 B
JavaScript

const chalk = require('chalk');
const net = require('net');
const logMessage = (message, level = 'info') => {
const colors = { error: 'red', warning: 'yellow', info: 'blue' };
colors[undefined] = 'white';
console.log(`${chalk[colors[level]](message)}`);
};
const isPortTaken = port =>
new Promise((res, rej) => {
const tester = net
.createServer()
.once('error', function(err) {
err.code != 'EADDRINUSE' && rej();
err.code == 'EADDRINUSE' && res(true);
})
.once('listening', () => {
tester.once('close', () => res(false)).close();
})
.listen(port, '127.0.0.1');
});
module.exports = {
logMessage,
isPortTaken,
};