photoprism/pkg/media/type.go

39 lines
713 B
Go

package media
import (
"strings"
)
// Type represents a general media content type.
type Type string
// String returns the type as string.
func (t Type) String() string {
return string(t)
}
// Equal checks if the type matches.
func (t Type) Equal(s string) bool {
return strings.EqualFold(s, t.String())
}
// NotEqual checks if the type is different.
func (t Type) NotEqual(s string) bool {
return !t.Equal(s)
}
// Main checks if this is a known main media content format.
func (t Type) Main() bool {
switch t {
case Image, Raw, Animated, Live, Video, Vector:
return true
default:
return false
}
}
// Unknown checks if the type is unknown.
func (t Type) Unknown() bool {
return t == Unknown
}