📄 tanstack/db/latest/docs/reference/classes/BaseIndex

File: BaseIndex.md | Updated: 11/15/2025

Source: https://tanstack.com/db/latest/docs/reference/classes/BaseIndex



TanStack

DB v0v0

Search...

+ K

Auto

Log In

TanStack StartRC

Docs Examples GitHub Contributors

TanStack Router

Docs Examples GitHub Contributors

TanStack Query

Docs Examples GitHub Contributors

TanStack Table

Docs Examples Github Contributors

TanStack Formnew

Docs Examples Github Contributors

TanStack DBbeta

Docs Github Contributors

TanStack Virtual

Docs Examples Github Contributors

TanStack Paceralpha

Docs Examples Github Contributors

TanStack Storealpha

Docs Examples Github Contributors

TanStack Devtoolsalpha

Docs Github Contributors

More Libraries

Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide

Documentation

Framework

React logo

React

Version

Latest

Search...

+ K

Menu

Getting Started

Guides

Collections

Frameworks

Community

API Reference

Framework

React logo

React

Version

Latest

Menu

Getting Started

Guides

Collections

Frameworks

Community

API Reference

On this page

BaseIndex

Copy Markdown

Abstract Class: BaseIndex<TKey>
===============================

Defined in: packages/db/src/indexes/base-index.ts:76

Base abstract class that all index types extend

Extended by
-----------

Type Parameters
---------------
### TKey

TKey extends string | number = string | number

Implements
----------

Constructors
------------
### Constructor

ts

new BaseIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BaseIndex<TKey>;


new BaseIndex<TKey>(
   id, 
   expression, 
   name?, 
options?): BaseIndex<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:89

#### Parameters ##### id

number

##### expression

BasicExpression

##### name?

string

##### options?

any

#### Returns

BaseIndex<TKey>

Properties
----------
### compareOptions

ts

protected compareOptions: CompareOptions;


protected compareOptions: CompareOptions;

Defined in: packages/db/src/indexes/base-index.ts:87


### expression

ts

readonly expression: BasicExpression;


readonly expression: BasicExpression;

Defined in: packages/db/src/indexes/base-index.ts:81


### id

ts

readonly id: number;


readonly id: number;

Defined in: packages/db/src/indexes/base-index.ts:79


### lastUpdated

ts

protected lastUpdated: Date;


protected lastUpdated: Date;

Defined in: packages/db/src/indexes/base-index.ts:86


### lookupCount

ts

protected lookupCount: number = 0;


protected lookupCount: number = 0;

Defined in: packages/db/src/indexes/base-index.ts:84


### name?

ts

readonly optional name: string;


readonly optional name: string;

Defined in: packages/db/src/indexes/base-index.ts:80


### supportedOperations

ts

abstract readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;


abstract readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;

Defined in: packages/db/src/indexes/base-index.ts:82


### totalLookupTime

ts

protected totalLookupTime: number = 0;


protected totalLookupTime: number = 0;

Defined in: packages/db/src/indexes/base-index.ts:85

Accessors
---------
### indexedKeysSet #### Get Signature

ts

get abstract indexedKeysSet(): Set<TKey>;


get abstract indexedKeysSet(): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:126

##### Returns

Set<TKey>

#### Implementation of

IndexInterface .indexedKeysSet


### keyCount #### Get Signature

ts

get abstract keyCount(): number;


get abstract keyCount(): number;

Defined in: packages/db/src/indexes/base-index.ts:119

##### Returns

number

#### Implementation of

IndexInterface .keyCount


### orderedEntriesArray #### Get Signature

ts

get abstract orderedEntriesArray(): [any, Set<TKey>][];


get abstract orderedEntriesArray(): [any, Set<TKey>][];

Defined in: packages/db/src/indexes/base-index.ts:124

##### Returns

[any, Set<TKey>][]

#### Implementation of

IndexInterface .orderedEntriesArray


### orderedEntriesArrayReversed #### Get Signature

ts

get abstract orderedEntriesArrayReversed(): [any, Set<TKey>][];


get abstract orderedEntriesArrayReversed(): [any, Set<TKey>][];

Defined in: packages/db/src/indexes/base-index.ts:125

##### Returns

[any, Set<TKey>][]

#### Implementation of

IndexInterface .orderedEntriesArrayReversed


### valueMapData #### Get Signature

ts

get abstract valueMapData(): Map<any, Set<TKey>>;


get abstract valueMapData(): Map<any, Set<TKey>>;

Defined in: packages/db/src/indexes/base-index.ts:127

##### Returns

Map<any, Set<TKey>>

#### Implementation of

IndexInterface .valueMapData

Methods
-------
### add()

ts

abstract add(key, item): void;


abstract add(key, item): void;

Defined in: packages/db/src/indexes/base-index.ts:103

#### Parameters ##### key

TKey

##### item

any

#### Returns

void

#### Implementation of

IndexInterface .add


### build()

ts

abstract build(entries): void;


abstract build(entries): void;

Defined in: packages/db/src/indexes/base-index.ts:106

#### Parameters ##### entries

Iterable<[TKey, any]>

#### Returns

void

#### Implementation of

IndexInterface .build


### clear()

ts

abstract clear(): void;


abstract clear(): void;

Defined in: packages/db/src/indexes/base-index.ts:107

#### Returns

void

#### Implementation of

IndexInterface .clear


### equalityLookup()

ts

abstract equalityLookup(value): Set<TKey>;


abstract equalityLookup(value): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:120

#### Parameters ##### value

any

#### Returns

Set<TKey>

#### Implementation of

IndexInterface .equalityLookup


### evaluateIndexExpression()

ts

protected evaluateIndexExpression(item): any;


protected evaluateIndexExpression(item): any;

Defined in: packages/db/src/indexes/base-index.ts:182

#### Parameters ##### item

any

#### Returns

any


### getStats()

ts

getStats(): IndexStats;


getStats(): IndexStats;

Defined in: packages/db/src/indexes/base-index.ts:169

#### Returns

IndexStats

#### Implementation of

IndexInterface .getStats


### inArrayLookup()

ts

abstract inArrayLookup(values): Set<TKey>;


abstract inArrayLookup(values): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:121

#### Parameters ##### values

any[]

#### Returns

Set<TKey>

#### Implementation of

IndexInterface .inArrayLookup


### initialize()

ts

abstract protected initialize(options?): void;


abstract protected initialize(options?): void;

Defined in: packages/db/src/indexes/base-index.ts:180

#### Parameters ##### options?

any

#### Returns

void


### lookup()

ts

abstract lookup(operation, value): Set<TKey>;


abstract lookup(operation, value): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:108

#### Parameters ##### operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

##### value

any

#### Returns

Set<TKey>

#### Implementation of

IndexInterface .lookup


### matchesCompareOptions()

ts

matchesCompareOptions(compareOptions): boolean;


matchesCompareOptions(compareOptions): boolean;

Defined in: packages/db/src/indexes/base-index.ts:146

Checks if the compare options match the index's compare options. The direction is ignored because the index can be reversed if the direction is different.

#### Parameters ##### compareOptions

CompareOptions

#### Returns

boolean

#### Implementation of

IndexInterface .matchesCompareOptions


### matchesDirection()

ts

matchesDirection(direction): boolean;


matchesDirection(direction): boolean;

Defined in: packages/db/src/indexes/base-index.ts:165

Checks if the index matches the provided direction.

#### Parameters ##### direction

OrderByDirection

#### Returns

boolean

#### Implementation of

IndexInterface .matchesDirection


### matchesField()

ts

matchesField(fieldPath): boolean;


matchesField(fieldPath): boolean;

Defined in: packages/db/src/indexes/base-index.ts:134

#### Parameters ##### fieldPath

string[]

#### Returns

boolean

#### Implementation of

IndexInterface .matchesField


### rangeQuery()

ts

abstract rangeQuery(options): Set<TKey>;


abstract rangeQuery(options): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:122

#### Parameters ##### options

RangeQueryOptions

#### Returns

Set<TKey>

#### Implementation of

IndexInterface .rangeQuery


### rangeQueryReversed()

ts

abstract rangeQueryReversed(options): Set<TKey>;


abstract rangeQueryReversed(options): Set<TKey>;

Defined in: packages/db/src/indexes/base-index.ts:123

#### Parameters ##### options

RangeQueryOptions

#### Returns

Set<TKey>

#### Implementation of

IndexInterface .rangeQueryReversed


### remove()

ts

abstract remove(key, item): void;


abstract remove(key, item): void;

Defined in: packages/db/src/indexes/base-index.ts:104

#### Parameters ##### key

TKey

##### item

any

#### Returns

void

#### Implementation of

IndexInterface .remove


### supports()

ts

supports(operation): boolean;


supports(operation): boolean;

Defined in: packages/db/src/indexes/base-index.ts:130

#### Parameters ##### operation

"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"

#### Returns

boolean

#### Implementation of

IndexInterface .supports


### take()

ts

abstract take(
   n, 
   from?, 
   filterFn?): TKey[];


abstract take(
   n, 
   from?, 
   filterFn?): TKey[];

Defined in: packages/db/src/indexes/base-index.ts:109

#### Parameters ##### n

number

##### from?

TKey

##### filterFn?

(key) => boolean

#### Returns

TKey[]

#### Implementation of

IndexInterface .take


### takeReversed()

ts

abstract takeReversed(
   n, 
   from?, 
   filterFn?): TKey[];


abstract takeReversed(
   n, 
   from?, 
   filterFn?): TKey[];

Defined in: packages/db/src/indexes/base-index.ts:114

#### Parameters ##### n

number

##### from?

TKey

##### filterFn?

(key) => boolean

#### Returns

TKey[]

#### Implementation of

IndexInterface .takeReversed


### trackLookup()

ts

protected trackLookup(startTime): void;


protected trackLookup(startTime): void;

Defined in: packages/db/src/indexes/base-index.ts:187

#### Parameters ##### startTime

number

#### Returns

void


### update()

ts

abstract update(
   key, 
   oldItem, 
   newItem): void;


abstract update(
   key, 
   oldItem, 
   newItem): void;

Defined in: packages/db/src/indexes/base-index.ts:105

#### Parameters ##### key

TKey

##### oldItem

any

##### newItem

any

#### Returns

void

#### Implementation of

IndexInterface .update


### updateTimestamp()

ts

protected updateTimestamp(): void;


protected updateTimestamp(): void;

Defined in: packages/db/src/indexes/base-index.ts:193

#### Returns

void

Edit on GitHub

Home

Partners Become a Partner

Code RabbitCode Rabbit CloudflareCloudflare AG GridAG Grid NetlifyNetlify NeonNeon WorkOSWorkOS ClerkClerk ConvexConvex ElectricElectric SentrySentry PrismaPrisma StrapiStrapi UnkeyUnkey