Skip to content

Commit c58f96a

Browse files
committed
fix: fixes bug with not accepting null as comparison filter
1 parent 3d9b898 commit c58f96a

File tree

1 file changed

+22
-24
lines changed
  • src/utils/filterItems/constructComparisonFilter

1 file changed

+22
-24
lines changed

src/utils/filterItems/constructComparisonFilter/index.ts

Lines changed: 22 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
// 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';
55

66
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',
1717
];
1818

1919
interface Options {
@@ -31,32 +31,30 @@ export const queryCreatorsMap: QueryCreator = {
3131
filter.$eq !== undefined ? query.where(property, filter.$eq) : query,
3232
$gt: ({ filter, query, property }: Options) =>
3333
filter.$gt !== undefined
34-
? addOperatorToQuery(query, property, ">", filter.$gt)
34+
? addOperatorToQuery(query, property, '>', filter.$gt)
3535
: query,
3636
$gte: ({ filter, query, property }: Options) =>
3737
filter.$gte !== undefined
38-
? addOperatorToQuery(query, property, ">=", filter.$gte)
38+
? addOperatorToQuery(query, property, '>=', filter.$gte)
3939
: query,
4040
$in: ({ filter, query, property }: Options) =>
4141
filter.$in !== undefined
4242
? query.whereIn(property, filter.$in as any[])
4343
: query,
4444
$lt: ({ filter, query, property }: Options) =>
4545
filter.$lt !== undefined
46-
? addOperatorToQuery(query, property, "<", filter.$lt)
46+
? addOperatorToQuery(query, property, '<', filter.$lt)
4747
: query,
4848
$lte: ({ filter, query, property }: Options) =>
4949
filter.$lte !== undefined
50-
? addOperatorToQuery(query, property, "<=", filter.$lte)
50+
? addOperatorToQuery(query, property, '<=', filter.$lte)
5151
: query,
5252
$ne: ({ filter, query, property }: Options) =>
5353
filter.$ne !== undefined
54-
? addOperatorToQuery(query, property, "<>", filter.$ne)
54+
? addOperatorToQuery(query, property, '<>', filter.$ne)
5555
: query,
5656
$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,
6058
$not: ({ filter, query, property }: Options) =>
6159
filter.$not !== undefined
6260
? query.whereNot(function(this: QueryBuilder) {
@@ -65,8 +63,8 @@ export const queryCreatorsMap: QueryCreator = {
6563
: query,
6664
$search: ({ filter, query, property }: Options) =>
6765
filter.$search !== undefined
68-
? query.where(property, "like", `%${filter.$search}%`)
69-
: query
66+
? query.where(property, 'like', `%${filter.$search}%`)
67+
: query,
7068
};
7169

7270
const constructComparisonFilter = <Property>(
@@ -76,7 +74,7 @@ const constructComparisonFilter = <Property>(
7674
): QueryBuilder =>
7775
comparisonKeys.reduce(
7876
(prev, next) =>
79-
(filter as any)[next]
77+
(filter as any)[next] !== undefined
8078
? queryCreatorsMap[next]({ query, property, filter })
8179
: prev,
8280
query

0 commit comments

Comments
 (0)