Parse feature types in set filters

A filter key of `$type` should work in an `in` filter, just like in an `==` filter.
This commit is contained in:
Minh Nguyễn
2015-05-07 08:35:41 -07:00
parent d3d125694d
commit 6292e95f80

View File

@@ -59,7 +59,11 @@ FilterExpression parseSetFilter(const rapidjson::Value& value) {
Expression expression;
expression.key = { value[1u].GetString(), value[1u].GetStringLength() };
for (rapidjson::SizeType i = 2; i < value.Size(); ++i) {
expression.values.push_back(parseValue(value[i]));
Value parsedValue = parseValue(value[i]);
if (expression.key == "$type") {
parsedValue = parseFeatureType(parsedValue);
}
expression.values.push_back(parsedValue);
}
return expression;
}