aboutsummaryrefslogtreecommitdiff
path: root/objectstored/tree.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-06 02:07:35 +0800
committerGravatar Runxi Yu2026-03-06 02:07:35 +0800
commit0d4aadc72ddf286ace361c31840410d86b1eff15 (patch)
treedb080eeea7102fd79dc0957949a72a31af609dd9 /objectstored/tree.go
parentrepository: Refactor (diff)
signatureNo signature
objectstored: Split
Diffstat (limited to 'objectstored/tree.go')
-rw-r--r--objectstored/tree.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/objectstored/tree.go b/objectstored/tree.go
new file mode 100644
index 00000000..3c6e53de
--- /dev/null
+++ b/objectstored/tree.go
@@ -0,0 +1,32 @@
+package objectstored
+
+import (
+ "codeberg.org/lindenii/furgit/object"
+ "codeberg.org/lindenii/furgit/objectid"
+)
+
+// StoredTree is a parsed tree paired with its storage ID.
+type StoredTree struct {
+ id objectid.ObjectID
+ tree *object.Tree
+}
+
+// NewStoredTree creates one stored tree wrapper.
+func NewStoredTree(id objectid.ObjectID, tree *object.Tree) *StoredTree {
+ return &StoredTree{id: id, tree: tree}
+}
+
+// ID returns the object ID this tree was loaded from.
+func (stored *StoredTree) ID() objectid.ObjectID {
+ return stored.id
+}
+
+// Object returns the parsed tree as the generic object interface.
+func (stored *StoredTree) Object() object.Object {
+ return stored.tree
+}
+
+// Tree returns the parsed tree value.
+func (stored *StoredTree) Tree() *object.Tree {
+ return stored.tree
+}