optioner

package
v1.0.13 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option[T any] struct {
	// contains filtered or unexported fields
}

Option[T] is a container for zero or one element of a given type.

func FlatMap

func FlatMap[A any, B any](a Option[A], fn func(A) Option[B]) Option[B]

func Map

func Map[A any, B any](a Option[A], fn func(A) B) Option[B]

func None

func None[T any]() Option[T]

None[T] creates an Option[T] with no value.

func Of

func Of[T any](v *T) Option[T]

Of[T] creates a Option[T] that may or may not have a value. If *T is nil the returned Option[T] is empty (equivalent to None[T]), If *T is non-nil returned Option[T] will contain a value (equivalent to Some[T]).

This is an alias for Option[T]

func Some

func Some[T any](v T) Option[T]

Some[T] creates an Option[T] with the given value.

func (Option[T]) Defined

func (t Option[T]) Defined() bool

Defined returns true if the contained value is not empty, false otherwise

Inverse of Empty()

func (Option[T]) Empty

func (t Option[T]) Empty() bool

Empty returns true if the contained value is empty, false otherwise

Inverse of Defined()

func (Option[T]) Get

func (t Option[T]) Get() T

Get returns the contained value.

NOTE: If called and Empty() is true, the value will be the type's zero value.

func (Option[T]) MarshalJSON

func (t Option[T]) MarshalJSON() ([]byte, error)

MarshalJSON implements the encoding/json#Marshaler interface

func (Option[T]) MarshalYAML

func (t Option[T]) MarshalYAML() (interface{}, error)

MarshalYAML implements the gopkg.in/yaml.v2#Marshal interface

func (Option[T]) OrElse

func (t Option[T]) OrElse(v T) T

OrElse returns the contained value if Defined() is true or returns the provided argument.

func (Option[T]) OrFirst

func (t Option[T]) OrFirst(vs ...Option[T]) Option[T]

OrFirst returns the contained value if Defined() is true or returns the first item from the provided list which is Defined().

func (Option[T]) OrLast

func (t Option[T]) OrLast(vs ...Option[T]) Option[T]

OrLast returns the contained value if Defined() is true or returns the first item from the provided list which is Defined() starting from the last value in the provided list.

func (Option[T]) String

func (t Option[T]) String() string

String implments the Stringer interface.

func (*Option[T]) UnmarshalJSON

func (t *Option[T]) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the encoding/json#Unmarshaler interface

func (*Option[T]) UnmarshalYAML

func (t *Option[T]) UnmarshalYAML(unmarshal func(interface{}) error) error

UnmarshalYAML implements the gopkg.in/yaml.v2#Unmarshal interface

Jump to

Keyboard shortcuts

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