def prs
import bend-kit-postgres@0.3.0.0/codec.bend as Codecimport Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes
458# Name and value pairs up to an empty name; a value may be empty. Each pair takes two bytes.
459def prs(f: Nat, s: Loop<Bytes.Bytes, Param>) -> Cur & List<&1, Param>:
460 match f:
461 case 0n:
462 loop.end(Bytes.Bytes, Param, s)
463 case 1n+p:
464 match s:
465 case Go{c, name, acc}:
466 prs(p, pr.val(name, acc, cstr(c)))
467 case Stop{c, acc}:
468 (c, List.reverse(&1, Param, acc))