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:

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);
}