goveal/rendering/emoji/emoji.go

33 lines
519 B
Go
Raw Permalink Normal View History

2022-03-15 14:44:53 +00:00
package emoji
import (
_ "embed"
"encoding/json"
)
func isValidEmoji(input []byte) bool {
_, exists := emojiMap[string(input)]
return exists
}
var (
//go:embed emoji.json
emojiMapRaw []byte
emojiMap map[string]string
)
func init() {
rawMap := make(map[string][]string)
if err := json.Unmarshal(emojiMapRaw, &rawMap); err != nil {
panic(err)
}
emojiMap = make(map[string]string, len(rawMap))
for emoji, keywords := range rawMap {
for i := range keywords {
emojiMap[keywords[i]] = emoji
}
}
}