Defined in: packages/db/src/indexes/basic-index.ts:39
Basic index using Map + sorted Array.
Map for O(1) equality lookups
Sorted Array for O(log n) range queries via binary search
O(n) updates to maintain sort order
Simpler and smaller than BTreeIndex, good for read-heavy workloads. Use BTreeIndex for write-heavy workloads with large collections.
BaseIndex\<`TKey`\>
TKey extends string | number = string | number
new BasicIndex<TKey>(
id,
expression,
name?,
options?): BasicIndex<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:60
number
string
any
BasicIndex\<`TKey`\>
protected compareOptions: CompareOptions;Defined in: packages/db/src/indexes/base-index.ts:92
readonly expression: BasicExpression;Defined in: packages/db/src/indexes/base-index.ts:86
readonly id: number;Defined in: packages/db/src/indexes/base-index.ts:84
protected lastUpdated: Date;Defined in: packages/db/src/indexes/base-index.ts:91
protected lookupCount: number = 0;Defined in: packages/db/src/indexes/base-index.ts:89
readonly optional name: string;Defined in: packages/db/src/indexes/base-index.ts:85
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;Defined in: packages/db/src/indexes/basic-index.ts:42
protected totalLookupTime: number = 0;Defined in: packages/db/src/indexes/base-index.ts:90
get indexedKeysSet(): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:484
Set\<`TKey`\>
get keyCount(): number;Defined in: packages/db/src/indexes/basic-index.ts:238
Gets the number of indexed keys
number
get orderedEntriesArray(): [any, Set<TKey>][];Defined in: packages/db/src/indexes/basic-index.ts:488
[any, Set\<`TKey`\>][]
get orderedEntriesArrayReversed(): [any, Set<TKey>][];Defined in: packages/db/src/indexes/basic-index.ts:495
[any, Set\<`TKey`\>][]
BaseIndex.orderedEntriesArrayReversed
get valueMapData(): Map<any, Set<TKey>>;Defined in: packages/db/src/indexes/basic-index.ts:504
Map\<`any`, `Set`\<`TKey`\>>
add(key, item): void;Defined in: packages/db/src/indexes/basic-index.ts:78
Adds a value to the index
TKey
any
void
build(entries): void;Defined in: packages/db/src/indexes/basic-index.ts:156
Builds the index from a collection of entries
Iterable\<\[`TKey`, `any`\]\>
void
clear(): void;Defined in: packages/db/src/indexes/basic-index.ts:193
Clears all data from the index
void
equalityLookup(value): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:245
Performs an equality lookup - O(1)
any
Set\<`TKey`\>
protected evaluateIndexExpression(item): any;Defined in: packages/db/src/indexes/base-index.ts:194
any
any
BaseIndex.evaluateIndexExpression
getStats(): IndexStats;Defined in: packages/db/src/indexes/base-index.ts:182
inArrayLookup(values): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:469
Performs an IN array lookup - O(k) where k is values.length
any[]
Set\<`TKey`\>
protected initialize(_options?): void;Defined in: packages/db/src/indexes/basic-index.ts:73
void
lookup(operation, value): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:203
Performs a lookup operation
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
any
Set\<`TKey`\>
matchesCompareOptions(compareOptions): boolean;Defined in: packages/db/src/indexes/base-index.ts:159
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
BaseIndex.matchesCompareOptions
matchesDirection(direction): boolean;Defined in: packages/db/src/indexes/base-index.ts:178
Checks if the index matches the provided direction.
boolean
matchesField(fieldPath): boolean;Defined in: packages/db/src/indexes/base-index.ts:147
string[]
boolean
rangeQuery(options): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:253
Performs a range query using binary search - O(log n + m)
RangeQueryOptions = {}
Set\<`TKey`\>
rangeQueryReversed(options): Set<TKey>;Defined in: packages/db/src/indexes/basic-index.ts:314
Performs a reversed range query
RangeQueryOptions = {}
Set\<`TKey`\>
remove(key, item): void;Defined in: packages/db/src/indexes/basic-index.ts:114
Removes a value from the index
TKey
any
void
supports(operation): boolean;Defined in: packages/db/src/indexes/base-index.ts:143
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
boolean
take(
n,
from?,
filterFn?): TKey[];Defined in: packages/db/src/indexes/basic-index.ts:339
Returns the next n items in sorted order
number
any
(key) => boolean
TKey[]
takeFromStart(n, filterFn?): TKey[];Defined in: packages/db/src/indexes/basic-index.ts:424
Returns the first n items in sorted order (from the start)
number
(key) => boolean
TKey[]
takeReversed(
n,
from?,
filterFn?): TKey[];Defined in: packages/db/src/indexes/basic-index.ts:381
Returns the next n items in reverse sorted order
number
any
(key) => boolean
TKey[]
takeReversedFromEnd(n, filterFn?): TKey[];Defined in: packages/db/src/indexes/basic-index.ts:443
Returns the first n items in reverse sorted order (from the end)
number
(key) => boolean
TKey[]
protected trackLookup(startTime): void;Defined in: packages/db/src/indexes/base-index.ts:199
number
void
update(
key,
oldItem,
newItem): void;Defined in: packages/db/src/indexes/basic-index.ts:148
Updates a value in the index
TKey
any
any
void
protected updateTimestamp(): void;Defined in: packages/db/src/indexes/base-index.ts:205
void