def records.step
mylsm-lsm-store@0.6.0.1 · src/ByteWal.bend:94
import mylsm-lsm-store@0.6.0.1/src/ByteWal.bend as ByteWal
import Base
import mylsm-lsm-store@0.6.0.1/src/Wal.bend as Wal
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes
94
95def records.step(
96 rest: List<&1, Mutation>,
97 current: Result<&1, &1, Wal.Error, Bytes.Bytes>,
98 reversed: List<&1, Bytes.Bytes>,
99 count: U32
100) -> Result<&1, &1, Wal.Error, List<&1, Bytes.Bytes> & U32>:
101 match rest current:
102 case Nil{} Fail{error}:
103 Fail{error}
104 case Nil{} Done{bytes}:
105 Done{(List.reverse(&1, Bytes.Bytes, Con{bytes, reversed}), (count + 1 : U32))}
106 case Con{_, _} Fail{error}:
107 Fail{error}
108 case Con{mutation, tail} Done{bytes}:
109 records.step(tail, record.encode(mutation), Con{bytes, reversed}, (count + 1 : U32))