private getCollectionName()

in src/mongo/services/completionItemProvider.ts [167:188]


    private getCollectionName(ctx: ParseTree): string {
        let parent = ctx.parent!;
        if (!(parent && parent instanceof mongoParser.ArgumentContext)) {
            return null!;
        }
        parent = parent.parent!;
        if (!(parent && parent instanceof mongoParser.ArgumentsContext)) {
            return null!;
        }
        parent = parent.parent!;
        if (!(parent && parent instanceof mongoParser.FunctionCallContext)) {
            return null!;
        }
        let previousNode = this.getPreviousNode(parent);
        if (previousNode && previousNode instanceof TerminalNode && previousNode.symbol.type === mongoLexer.DOT) {
            previousNode = this.getPreviousNode(previousNode);
            if (previousNode && previousNode instanceof mongoParser.CollectionContext) {
                return previousNode.text;
            }
        }
        return null!;
    }