ref: 8f577284f47f699855dcb3ceda21aa9d8be77c2f
dir: /object/type.go/
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
}
}