package common import "reflect" // Must panics if err is not nil. func Must(err error) { if err != nil { panic(err) } } // Must2 panics if the second parameter is not nil, otherwise returns the first parameter. func Must2(v interface{}, err error) interface{} { Must(err) return v } // Error2 returns the err from the 2nd parameter. func Error2(v interface{}, err error) error { return err } // CloseIfExists call obj.Close() if obj is not nil. func CloseIfExists(obj any) error { if obj != nil { v := reflect.ValueOf(obj) if !v.IsNil() { return Close(obj) } } return nil }