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)
|
|
}
|