mirror of
https://github.com/h2non/filetype.git
synced 2025-12-24 11:52:08 +08:00
24 lines
389 B
Go
24 lines
389 B
Go
package types
|
|
|
|
import "sync"
|
|
|
|
// Types Support concurrent map writes
|
|
var Types sync.Map
|
|
|
|
// Add registers a new type in the package
|
|
func Add(t Type) Type {
|
|
Types.Store(t.Extension, t)
|
|
return t
|
|
}
|
|
|
|
// Get retrieves a Type by extension
|
|
func Get(ext string) Type {
|
|
if tmp, ok := Types.Load(ext); ok {
|
|
kind := tmp.(Type)
|
|
if kind.Extension != "" {
|
|
return kind
|
|
}
|
|
}
|
|
return Unknown
|
|
}
|