iterators

package
v0.0.0-...-27647ab Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2023 License: BSD-3-Clause Imports: 6 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Any

func Any[T any](fn func(v T) bool, it bt.Iterable[T]) bool

func Apply

func Apply[T any](fn func(v T), it bt.Iterable[T])

func AsAny

func AsAny[T any](it bt.Iterable[T]) bt.Iterable[any]

func AsTraversable

func AsTraversable[T any](it bt.Iterable[T]) bt.Traversable[T]

func CheckUnique

func CheckUnique[T comparable](it bt.Iterable[T]) bt.Iterable[T]

func CheckUniqueKeys

func CheckUniqueKeys[K comparable, V any](it bt.Iterable[bt.Kv[K, V]]) bt.Iterable[bt.Kv[K, V]]

func Chunk

func Chunk[T any](it bt.Iterable[T], n int) bt.Iterable[[]T]

func ChunkShared

func ChunkShared[T any](it bt.Iterable[T], n int) bt.Iterable[[]T]

func Count

func Count() bt.Iterable[int]

func Empty

func Empty[T any]() bt.Iterable[T]

func Enumerate

func Enumerate[T any](it bt.Iterable[T]) bt.Iterable[bt.Kv[int, T]]

func Factory

func Factory[T any](fn func() bt.Iterator[T], src any) bt.Iterable[T]

func Filter

func Filter[T any](it bt.Iterable[T], fn func(v T) bool) bt.Iterable[T]

func FilterKeys

func FilterKeys[K, V any](it bt.Iterable[bt.Kv[K, V]], fn func(k K) bool) bt.Iterable[bt.Kv[K, V]]

func FilterValues

func FilterValues[K, V any](it bt.Iterable[bt.Kv[K, V]], fn func(v V) bool) bt.Iterable[bt.Kv[K, V]]

func FlatMap

func FlatMap[F, T any](it bt.Iterable[F], fn func(f F) bt.Iterable[T]) bt.Iterable[T]

func FlatSliceMap

func FlatSliceMap[F, T any](it bt.Iterable[F], fn func(f F) []T) bt.Iterable[T]

func Flatten

func Flatten[T any](it bt.Iterable[bt.Iterable[T]]) bt.Iterable[T]

func ForAll

func ForAll[T any](tv bt.Traversable[T], fn func(v T))

func ForEach

func ForEach[T any](it bt.Iterable[T], fn func(v T) bool) bool

func Keys

func Keys[K, V any](it bt.Iterable[bt.Kv[K, V]]) bt.Iterable[K]

func Kvs

func Kvs[K comparable, V any](it bt.Iterable[bt.Pair[K, V]]) bt.Iterable[bt.Kv[K, V]]

func Len

func Len[T any](it bt.Iterable[T]) int

func MakeKvs

func MakeKvs[K, V any](it bt.Iterable[V], fn func(v V) K) bt.Iterable[bt.Kv[K, V]]

func MakeTypeKvs

func MakeTypeKvs[V any](it bt.Iterable[V]) bt.Iterable[bt.Kv[reflect.Type, V]]

func Map

func Map[F, T any](it bt.Iterable[F], fn func(f F) T) bt.Iterable[T]

func MapKeys

func MapKeys[KF, KT, V any](it bt.Iterable[bt.Kv[KF, V]], fn func(k KF) KT) bt.Iterable[bt.Kv[KT, V]]

func MapValues

func MapValues[K, VF, VT any](it bt.Iterable[bt.Kv[K, VF]], fn func(v VF) VT) bt.Iterable[bt.Kv[K, VT]]

func Nth

func Nth[T any](it bt.Iterable[T], n int) (T, bool)

func Of

func Of[T any](vs ...T) bt.Iterable[T]

func OfChan

func OfChan[T any](ch <-chan T) bt.Iterable[T]

func OfChanContext

func OfChanContext[T any](ctx context.Context, ch <-chan T) bt.Iterable[T]

func OfChanDone

func OfChanDone[T any](ch <-chan T, done <-chan struct{}) bt.Iterable[T]

func OfMap

func OfMap[K comparable, V any](m map[K]V) bt.Iterable[bt.Kv[K, V]]

func OfSlice

func OfSlice[T any](s []T) bt.Iterable[T]

func OfSliceRange

func OfSliceRange[T any](s []T, r bt.Range[int]) bt.Iterable[T]

func OfString

func OfString(s string) bt.Iterable[rune]

func OfTypeMap

func OfTypeMap[V any](m map[reflect.Type]V) bt.Iterable[bt.Kv[reflect.Type, V]]

func Range

func Range(start, stop, step int) bt.Iterable[int]

func Range1

func Range1(start, stop int) bt.Iterable[int]

func Seq

func Seq[T any](it bt.Iterable[T]) []T

func SeqForEach

func SeqForEach[T any](t bt.Traversable[T]) []T

func StubKvs

func StubKvs[K any](it bt.Iterable[K]) bt.Iterable[bt.Kv[K, struct{}]]

func Take

func Take[T any](it bt.Iterable[T], n int) []T

func ToChanDone

func ToChanDone[T any](it bt.Iterable[T], done <-chan struct{}) <-chan T

func TraversableOf

func TraversableOf[T any](fn func(fn func(v T) bool) bool) bt.Traversable[T]

func Values

func Values[K, V any](it bt.Iterable[bt.Kv[K, V]]) bt.Iterable[V]

func Zip

func Zip[L, R any](l bt.Iterable[L], r bt.Iterable[R]) bt.Iterable[bt.Pair[L, R]]

Types

type AnyIterable

type AnyIterable interface {
	AnyIterate() bt.Iterator[any]
}

type NonUniqueError

type NonUniqueError[T any] struct {
	Value T
}

type PeekIterable

type PeekIterable[T any] interface {
	Iterate() PeekIterator[T]
}

func Peek

func Peek[T any](it bt.Iterable[T]) PeekIterable[T]

type PeekIterator

type PeekIterator[T any] interface {
	bt.Iterator[T]
	Peek() T
}

type ReflectHelper

type ReflectHelper struct {
	// contains filtered or unexported fields
}

func NewReflectHelper

func NewReflectHelper() ReflectHelper

func (ReflectHelper) ForEach

func (h ReflectHelper) ForEach(iterableVal reflect.Value, fn func(v reflect.Value) bool) bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL