diff options
| author | 2026-03-19 16:19:24 +0000 | |
|---|---|---|
| committer | 2026-03-19 17:17:18 +0000 | |
| commit | 3c7add2cf4154c54c42d348bc462e29198e69338 (patch) | |
| tree | ab0c7e9359e7e44fe951fa6a09825aa299314172 /object/type.go | |
| parent | *: Update call sites (diff) | |
| signature | No signature | |
object/resolve: Object resolver v0.1.85
Diffstat (limited to 'object/type.go')
| -rw-r--r-- | object/type.go | 20 |
1 files changed, 20 insertions, 0 deletions
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 + } +} |
