30 lines
684 B
Go
30 lines
684 B
Go
|
package tq
|
||
|
|
||
|
import "fmt"
|
||
|
|
||
|
type MalformedObjectError struct {
|
||
|
Name string
|
||
|
Oid string
|
||
|
|
||
|
missing bool
|
||
|
}
|
||
|
|
||
|
func newObjectMissingError(name, oid string) error {
|
||
|
return &MalformedObjectError{Name: name, Oid: oid, missing: true}
|
||
|
}
|
||
|
|
||
|
func newCorruptObjectError(name, oid string) error {
|
||
|
return &MalformedObjectError{Name: name, Oid: oid, missing: false}
|
||
|
}
|
||
|
|
||
|
func (e MalformedObjectError) Missing() bool { return e.missing }
|
||
|
|
||
|
func (e MalformedObjectError) Corrupt() bool { return !e.Missing() }
|
||
|
|
||
|
func (e MalformedObjectError) Error() string {
|
||
|
if e.Corrupt() {
|
||
|
return fmt.Sprintf("corrupt object: %s (%s)", e.Name, e.Oid)
|
||
|
}
|
||
|
return fmt.Sprintf("missing object: %s (%s)", e.Name, e.Oid)
|
||
|
}
|