1. Let record be the first in store’s list of records whose is in range, if any.

    2. If record was not found, return undefined.

    3. Let serialized be of record’s .

    4. Return ! (serialized, targetRealm).

    To retrieve multiple values from an object store with targetRealm, store, range and optional count, run these steps:

    1. If count is not given or is 0 (zero), let count be infinity.

    2. Let records be a list containing the first count in store’s list of records whose is in range.

    3. record of records:

      1. Let serialized be record’s value.

      2. Let entry be StructuredDeserialize(serialized, targetRealm).

      3. Append entry to list.

    4. Return list converted to a .

    To retrieve a key from an object store with store and range, run these steps:

    1. Let record be the first record in store’s whose key is range, if any.

    2. Return the result of running convert a key to a value with record’s key.

    To retrieve multiple keys from an object store with store, range and optional count, run these steps:

    1. If count is not given or is 0 (zero), let count be infinity.

    2. Let records be a list containing the first count in store’s list of records whose is in range.

    3. Let list be an empty .

    4. For each record of records:

      1. Let entry be the result of running with record’s key.

    5. Return list converted to a sequence.