in azkustodata/kql/string_utils.go [28:86]
func QuoteString(value string, hidden bool) string {
if value == "" {
return value
}
var literal strings.Builder
if hidden {
literal.WriteString("h")
}
literal.WriteString("\"")
for _, c := range value {
switch c {
case '\'':
literal.WriteString("\\'")
case '"':
literal.WriteString("\\\"")
case '\\':
literal.WriteString("\\\\")
case '\x00':
literal.WriteString("\\0")
case '\a':
literal.WriteString("\\a")
case '\b':
literal.WriteString("\\b")
case '\f':
literal.WriteString("\\f")
case '\n':
literal.WriteString("\\n")
case '\r':
literal.WriteString("\\r")
case '\t':
literal.WriteString("\\t")
case '\v':
literal.WriteString("\\v")
default:
if !ShouldBeEscaped(c) {
literal.WriteString(string(c))
} else {
literal.WriteString(fmt.Sprintf("\\u%04x", c))
}
}
}
literal.WriteString("\"")
return literal.String()
}