summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-kv/format/util.go
diff options
context:
space:
mode:
authorLibravatar Terin Stock <terinjokes@gmail.com>2025-03-09 17:47:56 +0100
committerLibravatar Terin Stock <terinjokes@gmail.com>2025-03-10 01:59:49 +0100
commit3ac1ee16f377d31a0fb80c8dae28b6239ac4229e (patch)
treef61faa581feaaeaba2542b9f2b8234a590684413 /vendor/codeberg.org/gruf/go-kv/format/util.go
parent[chore] update URLs to forked source (diff)
downloadgotosocial-3ac1ee16f377d31a0fb80c8dae28b6239ac4229e.tar.xz
[chore] remove vendor
Diffstat (limited to 'vendor/codeberg.org/gruf/go-kv/format/util.go')
-rw-r--r--vendor/codeberg.org/gruf/go-kv/format/util.go100
1 files changed, 0 insertions, 100 deletions
diff --git a/vendor/codeberg.org/gruf/go-kv/format/util.go b/vendor/codeberg.org/gruf/go-kv/format/util.go
deleted file mode 100644
index dbb918952..000000000
--- a/vendor/codeberg.org/gruf/go-kv/format/util.go
+++ /dev/null
@@ -1,100 +0,0 @@
-package format
-
-import (
- "strings"
- "unsafe"
-)
-
-const (
- // SingleTermLine: beyond a certain length of string, all of the
- // extra checks to handle quoting/not-quoting add a significant
- // amount of extra processing time. Quoting in this manner only really
- // effects readability on a single line, so a max string length that
- // encompasses the maximum number of columns on *most* terminals was
- // selected. This was chosen using the metric that 1080p is one of the
- // most common display resolutions, and that a relatively small font size
- // of 7 requires 223 columns. So 256 should be >= $COLUMNS (fullscreen)
- // in 99% of usecases (these figures all pulled out of my ass).
- SingleTermLine = 256
-)
-
-// IsSafeASCII checks whether string is printable (i.e. non-control char) ASCII text.
-func IsSafeASCII(str string) bool {
- for _, r := range str {
- if (r < ' ' && r != '\t') ||
- r >= 0x7f {
- return false
- }
- }
- return true
-}
-
-// ContainsSpaceOrTab checks if "s" contains space or tabs. EXPECTS ASCII.
-func ContainsSpaceOrTab(s string) bool {
- if i := strings.IndexByte(s, ' '); i >= 0 {
- return true // note using indexbyte as it is ASM.
- } else if i := strings.IndexByte(s, '\t'); i >= 0 {
- return true
- }
- return false
-}
-
-// ContainsDoubleQuote checks if "s" contains a double quote. EXPECTS ASCII.
-func ContainsDoubleQuote(s string) bool {
- return (strings.IndexByte(s, '"') >= 0)
-}
-
-// AppendEscape will append 's' to 'dst' and escape any double quotes. EXPECTS ASCII.
-func AppendEscape(dst []byte, str string) []byte {
- for i := range str {
- switch str[i] {
- case '\\':
- // Append delimited '\'
- dst = append(dst, '\\', '\\')
-
- case '"':
- // Append delimited '"'
- dst = append(dst, '\\', '"')
- default:
- // Append char as-is
- dst = append(dst, str[i])
- }
- }
- return dst
-}
-
-// Byte2Str returns 'c' as a string, escaping if necessary.
-func Byte2Str(c byte) string {
- switch c {
- case '\a':
- return `\a`
- case '\b':
- return `\b`
- case '\f':
- return `\f`
- case '\n':
- return `\n`
- case '\r':
- return `\r`
- case '\t':
- return `\t`
- case '\v':
- return `\v`
- case '\\':
- return `\\`
- default:
- if c < ' ' {
- const hex = "0123456789abcdef"
- return `\x` +
- string(hex[c>>4]) +
- string(hex[c&0xF])
- }
- return string(c)
- }
-}
-
-// isNil will safely check if 'v' is nil without dealing with weird Go interface nil bullshit.
-func isNil(i interface{}) bool {
- type eface struct{ _type, data unsafe.Pointer } //nolint
- return (*(*eface)(unsafe.Pointer(&i))).data == nil //nolint
-}