1 // Copyright 2016 Google Inc. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
12 // MarshalText implements encoding.TextMarshaler.
13 func (u UUID) MarshalText() ([]byte, error) {
22 // UnmarshalText implements encoding.TextUnmarshaler.
23 func (u *UUID) UnmarshalText(data []byte) error {
27 id := Parse(string(data))
29 return errors.New("invalid UUID")
35 // MarshalBinary implements encoding.BinaryMarshaler.
36 func (u UUID) MarshalBinary() ([]byte, error) {
40 // UnmarshalBinary implements encoding.BinaryUnmarshaler.
41 func (u *UUID) UnmarshalBinary(data []byte) error {
46 return fmt.Errorf("invalid UUID (got %d bytes)", len(data))
54 // MarshalText implements encoding.TextMarshaler.
55 func (u Array) MarshalText() ([]byte, error) {
57 encodeHex(js[:], u[:])
61 // UnmarshalText implements encoding.TextUnmarshaler.
62 func (u *Array) UnmarshalText(data []byte) error {
63 id := Parse(string(data))
65 return errors.New("invalid UUID")
71 // MarshalBinary implements encoding.BinaryMarshaler.
72 func (u Array) MarshalBinary() ([]byte, error) {
76 // UnmarshalBinary implements encoding.BinaryUnmarshaler.
77 func (u *Array) UnmarshalBinary(data []byte) error {
79 return fmt.Errorf("invalid UUID (got %d bytes)", len(data))