@tanstack/db
Version:
A reactive client store for building super fast apps on sync
20 lines (19 loc) • 714 B
text/typescript
import { CollectionSubscription } from '../../collection/subscription.js';
import { LazyDemandPlan } from '../compiler/joins.js';
export type DemandUpdate = {
changed: boolean;
empty: boolean;
ready: Promise<void> | true;
};
/**
* Keeps lazy subset requests aligned with the current relation of demanded
* keys. Additions load only new coverage. Removals release and rebuild only
* request segments that covered a removed key.
*/
export declare class SubsetDemandController {
private readonly states;
private readonly warnedPlans;
setDemand(subscription: CollectionSubscription, plan: LazyDemandPlan, keys: Set<unknown>): DemandUpdate;
clear(): void;
private warnUnoptimized;
}