TanStack

BaseIndex

Abstract Class: BaseIndex<TKey>

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

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>;

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

Parameters

id

number

expression

BasicExpression

name?

string

options?

any

Returns

BaseIndex<TKey>

Properties

compareOptions

ts
protected compareOptions: CompareOptions;

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


expression

ts
readonly expression: BasicExpression;

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


hasCustomComparator

ts
protected hasCustomComparator: boolean = false;

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

Set by subclasses when constructed with a user-supplied comparator, whose ordering may not match the WHERE evaluator's relational operators.


id

ts
readonly id: number;

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


lastUpdated

ts
protected lastUpdated: Date;

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


lookupCount

ts
protected lookupCount: number = 0;

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


name?

ts
readonly optional name: string;

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


supportedOperations

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

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


totalLookupTime

ts
protected totalLookupTime: number = 0;

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

Accessors

indexedKeysSet

Get Signature

ts
get abstract indexedKeysSet(): Set<TKey>;

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

Returns

Set<TKey>

Implementation of

IndexInterface.indexedKeysSet


keyCount

Get Signature

ts
get abstract keyCount(): number;

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

Returns

number

Implementation of

IndexInterface.keyCount


orderedEntriesArray

Get Signature

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

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

Returns

[any, Set<TKey>][]

Implementation of

IndexInterface.orderedEntriesArray


orderedEntriesArrayReversed

Get Signature

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

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

Returns

[any, Set<TKey>][]

Implementation of

IndexInterface.orderedEntriesArrayReversed


supportsRangeOptimization

Get Signature

ts
get supportsRangeOptimization(): boolean;

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

Whether range lookups (gt/gte/lt/lte) on this index can be trusted to return every matching key. Range traversal relies on the index ordering, so it is unsafe when the index uses a custom comparator, whose order may not match the WHERE evaluator's relational operators. Callers must fall back to a full scan when this is false.

Returns

boolean

Implementation of

IndexInterface.supportsRangeOptimization


valueMapData

Get Signature

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

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

Returns

Map<any, Set<TKey>>

Implementation of

IndexInterface.valueMapData

Methods

add()

ts
abstract add(key, item): void;

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

Parameters

key

TKey

item

any

Returns

void

Implementation of

IndexInterface.add


build()

ts
abstract build(entries): void;

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

Parameters

entries

Iterable<[TKey, any]>

Returns

void

Implementation of

IndexInterface.build


clear()

ts
abstract clear(): void;

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

Returns

void

Implementation of

IndexInterface.clear


equalityLookup()

ts
abstract equalityLookup(value): Set<TKey>;

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

Parameters

value

any

Returns

Set<TKey>

Implementation of

IndexInterface.equalityLookup


evaluateIndexExpression()

ts
protected evaluateIndexExpression(item): any;

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

Parameters

item

any

Returns

any


getStats()

ts
getStats(): IndexStats;

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

Returns

IndexStats

Implementation of

IndexInterface.getStats


inArrayLookup()

ts
abstract inArrayLookup(values): Set<TKey>;

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

Parameters

values

any[]

Returns

Set<TKey>

Implementation of

IndexInterface.inArrayLookup


initialize()

ts
abstract protected initialize(options?): void;

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

Parameters

options?

any

Returns

void


lookup()

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

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

Parameters

operation

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

value

any

Returns

Set<TKey>

Implementation of

IndexInterface.lookup


matchesCompareOptions()

ts
matchesCompareOptions(compareOptions): boolean;

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

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;

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

Checks if the index matches the provided direction.

Parameters

direction

OrderByDirection

Returns

boolean

Implementation of

IndexInterface.matchesDirection


matchesField()

ts
matchesField(fieldPath): boolean;

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

Parameters

fieldPath

string[]

Returns

boolean

Implementation of

IndexInterface.matchesField


rangeQuery()

ts
abstract rangeQuery(options): Set<TKey>;

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

Parameters

options

BTreeRangeQueryOptions

Returns

Set<TKey>

Implementation of

IndexInterface.rangeQuery


rangeQueryReversed()

ts
abstract rangeQueryReversed(options): Set<TKey>;

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

Parameters

options

BTreeRangeQueryOptions

Returns

Set<TKey>

Implementation of

IndexInterface.rangeQueryReversed


remove()

ts
abstract remove(key, item): void;

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

Parameters

key

TKey

item

any

Returns

void

Implementation of

IndexInterface.remove


supports()

ts
supports(operation): boolean;

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

Parameters

operation

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

Returns

boolean

Implementation of

IndexInterface.supports


take()

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

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

Parameters

n

number

from

TKey

filterFn?

(key) => boolean

Returns

TKey[]

Implementation of

IndexInterface.take


takeFromStart()

ts
abstract takeFromStart(n, filterFn?): TKey[];

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

Parameters

n

number

filterFn?

(key) => boolean

Returns

TKey[]

Implementation of

IndexInterface.takeFromStart


takeReversed()

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

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

Parameters

n

number

from

TKey

filterFn?

(key) => boolean

Returns

TKey[]

Implementation of

IndexInterface.takeReversed


takeReversedFromEnd()

ts
abstract takeReversedFromEnd(n, filterFn?): TKey[];

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

Parameters

n

number

filterFn?

(key) => boolean

Returns

TKey[]

Implementation of

IndexInterface.takeReversedFromEnd


trackLookup()

ts
protected trackLookup(startTime): void;

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

Parameters

startTime

number

Returns

void


update()

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

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

Parameters

key

TKey

oldItem

any

newItem

any

Returns

void

Implementation of

IndexInterface.update


updateTimestamp()

ts
protected updateTimestamp(): void;

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

Returns

void