// Code generated by gitoa.ru/go-4devs/mime and sourse {{.Source}} package {{.MimePackage}} import ( "encoding" "fmt" "strings" ) var ( _ encoding.TextUnmarshaler = (*Mime)(nil) _ encoding.TextMarshaler = (*Mime)(nil) ) type Mime int type MimeTypes []Mime func (v Mime) Is(types ...Mime) bool { for _, mime := range types { if mime == v { return true } } return false } func (v Mime) MarshalText() ([]byte, error) { return []byte(v.String()), nil } func (s *Mime) UnmarshalText(text []byte) error { mime := MimeFromString(strings.ToLower(string(text))) *s = mime return nil } func (v Mime) String() string { switch v { case {{ name .MimePrefix "unrecognized" }}: return "unrecognized" {{- range $value := .Mimes }} case {{ name $.MimePrefix $value.Name }}: return "{{- $value.Name -}}" {{- end}} } return fmt.Sprintf("Mime(%d)",v) } func (v Mime) ExtTypes() ExtTypes{ switch v { {{- range $value := .Mimes }} case {{ name $.MimePrefix $value.Name }}: return []Ext{ {{- value $.ExtPrefix $value.Value -}} } {{- end}} } return nil } const ( {{ name .MimePrefix "unrecognized" }} Mime = 0 {{- range $value := .Mimes }} {{ name $.MimePrefix $value.Name }} Mime = {{ $value.ID }} {{- end}} ) func MimeFromString(name string) Mime { switch name { {{- range $value := .Mimes }} case "{{- $value.Name -}}": return {{ name $.MimePrefix $value.Name }} {{- end}} } return {{ name .MimePrefix "unrecognized" }} }