diff options
Diffstat (limited to 'object/stored/blob.go')
| -rw-r--r-- | object/stored/blob.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/object/stored/blob.go b/object/stored/blob.go new file mode 100644 index 00000000..4b3b6b74 --- /dev/null +++ b/object/stored/blob.go @@ -0,0 +1,35 @@ +package stored + +import ( + "codeberg.org/lindenii/furgit/object" + "codeberg.org/lindenii/furgit/objectid" +) + +// StoredBlob is a parsed blob paired with its storage ID. +// +// This Blob object is fully materialized in memory. +// Consider using objectstore/Store.ReadReaderContent. +type StoredBlob struct { + id objectid.ObjectID + blob *object.Blob +} + +// NewStoredBlob creates one stored blob wrapper. +func NewStoredBlob(id objectid.ObjectID, blob *object.Blob) *StoredBlob { + return &StoredBlob{id: id, blob: blob} +} + +// ID returns the object ID this blob was loaded from. +func (stored *StoredBlob) ID() objectid.ObjectID { + return stored.id +} + +// Object returns the parsed blob as the generic object interface. +func (stored *StoredBlob) Object() object.Object { + return stored.blob +} + +// Blob returns the parsed blob value. +func (stored *StoredBlob) Blob() *object.Blob { + return stored.blob +} |
