diff options
Diffstat (limited to 'object/id/objectid_byte.go')
| -rw-r--r-- | object/id/objectid_byte.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/object/id/objectid_byte.go b/object/id/objectid_byte.go new file mode 100644 index 00000000..8384ff45 --- /dev/null +++ b/object/id/objectid_byte.go @@ -0,0 +1,20 @@ +package objectid + +// Bytes returns a copy of the object ID bytes. +func (id ObjectID) Bytes() []byte { + size := id.Algorithm().Size() + + return append([]byte(nil), id.data[:size]...) +} + +// RawBytes returns a direct byte slice view of the object ID bytes. +// +// The returned slice aliases the object ID's internal storage. Callers MUST +// treat it as read-only and MUST NOT modify its contents. +// +// Use Bytes when an independent copy is required. +func (id *ObjectID) RawBytes() []byte { + size := id.Algorithm().Size() + + return id.data[:size:size] +} |
