ParseScalar coerces a string into a typed value: bool > int > float > string.
(raw string)
| 151 | |
| 152 | // ParseScalar coerces a string into a typed value: bool > int > float > string. |
| 153 | func ParseScalar(raw string) any { |
| 154 | if raw == "true" { |
| 155 | return true |
| 156 | } |
| 157 | if raw == "false" { |
| 158 | return false |
| 159 | } |
| 160 | if intRE.MatchString(raw) { |
| 161 | if v, err := strconv.Atoi(raw); err == nil { |
| 162 | return v |
| 163 | } |
| 164 | } |
| 165 | if floatRE.MatchString(raw) { |
| 166 | if v, err := strconv.ParseFloat(raw, 64); err == nil { |
| 167 | return v |
| 168 | } |
| 169 | } |
| 170 | return raw |
| 171 | } |
no outgoing calls