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