def scan_hit
mylsm-lsm-store@0.6.0.1 · src/MemTable.bend:116
import mylsm-lsm-store@0.6.0.1/src/MemTable.bend as MemTable
import Base
import mylsm-lsm-store@0.6.0.1/src/Keys.bend as Keys
116
117def scan_hit(
118 fuel: Nat,
119 +key: String,
120 st: (Bool & Maybe<&2, Maybe<&2, String>>),
121 entries: List<&2, Entry>
122) -> Maybe<&2, Maybe<&2, String>>:
123 match fuel:
124 case 0n:
125 (done, ans) = st
126 ans
127 case 1n+f:
128 (done, ans) = st
129 match entries:
130 case Nil{}:
131 ans
132 case Con{Entry{ekey, val}, t}:
133 scan_hit(f, key, scan_hit_step(done, Keys.eq(ekey, key), val, ans), t)