UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

34 lines (33 loc) • 1.34 kB
import { BaseIndex, IndexComparisonOptions, IndexOperation } from "./base-index.cjs"; export type BTreeIndexOptions = IndexComparisonOptions; export interface RangeQueryOptions { from?: any; to?: any; fromInclusive?: boolean; toInclusive?: boolean; } export declare class BTreeIndex<TKey extends string | number = string | number> extends BaseIndex<TKey> { private orderedEntries; private valueMap; private indexedKeys; add(key: TKey, item: any): void; private addToBucket; remove(key: TKey, item: any): void; private removeFromBucket; update(key: TKey, oldItem: any, newItem: any): void; build(entries: Iterable<[ TKey, any ]>): void; clear(): void; lookup(operation: IndexOperation, value: any): Set<TKey>; get keyCount(): number; equalityLookup(value: any): Set<TKey>; protected exactBucketKeys(value: any): Iterable<TKey> | undefined; rangeQuery(options?: RangeQueryOptions): Set<TKey>; private takeInternal; take(n: number, from: any, filterFn?: (key: TKey) => boolean): Array<TKey>; takeFromStart(n: number, filterFn?: (key: TKey) => boolean): Array<TKey>; takeReversed(n: number, from: any, filterFn?: (key: TKey) => boolean): Array<TKey>; takeReversedFromEnd(n: number, filterFn?: (key: TKey) => boolean): Array<TKey>; }