UNPKG

svcorelib

Version:

Core library used in the projects of Sv443 and the Sv443 Network. Contains tons of miscellaneous QoL features.

38 lines (28 loc) 1.05 kB
function pause(text) { if(!text || typeof text !== "string") text = "Press any key to continue..."; if(!process.stdin.isRaw) process.stdin.setRawMode(true); return new Promise((resolve, reject) => { process.stdout.write(`${text} `); process.stdin.resume(); let onData = chunk => { if(/\u0003/gu.test(chunk)) // eslint-disable-line no-control-regex process.exit(0); process.stdout.write("\n"); process.stdin.pause(); process.stdin.removeListener("data", onData); process.stdin.removeListener("error", onError); return resolve(chunk.toString()); } let onError = err => { process.stdin.removeListener("data", onData); process.stdin.removeListener("error", onError); return reject(err); } process.stdin.on("data", onData); process.stdin.on("error", onError); }); } module.exports = pause;