Help us shape the future of Go! Take the 2026 Go Developer Survey

iterx

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrIgnore = errors.New("Ignore")
)
View Source
var (
	ErrInvalidCall = errors.New("InvalidCall")
)
View Source
var (
	ErrInvalidFunctionCombination = errors.New("InvalidFunctionCombination")
)
View Source
var (
	ErrInvalidFunctionConversion = errors.New("InvalidFunctionConversion")
)

Functions

func Always

func Always[T any](_ T) bool

func Identity

func Identity[T any](x T) (T, error)

func Never

func Never[T any](_ T) bool

func Pipe

func Pipe[A, B, C any](f func(A) (B, error), g func(B) (C, error)) func(A) (C, error)

Composite function; f(g(x)).

Types

type Arity

type Arity int
const (
	Unary Arity = iota
	Variadic
)

type ClonableIter

type ClonableIter[T any] struct {
	// contains filtered or unexported fields
}

ClonableIter shares the source of the iterator.

func NewClonableIter

func NewClonableIter[T any](it Iter[T]) *ClonableIter[T]

func (*ClonableIter[T]) Clone

func (it *ClonableIter[T]) Clone() *ClonableIter[T]

Clone returns a cloned iterator that iterates from the beginning of the source.

func (*ClonableIter[T]) Close

func (it *ClonableIter[T]) Close()

func (*ClonableIter[T]) Values

func (it *ClonableIter[T]) Values() Iter[T]

type FanoutFunction

type FanoutFunction[T any] struct {
	// contains filtered or unexported fields
}

func NewFanoutFunction

func NewFanoutFunction[T any](f func(T) ([]T, error)) *FanoutFunction[T]

func (*FanoutFunction[T]) ArgArity

func (*FanoutFunction[T]) ArgArity() Arity

func (*FanoutFunction[T]) AsFanoutFunction

func (f *FanoutFunction[T]) AsFanoutFunction() (*FanoutFunction[T], error)

func (*FanoutFunction[T]) AsMapFunction

func (f *FanoutFunction[T]) AsMapFunction() (*MapFunction[T], error)

func (*FanoutFunction[T]) AsMultiMapFunction

func (f *FanoutFunction[T]) AsMultiMapFunction() (*MultiMapFunction[T], error)

func (*FanoutFunction[T]) AsReduceFunction

func (f *FanoutFunction[T]) AsReduceFunction() (*ReduceFunction[T], error)

func (*FanoutFunction[T]) Call

func (f *FanoutFunction[T]) Call(v T) ([]T, error)

func (*FanoutFunction[T]) CallAny

func (f *FanoutFunction[T]) CallAny(v ...T) ([]T, error)

func (*FanoutFunction[T]) RetArity

func (*FanoutFunction[T]) RetArity() Arity

type Function

type Function[T any] interface {
	AsMapFunction() (*MapFunction[T], error)
	AsReduceFunction() (*ReduceFunction[T], error)
	AsFanoutFunction() (*FanoutFunction[T], error)
	AsMultiMapFunction() (*MultiMapFunction[T], error)
	ArgArity() Arity
	RetArity() Arity
	CallAny(v ...T) ([]T, error)
}

func CombineFunction

func CombineFunction[T any](a, b Function[T]) (Function[T], error)

type Iter

type Iter[T any] = iter.Seq[T]

func Filter

func Filter[T any](it Iter[T], f func(T) bool) Iter[T]

func Map

func Map[T, U any](it Iter[T], f func(T) (U, error)) Iter[U]

type MapFunction

type MapFunction[T any] struct {
	// contains filtered or unexported fields
}

func NewMapFunction

func NewMapFunction[T any](f func(T) (T, error)) *MapFunction[T]

func (*MapFunction[T]) ArgArity

func (*MapFunction[T]) ArgArity() Arity

func (*MapFunction[T]) AsFanoutFunction

func (f *MapFunction[T]) AsFanoutFunction() (*FanoutFunction[T], error)

func (*MapFunction[T]) AsMapFunction

func (f *MapFunction[T]) AsMapFunction() (*MapFunction[T], error)

func (*MapFunction[T]) AsMultiMapFunction

func (f *MapFunction[T]) AsMultiMapFunction() (*MultiMapFunction[T], error)

func (*MapFunction[T]) AsReduceFunction

func (f *MapFunction[T]) AsReduceFunction() (*ReduceFunction[T], error)

func (*MapFunction[T]) Call

func (f *MapFunction[T]) Call(v T) (T, error)

func (*MapFunction[T]) CallAny

func (f *MapFunction[T]) CallAny(v ...T) ([]T, error)

func (*MapFunction[T]) RetArity

func (*MapFunction[T]) RetArity() Arity

type MultiMapFunction

type MultiMapFunction[T any] struct {
	// contains filtered or unexported fields
}

func NewMultiMapFunction

func NewMultiMapFunction[T any](f func([]T) ([]T, error)) *MultiMapFunction[T]

func (*MultiMapFunction[T]) ArgArity

func (*MultiMapFunction[T]) ArgArity() Arity

func (*MultiMapFunction[T]) AsFanoutFunction

func (f *MultiMapFunction[T]) AsFanoutFunction() (*FanoutFunction[T], error)

func (*MultiMapFunction[T]) AsMapFunction

func (f *MultiMapFunction[T]) AsMapFunction() (*MapFunction[T], error)

func (*MultiMapFunction[T]) AsMultiMapFunction

func (f *MultiMapFunction[T]) AsMultiMapFunction() (*MultiMapFunction[T], error)

func (*MultiMapFunction[T]) AsReduceFunction

func (f *MultiMapFunction[T]) AsReduceFunction() (*ReduceFunction[T], error)

func (*MultiMapFunction[T]) Call

func (f *MultiMapFunction[T]) Call(v []T) ([]T, error)

func (*MultiMapFunction[T]) CallAny

func (f *MultiMapFunction[T]) CallAny(v ...T) ([]T, error)

func (*MultiMapFunction[T]) RetArity

func (*MultiMapFunction[T]) RetArity() Arity

type ReduceFunction

type ReduceFunction[T any] struct {
	// contains filtered or unexported fields
}

func NewReduceFunction

func NewReduceFunction[T any](f func([]T) (T, error)) *ReduceFunction[T]

func (*ReduceFunction[T]) ArgArity

func (*ReduceFunction[T]) ArgArity() Arity

func (*ReduceFunction[T]) AsFanoutFunction

func (f *ReduceFunction[T]) AsFanoutFunction() (*FanoutFunction[T], error)

func (*ReduceFunction[T]) AsMapFunction

func (f *ReduceFunction[T]) AsMapFunction() (*MapFunction[T], error)

func (*ReduceFunction[T]) AsMultiMapFunction

func (f *ReduceFunction[T]) AsMultiMapFunction() (*MultiMapFunction[T], error)

func (*ReduceFunction[T]) AsReduceFunction

func (f *ReduceFunction[T]) AsReduceFunction() (*ReduceFunction[T], error)

func (*ReduceFunction[T]) Call

func (f *ReduceFunction[T]) Call(v []T) (T, error)

func (*ReduceFunction[T]) CallAny

func (f *ReduceFunction[T]) CallAny(v ...T) ([]T, error)

func (*ReduceFunction[T]) RetArity

func (*ReduceFunction[T]) RetArity() Arity

Jump to

Keyboard shortcuts

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