def one
bendonnect-rpc@0.1.0.0 · src/transport/client.bend:329
import bendonnect-rpc@0.1.0.0/src/transport/client.bend as Client
import Base
import bendonnect-rpc@0.1.0.0/src/code.bend as Code
import bendonnect-rpc@0.1.0.0/src/error.bend as E
329def one(r: Result<&1, &1, E.Error, Response>) -> Result<&1, &1, E.Error, Response>:
330 match r:
331 case Fail{e}:
332 Fail{e}
333 case Done{resp}:
334 Response{h, t, ms} = resp
335 match ms:
336 case Nil{}:
337 fail(Code.Unknown{}, "client stream: no response message")
338 case Con{m, rest}:
339 match rest:
340 case Nil{}:
341 Done{Response{h, t, [m]}}
342 case Con{x, y}:
343 fail(Code.Unknown{}, "client stream: more than one response message")