summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSPredicate+MGLAdditions.mm
diff options
context:
space:
mode:
authorFabian Guerra <fabian.guerra@mapbox.com>2018-04-11 10:37:43 -0400
committerFabian Guerra <fabian.guerra@mapbox.com>2018-04-12 10:11:53 -0400
commitb889e608c569a53f3853055d6c2cbd60b09cada6 (patch)
tree6b23d8b16d0e84f4dfcb10e2805d5cc4d42a6308 /platform/darwin/src/NSPredicate+MGLAdditions.mm
parentd6139f0d0bec9cd489aa117a2cf956f31e5db9cf (diff)
downloadqtlocation-mapboxgl-b889e608c569a53f3853055d6c2cbd60b09cada6.tar.gz
[ios, macos] Add NSPredicate 'IN' expression filter support .
Diffstat (limited to 'platform/darwin/src/NSPredicate+MGLAdditions.mm')
-rw-r--r--platform/darwin/src/NSPredicate+MGLAdditions.mm4
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/darwin/src/NSPredicate+MGLAdditions.mm b/platform/darwin/src/NSPredicate+MGLAdditions.mm
index ba616d2228..aeaf667b45 100644
--- a/platform/darwin/src/NSPredicate+MGLAdditions.mm
+++ b/platform/darwin/src/NSPredicate+MGLAdditions.mm
@@ -319,6 +319,10 @@ NSArray *MGLSubpredicatesWithJSONObjects(NSArray *objects) {
NSArray *subpredicates = MGLSubpredicatesWithJSONObjects([objects subarrayWithRange:NSMakeRange(1, objects.count - 1)]);
return [NSCompoundPredicate orPredicateWithSubpredicates:subpredicates];
}
+ if ([op isEqualToString:@"match"]) {
+ NSArray *subpredicates = MGLSubexpressionsWithJSONObjects([objects subarrayWithRange:NSMakeRange(1, objects.count - 1)]);
+ return [NSPredicate predicateWithFormat:@"%@ IN %@" argumentArray:subpredicates];
+ }
NSAssert(NO, @"Unrecognized expression conditional operator %@.", op);
return nil;