@pando/git-remote-pando
Version:
git-remote-helper for pando
37 lines (36 loc) • 1.14 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const readline_1 = __importDefault(require("readline"));
class LineHelper {
// OK
constructor() {
this._buffer = [];
this._done = false;
}
// OK
async next() {
return new Promise((resolve, reject) => {
if (this._buffer.length > 0) {
resolve(this._buffer.shift());
}
else {
this._done = false;
const read = readline_1.default.createInterface({ input: process.stdin, output: process.stdout });
read.on('line', line => {
if (!this._done) {
this._done = true;
read.close();
resolve(line);
}
else {
this._buffer.push(line);
}
});
}
});
}
}
exports.default = LineHelper;