3
0

Update dal internal filter to conform to new interface

This commit is contained in:
Tomaž Jerman
2022-08-29 19:04:32 +02:00
parent eb57c03e6c
commit 625d4c2e0f
+13
View File
@@ -23,6 +23,7 @@ type (
func (f internalFilter) Constraints() map[string][]any { return f.constraints }
func (f internalFilter) StateConstraints() map[string]filter.State { return f.stateConstraints }
func (f internalFilter) MetaConstraints() map[string]any { return nil }
func (f internalFilter) Expression() string { return f.expression }
func (f internalFilter) OrderBy() filter.SortExprSet { return f.orderBy }
func (f internalFilter) Limit() uint { return f.limit }
@@ -57,6 +58,18 @@ func toInternalFilter(f filter.Filter) (out internalFilter, err error) {
return
}
func FilterForExpr(n *ql.ASTNode) internalFilter {
// @todo consider adding string expr for consistency
return internalFilter{
expParsed: n,
}
}
func (a internalFilter) WithConstraints(c map[string][]any) internalFilter {
a.constraints = c
return a
}
// mergeFilters returns a new filter based on a overwritten by values from b
func (a internalFilter) mergeFilters(b internalFilter) (c internalFilter) {
c = a