util

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Any added in v0.0.2

func Any[T Element[T]](
	ctx context.Context,
	c Container[T],
	f func(T) bool,
) (ok bool, err error)

func ChanToSlice added in v0.2.0

func ChanToSlice[T any](
	ctx context.Context,
	c <-chan T,
) (slice []T, err error)

func Concatenate added in v0.1.0

func Concatenate[T any](ins ...[]T) (out []T)

func Each added in v0.2.0

func Each[T any](ctx context.Context, ts []T, f func(*T) bool) error

func EachErr added in v0.2.0

func EachErr[T any](
	ctx context.Context,
	ts []T,
	f func(*T) (bool, error),
) error

func ElementsEqual added in v0.0.2

func ElementsEqual[T Element[T]](a, b T) bool

func Filter added in v0.1.0

func Filter[T any](f func(T) bool, in ...T) (out []T)

func NonEmpty added in v0.2.0

func NonEmpty[T any](t []T) bool

func SliceToChan added in v0.2.0

func SliceToChan[T any](
	ctx context.Context,
	slice []T,
	c chan<- T,
) (err error)

func Sum added in v0.2.0

func Sum[T constraints.Ordered](terms ...T) (sum T)

func Transform added in v0.0.2

func Transform[From, To any](
	ctx context.Context,
	transformer func(From) To,
	from ...From,
) (to []To)

func TransformErr added in v0.0.2

func TransformErr[From, To any](
	ctx context.Context,
	transformer func(From) (To, error),
	from ...From,
) ([]To, error)

func UnmarshalRegexp

func UnmarshalRegexp(re *regexp.Regexp, match []string, v interface{}) error

Types

type Chain added in v0.0.2

type Chain[T any] struct {
	Transformers []Transformer[T]
	ChanSize     int
}

func (*Chain[T]) Run added in v0.0.2

func (sc *Chain[T]) Run(
	ctx context.Context,
	init ...T,
) (results <-chan T, callback func() error)

type Container added in v0.0.2

type Container[T Element[T]] interface {
	Contains(context.Context, T) bool
	Each(context.Context, func(T) bool) error
	Empty() bool
	Insert(context.Context, ...T) int
	Len() int
	Slice() []T
}

type Element added in v0.0.2

type Element[T any] interface {
	Compare(T) int
}

type Merger added in v0.0.2

type Merger interface {
	Merge(src reflect.Value) error
}

type MergerTransformer added in v0.0.2

type MergerTransformer struct{}

func (MergerTransformer) Transformer added in v0.0.2

func (t MergerTransformer) Transformer(
	typ reflect.Type,
) func(dst, src reflect.Value) error

type OrderedSet added in v0.0.2

type OrderedSet[T Element[T]] struct {
	// contains filtered or unexported fields
}

func NewOrderedSet added in v0.1.2

func NewOrderedSet[T Element[T]](
	ctx context.Context,
	ts ...T,
) *OrderedSet[T]

func (*OrderedSet[T]) Contains added in v0.0.2

func (s *OrderedSet[T]) Contains(ctx context.Context, t T) (ok bool)

func (*OrderedSet) Each added in v0.0.2

func (s *OrderedSet) Each(ctx context.Context, f func(T) bool) error

func (OrderedSet) Empty added in v0.0.2

func (s OrderedSet) Empty() bool

func (*OrderedSet[T]) Insert added in v0.0.2

func (s *OrderedSet[T]) Insert(
	ctx context.Context,
	ts ...T,
) (inserted int)

func (OrderedSet) Len added in v0.0.2

func (s OrderedSet) Len() int

func (*OrderedSet) RemoveIf added in v0.1.2

func (s *OrderedSet) RemoveIf(
	_ context.Context,
	f func(T) bool,
) (removed int, err error)

func (*OrderedSet) Slice added in v0.0.2

func (s *OrderedSet) Slice() []T

type Pather added in v0.1.0

type Pather interface {
	Path() (string, error)
}

type SortedSet added in v0.0.2

type SortedSet[T Element[T]] struct {
	// contains filtered or unexported fields
}

func NewSortedSet added in v0.0.2

func NewSortedSet[T Element[T]](
	ctx context.Context,
	ts ...T,
) *SortedSet[T]

func (*SortedSet[T]) Contains added in v0.0.2

func (s *SortedSet[T]) Contains(ctx context.Context, t T) (ok bool)

func (*SortedSet) Each added in v0.0.2

func (s *SortedSet) Each(ctx context.Context, f func(T) bool) error

func (SortedSet) Empty added in v0.0.2

func (s SortedSet) Empty() bool

func (*SortedSet[T]) Insert added in v0.0.2

func (s *SortedSet[T]) Insert(
	ctx context.Context,
	ts ...T,
) (inserted int)

func (*SortedSet[T]) IntDiff added in v0.2.0

func (s *SortedSet[T]) IntDiff(
	ctx context.Context,
	other *SortedSet[T],
) (thisDiff, intersection, otherDiff SortedSet[T])

func (SortedSet) Len added in v0.0.2

func (s SortedSet) Len() int

func (*SortedSet) RemoveIf added in v0.1.2

func (s *SortedSet) RemoveIf(
	_ context.Context,
	f func(T) bool,
) (removed int, err error)

func (*SortedSet) Slice added in v0.0.2

func (s *SortedSet) Slice() []T

type Transformer added in v0.0.2

type Transformer[T any] func(
	ctx context.Context,
	in <-chan T,
	out chan<- T,
) error

func Exclude added in v0.1.0

func Exclude[T any](f func(T) bool) Transformer[T]

Jump to

Keyboard shortcuts

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