openCursor method

Stream<CursorWithValue> openCursor ({dynamic key, KeyRange range, String direction, 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);
}