From 93b95c21d1298c3cbb1440bff20f6e9b63192546 Mon Sep 17 00:00:00 2001 From: Sunny Patel Date: Thu, 21 Jun 2018 09:44:48 -0500 Subject: [PATCH] Allow Query Filter values of null, undefined, or NaN to coalesce into a Unary Filter. --- Query.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Query.js b/Query.js index fe745a0..d38daad 100644 --- a/Query.js +++ b/Query.js @@ -46,11 +46,17 @@ var FirestoreQuery_ = function (from, callback) { const filter = function (field, operator, value) { // @see {@link https://firebase.google.com/docs/firestore/reference/rest/v1beta1/StructuredQuery#FieldFilter Field Filter} if (operator in fieldOps) { - return { - fieldFilter: { - field: fieldRef(field), - op: fieldOps[operator], - value: wrapValue_(value) + if (value == null) { // Covers null and undefined values + operator = 'null' + } else if (isNaN(value)) { // Covers NaN + operator = 'nan' + } else { + return { + fieldFilter: { + field: fieldRef(field), + op: fieldOps[operator], + value: wrapValue_(value) + } } } }