Thanks to visit codestin.com
Credit goes to pkg.go.dev

option

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package option provides cross type transformations for `mo.Option`.

The functions provided by this package are not methods of `mo.Option` due to the lack of method type parameters on methods. This is part of the design decision of the Go's generics as explained here: https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md#No-parameterized-methods

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FlatMap

func FlatMap[I any, O any](f func(I) mo.Option[O]) func(opt mo.Option[I]) mo.Option[O]

FlatMap returns the result of applying `f` to the value of opt, if present, and None otherwise.

func FlatMatch

func FlatMatch[I any, O any](onValue func(I) mo.Option[O], onNone func() mo.Option[O]) func(opt mo.Option[I]) mo.Option[O]

FlatMatch returns the result of applying `onValue` to the value of opt, if present, or the result of `onNone` if absent.

func Map

func Map[I any, O any](f func(I) O) func(opt mo.Option[I]) mo.Option[O]

Map returns a new `mo.Option` wrapping the result of applying `f` to the value of opt, if present, and None otherwise.

func Match

func Match[I any, O any](onValue func(I) (O, bool), onNone func() (O, bool)) func(opt mo.Option[I]) mo.Option[O]

Match returns a new `mo.Option` from the result of applying `onValue` to the value of opt, if present, or from the result of calling `onNone` if absent.

func Pipe1

func Pipe1[A any, B any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
) mo.Option[B]

func Pipe10

func Pipe10[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any, K any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
	operator6 func(mo.Option[F]) mo.Option[G],
	operator7 func(mo.Option[G]) mo.Option[H],
	operator8 func(mo.Option[H]) mo.Option[I],
	operator9 func(mo.Option[I]) mo.Option[J],
	operator10 func(mo.Option[J]) mo.Option[K],
) mo.Option[K]

func Pipe2

func Pipe2[A any, B any, C any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
) mo.Option[C]

func Pipe3

func Pipe3[A any, B any, C any, D any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
) mo.Option[D]

func Pipe4

func Pipe4[A any, B any, C any, D any, E any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
) mo.Option[E]

func Pipe5

func Pipe5[A any, B any, C any, D any, E any, F any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
) mo.Option[F]

func Pipe6

func Pipe6[A any, B any, C any, D any, E any, F any, G any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
	operator6 func(mo.Option[F]) mo.Option[G],
) mo.Option[G]

func Pipe7

func Pipe7[A any, B any, C any, D any, E any, F any, G any, H any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
	operator6 func(mo.Option[F]) mo.Option[G],
	operator7 func(mo.Option[G]) mo.Option[H],
) mo.Option[H]

func Pipe8

func Pipe8[A any, B any, C any, D any, E any, F any, G any, H any, I any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
	operator6 func(mo.Option[F]) mo.Option[G],
	operator7 func(mo.Option[G]) mo.Option[H],
	operator8 func(mo.Option[H]) mo.Option[I],
) mo.Option[I]

func Pipe9

func Pipe9[A any, B any, C any, D any, E any, F any, G any, H any, I any, J any](
	source mo.Option[A],
	operator1 func(mo.Option[A]) mo.Option[B],
	operator2 func(mo.Option[B]) mo.Option[C],
	operator3 func(mo.Option[C]) mo.Option[D],
	operator4 func(mo.Option[D]) mo.Option[E],
	operator5 func(mo.Option[E]) mo.Option[F],
	operator6 func(mo.Option[F]) mo.Option[G],
	operator7 func(mo.Option[G]) mo.Option[H],
	operator8 func(mo.Option[H]) mo.Option[I],
	operator9 func(mo.Option[I]) mo.Option[J],
) mo.Option[J]

Types

This section is empty.

Jump to

Keyboard shortcuts

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