2025-06-08 19:35:59 +03:00
|
|
|
package common
|
|
|
|
|
|
2025-12-11 02:46:57 +03:00
|
|
|
import "reflect"
|
|
|
|
|
|
2025-06-08 19:35:59 +03:00
|
|
|
// 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
|
|
|
|
|
}
|
2025-12-11 02:46:57 +03:00
|
|
|
|
|
|
|
|
// 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
|
|
|
|
|
}
|