bc949f259f
This change modifies the error messages related to Selectors by delegating formatting to the Selector's String method. Change-Id: I88acb70751509e588139ea26a8388661b3f63511 Relates-To: #145
45 lines
1.1 KiB
Go
45 lines
1.1 KiB
Go
package document
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// ErrDocNotFound returned if desired document not found
|
|
type ErrDocNotFound struct {
|
|
Selector Selector
|
|
}
|
|
|
|
// ErrDocumentDataKeyNotFound returned if desired key within a document not found
|
|
type ErrDocumentDataKeyNotFound struct {
|
|
DocName string
|
|
Key string
|
|
}
|
|
|
|
// ErrDocumentMalformed returned if the document is structurally malformed
|
|
// (e.g. missing required low level keys)
|
|
type ErrDocumentMalformed struct {
|
|
DocName string
|
|
Message string
|
|
}
|
|
|
|
// ErrMultipleDocsFound returned if desired document not found
|
|
type ErrMultipleDocsFound struct {
|
|
Selector Selector
|
|
}
|
|
|
|
func (e ErrDocNotFound) Error() string {
|
|
return fmt.Sprintf("Document filtered by selector %v found no documents", e.Selector)
|
|
}
|
|
|
|
func (e ErrDocumentDataKeyNotFound) Error() string {
|
|
return fmt.Sprintf("Document %q cannot retrieve data key %q", e.DocName, e.Key)
|
|
}
|
|
|
|
func (e ErrDocumentMalformed) Error() string {
|
|
return fmt.Sprintf("Document %q is malformed: %q", e.DocName, e.Message)
|
|
}
|
|
|
|
func (e ErrMultipleDocsFound) Error() string {
|
|
return fmt.Sprintf("Document filtered by selector %v found more than one document", e.Selector)
|
|
}
|