diff options
author | Minh Nguyễn <mxn@1ec5.org> | 2018-07-05 15:08:24 -0700 |
---|---|---|
committer | Minh Nguyễn <mxn@1ec5.org> | 2018-07-09 16:02:40 -0700 |
commit | f11ab91fc448aca1155b42a53aaa77cfce62f412 (patch) | |
tree | a463898359e31efa6852dde646ff88f7b575399a /platform/darwin/src/NSComparisonPredicate+MGLAdditions.mm | |
parent | d6a454ba8eb4546a52d941c63bf0331353873ad6 (diff) | |
download | qtlocation-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.mm | 14 |
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 |