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

added TEMPORARY startDateFromOptions, endDateFromOptions, and endDateFromOptionsDefaultNow methods

parent fc2e898e
......@@ -14,10 +14,14 @@
+ (NSString *)buildISO8601StringFromDate:(NSDate *)date;
+ (NSPredicate *)predicateForSamplesToday;
+ (NSPredicate *)predicateForSamplesOnDay:(NSDate *)date;
+ (NSPredicate *)predicateForSamplesBetweenDates:(NSDate *)startDate endDate:(NSDate *)endDate;
+ (NSPredicate *)predicateForSamplesOnDayFromTimestamp:(NSString *)timestamp;
+ (double)doubleValueFromOptions:(NSDictionary *)options;
+ (NSDate *)dateFromOptions:(NSDictionary *)options;
+ (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options;
+ (NSDate *)startDateFromOptions:(NSDictionary *)options;
+ (NSDate *)endDateFromOptions:(NSDictionary *)options;
+ (NSDate *)endDateFromOptionsDefaultNow:(NSDictionary *)options;
+ (HKUnit *)hkUnitFromOptions:(NSDictionary *)options;
@end
......@@ -49,6 +49,15 @@
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 {
......@@ -66,7 +75,6 @@
return date;
}
+ (NSDate *)dateFromOptionsDefaultNow:(NSDictionary *)options {
NSString *dateString = [options objectForKey:@"date"];
if(dateString != nil){
......@@ -81,6 +89,44 @@
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 {
NSString *unitString = [options objectForKey:@"unit"];
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