Files
kyle 9444a35322 p1: /v2/scrape, /v1/fetch, auth, CLI, contract tests
Single Fetcher.Fetch on the Guard that holds DenyPrefixes. skipTlsVerification
is ignored. No 502. keys add writes the secret only to --out. Release binary
has no -test-allow-prefix.
2026-09-22 21:54:01 -07:00

50 lines
790 B
Go

package gojq
// Iter is an interface for an iterator.
type Iter interface {
Next() (any, bool)
}
// NewIter creates a new [Iter] from values.
func NewIter[T any](values ...T) Iter {
switch len(values) {
case 0:
return emptyIter{}
case 1:
return &unitIter{value: values[0]}
default:
iter := sliceIter[T](values)
return &iter
}
}
type emptyIter struct{}
func (emptyIter) Next() (any, bool) {
return nil, false
}
type unitIter struct {
value any
done bool
}
func (iter *unitIter) Next() (any, bool) {
if iter.done {
return nil, false
}
iter.done = true
return iter.value, true
}
type sliceIter[T any] []T
func (iter *sliceIter[T]) Next() (any, bool) {
if len(*iter) == 0 {
return nil, false
}
value := (*iter)[0]
*iter = (*iter)[1:]
return value, true
}