summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
diff options
context:
space:
mode:
authorMinh Nguyễn <mxn@1ec5.org>2018-07-05 15:08:24 -0700
committerMinh Nguyễn <mxn@1ec5.org>2018-07-09 16:02:40 -0700
commitf11ab91fc448aca1155b42a53aaa77cfce62f412 (patch)
treea463898359e31efa6852dde646ff88f7b575399a /platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
parentd6a454ba8eb4546a52d941c63bf0331353873ad6 (diff)
downloadqtlocation-mapboxgl-f11ab91fc448aca1155b42a53aaa77cfce62f412.tar.gz
[ios, macos] Convert predicate options to collators
Diffstat (limited to 'platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm')
-rw-r--r--platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm14
1 files changed, 11 insertions, 3 deletions
diff --git a/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm b/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
index 15aa71419d..af9216f9ce 100644
--- a/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
+++ b/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
@@ -140,10 +140,18 @@
[NSException raise:NSInvalidArgumentException
format:@"NSPredicateOperatorType:%lu is not supported.", (unsigned long)self.predicateOperatorType];
}
- if (op) {
- return @[op, self.leftExpression.mgl_jsonExpressionObject, self.rightExpression.mgl_jsonExpressionObject];
+ if (!op) {
+ return nil;
}
- return nil;
+ NSArray *comparisonArray = @[op, self.leftExpression.mgl_jsonExpressionObject, self.rightExpression.mgl_jsonExpressionObject];
+ if (self.options) {
+ NSDictionary *collatorObject = @{
+ @"case-sensitive": @(!(self.options & NSCaseInsensitivePredicateOption)),
+ @"diacritic-sensitive": @(!(self.options & NSDiacriticInsensitivePredicateOption)),
+ };
+ return [comparisonArray arrayByAddingObject:@[@"collator", collatorObject]];
+ }
+ return comparisonArray;
}
@end