jamsocket
Version:
A CLI for the Jamsocket platform
54 lines (53 loc) • 1.4 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createColorGetter = createColorGetter;
exports.readRequestBody = readRequestBody;
exports.termwidth = termwidth;
exports.capitalize = capitalize;
exports.sleep = sleep;
const BACKEND_LOG_COLORS = ['cyan', 'magenta', 'yellow', 'blue'];
function createColorGetter() {
let curColor = 0;
// eslint-disable-next-line func-names
return function getColor() {
const color = BACKEND_LOG_COLORS[curColor];
curColor = (curColor + 1) % BACKEND_LOG_COLORS.length;
return color;
};
}
async function readRequestBody(req) {
return new Promise((resolve, reject) => {
let body = '';
req.on('data', (chunk) => {
body += chunk;
});
req.on('end', () => {
resolve(body);
});
req.on('error', (err) => {
reject(err);
});
});
}
// lifted from https://github.com/oclif/core
function termwidth() {
if (!process.stdout.isTTY) {
return 80;
}
const width = process.stdout.getWindowSize()[0];
if (width < 1) {
return 80;
}
if (width < 40) {
return 40;
}
return width;
}
function capitalize(s) {
return s.charAt(0).toUpperCase() + s.slice(1);
}
function sleep(ms) {
return new Promise((resolve) => {
setTimeout(resolve, ms);
});
}
;