summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm
diff options
context:
space:
mode:
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