Files
domain-router/util/constmap.go

18 lines
392 B
Go

package util
// ImmutableMap for disallowing change of elements during runtime, for threadsafty
type ImmutableMap[K comparable, V any] struct {
dirty map[K]V
}
func NewImmutableMap[K comparable, V any](m map[K]V) *ImmutableMap[K, V] {
return &ImmutableMap[K, V]{
dirty: m,
}
}
func (m *ImmutableMap[K, V]) Get(key K) (value V, ok bool) {
value, ok = m.dirty[key]
return value, ok
}