package other import "fmt" // OutputIntoChannel takes a singular return value and sends it into the target channel. // This is a wrapper for functions where a value can't be collected from directly. // Example: goroutines func OutputIntoChannel[T any](out T, target chan T) { target <- out } // Must is a quick wrapper to ensure that a function exits without error. // If err is not nil, it panics. Otherwise val is returned. // The intended use is something like Must(someFunc()), where someFunc // has the signature someFunc() (T, error), with T being whatever type needed func Must[T any](val T, err error) T { if err != nil { panic(err) } return val } // IntoPointer returns a pointer to the given value func IntoPointer[T any](val T) *T { return &val } // Error formats error messages to follow a common convention of // "source: message: wrapped error" func Error(source, message string, err error) error { return fmt.Errorf("%s: %s: %w", source, message, err) }