Accept only bool for $exists in LiveQuery

This commit is contained in:
Drew Gross
2016-03-31 18:49:58 -07:00
parent 3f8a1aae02
commit 01af755d18

View File

@@ -208,6 +208,11 @@ function matchesKeyConstraints(object, key, constraints) {
case '$exists':
let propertyExists = typeof object[key] !== 'undefined';
let existenceIsRequired = constraints['$exists'];
if (typeof constraints['$exists'] !== 'boolean') {
// The SDK will never submit a non-boolean for $exists, but if someone
// tries to submit a non-boolean for $exits outside the SDKs, just ignore it.
break;
}
if ((!propertyExists && existenceIsRequired) || (propertyExists && !existenceIsRequired)) {
return false;
}