emoji-pack.go 830 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "encoding/json"
  4. )
  5. type EmojiPack struct {
  6. Files map[string]string `json:"files"`
  7. Metadata EmojiPackMetadata `json:"pack"`
  8. }
  9. type EmojiPackMetadata struct {
  10. License string `json:"license,omitempty"`
  11. Homepage string `json:"homepage,omitempty"`
  12. Description string `json:"description,omitempty"`
  13. Fallback string `json:"fallback-src,omitempty"`
  14. FallbackChecksum string `json:"fallback-src-sha256,omitempty"`
  15. AllowSharing bool `json:"share-files,omitempty"`
  16. }
  17. func NewEmojiPack() EmojiPack {
  18. e := EmojiPack{}
  19. e.Files = map[string]string{}
  20. e.Metadata = EmojiPackMetadata{}
  21. return e
  22. }
  23. func (p *EmojiPack) SetFiles(es Emojis) {
  24. for _, e := range es {
  25. p.Files[e.Shortcode] = e.Url
  26. }
  27. }
  28. func (p *EmojiPack) Json() ([]byte, error) {
  29. return json.Marshal(p)
  30. }