Skip to content

Commit 70a3e94

Browse files
cartantkatowulf
authored and
katowulf
committed
fix(database): allow null values for equalTo, etc.
Values passed for equalTo, startAt and endAt should be allowed to be null. Closes #704.
1 parent 4712c5b commit 70a3e94

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

src/database/firebase_list_factory.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@ export function FirebaseListFactory (
4949
}
5050

5151
// check equalTo
52-
if (!utils.isNil(query.equalTo)) {
53-
queried = queried.equalTo(query.equalTo);
52+
if (utils.hasKey(query, "equalTo")) {
53+
queried = queried.equalTo(query.equalTo);
5454

55-
if (!utils.isNil(query.startAt) || query.endAt) {
55+
if (utils.hasKey(query, "startAt") || utils.hasKey(query, "endAt")) {
5656
throw new Error('Query Error: Cannot use startAt or endAt with equalTo.');
5757
}
5858

@@ -69,11 +69,11 @@ export function FirebaseListFactory (
6969
}
7070

7171
// check startAt
72-
if (!utils.isNil(query.startAt)) {
72+
if (utils.hasKey(query, "startAt")) {
7373
queried = queried.startAt(query.startAt);
7474
}
7575

76-
if (!utils.isNil(query.endAt)) {
76+
if (utils.hasKey(query, "endAt")) {
7777
queried = queried.endAt(query.endAt);
7878
}
7979

src/utils.ts

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ export function isNil(obj: any): boolean {
88
return obj === undefined || obj === null;
99
}
1010

11+
export function hasKey(obj: Object, key: string): boolean {
12+
return obj && obj[key] !== undefined;
13+
}
14+
1115
export function isString(value: any): boolean {
1216
return typeof value === 'string';
1317
}

0 commit comments

Comments
 (0)