97c9962053
Signed-off-by: Michael Mayer <michael@photoprism.app>
38 lines
713 B
Go
38 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
|
|
}
|