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}))

Uses (11)

Used by (2)