utils

package
v0.0.0-...-e76495e Latest Latest
Warning

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

Go to latest
Published: Aug 22, 2017 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ListFormatFunc

func ListFormatFunc(es []error) string

ListFormatFunc is a basic formatter that outputs the number of errors that occurred along with a bullet point list of the errors.

func NotifyInterrupt

func NotifyInterrupt() <-chan os.Signal

func Promise

func Promise(f PromiseFunc) chan error

Promise is a basic promise implementation: it wraps calls a function in a goroutine, and returns a channel which will later return the function's return value.

func PromiseCtx

func PromiseCtx(ctx context.Context, f func(ctx context.Context) error) chan error

Promise is a basic promise implementation: it wraps calls a function in a goroutine, and returns a channel which will later return the function's return value.

Types

type ErrorFormatFunc

type ErrorFormatFunc func([]error) string

ErrorFormatFunc is a function callback that is called by Error to turn the list of errors into a string.

type MultiError

type MultiError struct {
	Errors      []error
	ErrorFormat ErrorFormatFunc
}

MultiError is an error type to track multiple errors. This is used to accumulate errors in cases and return them as a single "error".

func AppendMulti

func AppendMulti(err error, errs ...error) *MultiError

AppendMulti is a helper function that will append more errors onto an Error in order to create a larger multi-error.

If err is not a multierror.Error, then it will be turned into one. If any of the errs are multierr.Error, they will be flattened one level into err.

func (*MultiError) Error

func (e *MultiError) Error() string

func (*MultiError) ErrorOrNil

func (e *MultiError) ErrorOrNil() error

ErrorOrNil returns an error interface if this Error represents a list of errors, or returns nil if the list of errors is empty. This function is useful at the end of accumulation to make sure that the value returned represents the existence of errors.

func (*MultiError) GoString

func (e *MultiError) GoString() string

func (*MultiError) WrappedErrors

func (e *MultiError) WrappedErrors() []error

WrappedErrors returns the list of errors that this Error is wrapping. It is an implementatin of the errwrap.Wrapper interface so that multierror.Error can be used with that library.

This method is not safe to be called concurrently and is no different than accessing the Errors field directly. It is implementd only to satisfy the errwrap.Wrapper interface.

type PromiseFunc

type PromiseFunc func() error

type Promises

type Promises []chan error

func (Promises) All

func (promises Promises) All() chan error

group asyncs and return grouped err after all async is finished

Jump to

Keyboard shortcuts

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