openKeyCursor method

Stream<Cursor> openKeyCursor(
  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<Cursor> openKeyCursor(
    {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 = _openKeyCursor(key_OR_range, "next");
  } else {
    request = _openKeyCursor(key_OR_range, direction);
  }
  return ObjectStore._cursorStreamFromResult(request, autoAdvance);
}