public makeSelectAndExpandStatementForOneHop()

in src/parsers/odata-parser.ts [114:133]


    public makeSelectAndExpandStatementForOneHop(): ISelectAndExpand {
        const selectAndExpand = this.makeSelectAndExpandStatement();
        if (this.query.filterOptions !== LinkQueryMode.LinksOneHopDoesNotContain) {
            // include child expands when query requires them.
            const childrenStatements = [selectAndExpand.select, selectAndExpand.expand].filter((column) => column != null).join('; ');

            const filterStatements = [
                this.makeFilterStatementSimple(this.query.targetClauses, 'TargetWorkItem'),
                this.makeFilterStatementSimple(this.query.linkClauses),
            ].filter((column) => column != null).join(' and ');

            const children = `Links($select=TargetWorkItem; ${filterStatements.length === 0 ? '' : `$filter=${filterStatements}; `}$expand=TargetWorkItem(${childrenStatements}))`;
            return {
                select: selectAndExpand.select,
                expand: selectAndExpand.expand == null ? `$expand=${children}` : `${selectAndExpand.expand}, ${children}`,
            };
        }

        return selectAndExpand;
    }