Defined in: packages/db/src/indexes/basic-index.ts:39
Basic index using Map + sorted Array.
Simpler and smaller than BTreeIndex, good for read-heavy workloads. Use BTreeIndex for write-heavy workloads with large collections.
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