react-native-rook-sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +31 -0
  3. package/android/build.gradle +95 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/AndroidManifestNew.xml +38 -0
  7. package/android/src/main/java/com/rooksdk/HealthConnectPermissionsActivity.kt +45 -0
  8. package/android/src/main/java/com/rooksdk/RookDateTime.kt +12 -0
  9. package/android/src/main/java/com/rooksdk/RookSdkModule.kt +575 -0
  10. package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +17 -0
  11. package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
  12. package/android/src/main/res/layout/activity_health_connect_permissions.xml +15 -0
  13. package/android/src/main/res/values/themes.xml +3 -0
  14. package/ios/RookSdk.h +13 -0
  15. package/ios/RookSdk.mm +568 -0
  16. package/lib/commonjs/context/RookSyncGateContext.js +19 -0
  17. package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
  18. package/lib/commonjs/context/RookSyncGateProvider.js +70 -0
  19. package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
  20. package/lib/commonjs/context/RookSyncGateReducer.js +39 -0
  21. package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
  22. package/lib/commonjs/context/RookSyncGateTypes.js +2 -0
  23. package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
  24. package/lib/commonjs/context/index.js +14 -0
  25. package/lib/commonjs/context/index.js.map +1 -0
  26. package/lib/commonjs/hooks/index.js +48 -0
  27. package/lib/commonjs/hooks/index.js.map +1 -0
  28. package/lib/commonjs/hooks/useRookAppleHealth.js +143 -0
  29. package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
  30. package/lib/commonjs/hooks/useRookConfiguration.js +90 -0
  31. package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
  32. package/lib/commonjs/hooks/useRookEvents.js +239 -0
  33. package/lib/commonjs/hooks/useRookEvents.js.map +1 -0
  34. package/lib/commonjs/hooks/useRookHealthConnect.js +124 -0
  35. package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
  36. package/lib/commonjs/hooks/useRookPermissions.js +59 -0
  37. package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
  38. package/lib/commonjs/hooks/useRookSummaries.js +110 -0
  39. package/lib/commonjs/hooks/useRookSummaries.js.map +1 -0
  40. package/lib/commonjs/index.js +28 -0
  41. package/lib/commonjs/index.js.map +1 -0
  42. package/lib/commonjs/utils/credentials.js +11 -0
  43. package/lib/commonjs/utils/credentials.js.map +1 -0
  44. package/lib/commonjs/utils/getRookModule.js +21 -0
  45. package/lib/commonjs/utils/getRookModule.js.map +1 -0
  46. package/lib/commonjs/utils/index.js +63 -0
  47. package/lib/commonjs/utils/index.js.map +1 -0
  48. package/lib/commonjs/utils/isModuleReady.js +13 -0
  49. package/lib/commonjs/utils/isModuleReady.js.map +1 -0
  50. package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
  51. package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
  52. package/lib/commonjs/utils/isRunningOniOS.js +15 -0
  53. package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
  54. package/lib/commonjs/utils/isValidDate.js +14 -0
  55. package/lib/commonjs/utils/isValidDate.js.map +1 -0
  56. package/lib/commonjs/utils/loggerDescription.js +24 -0
  57. package/lib/commonjs/utils/loggerDescription.js.map +1 -0
  58. package/lib/commonjs/utils/packageInfo.js +13 -0
  59. package/lib/commonjs/utils/packageInfo.js.map +1 -0
  60. package/lib/module/context/RookSyncGateContext.js +11 -0
  61. package/lib/module/context/RookSyncGateContext.js.map +1 -0
  62. package/lib/module/context/RookSyncGateProvider.js +60 -0
  63. package/lib/module/context/RookSyncGateProvider.js.map +1 -0
  64. package/lib/module/context/RookSyncGateReducer.js +32 -0
  65. package/lib/module/context/RookSyncGateReducer.js.map +1 -0
  66. package/lib/module/context/RookSyncGateTypes.js +2 -0
  67. package/lib/module/context/RookSyncGateTypes.js.map +1 -0
  68. package/lib/module/context/index.js +2 -0
  69. package/lib/module/context/index.js.map +1 -0
  70. package/lib/module/hooks/index.js +7 -0
  71. package/lib/module/hooks/index.js.map +1 -0
  72. package/lib/module/hooks/useRookAppleHealth.js +135 -0
  73. package/lib/module/hooks/useRookAppleHealth.js.map +1 -0
  74. package/lib/module/hooks/useRookConfiguration.js +83 -0
  75. package/lib/module/hooks/useRookConfiguration.js.map +1 -0
  76. package/lib/module/hooks/useRookEvents.js +231 -0
  77. package/lib/module/hooks/useRookEvents.js.map +1 -0
  78. package/lib/module/hooks/useRookHealthConnect.js +116 -0
  79. package/lib/module/hooks/useRookHealthConnect.js.map +1 -0
  80. package/lib/module/hooks/useRookPermissions.js +52 -0
  81. package/lib/module/hooks/useRookPermissions.js.map +1 -0
  82. package/lib/module/hooks/useRookSummaries.js +102 -0
  83. package/lib/module/hooks/useRookSummaries.js.map +1 -0
  84. package/lib/module/index.js +3 -0
  85. package/lib/module/index.js.map +1 -0
  86. package/lib/module/utils/credentials.js +5 -0
  87. package/lib/module/utils/credentials.js.map +1 -0
  88. package/lib/module/utils/getRookModule.js +14 -0
  89. package/lib/module/utils/getRookModule.js.map +1 -0
  90. package/lib/module/utils/index.js +9 -0
  91. package/lib/module/utils/index.js.map +1 -0
  92. package/lib/module/utils/isModuleReady.js +6 -0
  93. package/lib/module/utils/isModuleReady.js.map +1 -0
  94. package/lib/module/utils/isRunningOnAndroid.js +8 -0
  95. package/lib/module/utils/isRunningOnAndroid.js.map +1 -0
  96. package/lib/module/utils/isRunningOniOS.js +8 -0
  97. package/lib/module/utils/isRunningOniOS.js.map +1 -0
  98. package/lib/module/utils/isValidDate.js +7 -0
  99. package/lib/module/utils/isValidDate.js.map +1 -0
  100. package/lib/module/utils/loggerDescription.js +17 -0
  101. package/lib/module/utils/loggerDescription.js.map +1 -0
  102. package/lib/module/utils/packageInfo.js +7 -0
  103. package/lib/module/utils/packageInfo.js.map +1 -0
  104. package/lib/typescript/src/context/RookSyncGateContext.d.ts +11 -0
  105. package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -0
  106. package/lib/typescript/src/context/RookSyncGateProvider.d.ts +11 -0
  107. package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -0
  108. package/lib/typescript/src/context/RookSyncGateReducer.d.ts +3 -0
  109. package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -0
  110. package/lib/typescript/src/context/RookSyncGateTypes.d.ts +26 -0
  111. package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -0
  112. package/lib/typescript/src/context/index.d.ts +2 -0
  113. package/lib/typescript/src/context/index.d.ts.map +1 -0
  114. package/lib/typescript/src/hooks/index.d.ts +7 -0
  115. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  116. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +12 -0
  117. package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -0
  118. package/lib/typescript/src/hooks/useRookConfiguration.d.ts +12 -0
  119. package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -0
  120. package/lib/typescript/src/hooks/useRookEvents.d.ts +17 -0
  121. package/lib/typescript/src/hooks/useRookEvents.d.ts.map +1 -0
  122. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts +12 -0
  123. package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -0
  124. package/lib/typescript/src/hooks/useRookPermissions.d.ts +12 -0
  125. package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -0
  126. package/lib/typescript/src/hooks/useRookSummaries.d.ts +15 -0
  127. package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -0
  128. package/lib/typescript/src/index.d.ts +3 -0
  129. package/lib/typescript/src/index.d.ts.map +1 -0
  130. package/lib/typescript/src/utils/credentials.d.ts +5 -0
  131. package/lib/typescript/src/utils/credentials.d.ts.map +1 -0
  132. package/lib/typescript/src/utils/getRookModule.d.ts +2 -0
  133. package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
  134. package/lib/typescript/src/utils/index.d.ts +9 -0
  135. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  136. package/lib/typescript/src/utils/isModuleReady.d.ts +2 -0
  137. package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -0
  138. package/lib/typescript/src/utils/isRunningOnAndroid.d.ts +3 -0
  139. package/lib/typescript/src/utils/isRunningOnAndroid.d.ts.map +1 -0
  140. package/lib/typescript/src/utils/isRunningOniOS.d.ts +2 -0
  141. package/lib/typescript/src/utils/isRunningOniOS.d.ts.map +1 -0
  142. package/lib/typescript/src/utils/isValidDate.d.ts +2 -0
  143. package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -0
  144. package/lib/typescript/src/utils/loggerDescription.d.ts +10 -0
  145. package/lib/typescript/src/utils/loggerDescription.d.ts.map +1 -0
  146. package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
  147. package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
  148. package/package.json +170 -0
  149. package/react-native-rook-sdk.podspec +43 -0
package/ios/RookSdk.mm ADDED
@@ -0,0 +1,568 @@
1
+ #import "RookSdk.h"
2
+ #import "RookSDK/RookSDK-Swift.h"
3
+ #import "RookAppleHealth/RookAppleHealth-Swift.h"
4
+
5
+ // MARK: - Utils
6
+ NSString *convertToString(id value) {
7
+ if ([value isKindOfClass:[NSString class]]) {
8
+ return (NSString *)value;
9
+ } else {
10
+ return [value description];
11
+ }
12
+ }
13
+
14
+ NSDate *parseDateFromString(NSString * dateString) {
15
+ NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
16
+
17
+ [dateFormatter setDateFormat:@"yyyy-MM-dd"];
18
+
19
+ NSDate *date = [dateFormatter dateFromString:dateString];
20
+
21
+ return date;
22
+ }
23
+
24
+ NSError *errorFromException(NSException *exception) {
25
+ NSMutableDictionary *errorInfo = [NSMutableDictionary dictionary];
26
+ errorInfo[NSLocalizedDescriptionKey] = [NSString stringWithFormat:@"Exception caught: %@", exception.name];
27
+ errorInfo[NSLocalizedFailureReasonErrorKey] = exception.reason;
28
+
29
+ return [NSError errorWithDomain:@"com.mydomain.MyApp" code:500 userInfo:errorInfo];
30
+ }
31
+
32
+ // MARK: - Module
33
+ @implementation RookSdk
34
+ {
35
+ bool hasListeners;
36
+ }
37
+
38
+ RCT_EXPORT_MODULE()
39
+
40
+ -(void)startObserving {
41
+ NSLog(@"Alguien esta escuchando");
42
+ hasListeners = YES;
43
+ }
44
+
45
+ // Will be called when this module's last listener is removed, or on dealloc.
46
+ -(void)stopObserving {
47
+ hasListeners = NO;
48
+ NSLog(@"Dejo de escuchar");
49
+ [[RookBackGroundExtraction shared] disableBackGroundForStepsObjcWithCompletion:^(BOOL, NSError * _Nullable) {}];
50
+ [[RookBackGroundExtraction shared] disableBackGroundForCaloriesObjcWithCompletion:^(BOOL, NSError * _Nullable) {}];
51
+ }
52
+
53
+ - (NSArray<NSString *> *)supportedEvents {
54
+ return @[@"RookStepsUpdate", @"RookCaloriesUpdate"];
55
+ }
56
+
57
+ RookConnectConfigurationManagerObjc *shared;
58
+ RookConnectPermissionsManager *permissionsManager;
59
+ RookSummaryManger *summaryManager;
60
+ RookEventsManager *eventsManager;
61
+ RookVariableExtractionManager *variableManager;
62
+
63
+ // MARK: - Configuration
64
+ RCT_EXPORT_METHOD(initRook:(NSDictionary *) data
65
+ resolve:(RCTPromiseResolveBlock)resolve
66
+ reject:(RCTPromiseRejectBlock)reject) {
67
+
68
+ shared = [RookConnectConfigurationManagerObjc shared];
69
+ [shared setConfigurationWithClientUUID:convertToString(data[@"clientUUID"])
70
+ secretKey:convertToString(data[@"password"])];
71
+
72
+ NSString *environment = convertToString(data[@"environment"]);
73
+
74
+ NSDictionary *opcionActions = @{
75
+ @"production": ^{
76
+ [shared setEnvironmentForProduction];
77
+ [[IOSClass shared] disableTest];
78
+ },
79
+ @"sandbox": ^{
80
+ [shared setEnvironmentForSandbox];
81
+ [[IOSClass shared] disableTest];
82
+ },
83
+ @"development": ^{
84
+ [[IOSClass shared] test];
85
+ }
86
+ };
87
+
88
+ void (^selectAction)(void) = opcionActions[environment];
89
+ if (selectAction) selectAction();
90
+
91
+ [shared initRook];
92
+
93
+ permissionsManager = [RookConnectPermissionsManager new];
94
+ summaryManager = [RookSummaryManger new];
95
+ eventsManager = [RookEventsManager new];
96
+ variableManager = [RookVariableExtractionManager new];
97
+
98
+ resolve(@(YES));
99
+ }
100
+
101
+ RCT_EXPORT_METHOD(getUserID: (RCTPromiseResolveBlock)resolve
102
+ reject:(RCTPromiseRejectBlock)reject) {
103
+
104
+ [shared readUserIdWithCompletion:^(NSString * _Nullable userID, NSError * _Nullable error) {
105
+
106
+ if(error != nil) {
107
+ reject(@"event_failure", error.description, error);
108
+ return;
109
+ }
110
+
111
+ resolve(userID);
112
+
113
+ }];
114
+
115
+ }
116
+
117
+ RCT_EXPORT_METHOD(updateUserID: (NSString *) userID
118
+ resolve:(RCTPromiseResolveBlock)resolve
119
+ reject:(RCTPromiseRejectBlock)reject) {
120
+
121
+ [shared updateUserId:userID completion:^(BOOL success, NSError * _Nullable error) {
122
+ if(error != nil) {
123
+ reject(@"event_failure", error.description, error);
124
+ return;
125
+ }
126
+
127
+ resolve(@(success));
128
+ }];
129
+
130
+ }
131
+
132
+ RCT_EXPORT_METHOD(clearUserID: (RCTPromiseResolveBlock)resolve
133
+ reject:(RCTPromiseRejectBlock)reject) {
134
+
135
+ [shared clearUserWithCompletion:^(BOOL success, NSError * _Nullable error) {
136
+ if(error != nil) {
137
+ reject(@"event_failure", error.description, error);
138
+ return;
139
+ }
140
+
141
+ resolve(@(success));
142
+ }];
143
+
144
+ }
145
+
146
+ RCT_EXPORT_METHOD(removeUserFromRook: (RCTPromiseResolveBlock)resolve
147
+ reject:(RCTPromiseRejectBlock)reject) {
148
+
149
+ [shared removeUserFromRookWithCompletion:^(BOOL success, NSError * _Nullable error) {
150
+ if(error != nil) {
151
+ reject(@"event_failure", error.description, error);
152
+ return;
153
+ }
154
+
155
+ resolve(@(success));
156
+ }];
157
+
158
+ }
159
+
160
+ RCT_EXPORT_METHOD(isSyncEnable: (RCTPromiseResolveBlock)resolve
161
+ reject:(RCTPromiseRejectBlock)reject) {
162
+
163
+ bool result = [shared isSyncEnable];
164
+ resolve(@(result));
165
+ }
166
+
167
+ RCT_EXPORT_METHOD(enableSync: (RCTPromiseResolveBlock)resolve
168
+ reject:(RCTPromiseRejectBlock)reject) {
169
+
170
+ [shared enableSync];
171
+ resolve(@(YES));
172
+
173
+ }
174
+
175
+ RCT_EXPORT_METHOD(disableSync: (RCTPromiseResolveBlock)resolve
176
+ reject:(RCTPromiseRejectBlock)reject) {
177
+
178
+ [shared disableSync];
179
+ resolve(@(YES));
180
+ }
181
+
182
+ RCT_EXPORT_METHOD(syncUserTimeZone: (RCTPromiseResolveBlock)resolve
183
+ reject:(RCTPromiseRejectBlock)reject) {
184
+
185
+ [shared syncUserTimeZoneWithCompletion:^(BOOL success, NSError * _Nullable error) {
186
+ if(error != nil) {
187
+ reject(@"event_failure", error.description, error);
188
+ return;
189
+ }
190
+
191
+ resolve(@(success));
192
+ }];
193
+
194
+ }
195
+
196
+ // MARK: - Permissions
197
+ RCT_EXPORT_METHOD(requestAllPermissions: (RCTPromiseResolveBlock)resolve
198
+ reject:(RCTPromiseRejectBlock)reject) {
199
+
200
+ [permissionsManager requestAllPermissionsObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
201
+ if(error != nil) {
202
+ reject(@"event_failure", error.description, error);
203
+ return;
204
+ }
205
+
206
+ resolve(@(success));
207
+ }];
208
+
209
+ }
210
+
211
+ RCT_EXPORT_METHOD(requestSleepPermissions: (RCTPromiseResolveBlock)resolve
212
+ reject:(RCTPromiseRejectBlock)reject) {
213
+
214
+ [permissionsManager requestSleepPermissionsObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
215
+ if(error != nil) {
216
+ reject(@"event_failure", error.description, error);
217
+ return;
218
+ }
219
+
220
+ resolve(@(success));
221
+ }];
222
+
223
+ }
224
+
225
+ RCT_EXPORT_METHOD(requestUserInfoPermissions: (RCTPromiseResolveBlock)resolve
226
+ reject:(RCTPromiseRejectBlock)reject) {
227
+ [permissionsManager requestUserInfoPermissionsObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
228
+ if(error != nil) {
229
+ reject(@"event_failure", error.description, error);
230
+ return;
231
+ }
232
+
233
+ resolve(@(success));
234
+ }];
235
+
236
+ }
237
+
238
+ RCT_EXPORT_METHOD(requestPhysicalPermissions: (RCTPromiseResolveBlock)resolve
239
+ reject:(RCTPromiseRejectBlock)reject) {
240
+
241
+ [permissionsManager requestPhysicalPermissionsObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
242
+ if(error != nil) {
243
+ reject(@"event_failure", error.description, error);
244
+ return;
245
+ }
246
+
247
+ resolve(@(success));
248
+ }];
249
+
250
+ }
251
+
252
+ RCT_EXPORT_METHOD(requestBodyPermissions: (RCTPromiseResolveBlock)resolve
253
+ reject:(RCTPromiseRejectBlock)reject) {
254
+
255
+ [permissionsManager requestBodyPermissionsObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
256
+ if(error != nil) {
257
+ reject(@"event_failure", error.description, error);
258
+ return;
259
+ }
260
+
261
+ resolve(@(success));
262
+ }];
263
+
264
+ }
265
+
266
+ // MARK: - Summaries
267
+ RCT_EXPORT_METHOD(syncYesterdaySummaries: (RCTPromiseResolveBlock)resolve
268
+ reject:(RCTPromiseRejectBlock)reject) {
269
+
270
+ [summaryManager syncSummariesWithCompletion:^{
271
+ resolve(@(TRUE));
272
+ }];
273
+
274
+ }
275
+
276
+ RCT_EXPORT_METHOD(syncSleepSummary: (NSString *) dateString
277
+ resolve:(RCTPromiseResolveBlock)resolve
278
+ reject:(RCTPromiseRejectBlock)reject) {
279
+
280
+ [summaryManager syncSleepSummaryObjcWithForm:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
281
+ if(error != nil) {
282
+ reject(@"event_failure", error.description, error);
283
+ return;
284
+ }
285
+
286
+ resolve(@(success));
287
+ }];
288
+
289
+ }
290
+
291
+ RCT_EXPORT_METHOD(syncPhysicalSummary: (NSString *) dateString
292
+ resolve:(RCTPromiseResolveBlock)resolve
293
+ reject:(RCTPromiseRejectBlock)reject) {
294
+
295
+ [summaryManager syncPhysicalSummaryObjcWithForm:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
296
+ if(error != nil) {
297
+ reject(@"event_failure", error.description, error);
298
+ return;
299
+ }
300
+
301
+ resolve(@(success));
302
+ }];
303
+
304
+ }
305
+
306
+ RCT_EXPORT_METHOD(syncBodySummary: (NSString *) dateString
307
+ resolve:(RCTPromiseResolveBlock)resolve
308
+ reject:(RCTPromiseRejectBlock)reject) {
309
+
310
+ [summaryManager syncBodySummaryObjcFrom:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
311
+ if(error != nil) {
312
+ reject(@"event_failure", error.description, error);
313
+ return;
314
+ }
315
+
316
+ resolve(@(success));
317
+ }];
318
+
319
+ }
320
+
321
+ RCT_EXPORT_METHOD(syncPendingSummaries: (RCTPromiseResolveBlock) resolve
322
+ reject:(RCTPromiseRejectBlock)reject) {
323
+
324
+ [summaryManager syncPendingSummariesObjcWithCompletion:^(BOOL success, NSError * _Nullable error) {
325
+ if(error != nil) {
326
+ reject(@"event_failure", error.description, error);
327
+ return;
328
+ }
329
+
330
+ resolve(@(success));
331
+ }];
332
+
333
+ }
334
+
335
+ // MARK: - Events
336
+ RCT_EXPORT_METHOD(syncYesterdayEvents: (RCTPromiseResolveBlock)resolve
337
+ reject:(RCTPromiseRejectBlock)reject) {
338
+
339
+ [eventsManager syncEventsWithCompletion:^{
340
+ resolve(@(TRUE));
341
+ }];
342
+
343
+ }
344
+
345
+ RCT_EXPORT_METHOD(syncBodyHeartRateEvent: (NSString *) dateString
346
+ resolve:(RCTPromiseResolveBlock)resolve
347
+ reject:(RCTPromiseRejectBlock)reject) {
348
+
349
+ [eventsManager syncBodyHeartRateEventObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
350
+ if(error != nil) {
351
+ reject(@"event_failure", error.description, error);
352
+ return;
353
+ }
354
+
355
+ resolve(@(success));
356
+ }];
357
+ }
358
+
359
+ RCT_EXPORT_METHOD(syncPhysicalHeartRateEvent: (NSString *) dateString
360
+ resolve:(RCTPromiseResolveBlock)resolve
361
+ reject:(RCTPromiseRejectBlock)reject) {
362
+
363
+ [eventsManager
364
+ syncPhysicalHeartRateEventObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
365
+ if(error != nil) {
366
+ reject(@"event_failure", error.description, error);
367
+ return;
368
+ }
369
+
370
+ resolve(@(success));
371
+ }];
372
+ }
373
+
374
+ RCT_EXPORT_METHOD(syncBodyOxygenationEvent: (NSString *) dateString
375
+ resolve:(RCTPromiseResolveBlock)resolve
376
+ reject:(RCTPromiseRejectBlock)reject) {
377
+
378
+ [eventsManager syncBodyOxygenationEventObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
379
+ if(error != nil) {
380
+ reject(@"event_failure", error.description, error);
381
+ return;
382
+ }
383
+
384
+ resolve(@(success));
385
+ }];
386
+ }
387
+
388
+ RCT_EXPORT_METHOD(syncPhysicalOxygenationEvent: (NSString *) dateString
389
+ resolve:(RCTPromiseResolveBlock)resolve
390
+ reject:(RCTPromiseRejectBlock)reject) {
391
+
392
+ [eventsManager syncPhysicalOxygenationEventObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
393
+ if(error != nil) {
394
+ reject(@"event_failure", error.description, error);
395
+ return;
396
+ }
397
+
398
+ resolve(@(success));
399
+ }];
400
+ }
401
+
402
+ RCT_EXPORT_METHOD(syncTrainingEvent: (NSString *) dateString
403
+ resolve:(RCTPromiseResolveBlock)resolve
404
+ reject:(RCTPromiseRejectBlock)reject) {
405
+
406
+ [eventsManager syncTrainingEventObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
407
+ if(error != nil) {
408
+ reject(@"event_failure", error.description, error);
409
+ return;
410
+ }
411
+
412
+ resolve(@(success));
413
+ }];
414
+ }
415
+
416
+ RCT_EXPORT_METHOD(syncTemperatureEvent: (NSString *) dateString
417
+ resolve:(RCTPromiseResolveBlock)resolve
418
+ reject:(RCTPromiseRejectBlock)reject) {
419
+
420
+ [eventsManager syncTemperatureEventsObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
421
+ if(error != nil) {
422
+ reject(@"event_failure", error.description, error);
423
+ return;
424
+ }
425
+
426
+ resolve(@(success));
427
+ }];
428
+ }
429
+
430
+ RCT_EXPORT_METHOD(syncPressureEvent: (NSString *) dateString
431
+ resolve:(RCTPromiseResolveBlock)resolve
432
+ reject:(RCTPromiseRejectBlock)reject) {
433
+
434
+ [eventsManager syncPressureEventsObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
435
+ if(error != nil) {
436
+ reject(@"event_failure", error.description, error);
437
+ return;
438
+ }
439
+
440
+ resolve(@(success));
441
+ }];
442
+ }
443
+
444
+ RCT_EXPORT_METHOD(syncGlucoseEvent: (NSString *) dateString
445
+ resolve:(RCTPromiseResolveBlock)resolve
446
+ reject:(RCTPromiseRejectBlock)reject) {
447
+
448
+ [eventsManager syncGlucoseEventsObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
449
+ if(error != nil) {
450
+ reject(@"event_failure", error.description, error);
451
+ return;
452
+ }
453
+
454
+ resolve(@(success));
455
+ }];
456
+ }
457
+
458
+ RCT_EXPORT_METHOD(syncBodyMetricsEvent: (NSString *) dateString
459
+ resolve:(RCTPromiseResolveBlock)resolve
460
+ reject:(RCTPromiseRejectBlock)reject) {
461
+
462
+ [eventsManager syncBodyMetricsEventsObjcWithDate:parseDateFromString(dateString) completion:^(BOOL success, NSError * _Nullable error) {
463
+ if(error != nil) {
464
+ reject(@"event_failure", error.description, error);
465
+ return;
466
+ }
467
+
468
+ resolve(@(success));
469
+ }];
470
+ }
471
+
472
+ // MARK: - Background
473
+
474
+ RCT_EXPORT_METHOD(enableBackGroundUpdates: (RCTPromiseResolveBlock) resolve
475
+ reject:(RCTPromiseRejectBlock)reject) {
476
+
477
+ [[RookBackGroundSync shared] enableBackGroundForSummaries];
478
+ [[RookBackGroundSync shared] enableBackGroundForEvents];
479
+ resolve(@(YES));
480
+ }
481
+
482
+ RCT_EXPORT_METHOD(disableBackGroundUpdates: (RCTPromiseResolveBlock) resolve
483
+ reject:(RCTPromiseRejectBlock)reject) {
484
+
485
+ [[RookBackGroundSync shared] disableBackGroundForSummaries];
486
+ [[RookBackGroundSync shared] enableBackGroundForEvents];
487
+ resolve(@(YES));
488
+ }
489
+
490
+ RCT_EXPORT_METHOD(enableBackGroundEventUpdates: (RCTPromiseResolveBlock) resolve
491
+ reject:(RCTPromiseRejectBlock)reject) {
492
+ [[RookBackGroundSync shared] enableBackGroundForEvents];
493
+ resolve(@(YES));
494
+ }
495
+
496
+ RCT_EXPORT_METHOD(disableBackGroundEventUpdates: (RCTPromiseResolveBlock) resolve
497
+ reject:(RCTPromiseRejectBlock)reject) {
498
+ [[RookBackGroundSync shared] disableBackGroundForEvents];
499
+ resolve(@(YES));
500
+ }
501
+
502
+ // MARK: - Variables
503
+ RCT_EXPORT_METHOD(getTodaySteps: (RCTPromiseResolveBlock) resolve
504
+ reject:(RCTPromiseRejectBlock)reject) {
505
+
506
+ [variableManager getTodayStepsWithCompletion:^(NSInteger steps, NSError * _Nullable error) {
507
+ if(error != nil) {
508
+ reject(@"event_failure", error.description, error);
509
+ return;
510
+ }
511
+ resolve(@(steps));
512
+ }];
513
+
514
+ }
515
+
516
+ RCT_EXPORT_METHOD(getTodayActiveCaloriesBurned: (RCTPromiseResolveBlock) resolve
517
+ reject:(RCTPromiseRejectBlock)reject) {
518
+
519
+ [variableManager getTodayActiveCaloriesBurnedWithCompletion:^(NSInteger calories, NSError * _Nullable error) {
520
+ if(error != nil) {
521
+ reject(@"event_failure", error.description, error);
522
+ return;
523
+ }
524
+
525
+ resolve(@(calories));
526
+ }];
527
+ }
528
+
529
+ RCT_EXPORT_METHOD(enableBackGroundForSteps: (RCTPromiseResolveBlock) resolve
530
+ reject:(RCTPromiseRejectBlock)reject) {
531
+ @try {
532
+ [[RookBackGroundExtraction shared] enableBackGroundForSteps];
533
+
534
+ [RookBackGroundExtraction shared].handleStepsUpdate = ^(NSInteger steps) {
535
+ NSLog(@"Enviando pasos");
536
+ [self sendEventWithName:@"RookStepsUpdate" body:@{@"steps": @(steps)}];
537
+ };
538
+
539
+ resolve(@(YES));
540
+ } @catch (NSException *exception) {
541
+ NSError *error = errorFromException(exception);
542
+ reject(@"event_failure", error.description, error);
543
+ }
544
+
545
+ }
546
+
547
+ RCT_EXPORT_METHOD(enableBackGroundForCalories: (RCTPromiseResolveBlock) resolve
548
+ reject:(RCTPromiseRejectBlock)reject) {
549
+ @try {
550
+ [[RookBackGroundExtraction shared] enableBackGroundForCalories];
551
+
552
+ [RookBackGroundExtraction shared].handleCaloriesUpdate = ^(NSInteger caloriesBurned) {
553
+ NSLog(@"Enviando calorias");
554
+ [self sendEventWithName:@"RookCaloriesUpdate" body:@{@"calories": @(caloriesBurned)}];
555
+ };
556
+
557
+ resolve(@(YES));
558
+ } @catch (NSException *exception) {
559
+ NSError *error = errorFromException(exception);
560
+ reject(@"event_failure", error.description, error);
561
+ }
562
+
563
+ }
564
+
565
+
566
+ @end
567
+
568
+
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useRookSyncGateContext = exports.RookSyncGateContext = void 0;
7
+ var _react = require("react");
8
+ // RookSyncGateContext.tsx
9
+
10
+ const RookSyncGateContext = exports.RookSyncGateContext = /*#__PURE__*/(0, _react.createContext)(undefined);
11
+ const useRookSyncGateContext = () => {
12
+ const context = (0, _react.useContext)(RookSyncGateContext);
13
+ if (!context) {
14
+ throw new Error('useRookSyncGateContext should be used inside RookSyncGateProvider');
15
+ }
16
+ return context;
17
+ };
18
+ exports.useRookSyncGateContext = useRookSyncGateContext;
19
+ //# sourceMappingURL=RookSyncGateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","RookSyncGateContext","exports","createContext","undefined","useRookSyncGateContext","context","useContext","Error"],"sourceRoot":"../../../src","sources":["context/RookSyncGateContext.ts"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AADA;;AAIO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAG,IAAAE,oBAAa,EAE9CC,SAAS,CAAC;AAEL,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;EAC1C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACN,mBAAmB,CAAC;EAC/C,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CACb,mEACF,CAAC;EACH;EACA,OAAOF,OAAO;AAChB,CAAC;AAACJ,OAAA,CAAAG,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _RookSyncGateReducer = require("./RookSyncGateReducer");
9
+ var _RookSyncGateContext = require("./RookSyncGateContext");
10
+ var _utils = require("../utils");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /* eslint-disable react-hooks/exhaustive-deps */
14
+
15
+ // Importa el reducer
16
+
17
+ const initialState = {
18
+ clientUUID: '',
19
+ environment: 'sandbox',
20
+ password: '',
21
+ ready: false,
22
+ userID: ''
23
+ };
24
+ const RookSyncGateProvider = ({
25
+ environment,
26
+ clientUUID,
27
+ password,
28
+ children
29
+ }) => {
30
+ const [state, dispatch] = (0, _react.useReducer)(_RookSyncGateReducer.rookSyncGateReducer, initialState);
31
+ (0, _react.useEffect)(() => {
32
+ initModule();
33
+ }, [environment, clientUUID, password]);
34
+ const initModule = async () => {
35
+ dispatch({
36
+ type: 'SET_ROOK_ENVIRONMENT',
37
+ environment
38
+ });
39
+ dispatch({
40
+ type: 'SET_CLIENT_UUID',
41
+ clientUUID
42
+ });
43
+ dispatch({
44
+ type: 'SET_PASSWORD',
45
+ password
46
+ });
47
+ try {
48
+ const rookSyncModule = (0, _utils.getRookModule)();
49
+ await rookSyncModule.initRook({
50
+ environment: _utils.packageInfo.debug ? 'development' : environment,
51
+ clientUUID: _utils.packageInfo.debug ? _utils.credentials.uuid : clientUUID,
52
+ password: _utils.packageInfo.debug ? _utils.credentials.pdw : password
53
+ });
54
+ dispatch({
55
+ type: 'SET_READY',
56
+ ready: true
57
+ });
58
+ } catch (error) {
59
+ console.log(error);
60
+ }
61
+ };
62
+ return /*#__PURE__*/_react.default.createElement(_RookSyncGateContext.RookSyncGateContext.Provider, {
63
+ value: {
64
+ state,
65
+ dispatch
66
+ }
67
+ }, children);
68
+ };
69
+ var _default = exports.default = RookSyncGateProvider;
70
+ //# sourceMappingURL=RookSyncGateProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_RookSyncGateReducer","_RookSyncGateContext","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","initialState","clientUUID","environment","password","ready","userID","RookSyncGateProvider","children","state","dispatch","useReducer","rookSyncGateReducer","useEffect","initModule","type","rookSyncModule","getRookModule","initRook","packageInfo","debug","credentials","uuid","pdw","error","console","log","createElement","RookSyncGateContext","Provider","value","_default","exports"],"sourceRoot":"../../../src","sources":["context/RookSyncGateProvider.tsx"],"mappings":"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","ignoreList":[]}