Ctrl K
ComunidadGuías…

store/space_icon.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package store

import (
	"github.com/pkg/errors"

	storepb "github.com/usememos/memos/proto/gen/store"
)

// ValidateSpaceIcon validates display metadata without depending on a client's
// installed Lucide catalog. A nil icon requests the default Space mark.
func ValidateSpaceIcon(icon *storepb.SpacePayload_Icon) error {
	if icon == nil {
		return nil
	}
	switch value := icon.Value.(type) {
	case *storepb.SpacePayload_Icon_Emoji:
		return validateEmojiIcon(value.Emoji)
	case *storepb.SpacePayload_Icon_Lucide:
		return validateLucideIcon(value.Lucide)
	default:
		return errors.New("space icon must specify emoji or lucide")
	}
}