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

    2. If record was not found, return undefined.

    3. Let serialized be of record’s value.

    4. Return StructuredDeserialize(serialized, targetRealm).

    The steps to retrieve multiple values from an object store with targetRealm, store, range and optional count are as follows:

    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 key is range.

    3. For each record in 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 .

    The steps to retrieve a key from an object store with store and range are as follows:

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

    2. Return the result of running the steps to with record’s key.

    The steps to retrieve multiple keys from an object store with store, range and optional count are as follows:

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

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

    3. Let list be an empty list.

    4. For each record in records:

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

    5. Return list converted to a sequence.