@tanstack/db
Version:
A reactive client store for building super fast apps on sync
38 lines (37 loc) • 1.29 kB
text/typescript
import { BucketFacadeCompilation } from './materialized-pipeline.js';
export type FacadePublication = {
publish: () => void;
rollback: () => void;
};
/**
* The only stateful boundary outside the materialization graph. It turns inert
* bucket references into stable public Collection facades and applies the
* graph's canonical bucket-row deltas to those facades.
*/
export declare class BucketFacadeAdapter {
private readonly parentId;
private readonly compilations;
private readonly pending;
private readonly pendingActivity;
private readonly activeBuckets;
private readonly entries;
private readonly retiredEntries;
private resolvedValues;
constructor(parentId: string, compilations: Array<BucketFacadeCompilation>, onMessages: (count: number) => void);
hasPendingChanges(): boolean;
flush(): FacadePublication;
resolve<T>(value: T): T;
cleanup(): void;
private accumulate;
private snapshot;
private restore;
private accumulateActivity;
private getActiveBuckets;
private retireEntry;
private getEntry;
private applyChange;
/** Resolve and validate every public key before opening a sync transaction. */
private prepareChange;
private resolveValue;
private cleanupRetiredEntries;
}