failure.go 809 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package pub
  2. import (
  3. "servitor/mime"
  4. "servitor/style"
  5. "time"
  6. )
  7. type Failure struct {
  8. message error
  9. }
  10. func NewFailure(err error) *Failure {
  11. if err == nil {
  12. panic("can't create Failure with a nil error")
  13. }
  14. return &Failure{err}
  15. }
  16. func (f *Failure) Kind() string { return "failure" }
  17. func (f *Failure) Name() string {
  18. return style.Problem(f.message)
  19. }
  20. func (f *Failure) Preview(width int) string {
  21. return f.Name()
  22. }
  23. func (f *Failure) String(width int) string {
  24. return f.Preview(width)
  25. }
  26. func (f *Failure) Parents(uint) ([]Tangible, Tangible) {
  27. return []Tangible{}, nil
  28. }
  29. func (f *Failure) Children() Container {
  30. return nil
  31. }
  32. func (f *Failure) Timestamp() time.Time {
  33. return time.Time{}
  34. }
  35. func (f *Failure) SelectLink(input int) (string, *mime.MediaType, bool) {
  36. return "", nil, false
  37. }