/
githubmirror
/
origin
Обзор
Документация
Войти
/
githubmirror
/
origin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
vendor/github.com/lestrrat-go/jsref/provider/map.go
47 строк
750 B
Lukasz Szaszkiewicz
bump(*)
28 окт 2019, 15:15
28 окт 2019, 15:15
08e192b
Код
Авторство
О чём код?
package provider import ( "net/url" "github.com/lestrrat-go/pdebug" "github.com/pkg/errors" ) func NewMap() *Map { return &Map{ mapping: make(map[string]interface{}), } } func (mp *Map) Set(key string, v interface{}) error { mp.lock.Lock() defer mp.lock.Unlock() mp.mapping[key] = v return nil } func (mp *Map) Get(key *url.URL) (res interface{}, err error) { if pdebug.Enabled { g := pdebug.Marker("Map.Get(%s)", key).BindError(&err) defer g.End() } mp.lock.Lock() defer mp.lock.Unlock() v, ok := mp.mapping[key.String()] if !ok { return nil, errors.New("not found") } return v, nil } func (mp *Map) Reset() error { mp.lock.Lock() defer mp.lock.Unlock() mp.mapping = make(map[string]interface{}) return nil }