package text_component_validators import ( "blocky/internal/block/text_component" "fmt" "regexp" ) func Regex(pattern string) text_component.TextComponentOption { re := regexp.MustCompile(pattern) return func(c *text_component.TextComponentConfig) { c.Validators = append(c.Validators, func(value any) error { s, ok := value.(string) if !ok { return fmt.Errorf("provided value bust be a string: %v", value) } if !re.MatchString(s) { return fmt.Errorf("must match pattern %s", pattern) } return nil }) } }