add a couple useful methods

This commit is contained in:
Jeromy
2020-05-01 15:01:28 -07:00
parent 723b4ab105
commit 7d7cb88d78

12
cid.go
View File

@@ -25,6 +25,7 @@ import (
"encoding/json"
"errors"
"fmt"
"io"
"strings"
mbase "github.com/multiformats/go-multibase"
@@ -408,6 +409,17 @@ func (c Cid) Bytes() []byte {
return []byte(c.str)
}
// ByteLen returns len(c.Bytes()) without an allocation
func (c Cid) ByteLen() int {
return len(c.str)
}
// WriteTo writes the cids bytes to the given writer
func (c Cid) WriteTo(w io.Writer) error {
_, err := io.WriteString(w, c.str)
return err
}
// MarshalBinary is equivalent to Bytes(). It implements the
// encoding.BinaryMarshaler interface.
func (c Cid) MarshalBinary() ([]byte, error) {