Defined in: packages/db/src/indexes/base-index.ts:137
Base abstract class that all index types extend
TKey extends string | number = string | number
new BaseIndex<TKey>(
id,
expression,
name?,
options?): BaseIndex<TKey>;Defined in: packages/db/src/indexes/base-index.ts:158
number
string
any
BaseIndex<TKey>
protected readonly compareFn: (a, b) => number;Defined in: packages/db/src/indexes/base-index.ts:149
Orders indexed values. Every result is checked, because a custom comparator or custom collation may be supplied by the user.
any
any
number
protected readonly compareOptions: CompareOptions;Defined in: packages/db/src/indexes/base-index.ts:144
readonly expression: BasicExpression;Defined in: packages/db/src/indexes/base-index.ts:142
protected readonly hasCustomComparator: boolean;Defined in: packages/db/src/indexes/base-index.ts:155
A user-supplied comparator's ordering may not match the WHERE evaluator's relational operators.
readonly id: number;Defined in: packages/db/src/indexes/base-index.ts:140
readonly optional name: string;Defined in: packages/db/src/indexes/base-index.ts:141
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;Defined in: packages/db/src/indexes/base-index.ts:143
get abstract keyCount(): number;Defined in: packages/db/src/indexes/base-index.ts:203
number
get supportsOrderOptimization(): boolean;Defined in: packages/db/src/indexes/base-index.ts:259
Whether a query can use this index for its declared ordered prefix.
boolean
Whether a query can use this index for its declared ordered prefix.
IndexInterface.supportsOrderOptimization
get supportsRangeOptimization(): boolean;Defined in: packages/db/src/indexes/base-index.ts:255
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.
boolean
IndexInterface.supportsRangeOptimization
abstract add(key, item): void;Defined in: packages/db/src/indexes/base-index.ts:179
TKey
any
void
protected addRangeValue(value): void;Defined in: packages/db/src/indexes/base-index.ts:277
unknown
void
abstract build(entries): void;Defined in: packages/db/src/indexes/base-index.ts:182
Iterable<[TKey, any]>
void
canOptimizeRangeFor(value): boolean;Defined in: packages/db/src/indexes/base-index.ts:299
Whether the live values in this index share the predicate operand's relational domain. Mixed domains can sort differently in the index and WHERE evaluator, which can make a range lookup omit matching rows.
unknown
boolean
IndexInterface.canOptimizeRangeFor
abstract clear(): void;Defined in: packages/db/src/indexes/base-index.ts:183
void
protected clearRangeValues(): void;Defined in: packages/db/src/indexes/base-index.ts:295
void
abstract equalityLookup(value): Set<TKey>;Defined in: packages/db/src/indexes/base-index.ts:204
any
Set<TKey>
protected evaluateAddedValue(key, item): any;Defined in: packages/db/src/indexes/base-index.ts:374
The indexed value of a row being added. A throwing expression fails the write.
TKey
any
any
protected evaluateIndexExpression(item): any;Defined in: packages/db/src/indexes/base-index.ts:367
any
any
protected exactBucketKeys(value): Iterable<TKey, any, any> | undefined;Defined in: packages/db/src/indexes/base-index.ts:205
any
Iterable<TKey, any, any> | undefined
inArrayLookup(values): Set<TKey>;Defined in: packages/db/src/indexes/base-index.ts:228
Combine exact buckets without copying each bucket first.
any[]
Set<TKey>
protected initialize(_options?): void;Defined in: packages/db/src/indexes/base-index.ts:365
any
void
abstract lookup(operation, value): Set<TKey>;Defined in: packages/db/src/indexes/base-index.ts:184
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
any
Set<TKey>
protected lookupSupportedOperation(operation, value): Set<TKey> | undefined;Defined in: packages/db/src/indexes/base-index.ts:211
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
any
Set<TKey> | undefined
matchesCompareOptions(compareOptions): boolean;Defined in: packages/db/src/indexes/base-index.ts:321
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.
CompareOptions
boolean
IndexInterface.matchesCompareOptions
matchesDirection(direction): boolean;Defined in: packages/db/src/indexes/base-index.ts:361
Checks if the index matches the provided direction.
boolean
IndexInterface.matchesDirection
matchesField(fieldPath): boolean;Defined in: packages/db/src/indexes/base-index.ts:309
string[]
boolean
abstract rangeQuery(options): Set<TKey>;Defined in: packages/db/src/indexes/base-index.ts:208
Set<TKey>
rangeQueryReversed(options): Set<TKey>;Defined in: packages/db/src/indexes/base-index.ts:237
RangeQueryOptions = {}
Set<TKey>
IndexInterface.rangeQueryReversed
abstract remove(key, item): void;Defined in: packages/db/src/indexes/base-index.ts:180
TKey
any
void
protected removeRangeValue(value): void;Defined in: packages/db/src/indexes/base-index.ts:286
unknown
void
supports(operation): boolean;Defined in: packages/db/src/indexes/base-index.ts:251
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
boolean
abstract take(
n,
from,
filterFn?): TKey[];Defined in: packages/db/src/indexes/base-index.ts:185
number
unknown
(key) => boolean
TKey[]
abstract takeFromStart(n, filterFn?): TKey[];Defined in: packages/db/src/indexes/base-index.ts:190
number
(key) => boolean
TKey[]
abstract takeReversed(
n,
from,
filterFn?): TKey[];Defined in: packages/db/src/indexes/base-index.ts:194
number
unknown
(key) => boolean
TKey[]
abstract takeReversedFromEnd(n, filterFn?): TKey[];Defined in: packages/db/src/indexes/base-index.ts:199
number
(key) => boolean
TKey[]
IndexInterface.takeReversedFromEnd
abstract update(
key,
oldItem,
newItem): void;Defined in: packages/db/src/indexes/base-index.ts:181
TKey
any
any
void