summaryrefslogtreecommitdiff
path: root/vendor/github.com/pelletier/go-toml/keysparsing.go
diff options
context:
space:
mode:
authorLibravatar dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>2023-01-23 10:24:00 +0100
committerLibravatar GitHub <noreply@github.com>2023-01-23 10:24:00 +0100
commit98a09b563318b751bb01d7cbc3af5cfc4601c9bd (patch)
tree63ed55523830a4c0a99d597b487cff22e0d20eff /vendor/github.com/pelletier/go-toml/keysparsing.go
parent[chore]: Bump github.com/abema/go-mp4 from 0.9.0 to 0.10.0 (#1374) (diff)
downloadgotosocial-98a09b563318b751bb01d7cbc3af5cfc4601c9bd.tar.xz
[chore]: Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#1375)
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.14.0...v1.15.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to 'vendor/github.com/pelletier/go-toml/keysparsing.go')
-rw-r--r--vendor/github.com/pelletier/go-toml/keysparsing.go112
1 files changed, 0 insertions, 112 deletions
diff --git a/vendor/github.com/pelletier/go-toml/keysparsing.go b/vendor/github.com/pelletier/go-toml/keysparsing.go
deleted file mode 100644
index e091500b2..000000000
--- a/vendor/github.com/pelletier/go-toml/keysparsing.go
+++ /dev/null
@@ -1,112 +0,0 @@
-// Parsing keys handling both bare and quoted keys.
-
-package toml
-
-import (
- "errors"
- "fmt"
-)
-
-// Convert the bare key group string to an array.
-// The input supports double quotation and single quotation,
-// but escape sequences are not supported. Lexers must unescape them beforehand.
-func parseKey(key string) ([]string, error) {
- runes := []rune(key)
- var groups []string
-
- if len(key) == 0 {
- return nil, errors.New("empty key")
- }
-
- idx := 0
- for idx < len(runes) {
- for ; idx < len(runes) && isSpace(runes[idx]); idx++ {
- // skip leading whitespace
- }
- if idx >= len(runes) {
- break
- }
- r := runes[idx]
- if isValidBareChar(r) {
- // parse bare key
- startIdx := idx
- endIdx := -1
- idx++
- for idx < len(runes) {
- r = runes[idx]
- if isValidBareChar(r) {
- idx++
- } else if r == '.' {
- endIdx = idx
- break
- } else if isSpace(r) {
- endIdx = idx
- for ; idx < len(runes) && isSpace(runes[idx]); idx++ {
- // skip trailing whitespace
- }
- if idx < len(runes) && runes[idx] != '.' {
- return nil, fmt.Errorf("invalid key character after whitespace: %c", runes[idx])
- }
- break
- } else {
- return nil, fmt.Errorf("invalid bare key character: %c", r)
- }
- }
- if endIdx == -1 {
- endIdx = idx
- }
- groups = append(groups, string(runes[startIdx:endIdx]))
- } else if r == '\'' {
- // parse single quoted key
- idx++
- startIdx := idx
- for {
- if idx >= len(runes) {
- return nil, fmt.Errorf("unclosed single-quoted key")
- }
- r = runes[idx]
- if r == '\'' {
- groups = append(groups, string(runes[startIdx:idx]))
- idx++
- break
- }
- idx++
- }
- } else if r == '"' {
- // parse double quoted key
- idx++
- startIdx := idx
- for {
- if idx >= len(runes) {
- return nil, fmt.Errorf("unclosed double-quoted key")
- }
- r = runes[idx]
- if r == '"' {
- groups = append(groups, string(runes[startIdx:idx]))
- idx++
- break
- }
- idx++
- }
- } else if r == '.' {
- idx++
- if idx >= len(runes) {
- return nil, fmt.Errorf("unexpected end of key")
- }
- r = runes[idx]
- if !isValidBareChar(r) && r != '\'' && r != '"' && r != ' ' {
- return nil, fmt.Errorf("expecting key part after dot")
- }
- } else {
- return nil, fmt.Errorf("invalid key character: %c", r)
- }
- }
- if len(groups) == 0 {
- return nil, fmt.Errorf("empty key")
- }
- return groups, nil
-}
-
-func isValidBareChar(r rune) bool {
- return isAlphanumeric(r) || r == '-' || isDigit(r)
-}