private _getKeysForRange()

in src/InMemoryProvider.ts [818:842]


  private _getKeysForRange(
    keyLowRange: KeyType,
    keyHighRange: KeyType,
    lowRangeExclusive?: boolean,
    highRangeExclusive?: boolean
  ): string[] {
    const keyLow = serializeKeyToString(keyLowRange, this._keyPath);
    const keyHigh = serializeKeyToString(keyHighRange, this._keyPath);
    const iterator = this._indexTree.entries();
    const keys = [];
    for (const entry of iterator) {
      const key = entry.key;
      if (key === undefined) {
        continue;
      }

      if (
        (key > keyLow || (key === keyLow && !lowRangeExclusive)) &&
        (key < keyHigh || (key === keyHigh && !highRangeExclusive))
      ) {
        keys.push(key);
      }
    }
    return keys;
  }