themes-y2k/helpers.go
Alex Dunmow 30deb5b4c3 chore: bump core to v0.13.1; drop unused getBool helper
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 22:31:05 +08:00

49 lines
1.1 KiB
Go

package main
// getString safely extracts a string value from a content map.
func getString(content map[string]any, key string) string {
if v, ok := content[key].(string); ok {
return v
}
return ""
}
// getStringOr returns the string value for key or the default when missing/empty.
func getStringOr(content map[string]any, key, dflt string) string {
if v := getString(content, key); v != "" {
return v
}
return dflt
}
// getStringSlice extracts a []string from a JSON array of strings.
func getStringSlice(content map[string]any, key string) []string {
raw, ok := content[key].([]any)
if !ok {
return nil
}
out := make([]string, 0, len(raw))
for _, item := range raw {
if s, ok := item.(string); ok {
out = append(out, s)
}
}
return out
}
// getSlice extracts a []map[string]any from a JSON array of objects.
func getSlice(content map[string]any, key string) []map[string]any {
raw, ok := content[key].([]any)
if !ok {
return nil
}
out := make([]map[string]any, 0, len(raw))
for _, item := range raw {
if m, ok := item.(map[string]any); ok {
out = append(out, m)
}
}
return out
}