forked from mirrors/gotosocial
98263a7de6
* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
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
|
|
}
|