@@ -77,6 +77,10 @@ function filterQuery(resourceConfig, params, options) {
77
77
subQuery = subQuery ? subQuery . and ( row ( field ) . default ( null ) . lt ( v ) ) : row ( field ) . default ( null ) . lt ( v ) ;
78
78
} else if ( op === '<=' ) {
79
79
subQuery = subQuery ? subQuery . and ( row ( field ) . default ( null ) . le ( v ) ) : row ( field ) . default ( null ) . le ( v ) ;
80
+ } else if ( op === 'isectEmpty' ) {
81
+ subQuery = subQuery ? subQuery . and ( row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . eq ( 0 ) ) : row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . eq ( 0 ) ;
82
+ } else if ( op === 'isectNotEmpty' ) {
83
+ subQuery = subQuery ? subQuery . and ( row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . ne ( 0 ) ) : row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . ne ( 0 ) ;
80
84
} else if ( op === 'in' ) {
81
85
subQuery = subQuery ? subQuery . and ( r . expr ( v ) . default ( r . expr ( [ ] ) ) . contains ( row ( field ) . default ( null ) ) ) : r . expr ( v ) . default ( r . expr ( [ ] ) ) . contains ( row ( field ) . default ( null ) ) ;
82
86
} else if ( op === 'notIn' ) {
@@ -93,6 +97,10 @@ function filterQuery(resourceConfig, params, options) {
93
97
subQuery = subQuery ? subQuery . or ( row ( field ) . default ( null ) . lt ( v ) ) : row ( field ) . default ( null ) . lt ( v ) ;
94
98
} else if ( op === '|<=' ) {
95
99
subQuery = subQuery ? subQuery . or ( row ( field ) . default ( null ) . le ( v ) ) : row ( field ) . default ( null ) . le ( v ) ;
100
+ } else if ( op === '|isectEmpty' ) {
101
+ subQuery = subQuery ? subQuery . or ( row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . eq ( 0 ) ) : row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . eq ( 0 ) ;
102
+ } else if ( op === '|isectNotEmpty' ) {
103
+ subQuery = subQuery ? subQuery . or ( row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . ne ( 0 ) ) : row ( field ) . default ( [ ] ) . setIntersection ( r . expr ( v ) . default ( [ ] ) ) . count ( ) . ne ( 0 ) ;
96
104
} else if ( op === '|in' ) {
97
105
subQuery = subQuery ? subQuery . or ( r . expr ( v ) . default ( r . expr ( [ ] ) ) . contains ( row ( field ) . default ( null ) ) ) : r . expr ( v ) . default ( r . expr ( [ ] ) ) . contains ( row ( field ) . default ( null ) ) ;
98
106
} else if ( op === '|notIn' ) {
0 commit comments