package zmostp_go import "io" var _ io.ByteReader = (*SimpleByteReader)(nil) // SimpleByteReader implements io.ByteReader for io.Reader. // Not recommended for production use due to performance issues. type SimpleByteReader struct { reader io.Reader buf []byte } // NewSimpleByteReader creates a new SimpleByteReader. // Not recommended for production use due to performance issues. func NewSimpleByteReader(reader io.Reader) *SimpleByteReader { return &SimpleByteReader{ reader: reader, buf: make([]byte, 1), } } func (s SimpleByteReader) ReadByte() (byte, error) { _, err := s.reader.Read(s.buf) if err != nil { return 0, err } return s.buf[0], nil }