in src/InMemoryProvider.ts [845:873]
private _getKeyCountForRange(
keyLowRange: KeyType,
keyHighRange: KeyType,
lowRangeExclusive?: boolean,
highRangeExclusive?: boolean
): number {
const keyLow = serializeKeyToString(keyLowRange, this._keyPath);
const keyHigh = serializeKeyToString(keyHighRange, this._keyPath);
const iterator = this._indexTree.entries();
let keyCount = 0;
for (const item of iterator) {
const key = item.key;
if (key === undefined) {
continue;
}
if (
(key > keyLow || (key === keyLow && !lowRangeExclusive)) &&
(key < keyHigh || (key === keyHigh && !highRangeExclusive))
) {
if (this.isUniqueIndex()) {
keyCount++;
} else {
keyCount += item.value?.length || 0;
}
}
}
return keyCount;
}