function getInput(): Rx.Observable<string> { if (process.argv.length > 2) { var input: Node = fileinput.input(); var observable = Rx1.Observable.fromEvent(input, 'line'); var map = observable.map(line => line.toString().replace(fixNewLine, "")); return map; } else { return Rx1.Node.fromReadableStream(process.stdin) .selectMany(line => line.toString().split(fixNewLine)) .windowWithCount(2, 1) .selectMany(l => l.reduce((acc, x) => { if (endsWith(acc, "}")) return acc; else return acc + x; }, "")) .filter(item => (item[0] === "{")); } }
function getInput():Rx.Observable<string>{ if(process.argv.length > 2){ return Rx.Observable.fromEvent(fileinput.input(),'line') .map(function (line) {return line.toString('utf8');}) .map(function (line) {return line.replace(fixNewLine,"");}); } else { return Rx.Node.fromReadableStream(process.stdin) .selectMany(function (line) { return line.toString().split(/(\r)?\n/) }) .windowWithCount(2, 1) .selectMany(function (l) { return l.reduce(function (acc, x) { if (endsWith(acc, "}") === true) return acc; else return acc + x; }, ""); }) .filter(function (item) { return item[0] === "{"; }); } }