aboutsummaryrefslogtreecommitdiff
path: root/packfile/object_type.go
diff options
context:
space:
mode:
Diffstat (limited to 'packfile/object_type.go')
-rw-r--r--packfile/object_type.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/packfile/object_type.go b/packfile/object_type.go
new file mode 100644
index 00000000..559222ba
--- /dev/null
+++ b/packfile/object_type.go
@@ -0,0 +1,16 @@
+package packfile
+
+import "codeberg.org/lindenii/furgit/objecttype"
+
+// IsBaseObjectType reports whether ty is one of the four canonical object
+// types encoded directly in pack entries.
+func IsBaseObjectType(ty objecttype.Type) bool {
+ switch ty {
+ case objecttype.TypeCommit, objecttype.TypeTree, objecttype.TypeBlob, objecttype.TypeTag:
+ return true
+ case objecttype.TypeInvalid, objecttype.TypeFuture, objecttype.TypeOfsDelta, objecttype.TypeRefDelta:
+ return false
+ default:
+ return false
+ }
+}