@@ -15,6 +15,55 @@ @implementation RCTAppleHealthKit (Utils)
15
15
16
16
#pragma mark - Utilities
17
17
18
+ + (NSArray *)formatWorkoutEvents : (NSArray *)workoutEvents
19
+ {
20
+ NSMutableArray *formattedWorkEvents = [[NSMutableArray alloc ] init ];
21
+
22
+ for (id workoutEvent in workoutEvents) {
23
+ NSNumber *eventType = [workoutEvent valueForKey: @" type" ];
24
+ NSString *eventDescription = @" " ;
25
+
26
+ switch ([eventType intValue ]) {
27
+ case (int )HKWorkoutEventTypePause:
28
+ eventDescription = @" pause" ;
29
+ break ;
30
+ case (int )HKWorkoutEventTypeResume:
31
+ eventDescription = @" resume" ;
32
+ break ;
33
+ case (int )HKWorkoutEventTypeMotionPaused:
34
+ eventDescription = @" motion paused" ;
35
+ break ;
36
+ case (int )HKWorkoutEventTypeMotionResumed:
37
+ eventDescription = @" motion resumed" ;
38
+ break ;
39
+ case (int )HKWorkoutEventTypePauseOrResumeRequest:
40
+ eventDescription = @" pause or resume request" ;
41
+ break ;
42
+ case (int )HKWorkoutEventTypeLap:
43
+ eventDescription = @" lap" ;
44
+ break ;
45
+ case (int )HKWorkoutEventTypeSegment:
46
+ eventDescription = @" segment" ;
47
+ break ;
48
+ case (int )HKWorkoutEventTypeMarker:
49
+ eventDescription = @" marker" ;
50
+ default :
51
+ eventDescription = @" " ;
52
+ }
53
+
54
+
55
+ NSObject *formattedEvent = @{
56
+ @" eventTypeInt" :eventType,
57
+ @" eventType" : eventDescription,
58
+ @" startDate" : [RCTAppleHealthKit buildISO8601StringFromDate: [[workoutEvent dateInterval ] startDate ]],
59
+ @" endDate" : [RCTAppleHealthKit buildISO8601StringFromDate: [[workoutEvent dateInterval ] endDate ]]
60
+ };
61
+ [formattedWorkEvents addObject: formattedEvent];
62
+ }
63
+
64
+ return formattedWorkEvents;
65
+ }
66
+
18
67
+ (NSDate *)parseISO8601DateFromString : (NSString *)date
19
68
{
20
69
@try {
0 commit comments