def jpeg.huff.read
gralha-jpeg-decode@0.1.0.1 · jpeg.bend:68
import gralha-jpeg-decode@0.1.0.1/jpeg.bend as Jpeg
import Base
import gralha-bytes@0.1.0.1/bytes.bend as Bin
68def jpeg.huff.read(node: Bin.Huffman, stream: JPEGStream) -> JPEGRead:
69 match node:
70 case Bin.HuffEmpty{}: JPEGRead{0, jpeg.stream.invalid(stream)}
71 case Bin.HuffBad{}: JPEGRead{0, jpeg.stream.invalid(stream)}
72 case Bin.HuffLeaf{symbol}: JPEGRead{symbol, stream}
73 case Bin.HuffNode{zero, one}: jpeg.huff.next(jpeg.bits(stream, 1), zero, one, node => input => jpeg.huff.read(node, input))