@tanstack/db
Version:
A reactive client store for building super fast apps on sync
30 lines (29 loc) • 1.38 kB
text/typescript
import { Collection } from '../../collection/index.js';
import { Context, GetResult } from '../builder/types.js';
import { CollectionConfigBuilder } from './collection-config-builder.js';
import { CollectionSubscription } from '../../collection/subscription.js';
import { LazyDemandPlan } from '../compiler/joins.js';
export declare class CollectionSubscriber<TContext extends Context, TResult extends object = GetResult<TContext>> {
private sourceId;
private alias;
private collection;
private collectionConfigBuilder;
private subscriptionLoadingPromises;
private sentToD2Rows;
private orderedLoader;
private readonly demand;
constructor(sourceId: string, alias: string, collection: Collection, collectionConfigBuilder: CollectionConfigBuilder<TContext, TResult>);
subscribe(): CollectionSubscription;
private subscribeToChanges;
private registerSubscriptionCleanup;
setDemand(subscription: CollectionSubscription, plan: LazyDemandPlan, keys: Set<unknown>): void;
private sendChangesToPipeline;
private subscribeToMatchingChanges;
private subscribeToOrderedChanges;
private truncateReplayPublicationControl;
loadMoreIfNeeded(subscription: CollectionSubscription): void;
private sendChangesToPipelineWithTracking;
private getWhereClause;
private getOrderByInfo;
private ensureLoadingPromise;
}