From a0e81c108205e5f0e06ed38033609524078c6c00 Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Sat, 11 Oct 2025 17:28:15 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20Only=20compile=20regexes?= =?UTF-8?q?=20once?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/parse.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/parse.go b/tools/parse.go index fdeefd3..618737e 100644 --- a/tools/parse.go +++ b/tools/parse.go @@ -11,6 +11,10 @@ func ParseBytes(in []byte) any { 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 { s := strings.TrimSpace(in) if s == "" { @@ -21,9 +25,6 @@ func ParseString(in string) any { 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 if null.MatchString(s) { return nil