def Heard.read
bend-pipe-session@0.2.0.0 · impl.bend:48
import bend-pipe-session@0.2.0.0/impl.bend as Impl
import Base
48def Heard.read(
49 read: File & Result<&1, &1, U32 & String, Maybe<String>>,
50 +until: String
51) -> File
52 & Heard:
53 match read:
54 case (out, Fail{error}):
55 (out, Failed{error})
56 case (out, Done{None{}}):
57 (out, Ended{})
58 case (out, Done{Some{line}}):
59 +text = String.trim_end(line)
60 (out, Bool.pick(Heard, String.starts_with(text, until), Last{text}, Line{text}))