27 lines
419 B
Go
27 lines
419 B
Go
package utils
|
|
|
|
import (
|
|
"html/template"
|
|
"maps"
|
|
)
|
|
|
|
type Strings map[string]string
|
|
|
|
func (s Strings) set(v map[string]string) Strings {
|
|
maps.Copy(s, v)
|
|
return s
|
|
}
|
|
|
|
func (s Strings) Get(value string) template.HTML {
|
|
v, ok := (s)[value]
|
|
if !ok {
|
|
// fallback
|
|
return template.HTML("string:" + value)
|
|
}
|
|
return template.HTML(v)
|
|
}
|
|
|
|
func NewStrings[T ~map[string]string](v T) Strings {
|
|
return make(Strings).set(v)
|
|
}
|