def set

bend-kit-llm@0.13.0.1 · sse.bend:123

import bend-kit-llm@0.13.0.1/sse.bend as Sse
import Base
import bend-kit-bytes@0.3.3.0/bytes.bend as Bytes

123# The event after a field of kind k with value v. An id with NUL and a retry that is not digits change nothing.
124def set(+k: U32, v: Bytes.Bytes, st: St) -> St:
125  match k:
126    case 1:
127      St{name, data, id, retry} = st
128      St{name, Bytes.append(Bytes.append(data, v), lf()), id, retry}
129    case 2:
130      St{old, data, id, retry} = st
131      St{Bytes.to_string(v), data, id, retry}
132    case 3:
133      St{name, data, old, retry} = st
134      +s = Bytes.to_string(v)
135      St{name, data, Bool.pick(String, has_nul(s), old, s), retry}
136    case 4:
137      St{name, data, id, old} = st
138      St{name, data, id, set.retry(digits(Bytes.to_string(v), 0, 0, False{}), old)}
139    case _:
140      st

Uses (14)

Used by (1)