@tanstack/optimistic
Version:
Core optimistic updates library
23 lines (22 loc) • 1.16 kB
TypeScript
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["result"] extends undefined ? TContext["schema"] : object) extends infer T ? { [K in keyof T]: (TContext["result"] extends object ? TContext["result"] : TContext["result"] extends undefined ? TContext["schema"] : object)[K]; } : never>;
export declare class CompiledQuery<TResults extends object = Record<string, unknown>> {
private graph;
private inputs;
private inputCollections;
private resultCollection;
state: `compiled` | `running` | `stopped`;
private version;
private unsubscribeEffect?;
constructor(queryBuilder: QueryBuilder<Context<Schema>>);
get results(): Collection<TResults>;
private sendChangesToInput;
private sendFrontierToInput;
private sendFrontierToAllInputs;
private incrementVersion;
private runGraph;
start(): () => void;
stop(): void;
}