VisibleCursor.next: def of mylsm-lsm-store@0.6.0.1 Import: import mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend as VisibleCursor Lines 413-427 of mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend: https://jend.leeeet.dev/read.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend&start_line=413&end_line=427 import Base import mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend as SstCursor # Advances the SST source by at most one record and merges one visible result. def next(cursor: Cursor) -> IO(Step): match cursor: case Active{base, pending, delta, bounds, Some{entry}}: IO.pure(Step, Item{entry, Active{base, pending, delta, bounds, None{}}}) case Active{Some{base}, None{}, delta, bounds, None{}}: do IO: result : SstCursor.Step <- SstCursor.next(base) step : Step <- base.next.result(delta, bounds, result) return step case Active{base, pending, delta, bounds, None{}}: IO.pure(Step, ready(base, pending, delta, bounds)) case Ended{}: IO.pure(Step, End{}) case Closed{}: IO.pure(Step, End{}) case Failed{error}: IO.pure(Step, Error{error}) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.bind https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=IO.pure https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=Step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/SstCursor.bend&name=next https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend&name=Cursor https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend&name=Step https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend&name=base.next.result https://jend.leeeet.dev/definition.txt?path=mylsm-lsm-store@0.6.0.1/src/scan/VisibleCursor.bend&name=ready