aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/vektah/gqlparser/lexer/blockstring.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2020-02-05 22:03:19 +0100
committerMichael Muré <batolettre@gmail.com>2020-02-05 22:33:03 +0100
commit1d4bb7ceb0cef79d68df0bacc913b01e40e6ddd6 (patch)
treee088b0fa43058afde1db71541d8fcb4b94905d6e /vendor/github.com/vektah/gqlparser/lexer/blockstring.go
parentf093be96e98284580d61664adecd0a2ff8b354e4 (diff)
downloadgit-bug-1d4bb7ceb0cef79d68df0bacc913b01e40e6ddd6.tar.gz
migrate to go modules
Diffstat (limited to 'vendor/github.com/vektah/gqlparser/lexer/blockstring.go')
-rw-r--r--vendor/github.com/vektah/gqlparser/lexer/blockstring.go58
1 files changed, 0 insertions, 58 deletions
diff --git a/vendor/github.com/vektah/gqlparser/lexer/blockstring.go b/vendor/github.com/vektah/gqlparser/lexer/blockstring.go
deleted file mode 100644
index 4065a610..00000000
--- a/vendor/github.com/vektah/gqlparser/lexer/blockstring.go
+++ /dev/null
@@ -1,58 +0,0 @@
-package lexer
-
-import (
- "math"
- "strings"
-)
-
-// blockStringValue produces the value of a block string from its parsed raw value, similar to
-// Coffeescript's block string, Python's docstring trim or Ruby's strip_heredoc.
-//
-// This implements the GraphQL spec's BlockStringValue() static algorithm.
-func blockStringValue(raw string) string {
- lines := strings.Split(raw, "\n")
-
- commonIndent := math.MaxInt32
- for _, line := range lines {
- indent := leadingWhitespace(line)
- if indent < len(line) && indent < commonIndent {
- commonIndent = indent
- if commonIndent == 0 {
- break
- }
- }
- }
-
- if commonIndent != math.MaxInt32 && len(lines) > 0 {
- for i := 1; i < len(lines); i++ {
- if len(lines[i]) < commonIndent {
- lines[i] = ""
- } else {
- lines[i] = lines[i][commonIndent:]
- }
- }
- }
-
- start := 0
- end := len(lines)
-
- for start < end && leadingWhitespace(lines[start]) == math.MaxInt32 {
- start++
- }
-
- for start < end && leadingWhitespace(lines[end-1]) == math.MaxInt32 {
- end--
- }
-
- return strings.Join(lines[start:end], "\n")
-}
-
-func leadingWhitespace(str string) int {
- for i, r := range str {
- if r != ' ' && r != '\t' {
- return i
- }
- }
- // this line is made up entirely of whitespace, its leading whitespace doesnt count.
- return math.MaxInt32
-}