package peer
import (
"encoding"
"encoding/json"
)
var _ json .Marshaler = (*ID )(nil )
var _ json .Unmarshaler = (*ID )(nil )
var _ encoding .BinaryMarshaler = (*ID )(nil )
var _ encoding .BinaryUnmarshaler = (*ID )(nil )
var _ encoding .TextMarshaler = (*ID )(nil )
var _ encoding .TextUnmarshaler = (*ID )(nil )
func (id ID ) Marshal () ([]byte , error ) {
return []byte (id ), nil
}
func (id ID ) MarshalBinary () ([]byte , error ) {
return id .Marshal ()
}
func (id ID ) MarshalTo (data []byte ) (n int , err error ) {
return copy (data , []byte (id )), nil
}
func (id *ID ) Unmarshal (data []byte ) (err error ) {
*id , err = IDFromBytes (data )
return err
}
func (id *ID ) UnmarshalBinary (data []byte ) error {
return id .Unmarshal (data )
}
func (id ID ) Size () int {
return len ([]byte (id ))
}
func (id ID ) MarshalJSON () ([]byte , error ) {
return json .Marshal (id .String ())
}
func (id *ID ) UnmarshalJSON (data []byte ) (err error ) {
var v string
if err = json .Unmarshal (data , &v ); err != nil {
return err
}
*id , err = Decode (v )
return err
}
func (id ID ) MarshalText () ([]byte , error ) {
return []byte (id .String ()), nil
}
func (id *ID ) UnmarshalText (data []byte ) error {
pid , err := Decode (string (data ))
if err != nil {
return err
}
*id = pid
return nil
}
The pages are generated with Golds v0.8.2 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds .