diff options
Diffstat (limited to 'lib/bytes/parser.go')
| -rw-r--r-- | lib/bytes/parser.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/bytes/parser.go b/lib/bytes/parser.go index e5c7addb..b6adc0d8 100644 --- a/lib/bytes/parser.go +++ b/lib/bytes/parser.go @@ -40,6 +40,15 @@ func (bp *Parser) Delimiters() []byte { return bytes.Clone(bp.delims) } +// Peek take a look on n bytes inside the buffer without using delimiters. +// The returned bytes may empty or have length less than n. +func (bp *Parser) Peek(n int) []byte { + if bp.x+n > bp.size { + return bp.content[bp.x:] + } + return bp.content[bp.x : bp.x+n] +} + // Read read a token until one of the delimiters found. // If one of delimiter match, it will return it as d. // When end of content encountered, the returned token may be not empty but |
