ziter

package
v0.11.5 Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrValueNotSlice = errors.New("value is not a slice")
)

Functions

func ChunkifyIterator added in v0.10.13

func ChunkifyIterator[T any](iterator Iterator[T], size int, handler ChunkHandler[T]) (err error)

func InterfaceToSlice

func InterfaceToSlice(input interface{}) (slice []interface{}, err error)

Convert interface{} into []interface{} if the input is a slice, otherwise, return an error.

func NewSliceIterator added in v0.9.21

func NewSliceIterator[T any](slice []T) *sliceIterator[T]

func SliceChunks added in v0.9.21

func SliceChunks[T any](items []T, size int, handler ChunkHandler[T]) (err error)

Break a slice into multiple slices of the provided size

Types

type ChunkHandler

type ChunkHandler[T any] func(chunk []T) error

type Iterator added in v0.9.21

type Iterator[T any] interface {
	Next() (item T, done bool, err error)
}

func TransformIterator added in v0.10.13

func TransformIterator[F any, T any](iterator Iterator[F], t TransformFunc[F, T]) Iterator[T]

type TransformFunc added in v0.10.13

type TransformFunc[F any, T any] func(item F) (res T, skip bool, err error)

type Transformer added in v0.10.13

type Transformer[F any, T any] interface {
	Transform(item F) (res T, skip bool, err error)
}

type TransformerIterator added in v0.10.13

type TransformerIterator[F any, T any] struct {
	// contains filtered or unexported fields
}

func (*TransformerIterator[F, T]) Next added in v0.10.13

func (t *TransformerIterator[F, T]) Next() (item T, done bool, err error)

Jump to

Keyboard shortcuts

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