Files
mayfly-go/server/pkg/biz/assert.go

74 lines
1.4 KiB
Go

package biz
import (
"fmt"
"mayfly-go/pkg/errorx"
"mayfly-go/pkg/utils/anyx"
"reflect"
)
// 断言错误为ni
// @param msgAndParams 消息与参数占位符,第一位为错误消息可包含%s等格式化标识。其余为Sprintf格式化值内容
//
// ErrIsNil(err)
// ErrIsNil(err, "xxxx")
// ErrIsNil(err, "xxxx: %s", "yyyy")
func ErrIsNil(err error, msgAndParams ...any) {
if err != nil {
if len(msgAndParams) == 0 {
panic(err)
}
panic(errorx.NewBiz(fmt.Sprintf(msgAndParams[0].(string), msgAndParams[1:]...)))
}
}
func ErrIsNilAppendErr(err error, msg string) {
if err != nil {
panic(errorx.NewBiz(fmt.Sprintf(msg, err.Error())))
}
}
func IsTrue(exp bool, msg string, params ...any) {
if !exp {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func IsTrueBy(exp bool, err errorx.BizError) {
if !exp {
panic(err)
}
}
func NotEmpty(str string, msg string, params ...any) {
if str == "" {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func NotNil(data any, msg string, params ...any) {
if reflect.ValueOf(data).IsNil() {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func NotBlank(data any, msg string, params ...any) {
if anyx.IsBlank(data) {
panic(errorx.NewBiz(fmt.Sprintf(msg, params...)))
}
}
func IsEquals(data any, data1 any, msg string) {
if data != data1 {
panic(errorx.NewBiz(msg))
}
}
func Nil(data any, msg string) {
if !reflect.ValueOf(data).IsNil() {
panic(errorx.NewBiz(msg))
}
}