️ Only compile regexes once

This commit is contained in:
Dan Jones 2025-10-11 17:28:15 -05:00
commit a0e81c1082

View file

@ -11,6 +11,10 @@ func ParseBytes(in []byte) any {
return ParseString(string(in)) return ParseString(string(in))
} }
var yesno = regexp.MustCompile("^(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)$")
var yes = regexp.MustCompile("^(y|Y|yes|Yes|YES|true|True|TRUE|on|On|ON)$")
var null = regexp.MustCompile("^(~|null|Null|NULL|none|None|NONE|nil|Nil|NIL)$")
func ParseString(in string) any { func ParseString(in string) any {
s := strings.TrimSpace(in) s := strings.TrimSpace(in)
if s == "" { if s == "" {
@ -21,9 +25,6 @@ func ParseString(in string) any {
return s return s
} }
yesno := regexp.MustCompile("^(y|Y|yes|Yes|YES|n|N|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)$")
yes := regexp.MustCompile("^(y|Y|yes|Yes|YES|true|True|TRUE|on|On|ON)$")
null := regexp.MustCompile("^(~|null|Null|NULL|none|None|NONE|nil|Nil|NIL)$")
var j json.RawMessage var j json.RawMessage
if null.MatchString(s) { if null.MatchString(s) {
return nil return nil