UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

22 lines (21 loc) 1.1 kB
import { BasicExpression, QueryIR } from '../ir.js'; import { KeyedStream, ResultStream } from '../../types.js'; import { QueryCache, QueryMapping } from './types.js'; /** * Result of query compilation including both the pipeline and collection-specific WHERE clauses */ export interface CompilationResult { /** The compiled query pipeline */ pipeline: ResultStream; /** Map of collection aliases to their WHERE clauses for index optimization */ collectionWhereClauses: Map<string, BasicExpression<boolean>>; } /** * Compiles a query2 IR into a D2 pipeline * @param rawQuery The query IR to compile * @param inputs Mapping of collection names to input streams * @param cache Optional cache for compiled subqueries (used internally for recursion) * @param queryMapping Optional mapping from optimized queries to original queries * @returns A CompilationResult with the pipeline and collection WHERE clauses */ export declare function compileQuery(rawQuery: QueryIR, inputs: Record<string, KeyedStream>, cache?: QueryCache, queryMapping?: QueryMapping): CompilationResult;