aboutsummaryrefslogtreecommitdiff
path: root/object/type/name.go
diff options
context:
space:
mode:
Diffstat (limited to 'object/type/name.go')
-rw-r--r--object/type/name.go39
1 files changed, 4 insertions, 35 deletions
diff --git a/object/type/name.go b/object/type/name.go
index d5636be9..c95fe90b 100644
--- a/object/type/name.go
+++ b/object/type/name.go
@@ -1,42 +1,11 @@
package objecttype
-const (
- typeNameBlob = "blob"
- typeNameTree = "tree"
- typeNameCommit = "commit"
- typeNameTag = "tag"
-)
-
-// Parse parses a canonical Git object type name.
-func Parse(name string) (Type, bool) {
- switch name {
- case typeNameBlob:
- return TypeBlob, true
- case typeNameTree:
- return TypeTree, true
- case typeNameCommit:
- return TypeCommit, true
- case typeNameTag:
- return TypeTag, true
- default:
- return TypeInvalid, false
- }
-}
-
// Name returns the canonical Git object type name.
func (ty Type) Name() (string, bool) {
- switch ty {
- case TypeBlob:
- return typeNameBlob, true
- case TypeTree:
- return typeNameTree, true
- case TypeCommit:
- return typeNameCommit, true
- case TypeTag:
- return typeNameTag, true
- case TypeInvalid, TypeFuture, TypeOfsDelta, TypeRefDelta:
- return "", false
- default:
+ details := ty.details()
+ if details.name == "" {
return "", false
}
+
+ return details.name, true
}