UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

21 lines (20 loc) 1.28 kB
import { Collection } from '../collection.js'; import { QueryBuilder } from './query-builder.js'; import { Context, Schema } from './types.js'; export declare function compileQuery<TContext extends Context<Schema>>(queryBuilder: QueryBuilder<TContext>): CompiledQuery<((TContext["result"] extends object ? TContext["result"] : TContext["hasJoin"] extends true ? TContext["schema"] : TContext["default"] extends keyof TContext["schema"] ? TContext["schema"][TContext["default"]] : never) extends infer T ? { [K in keyof T]: (TContext["result"] extends object ? TContext["result"] : TContext["hasJoin"] extends true ? TContext["schema"] : TContext["default"] extends keyof TContext["schema"] ? TContext["schema"][TContext["default"]] : never)[K]; } : never) & { _key?: string | number; }>; export declare class CompiledQuery<TResults extends object = Record<string, unknown>> { private graph; private inputs; private inputCollections; private resultCollection; state: `compiled` | `running` | `stopped`; private unsubscribeCallbacks; constructor(queryBuilder: QueryBuilder<Context<Schema>>); get results(): Collection<TResults, string | number, {}>; private sendChangesToInput; private runGraph; start(): () => void; stop(): void; }