cmd/list/main.go (44 lines of code) (raw):

package main import ( "fmt" "mime" "gitlab.com/gitlab-org/go-mimedb" ) func main() { for t, extensions := range mimedb.MimeTypeToExts { registredExtensions, err := mime.ExtensionsByType(t) if err != nil { fmt.Printf("type: %s not found!\n", t) continue } diff := diffExtensions(registredExtensions, extensions) if len(diff) > 0 { fmt.Printf(`%s OS extensions: %v mimedb extensions: %v difference: %v `, t, registredExtensions, extensions, diffExtensions(registredExtensions, extensions)) } } } func diffExtensions(registredExtensions, extensions []string) []string { result := []string{} for _, ext := range extensions { if !contains(registredExtensions, "."+ext) { result = append(result, ext) } } return result } func contains(list []string, value string) bool { for _, v := range list { if v == value { return true } } return false }