array

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2023 License: Apache-2.0 Imports: 9 Imported by: 19

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ap

func Ap[B, A any](fa []A) func([]func(A) B) []B

func Append

func Append[A any](as []A, a A) []A

func ArrayConcatAll

func ArrayConcatAll[A any](data ...[]A) []A

ConcatAll efficiently concatenates the input arrays into a final array

func ArrayOption

func ArrayOption[A any]() func([]O.Option[A]) O.Option[[]A]

ArrayOption returns a function to convert sequence of options into an option of a sequence

func Chain

func Chain[A, B any](f func(A) []B) func([]A) []B

func ConcatAll

func ConcatAll[A any](m M.Magma[A]) func(A) func([]A) A

func ConstNil

func ConstNil[A any]() []A

ConstNil returns a nil array

func Empty

func Empty[A any]() []A

func Eq

func Eq[T any](e E.Eq[T]) E.Eq[[]T]

func Filter

func Filter[A any](pred func(A) bool) func([]A) []A

func FilterMap

func FilterMap[A, B any](f func(a A) O.Option[B]) func([]A) []B

func FilterMapRef

func FilterMapRef[A, B any](pred func(a *A) bool, f func(a *A) B) func([]A) []B

func FilterRef

func FilterRef[A any](pred func(*A) bool) func([]A) []A

func First

func First[A any](as []A) O.Option[A]

func Flatten

func Flatten[A any](mma [][]A) []A

func From

func From[A any](data ...A) []A

From constructs an array from a set of variadic arguments

func Head[A any](as []A) O.Option[A]

func Intercalate

func Intercalate[A any](m M.Monoid[A]) func(A) func([]A) A

func Intersperse

func Intersperse[A any](middle A) func([]A) []A

func IsEmpty

func IsEmpty[A any](as []A) bool

func IsNil

func IsNil[A any](as []A) bool

IsNil checks if the array is set to nil

func IsNonEmpty

func IsNonEmpty[A any](as []A) bool

func IsNonNil

func IsNonNil[A any](as []A) bool

IsNonNil checks if the array is set to nil

func Last

func Last[A any](as []A) O.Option[A]

func Lookup

func Lookup[A any](idx int) func([]A) O.Option[A]

func MakeBy

func MakeBy[F ~func(int) A, A any](n int, f F) []A

MakeBy returns a `Array` of length `n` with element `i` initialized with `f(i)`.

func Map

func Map[A, B any](f func(a A) B) func([]A) []B

func MapRef

func MapRef[A, B any](f func(a *A) B) func([]A) []B

func Match

func Match[A, B any](onEmpty func() B, onNonEmpty func([]A) B) func([]A) B

func MonadAp

func MonadAp[B, A any](fab []func(A) B, fa []A) []B

func MonadChain

func MonadChain[A, B any](fa []A, f func(a A) []B) []B

func MonadFilterMap

func MonadFilterMap[A, B any](fa []A, f func(a A) O.Option[B]) []B

func MonadMap

func MonadMap[A, B any](as []A, f func(a A) B) []B

func MonadMapRef

func MonadMapRef[A, B any](as []A, f func(a *A) B) []B

func MonadPartition

func MonadPartition[A any](as []A, pred func(A) bool) tuple.Tuple2[[]A, []A]

func MonadTraverse

func MonadTraverse[A, B, HKTB, HKTAB, HKTRB any](
	fof func([]B) HKTRB,
	fmap func(func([]B) func(B) []B) func(HKTRB) HKTAB,
	fap func(HKTB) func(HKTAB) HKTRB,

	ta []A,
	f func(A) HKTB) HKTRB

func Monoid

func Monoid[T any]() M.Monoid[[]T]

func Of

func Of[A any](a A) []A

Of constructs a single element array

func Partition

func Partition[A any](pred func(A) bool) func([]A) tuple.Tuple2[[]A, []A]

Partition creates two new arrays out of one, the left result contains the elements for which the predicate returns false, the right one those for which the predicate returns true

func PrependAll

func PrependAll[A any](middle A) func([]A) []A

func Reduce

func Reduce[A, B any](f func(B, A) B, initial B) func([]A) B

func ReduceRef

func ReduceRef[A, B any](f func(B, *A) B, initial B) func([]A) B

func Replicate

func Replicate[A any](n int, a A) []A

Replicate creates a `Array` containing a value repeated the specified number of times.

func Sequence

func Sequence[A, HKTA, HKTRA, HKTFRA any](
	_of func([]A) HKTRA,
	_map func(HKTRA, func([]A) func(A) []A) HKTFRA,
	_ap func(HKTFRA, HKTA) HKTRA,
) func([]HKTA) HKTRA

Sequence takes an `Array` where elements are `HKT<A>` (higher kinded type) and, using an applicative of that `HKT`, returns an `HKT` of `[]A`. e.g. it can turn an `[]Either[error, string]` into an `Either[error, []string]`.

Sequence requires an `Applicative` of the `HKT` you are targeting, e.g. to turn an `[]Either[E, A]` into an `Either[E, []A]`, it needs an Applicative` for `Either`, to to turn an `[]Option[A]` into an `Option[ []A]`, it needs an `Applicative` for `Option`.

func Size

func Size[A any](as []A) int

func Slice

func Slice[A any](low, high int) func(as []A) []A

func Sort

func Sort[T any](ord O.Ord[T]) func(ma []T) []T

Sort implements a stable sort on the array given the provided ordering

func Tail

func Tail[A any](as []A) O.Option[[]A]

func Traverse

func Traverse[A, B, HKTB, HKTAB, HKTRB any](
	fof func([]B) HKTRB,
	fmap func(func([]B) func(B) []B) func(HKTRB) HKTAB,
	fap func(HKTB) func(HKTAB) HKTRB,

	f func(A) HKTB) func([]A) HKTRB

func UpsertAt

func UpsertAt[A any](a A) func([]A) []A

func Zero

func Zero[A any]() []A

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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