mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 00:11:26 +00:00
Allow simple predicates on NSDate.
This commit is contained in:
parent
4549f56bc6
commit
4d7da7ee80
2 changed files with 24 additions and 8 deletions
|
@ -1,3 +1,7 @@
|
|||
2020-01-20 Fred Kiefer <fredkiefer@gmx.de>
|
||||
|
||||
* Source/NSPredicate.m: Allow simple predicates on NSDate.
|
||||
|
||||
2020-01-20 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/GSTLS.m: remove certificate key password from hash key of
|
||||
|
|
|
@ -891,6 +891,18 @@ GSICUStringMatchesRegex(NSString *string, NSString *regex, NSStringCompareOption
|
|||
}
|
||||
#endif
|
||||
|
||||
- (double) doubleValueFor: (id)value
|
||||
{
|
||||
if ([value isKindOfClass: [NSDate class]])
|
||||
{
|
||||
return [(NSDate*)value timeIntervalSinceReferenceDate];
|
||||
}
|
||||
else
|
||||
{
|
||||
return [value doubleValue];
|
||||
}
|
||||
}
|
||||
|
||||
- (BOOL) _evaluateLeftValue: (id)leftResult
|
||||
rightValue: (id)rightResult
|
||||
object: (id)object
|
||||
|
@ -942,26 +954,26 @@ GSICUStringMatchesRegex(NSString *string, NSString *regex, NSStringCompareOption
|
|||
{
|
||||
case NSLessThanPredicateOperatorType:
|
||||
{
|
||||
double ld = [leftResult doubleValue];
|
||||
double rd = [rightResult doubleValue];
|
||||
double ld = [self doubleValueFor: leftResult];
|
||||
double rd = [self doubleValueFor: rightResult];
|
||||
return (ld < rd) ? YES : NO;
|
||||
}
|
||||
case NSLessThanOrEqualToPredicateOperatorType:
|
||||
{
|
||||
double ld = [leftResult doubleValue];
|
||||
double rd = [rightResult doubleValue];
|
||||
double ld = [self doubleValueFor: leftResult];
|
||||
double rd = [self doubleValueFor: rightResult];
|
||||
return (ld <= rd) ? YES : NO;
|
||||
}
|
||||
case NSGreaterThanPredicateOperatorType:
|
||||
{
|
||||
double ld = [leftResult doubleValue];
|
||||
double rd = [rightResult doubleValue];
|
||||
double ld = [self doubleValueFor: leftResult];
|
||||
double rd = [self doubleValueFor: rightResult];
|
||||
return (ld > rd) ? YES : NO;
|
||||
}
|
||||
case NSGreaterThanOrEqualToPredicateOperatorType:
|
||||
{
|
||||
double ld = [leftResult doubleValue];
|
||||
double rd = [rightResult doubleValue];
|
||||
double ld = [self doubleValueFor: leftResult];
|
||||
double rd = [self doubleValueFor: rightResult];
|
||||
return (ld >= rd) ? YES : NO;
|
||||
}
|
||||
case NSEqualToPredicateOperatorType:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue