Example #1
0
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] === "{"));
    }
}
Example #2
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] === "{";
            });
    }
}