28 lines
511 B
Go
28 lines
511 B
Go
package filter
|
|
|
|
type AndOperator struct {
|
|
children []Operator
|
|
}
|
|
|
|
func (o *AndOperator) Token() Token {
|
|
return TokenAnd
|
|
}
|
|
|
|
func (o *AndOperator) AsMap() map[string]any {
|
|
children := make([]map[string]any, 0, len(o.children))
|
|
for _, c := range o.children {
|
|
children = append(children, c.AsMap())
|
|
}
|
|
return map[string]any{
|
|
string(TokenAnd): children,
|
|
}
|
|
}
|
|
|
|
func (o *AndOperator) Children() []Operator {
|
|
return o.children
|
|
}
|
|
|
|
func NewAndOperator(ops ...Operator) *AndOperator {
|
|
return &AndOperator{ops}
|
|
}
|