aboutsummaryrefslogtreecommitdiff
path: root/object/blob/serialize.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/blob/serialize.go')
-rw-r--r--object/blob/serialize.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/object/blob/serialize.go b/object/blob/serialize.go
new file mode 100644
index 00000000..2dcc147f
--- /dev/null
+++ b/object/blob/serialize.go
@@ -0,0 +1,18 @@
+package blob
+
+import (
+ "codeberg.org/lindenii/furgit/object/header"
+ "codeberg.org/lindenii/furgit/object/typ"
+)
+
+// BytesWithoutHeader renders the raw blob body bytes.
+func (blob *Blob) AppendWithoutHeader(dst []byte) ([]byte, error) {
+ return append(dst, blob.Data...), nil
+}
+
+// BytesWithHeader renders the raw object (header + body).
+func (blob *Blob) AppendWithHeader(dst []byte) ([]byte, error) {
+ dst = header.Append(dst, typ.TypeBlob, uint64(len(blob.Data)))
+
+ return blob.AppendWithoutHeader(dst)
+}