Ws.Ws.step: def of bend-kube-runtime@0.2.0.0 Import: import bend-kube-runtime@0.2.0.0/src/ws.bend as Ws Lines 161-178 of bend-kube-runtime@0.2.0.0/src/ws.bend: https://jend.leeeet.dev/read.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&start_line=161&end_line=178 import Base # One byte into the decoder. def Ws.step(st: WSt, +b: U32) -> Stepped: match st: case WHead{}: Stepped{WLen{U32.is_ge(b, 128), U32.and(b, 15)}, None{}} case WLen{+fin, +op}: Ws.len7(fin, op, U32.is_ge(b, 128), U32.and(b, 127), U32.is_eq(U32.and(b, 127), 126), U32.is_eq(U32.and(b, 127), 127)) case WExt{+fin, +op, masked, +need, +len}: Ws.ext(fin, op, masked, U32.sub(need, 1), U32.add(U32.mul(len, 256), b), U32.is_eq(need, 1)) case WKey{+fin, +op, +len, +need, +key}: Ws.key(fin, op, len, U32.sub(need, 1), List.append(&2, U32, key, [b]), U32.is_eq(need, 1)) case WPay{+fin, +op, +left, +key, +acc}: Ws.pay(fin, op, U32.sub(left, 1), Ws.rotate(key), Con{Ws.unmask(key, b), acc}, U32.is_eq(left, 1)) case WBad{why}: Stepped{WBad{why}, None{}} Uses (18): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.add https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_ge https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Stepped https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=WSt https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.ext https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.key https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.len7 https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.pay https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.rotate https://jend.leeeet.dev/definition.txt?path=bend-kube-runtime@0.2.0.0/src/ws.bend&name=Ws.unmask