protected aggregateResult()

in src/mongo/services/mongoScript.ts [87:100]


    protected aggregateResult(aggregate: ParseTree, nextResult: ParseTree): ParseTree {
        if (aggregate && nextResult) {
            const aggregateStart = aggregate instanceof ParserRuleContext ? aggregate.start.startIndex : (<TerminalNode>aggregate).symbol.startIndex;
            const aggregateStop = aggregate instanceof ParserRuleContext ? aggregate.start.stopIndex : (<TerminalNode>aggregate).symbol.stopIndex;
            const nextResultStart = nextResult instanceof ParserRuleContext ? nextResult.start.startIndex : (<TerminalNode>nextResult).symbol.startIndex;
            const nextResultStop = nextResult instanceof ParserRuleContext ? nextResult.start.stopIndex : (<TerminalNode>nextResult).symbol.stopIndex;

            if (Interval.of(aggregateStart, aggregateStop).properlyContains(Interval.of(nextResultStart, nextResultStop))) {
                return aggregate;
            }
            return nextResult;
        }
        return nextResult ? nextResult : aggregate;
    }