Compare commits

..

No commits in common. "3755adde029d050fe3d763791efd10632fdb15f2" and "d7f789e0812acbb669b708fdc6278a2ccef493ac" have entirely different histories.

4 changed files with 0 additions and 63 deletions

1
.gitignore vendored
View File

@ -1 +0,0 @@
/.idea/

View File

@ -1 +0,0 @@
golang 1.18.10

3
go.mod
View File

@ -1,3 +0,0 @@
module gitea.suyono.dev/suyono/readerx
go 1.18

View File

@ -1,58 +0,0 @@
package readerx
import "io"
type Reader struct {
reader io.Reader
fun func([]byte) (int, error)
}
func NewReader(reader io.Reader) Reader {
return Reader{
reader: reader,
}
}
func (r Reader) Read(b []byte) (l []byte, n int, err error) {
n, err = r.reader.Read(b)
if n > 0 {
l = b[:n]
}
return
}
func (r Reader) ReadX(b []byte) (l []byte, err error) {
l, _, err = r.Read(b)
return
}
func (r Reader) readFunc(b []byte) (l []byte, n int, err error) {
n, err = r.fun(b)
if n > 0 {
l = b[:n]
}
return
}
func ReadFrom(reader io.Reader, b []byte) (l []byte, n int, err error) {
l, n, err = NewReader(reader).Read(b)
return
}
func ReadFromX(reader io.Reader, b []byte) (l []byte, err error) {
l, err = NewReader(reader).ReadX(b)
return
}
func ReadFunc(f func([]byte) (int, error), b []byte) (l []byte, n int, err error) {
r := Reader{
fun: f,
}
l, n, err = r.readFunc(b)
return
}
func ReadFuncX(f func([]byte) (int, error), b []byte) (l []byte, err error) {
l, _, err = ReadFunc(f, b)
return
}