Commit 7d69de13 authored by Greg Wilson's avatar Greg Wilson

added TEMPORARY startDateFromOptions, endDateFromOptions, and endDateFromOptionsDefaultNow methods

parent fc2e898e
...@@ -14,10 +14,14 @@ ...@@ -14,10 +14,14 @@
+ (NSString *)buildISO8601StringFromDate:(NSDate *)date; + (NSString *)buildISO8601StringFromDate:(NSDate *)date;
+ (NSPredicate *)predicateForSamplesToday; + (NSPredicate *)predicateForSamplesToday;
+ (NSPredicate *)predicateForSamplesOnDay:(NSDate *)date; + (NSPredicate *)predicateForSamplesOnDay:(NSDate *)date;
+ (NSPredicate *)predicateForSamplesBetweenDates:(NSDate *)startDate endDate:(NSDate *)endDate;
+ (NSPredicate *)predicateForSamplesOnDayFromTimestamp:(NSString *)timestamp; + (NSPredicate *)predicateForSamplesOnDayFromTimestamp:(NSString *)timestamp;
+ (double)doubleValueFromOptions:(NSDictionary *)options; + (double)doubleValueFromOptions:(NSDictionary *)options;
+ (NSDate *)dateFromOptions:(NSDictionary *)options; + (NSDate *)dateFromOptions:(NSDictionary *)options;
+ (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options; + (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options;
+ (NSDate *)startDateFromOptions:(NSDictionary *)options;
+ (NSDate *)endDateFromOptions:(NSDictionary *)options;
+ (NSDate *)endDateFromOptionsDefaultNow:(NSDictionary *)options;
+ (HKUnit *)hkUnitFromOptions:(NSDictionary *)options; + (HKUnit *)hkUnitFromOptions:(NSDictionary *)options;
@end @end
...@@ -49,6 +49,15 @@ ...@@ -49,6 +49,15 @@
return [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate]; return [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate];
} }
+ (NSPredicate *)predicateForSamplesBetweenDates:(NSDate *)startDate endDate:(NSDate *)endDate {
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *start = [calendar startOfDayForDate:startDate];
NSDate *end = endDate;
// NSDate *endDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:1 toDate:startDate options:0];
return [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate];
}
+ (double)doubleValueFromOptions:(NSDictionary *)options { + (double)doubleValueFromOptions:(NSDictionary *)options {
...@@ -66,7 +75,6 @@ ...@@ -66,7 +75,6 @@
return date; return date;
} }
+ (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options { + (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options {
NSString *dateString = [options objectForKey:@"date"]; NSString *dateString = [options objectForKey:@"date"];
if(dateString != nil){ if(dateString != nil){
...@@ -81,6 +89,44 @@ ...@@ -81,6 +89,44 @@
return now; return now;
} }
//TODO: make a generic function that can return NSDate by key... have 'default now' as option
+ (NSDate *)startDateFromOptions:(NSDictionary *)options {
NSString *dateString = [options objectForKey:@"startDate"];
NSDate *date;
if(dateString != nil){
date = [RCTAppleHealthKit parseISO8601DateFromString:dateString];
return date;
}
return date;
}
+ (NSDate *)endDateFromOptions:(NSDictionary *)options {
NSString *dateString = [options objectForKey:@"endDate"];
NSDate *date;
if(dateString != nil){
date = [RCTAppleHealthKit parseISO8601DateFromString:dateString];
}
return date;
}
+ (NSDate *)endDateFromOptionsDefaultNow:(NSDictionary *)options {
NSString *dateString = [options objectForKey:@"endDate"];
NSDate *date;
if(dateString != nil){
date = [RCTAppleHealthKit parseISO8601DateFromString:dateString];
return date;
}
if(date == nil){
date = [NSDate date];
}
return date;
}
+ (HKUnit *)hkUnitFromOptions:(NSDictionary *)options { + (HKUnit *)hkUnitFromOptions:(NSDictionary *)options {
NSString *unitString = [options objectForKey:@"unit"]; NSString *unitString = [options objectForKey:@"unit"];
HKUnit *theUnit; HKUnit *theUnit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment