UNPKG

@tanstack/db

Version:

A reactive client store for building super fast apps on sync

31 lines (30 loc) • 1.32 kB
import { BaseIndex, IndexComparisonOptions, IndexOperation } from './base-index.js'; 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>; }