def put
import bend-kit-cbor@0.3.0.0/cbor.bend as Cborimport Base
42def put(full: Bool, buf: Array<U32>, +cap: U32, +n: U32, +word: U32) -> W:
43 match full:
44 case True{}:
45 +k = (n >> 2n : U32)
46 +grow = U32.is_eq(k, cap)
47 +cap2 = Bool.pick(U32, grow, (cap * 2 : U32), cap)
48 W{Array.set(U32, grow.if(grow, buf, k), k, word), cap2, (n + 1 : U32), 0}
49 case False{}:
50 W{buf, cap, (n + 1 : U32), word}