photoprism/pkg/media/type.go
Michael Mayer 97c9962053 Index: Add experimental EPS and SVG vector graphics support #1177 #2207
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-11 20:18:04 +01:00

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
}