iterx

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2026 License: MIT Imports: 5 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