generic

package
v1.0.111 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2024 License: Apache-2.0 Imports: 14 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ap added in v1.0.107

func Ap[BS ~map[K]B, ABS ~map[K]func(A) B, AS ~map[K]A, K comparable, B, A any](m Mo.Monoid[BS]) func(fa AS) func(ABS) BS

func ApS added in v1.0.107

func ApS[GS1 ~map[K]S1, GS2 ~map[K]S2, GT ~map[K]T, K comparable, S1, S2, T any](m Mo.Monoid[GS2]) func(setter func(T) func(S1) S2, fa GT) func(GS1) GS2

ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently

func Bind added in v1.0.107

func Bind[GS1 ~map[K]S1, GS2 ~map[K]S2, GT ~map[K]T, K comparable, S1, S2, T any](m Mo.Monoid[GS2]) func(setter func(T) func(S1) S2, f func(S1) GT) func(GS1) GS2

Bind attaches the result of a computation to a context [S1] to produce a context [S2]

func BindTo added in v1.0.107

func BindTo[GS1 ~map[K]S1, GT ~map[K]T, K comparable, S1, T any](setter func(T) S1) func(GT) GS1

BindTo initializes a new state [S1] from a value [T]

func Chain added in v1.0.15

func Chain[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N]) func(func(V1) N) func(M) N

func ChainWithIndex added in v1.0.15

func ChainWithIndex[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N]) func(func(K, V1) N) func(M) N

func Clone added in v1.0.75

func Clone[M ~map[K]V, K comparable, V any](f func(V) V) func(m M) M

func Collect

func Collect[M ~map[K]V, GR ~[]R, K comparable, V, R any](f func(K, V) R) func(M) GR

func CollectOrd added in v1.0.58

func CollectOrd[M ~map[K]V, GR ~[]R, K comparable, V, R any](o ord.Ord[K]) func(f func(K, V) R) func(M) GR

func ConstNil

func ConstNil[M ~map[K]V, K comparable, V any]() M

ConstNil return a nil map

func Copy added in v1.0.75

func Copy[M ~map[K]V, K comparable, V any](m M) M

func DeleteAt

func DeleteAt[M ~map[K]V, K comparable, V any](k K) func(M) M

func Do added in v1.0.107

func Do[GS ~map[K]S, K comparable, S any]() GS

Bind creates an empty context of type [S] to be used with the Bind operation

func Empty

func Empty[M ~map[K]V, K comparable, V any]() M

func Eq

func Eq[M ~map[K]V, K comparable, V any](e E.Eq[V]) E.Eq[M]

func Filter

func Filter[M ~map[K]V, K comparable, V any](f func(K) bool) func(M) M

Filter creates a new map with only the elements that match the predicate

func FilterChain added in v1.0.15

func FilterChain[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N]) func(func(V1) O.Option[N]) func(M) N

FilterChain creates a new map with only the elements for which the transformation function creates a Some

func FilterChainWithIndex added in v1.0.15

func FilterChainWithIndex[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N]) func(func(K, V1) O.Option[N]) func(M) N

FilterChainWithIndex creates a new map with only the elements for which the transformation function creates a Some

func FilterMap

func FilterMap[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](f func(V1) O.Option[V2]) func(M) N

FilterMap creates a new map with only the elements for which the transformation function creates a Some

func FilterMapWithIndex

func FilterMapWithIndex[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](f func(K, V1) O.Option[V2]) func(M) N

FilterMapWithIndex creates a new map with only the elements for which the transformation function creates a Some

func FilterWithIndex

func FilterWithIndex[M ~map[K]V, K comparable, V any](f func(K, V) bool) func(M) M

FilterWithIndex creates a new map with only the elements that match the predicate

func Flap added in v1.0.47

func Flap[GFAB ~map[K]func(A) B, GB ~map[K]B, K comparable, A, B any](a A) func(GFAB) GB

func Flatten added in v1.0.15

func Flatten[M ~map[K]N, N ~map[K]V, K comparable, V any](m Mo.Monoid[N]) func(M) N

Flatten converts a nested map into a regular map

func Fold added in v1.0.16

func Fold[AS ~map[K]A, K comparable, A any](m Mo.Monoid[A]) func(AS) A

func FoldMap added in v1.0.16

func FoldMap[AS ~map[K]A, K comparable, A, B any](m Mo.Monoid[B]) func(func(A) B) func(AS) B

func FoldMapOrd added in v1.0.16

func FoldMapOrd[AS ~map[K]A, K comparable, A, B any](o ord.Ord[K]) func(m Mo.Monoid[B]) func(func(A) B) func(AS) B

func FoldMapOrdWithIndex added in v1.0.16

func FoldMapOrdWithIndex[AS ~map[K]A, K comparable, A, B any](o ord.Ord[K]) func(m Mo.Monoid[B]) func(func(K, A) B) func(AS) B

func FoldMapWithIndex added in v1.0.16

func FoldMapWithIndex[AS ~map[K]A, K comparable, A, B any](m Mo.Monoid[B]) func(func(K, A) B) func(AS) B

func FoldOrd added in v1.0.16

func FoldOrd[AS ~map[K]A, K comparable, A any](o ord.Ord[K]) func(m Mo.Monoid[A]) func(AS) A

func FromArray added in v1.0.98

func FromArray[
	GA ~[]T.Tuple2[K, V],
	M ~map[K]V,
	K comparable,
	V any](m Mg.Magma[V]) func(fa GA) M

func FromArrayMap added in v1.0.98

func FromArrayMap[
	FCT ~func(A) T.Tuple2[K, V],
	GA ~[]A,
	M ~map[K]V,
	A any,
	K comparable,
	V any](m Mg.Magma[V]) func(f FCT) func(fa GA) M

func FromEntries

func FromEntries[M ~map[K]V, GT ~[]T.Tuple2[K, V], K comparable, V any](fa GT) M

func FromFoldable added in v1.0.98

func FromFoldable[
	HKTA any,
	FOLDABLE ~func(func(M, T.Tuple2[K, V]) M, M) func(HKTA) M,
	M ~map[K]V,
	K comparable,
	V any](m Mg.Magma[V], red FOLDABLE) func(fa HKTA) M

func FromFoldableMap added in v1.0.98

func FromFoldableMap[
	FCT ~func(A) T.Tuple2[K, V],
	HKTA any,
	FOLDABLE ~func(func(M, A) M, M) func(HKTA) M,
	M ~map[K]V,
	A any,
	K comparable,
	V any](m Mg.Magma[V], fld FOLDABLE) func(f FCT) func(fa HKTA) M

FromFoldableMap uses the reduce method for a higher kinded type to transform its values into a tuple. The key and value are then used to populate the map. Duplicate values are resolved via the provided [Mg.Magma]

func Has

func Has[M ~map[K]V, K comparable, V any](k K, r M) bool

func IsEmpty

func IsEmpty[M ~map[K]V, K comparable, V any](r M) bool

func IsNil

func IsNil[M ~map[K]V, K comparable, V any](m M) bool

IsNil checks if the map is set to nil

func IsNonEmpty

func IsNonEmpty[M ~map[K]V, K comparable, V any](r M) bool

func IsNonNil

func IsNonNil[M ~map[K]V, K comparable, V any](m M) bool

IsNonNil checks if the map is set to nil

func Keys

func Keys[M ~map[K]V, GK ~[]K, K comparable, V any](r M) GK

func KeysOrd added in v1.0.16

func KeysOrd[M ~map[K]V, GK ~[]K, K comparable, V any](o ord.Ord[K]) func(r M) GK

func Let added in v1.0.107

func Let[GS1 ~map[K]S1, GS2 ~map[K]S2, K comparable, S1, S2, T any](
	key func(T) func(S1) S2,
	f func(S1) T,
) func(GS1) GS2

Let attaches the result of a computation to a context [S1] to produce a context [S2]

func LetTo added in v1.0.107

func LetTo[GS1 ~map[K]S1, GS2 ~map[K]S2, K comparable, S1, S2, B any](
	key func(B) func(S1) S2,
	b B,
) func(GS1) GS2

LetTo attaches the a value to a context [S1] to produce a context [S2]

func Lookup

func Lookup[M ~map[K]V, K comparable, V any](k K) func(M) O.Option[V]

func Map

func Map[M ~map[K]V, N ~map[K]R, K comparable, V, R any](f func(V) R) func(M) N

func MapRef

func MapRef[M ~map[K]V, N ~map[K]R, K comparable, V, R any](f func(*V) R) func(M) N

func MapRefWithIndex

func MapRefWithIndex[M ~map[K]V, N ~map[K]R, K comparable, V, R any](f func(K, *V) R) func(M) N

func MapWithIndex

func MapWithIndex[M ~map[K]V, N ~map[K]R, K comparable, V, R any](f func(K, V) R) func(M) N

func Merge added in v1.0.15

func Merge[M ~map[K]V, K comparable, V any](right M) func(M) M

func MonadAp added in v1.0.107

func MonadAp[BS ~map[K]B, ABS ~map[K]func(A) B, AS ~map[K]A, K comparable, B, A any](m Mo.Monoid[BS], fab ABS, fa AS) BS

func MonadChain added in v1.0.15

func MonadChain[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N], r M, f func(V1) N) N

func MonadChainWithIndex added in v1.0.15

func MonadChainWithIndex[M ~map[K]V1, N ~map[K]V2, K comparable, V1, V2 any](m Mo.Monoid[N], r M, f func(K, V1) N) N

func MonadFlap added in v1.0.47

func MonadFlap[GFAB ~map[K]func(A) B, GB ~map[K]B, K comparable, A, B any](fab GFAB, a A) GB

func MonadLookup added in v1.0.24

func MonadLookup[M ~map[K]V, K comparable, V any](m M, k K) O.Option[V]

func MonadMap

func MonadMap[M ~map[K]V, N ~map[K]R, K comparable, V, R any](r M, f func(V) R) N

func MonadMapRef

func MonadMapRef[M ~map[K]V, N ~map[K]R, K comparable, V, R any](r M, f func(*V) R) N

func MonadMapRefWithIndex

func MonadMapRefWithIndex[M ~map[K]V, N ~map[K]R, K comparable, V, R any](r M, f func(K, *V) R) N

func MonadMapWithIndex

func MonadMapWithIndex[M ~map[K]V, N ~map[K]R, K comparable, V, R any](r M, f func(K, V) R) N

func Reduce

func Reduce[M ~map[K]V, K comparable, V, R any](f func(R, V) R, initial R) func(M) R

func ReduceOrd added in v1.0.16

func ReduceOrd[M ~map[K]V, K comparable, V, R any](o ord.Ord[K]) func(func(R, V) R, R) func(M) R

func ReduceOrdWithIndex added in v1.0.16

func ReduceOrdWithIndex[M ~map[K]V, K comparable, V, R any](o ord.Ord[K]) func(func(K, R, V) R, R) func(M) R

func ReduceRef

func ReduceRef[M ~map[K]V, K comparable, V, R any](f func(R, *V) R, initial R) func(M) R

func ReduceRefWithIndex

func ReduceRefWithIndex[M ~map[K]V, K comparable, V, R any](f func(K, R, *V) R, initial R) func(M) R

func ReduceWithIndex

func ReduceWithIndex[M ~map[K]V, K comparable, V, R any](f func(K, R, V) R, initial R) func(M) R

func Singleton

func Singleton[M ~map[K]V, K comparable, V any](k K, v V) M

func Size

func Size[M ~map[K]V, K comparable, V any](r M) int

func ToArray

func ToArray[M ~map[K]V, GT ~[]T.Tuple2[K, V], K comparable, V any](r M) GT

func ToEntries

func ToEntries[M ~map[K]V, GT ~[]T.Tuple2[K, V], K comparable, V any](r M) GT

func ToEntriesOrd added in v1.0.16

func ToEntriesOrd[M ~map[K]V, GT ~[]T.Tuple2[K, V], K comparable, V any](o ord.Ord[K]) func(r M) GT

func Union

func Union[M ~map[K]V, K comparable, V any](m Mg.Magma[V]) func(M) func(M) M

func UnionFirst added in v1.0.15

func UnionFirst[M ~map[K]V, K comparable, V any](right M) func(M) M

func UnionFirstMonoid added in v1.0.15

func UnionFirstMonoid[N ~map[K]V, K comparable, V any]() M.Monoid[N]

func UnionFirstSemigroup added in v1.0.15

func UnionFirstSemigroup[N ~map[K]V, K comparable, V any]() S.Semigroup[N]

func UnionLast added in v1.0.15

func UnionLast[M ~map[K]V, K comparable, V any](right M) func(M) M

func UnionLastMonoid added in v1.0.15

func UnionLastMonoid[N ~map[K]V, K comparable, V any]() M.Monoid[N]

func UnionLastSemigroup added in v1.0.15

func UnionLastSemigroup[N ~map[K]V, K comparable, V any]() S.Semigroup[N]

func UnionMonoid

func UnionMonoid[N ~map[K]V, K comparable, V any](s S.Semigroup[V]) M.Monoid[N]

func UnionSemigroup

func UnionSemigroup[N ~map[K]V, K comparable, V any](s S.Semigroup[V]) S.Semigroup[N]

func UpsertAt

func UpsertAt[M ~map[K]V, K comparable, V any](k K, v V) func(M) M

func Values

func Values[M ~map[K]V, GV ~[]V, K comparable, V any](r M) GV

func ValuesOrd added in v1.0.16

func ValuesOrd[M ~map[K]V, GV ~[]V, K comparable, V any](o ord.Ord[K]) func(r M) GV

Types

This section is empty.

Jump to

Keyboard shortcuts

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