miter
Version:
A typescript web framework based on ExpressJs based loosely on SailsJs
34 lines • 946 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const readline_1 = require("readline");
let nativeCin = null;
function getNativeCin() {
if (!nativeCin) {
nativeCin = readline_1.createInterface({
input: process.stdin,
output: process.stdout
});
nativeCin.on('line', (line) => emitLine(line));
}
return nativeCin;
}
let resolveFns = [];
function emitLine(line) {
if (!resolveFns.length)
return;
let resolveFn = resolveFns.splice(0, 1)[0];
resolveFn(line.trim());
}
exports.cin = {
readline: () => {
return new Promise((resolve, reject) => {
resolveFns.push(resolve);
getNativeCin().prompt();
});
},
getNative: getNativeCin,
pause: () => void getNativeCin().pause(),
resume: () => void getNativeCin().resume(),
emit: (line) => emitLine(line)
};
//# sourceMappingURL=cin.js.map