description

# openCursor method

Stream<CursorWithValue> openCursor({

1. dynamic key,
2. KeyRange? range,
3. String? direction,
4. bool? autoAdvance,

})

Creates a stream of cursors over the records in this object store.

See also:

- ObjectStore.openCursor

## Implementation

    Stream<CursorWithValue> openCursor({
      key,
      KeyRange? range,
      String? direction,
      bool? autoAdvance,
    }) {
      var key_OR_range = null;
      if (key != null) {
        if (range != null) {
          throw new ArgumentError('Cannot specify both key and range.');
        }
        key_OR_range = key;
      } else {
        key_OR_range = range;
      }
      var request;
      if (direction == null) {
        // FIXME: Passing in "next" should be unnecessary.
        request = _openCursor(key_OR_range, "next");
      } else {
        request = _openCursor(key_OR_range, direction);
      }
      return ObjectStore._cursorStreamFromResult(request, autoAdvance);
    }