github.com/hashicorp/hcl/v2@v2.20.0/json/peeker.go (about) 1 // Copyright (c) HashiCorp, Inc. 2 // SPDX-License-Identifier: MPL-2.0 3 4 package json 5 6 type peeker struct { 7 tokens []token 8 pos int 9 } 10 11 func newPeeker(tokens []token) *peeker { 12 return &peeker{ 13 tokens: tokens, 14 pos: 0, 15 } 16 } 17 18 func (p *peeker) Peek() token { 19 return p.tokens[p.pos] 20 } 21 22 func (p *peeker) Read() token { 23 ret := p.tokens[p.pos] 24 if ret.Type != tokenEOF { 25 p.pos++ 26 } 27 return ret 28 }