aboutsummaryrefslogtreecommitdiff
path: root/objects/id.go
diff options
context:
space:
mode:
Diffstat (limited to 'objects/id.go')
-rw-r--r--objects/id.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/objects/id.go b/objects/id.go
index 224b3cd..047fada 100644
--- a/objects/id.go
+++ b/objects/id.go
@@ -39,7 +39,7 @@ type ObjectId struct {
Sum []byte
}
-func (oid ObjectId) wellformed() bool {
+func (oid ObjectId) Wellformed() bool {
return oid.Algo.checkAlgo() && len(oid.Sum) == oid.Algo.sumLength()
}
@@ -61,13 +61,19 @@ func ParseObjectId(s string) (oid ObjectId, err error) {
return
}
- if !oid.wellformed() {
+ if !oid.Wellformed() {
err = errors.New("Object ID is malformed")
}
return
}
+// Set implements flag.Value for ObjectId
+func (oid *ObjectId) Set(s string) (err error) {
+ *oid, err = ParseObjectId(s)
+ return
+}
+
func MustParseObjectId(s string) ObjectId {
id, err := ParseObjectId(s)
if err != nil {