From 3c7add2cf4154c54c42d348bc462e29198e69338 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Thu, 19 Mar 2026 16:19:24 +0000 Subject: object/resolve: Object resolver --- object/type.go | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 object/type.go (limited to 'object/type.go') diff --git a/object/type.go b/object/type.go new file mode 100644 index 00000000..70cc46bc --- /dev/null +++ b/object/type.go @@ -0,0 +1,20 @@ +package object + +import "codeberg.org/lindenii/furgit/objecttype" + +// TypeFor returns the Git object type for T when T is one of the standard +// parsed object types. +func TypeFor[T Object]() (objecttype.Type, bool) { + switch any(*new(T)).(type) { + case *Blob: + return objecttype.TypeBlob, true + case *Tree: + return objecttype.TypeTree, true + case *Commit: + return objecttype.TypeCommit, true + case *Tag: + return objecttype.TypeTag, true + default: + return 0, false + } +} -- cgit v1.3.1-10-gc9f91