1
1
// tslint:disable:no-any
2
- import { ComparisonFilter } from " @js-items/foundation/dist/interfaces/Filter" ;
3
- import { QueryBuilder } from " knex" ;
4
- import { addOperatorToQuery } from " ../knexFilters" ;
2
+ import { ComparisonFilter } from ' @js-items/foundation/dist/interfaces/Filter' ;
3
+ import { QueryBuilder } from ' knex' ;
4
+ import { addOperatorToQuery } from ' ../knexFilters' ;
5
5
6
6
const comparisonKeys : string [ ] = [
7
- " $eq" ,
8
- " $ne" ,
9
- " $lt" ,
10
- " $lte" ,
11
- " $gt" ,
12
- " $gte" ,
13
- " $search" ,
14
- " $in" ,
15
- " $nin" ,
16
- " $not"
7
+ ' $eq' ,
8
+ ' $ne' ,
9
+ ' $lt' ,
10
+ ' $lte' ,
11
+ ' $gt' ,
12
+ ' $gte' ,
13
+ ' $search' ,
14
+ ' $in' ,
15
+ ' $nin' ,
16
+ ' $not' ,
17
17
] ;
18
18
19
19
interface Options {
@@ -31,32 +31,30 @@ export const queryCreatorsMap: QueryCreator = {
31
31
filter . $eq !== undefined ? query . where ( property , filter . $eq ) : query ,
32
32
$gt : ( { filter, query, property } : Options ) =>
33
33
filter . $gt !== undefined
34
- ? addOperatorToQuery ( query , property , ">" , filter . $gt )
34
+ ? addOperatorToQuery ( query , property , '>' , filter . $gt )
35
35
: query ,
36
36
$gte : ( { filter, query, property } : Options ) =>
37
37
filter . $gte !== undefined
38
- ? addOperatorToQuery ( query , property , ">=" , filter . $gte )
38
+ ? addOperatorToQuery ( query , property , '>=' , filter . $gte )
39
39
: query ,
40
40
$in : ( { filter, query, property } : Options ) =>
41
41
filter . $in !== undefined
42
42
? query . whereIn ( property , filter . $in as any [ ] )
43
43
: query ,
44
44
$lt : ( { filter, query, property } : Options ) =>
45
45
filter . $lt !== undefined
46
- ? addOperatorToQuery ( query , property , "<" , filter . $lt )
46
+ ? addOperatorToQuery ( query , property , '<' , filter . $lt )
47
47
: query ,
48
48
$lte : ( { filter, query, property } : Options ) =>
49
49
filter . $lte !== undefined
50
- ? addOperatorToQuery ( query , property , "<=" , filter . $lte )
50
+ ? addOperatorToQuery ( query , property , '<=' , filter . $lte )
51
51
: query ,
52
52
$ne : ( { filter, query, property } : Options ) =>
53
53
filter . $ne !== undefined
54
- ? addOperatorToQuery ( query , property , "<>" , filter . $ne )
54
+ ? addOperatorToQuery ( query , property , '<>' , filter . $ne )
55
55
: query ,
56
56
$nin : ( { filter, query, property } : Options ) =>
57
- filter . $nin !== undefined
58
- ? query . whereNotIn ( property , filter . $nin )
59
- : query ,
57
+ filter . $nin !== undefined ? query . whereNotIn ( property , filter . $nin ) : query ,
60
58
$not : ( { filter, query, property } : Options ) =>
61
59
filter . $not !== undefined
62
60
? query . whereNot ( function ( this : QueryBuilder ) {
@@ -65,8 +63,8 @@ export const queryCreatorsMap: QueryCreator = {
65
63
: query ,
66
64
$search : ( { filter, query, property } : Options ) =>
67
65
filter . $search !== undefined
68
- ? query . where ( property , " like" , `%${ filter . $search } %` )
69
- : query
66
+ ? query . where ( property , ' like' , `%${ filter . $search } %` )
67
+ : query ,
70
68
} ;
71
69
72
70
const constructComparisonFilter = < Property > (
@@ -76,7 +74,7 @@ const constructComparisonFilter = <Property>(
76
74
) : QueryBuilder =>
77
75
comparisonKeys . reduce (
78
76
( prev , next ) =>
79
- ( filter as any ) [ next ]
77
+ ( filter as any ) [ next ] !== undefined
80
78
? queryCreatorsMap [ next ] ( { query, property, filter } )
81
79
: prev ,
82
80
query
0 commit comments