Update server dependencies
This commit is contained in:
parent
c704ebb042
commit
1794e2680a
369 changed files with 23554 additions and 6306 deletions
1269
vendor/github.com/tdewolff/parse/v2/html/hash.go
generated
vendored
1269
vendor/github.com/tdewolff/parse/v2/html/hash.go
generated
vendored
File diff suppressed because it is too large
Load diff
46
vendor/github.com/tdewolff/parse/v2/html/lex.go
generated
vendored
46
vendor/github.com/tdewolff/parse/v2/html/lex.go
generated
vendored
|
@ -1,5 +1,5 @@
|
|||
// Package html is an HTML5 lexer following the specifications at http://www.w3.org/TR/html5/syntax.html.
|
||||
package html // import "github.com/tdewolff/parse/html"
|
||||
package html
|
||||
|
||||
import (
|
||||
"io"
|
||||
|
@ -90,6 +90,21 @@ func (l *Lexer) Restore() {
|
|||
l.r.Restore()
|
||||
}
|
||||
|
||||
// Offset returns the current position in the input stream.
|
||||
func (l *Lexer) Offset() int {
|
||||
return l.r.Offset()
|
||||
}
|
||||
|
||||
// Text returns the textual representation of a token. This excludes delimiters and additional leading/trailing characters.
|
||||
func (l *Lexer) Text() []byte {
|
||||
return l.text
|
||||
}
|
||||
|
||||
// AttrVal returns the attribute value when an AttributeToken was returned from Next.
|
||||
func (l *Lexer) AttrVal() []byte {
|
||||
return l.attrVal
|
||||
}
|
||||
|
||||
// Next returns the next Token. It returns ErrorToken when an error was encountered. Using Err() one can retrieve the error message.
|
||||
func (l *Lexer) Next() (TokenType, []byte) {
|
||||
l.text = nil
|
||||
|
@ -108,15 +123,13 @@ func (l *Lexer) Next() (TokenType, []byte) {
|
|||
} else if c != '>' && (c != '/' || l.r.Peek(1) != '>') {
|
||||
return AttributeToken, l.shiftAttribute()
|
||||
}
|
||||
start := l.r.Pos()
|
||||
l.r.Skip()
|
||||
l.inTag = false
|
||||
if c == '/' {
|
||||
l.r.Move(2)
|
||||
l.text = l.r.Lexeme()[start:]
|
||||
return StartTagVoidToken, l.r.Shift()
|
||||
}
|
||||
l.r.Move(1)
|
||||
l.text = l.r.Lexeme()[start:]
|
||||
return StartTagCloseToken, l.r.Shift()
|
||||
}
|
||||
|
||||
|
@ -136,7 +149,8 @@ func (l *Lexer) Next() (TokenType, []byte) {
|
|||
if l.r.Pos() > 0 {
|
||||
if isEndTag || 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || c == '!' || c == '?' {
|
||||
// return currently buffered texttoken so that we can return tag next iteration
|
||||
return TextToken, l.r.Shift()
|
||||
l.text = l.r.Shift()
|
||||
return TextToken, l.text
|
||||
}
|
||||
} else if isEndTag {
|
||||
l.r.Move(2)
|
||||
|
@ -158,7 +172,8 @@ func (l *Lexer) Next() (TokenType, []byte) {
|
|||
}
|
||||
} else if c == 0 && l.r.Err() != nil {
|
||||
if l.r.Pos() > 0 {
|
||||
return TextToken, l.r.Shift()
|
||||
l.text = l.r.Shift()
|
||||
return TextToken, l.text
|
||||
}
|
||||
return ErrorToken, nil
|
||||
}
|
||||
|
@ -166,19 +181,9 @@ func (l *Lexer) Next() (TokenType, []byte) {
|
|||
}
|
||||
}
|
||||
|
||||
// Text returns the textual representation of a token. This excludes delimiters and additional leading/trailing characters.
|
||||
func (l *Lexer) Text() []byte {
|
||||
return l.text
|
||||
}
|
||||
|
||||
// AttrVal returns the attribute value when an AttributeToken was returned from Next.
|
||||
func (l *Lexer) AttrVal() []byte {
|
||||
return l.attrVal
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
// The following functions follow the specifications at http://www.w3.org/html/wg/drafts/html/master/syntax.html
|
||||
// The following functions follow the specifications at https://html.spec.whatwg.org/multipage/parsing.html
|
||||
|
||||
func (l *Lexer) shiftRawText() []byte {
|
||||
if l.rawTag == Plaintext {
|
||||
|
@ -261,6 +266,7 @@ func (l *Lexer) readMarkup() (TokenType, []byte) {
|
|||
l.r.Move(2)
|
||||
for {
|
||||
if l.r.Peek(0) == 0 && l.r.Err() != nil {
|
||||
l.text = l.r.Lexeme()[4:]
|
||||
return CommentToken, l.r.Shift()
|
||||
} else if l.at('-', '-', '>') {
|
||||
l.text = l.r.Lexeme()[4:]
|
||||
|
@ -277,8 +283,10 @@ func (l *Lexer) readMarkup() (TokenType, []byte) {
|
|||
l.r.Move(7)
|
||||
for {
|
||||
if l.r.Peek(0) == 0 && l.r.Err() != nil {
|
||||
l.text = l.r.Lexeme()[9:]
|
||||
return TextToken, l.r.Shift()
|
||||
} else if l.at(']', ']', '>') {
|
||||
l.text = l.r.Lexeme()[9:]
|
||||
l.r.Move(3)
|
||||
return TextToken, l.r.Shift()
|
||||
}
|
||||
|
@ -453,7 +461,7 @@ func (l *Lexer) shiftXml(rawTag Hash) []byte {
|
|||
}
|
||||
} else if c == 0 {
|
||||
if l.r.Err() == nil {
|
||||
l.err = parse.NewErrorLexer("unexpected null character", l.r)
|
||||
l.err = parse.NewErrorLexer(l.r, "HTML parse error: unexpected NULL character")
|
||||
}
|
||||
return l.r.Shift()
|
||||
} else {
|
||||
|
@ -468,7 +476,7 @@ func (l *Lexer) shiftXml(rawTag Hash) []byte {
|
|||
break
|
||||
} else if c == 0 {
|
||||
if l.r.Err() == nil {
|
||||
l.err = parse.NewErrorLexer("unexpected null character", l.r)
|
||||
l.err = parse.NewErrorLexer(l.r, "HTML parse error: unexpected NULL character")
|
||||
}
|
||||
return l.r.Shift()
|
||||
}
|
||||
|
|
1234
vendor/github.com/tdewolff/parse/v2/html/util.go
generated
vendored
1234
vendor/github.com/tdewolff/parse/v2/html/util.go
generated
vendored
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue