[feat] 新增 SetOption

This commit is contained in:
2024-05-09 10:35:14 +08:00
parent 37018837d1
commit a871ccfa75
2 changed files with 17 additions and 15 deletions
+9 -8
View File
@@ -39,6 +39,8 @@ const (
NOT_REGEXP ConditionOperator = "NOT REGEXP"
)
type ExprOption func(option *ConditionExpr)
type ConditionTokenValue interface {
GetParam(k string) req.GlobalParams
GetGlobalParamsUser() req.User
@@ -232,7 +234,12 @@ func (this ConditionExpr) IsIgnoreEmptyParma(m ConditionTokenValue) bool {
return false
}
type ExprOption func(option *ConditionExpr)
func (this *ConditionExpr) SetOption(opts ...ExprOption) *ConditionExpr {
for i := 0; i < len(opts); i++ {
opts[i](this)
}
return this
}
func Operator(v ConditionOperator) ExprOption {
return func(option *ConditionExpr) {
@@ -271,12 +278,6 @@ func NewExpr(rResource, rField string, opts ...ExprOption) *ConditionExpr {
fieldSqlFunc: "",
fieldSqlFuncParam: "",
}
if l := len(opts); l > 0 {
for i := 0; i < l; i++ {
opts[i](expr)
}
}
expr.SetOption(opts...)
return expr
}