util

package
v0.5.22 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2022 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunWithTimeout

func RunWithTimeout[T any](
	ctx context.Context,
	timeout time.Duration,
	f func(context.Context) (T, error),
) (T, error)

RunWithTimeout executes function f with a context constructed from ctx with the addition of timeout.

func SafeFunc0

func SafeFunc0[U any](f func() U) func() (U, error)

SafeFunc0 returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func SafeFunc0E

func SafeFunc0E[U any](f func() (U, error)) func() (U, error)

SafeFunc0E returns a function that never panics. That function returns the same values as f if f doesn't panic and returns an error if f panics.

func SafeFunc0V

func SafeFunc0V(f func()) func() error

SafeFunc0V returns a function that never panics. That function returns nil if f doesn't panic and returns an error if f panics.

func SafeFunc0VE

func SafeFunc0VE(f func() error) func() error

SafeFunc0VE returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func SafeFunc1

func SafeFunc1[T1, U any](f func(T1) U) func(T1) (U, error)

SafeFunc1 returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func SafeFunc1E

func SafeFunc1E[T1, U any](f func(T1) (U, error)) func(T1) (U, error)

SafeFunc1E returns a function that never panics. That function returns the same values as f if f doesn't panic and returns an error if f panics.

func SafeFunc1V

func SafeFunc1V[T1 any](f func(T1)) func(T1) error

SafeFunc1V returns a function that never panics. That function returns nil if f doesn't panic and returns an error if f panics.

func SafeFunc1VE

func SafeFunc1VE[T1 any](f func(T1) error) func(T1) error

SafeFunc1VE returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func SafeFunc2

func SafeFunc2[T1, T2, U any](f func(T1, T2) U) func(T1, T2) (U, error)

SafeFunc2 returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func SafeFunc2E

func SafeFunc2E[T1, T2, U any](f func(T1, T2) (U, error)) func(T1, T2) (U, error)

SafeFunc2E returns a function that never panics. That function returns the same values as f if f doesn't panic and returns an error if f panics.

func SafeFunc2V

func SafeFunc2V[T1, T2 any](f func(T1, T2)) func(T1, T2) error

SafeFunc2V returns a function that never panics. That function returns nil if f doesn't panic and returns an error if f panics.

func SafeFunc2VE

func SafeFunc2VE[T1, T2 any](f func(T1, T2) error) func(T1, T2) error

SafeFunc2VE returns a function that never panics. That function returns the same value as f if f doesn't panic and returns an error if f panics.

func ToError

func ToError(x interface{}) error

ToError transforms an arbitrary value x into an error. If x is an error, it does nothing. Otherwise, it wraps x in an ErrorOf.

Types

type ErrorOf

type ErrorOf struct {
	Value interface{}
}

ErrorOf is a type that wraps an arbitrary value to turn the value into an error instance

func (ErrorOf) Error

func (err ErrorOf) Error() string

Error implements the error interface

type Tuple2

type Tuple2[T1, T2 any] struct {
	X1 T1
	X2 T2
}

Tuple2 is tuple with 2 elements

type Tuple3

type Tuple3[T1, T2, T3 any] struct {
	X1 T1
	X2 T2
	X3 T3
}

Tuple3 is tuple with 3 elements

type Tuple4

type Tuple4[T1, T2, T3, T4 any] struct {
	X1 T1
	X2 T2
	X3 T3
	X4 T4
}

Tuple4 is tuple with 4 elements

type Unit

type Unit = struct{}

Unit is a type alias representing the standard functional programming Unit type

Jump to

Keyboard shortcuts

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