summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/internal/parser/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/internal/parser/parser.go')
-rw-r--r--vendor/github.com/uptrace/bun/internal/parser/parser.go169
1 files changed, 0 insertions, 169 deletions
diff --git a/vendor/github.com/uptrace/bun/internal/parser/parser.go b/vendor/github.com/uptrace/bun/internal/parser/parser.go
deleted file mode 100644
index 1f2704478..000000000
--- a/vendor/github.com/uptrace/bun/internal/parser/parser.go
+++ /dev/null
@@ -1,169 +0,0 @@
-package parser
-
-import (
- "bytes"
- "fmt"
- "io"
- "strconv"
-
- "github.com/uptrace/bun/internal"
-)
-
-type Parser struct {
- b []byte
- i int
-}
-
-func New(b []byte) *Parser {
- return &Parser{
- b: b,
- }
-}
-
-func NewString(s string) *Parser {
- return New(internal.Bytes(s))
-}
-
-func (p *Parser) Reset(b []byte) {
- p.b = b
- p.i = 0
-}
-
-func (p *Parser) Valid() bool {
- return p.i < len(p.b)
-}
-
-func (p *Parser) Remaining() []byte {
- return p.b[p.i:]
-}
-
-func (p *Parser) ReadByte() (byte, error) {
- if p.Valid() {
- ch := p.b[p.i]
- p.Advance()
- return ch, nil
- }
- return 0, io.ErrUnexpectedEOF
-}
-
-func (p *Parser) Read() byte {
- if p.Valid() {
- ch := p.b[p.i]
- p.Advance()
- return ch
- }
- return 0
-}
-
-func (p *Parser) Unread() {
- if p.i > 0 {
- p.i--
- }
-}
-
-func (p *Parser) Peek() byte {
- if p.Valid() {
- return p.b[p.i]
- }
- return 0
-}
-
-func (p *Parser) Advance() {
- p.i++
-}
-
-func (p *Parser) Skip(skip byte) error {
- ch := p.Peek()
- if ch == skip {
- p.Advance()
- return nil
- }
- return fmt.Errorf("got %q, wanted %q", ch, skip)
-}
-
-func (p *Parser) SkipPrefix(skip []byte) error {
- if !bytes.HasPrefix(p.b[p.i:], skip) {
- return fmt.Errorf("got %q, wanted prefix %q", p.b, skip)
- }
- p.i += len(skip)
- return nil
-}
-
-func (p *Parser) CutPrefix(skip []byte) bool {
- if !bytes.HasPrefix(p.b[p.i:], skip) {
- return false
- }
- p.i += len(skip)
- return true
-}
-
-func (p *Parser) ReadSep(sep byte) ([]byte, bool) {
- ind := bytes.IndexByte(p.b[p.i:], sep)
- if ind == -1 {
- b := p.b[p.i:]
- p.i = len(p.b)
- return b, false
- }
-
- b := p.b[p.i : p.i+ind]
- p.i += ind + 1
- return b, true
-}
-
-func (p *Parser) ReadIdentifier() (string, bool) {
- if p.i < len(p.b) && p.b[p.i] == '(' {
- s := p.i + 1
- if ind := bytes.IndexByte(p.b[s:], ')'); ind != -1 {
- b := p.b[s : s+ind]
- p.i = s + ind + 1
- return internal.String(b), false
- }
- }
-
- ind := len(p.b) - p.i
- var alpha bool
- for i, c := range p.b[p.i:] {
- if isNum(c) {
- continue
- }
- if isAlpha(c) || (i > 0 && alpha && c == '_') {
- alpha = true
- continue
- }
- ind = i
- break
- }
- if ind == 0 {
- return "", false
- }
- b := p.b[p.i : p.i+ind]
- p.i += ind
- return internal.String(b), !alpha
-}
-
-func (p *Parser) ReadNumber() int {
- ind := len(p.b) - p.i
- for i, c := range p.b[p.i:] {
- if !isNum(c) {
- ind = i
- break
- }
- }
- if ind == 0 {
- return 0
- }
- n, err := strconv.Atoi(string(p.b[p.i : p.i+ind]))
- if err != nil {
- panic(err)
- }
- p.i += ind
- return n
-}
-
-func isNum(c byte) bool {
- return c >= '0' && c <= '9'
-}
-
-func isAlpha(c byte) bool {
- return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
-}