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.
- package/LICENSE +20 -0
- package/README.md +31 -0
- package/android/build.gradle +95 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +38 -0
- package/android/src/main/java/com/rooksdk/HealthConnectPermissionsActivity.kt +45 -0
- package/android/src/main/java/com/rooksdk/RookDateTime.kt +12 -0
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +575 -0
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +17 -0
- package/android/src/main/res/drawable/ic_health_connect.xml +19 -0
- package/android/src/main/res/layout/activity_health_connect_permissions.xml +15 -0
- package/android/src/main/res/values/themes.xml +3 -0
- package/ios/RookSdk.h +13 -0
- package/ios/RookSdk.mm +568 -0
- package/lib/commonjs/context/RookSyncGateContext.js +19 -0
- package/lib/commonjs/context/RookSyncGateContext.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateProvider.js +70 -0
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateReducer.js +39 -0
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -0
- package/lib/commonjs/context/RookSyncGateTypes.js +2 -0
- package/lib/commonjs/context/RookSyncGateTypes.js.map +1 -0
- package/lib/commonjs/context/index.js +14 -0
- package/lib/commonjs/context/index.js.map +1 -0
- package/lib/commonjs/hooks/index.js +48 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js +143 -0
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -0
- package/lib/commonjs/hooks/useRookConfiguration.js +90 -0
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -0
- package/lib/commonjs/hooks/useRookEvents.js +239 -0
- package/lib/commonjs/hooks/useRookEvents.js.map +1 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js +124 -0
- package/lib/commonjs/hooks/useRookHealthConnect.js.map +1 -0
- package/lib/commonjs/hooks/useRookPermissions.js +59 -0
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -0
- package/lib/commonjs/hooks/useRookSummaries.js +110 -0
- package/lib/commonjs/hooks/useRookSummaries.js.map +1 -0
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/utils/credentials.js +11 -0
- package/lib/commonjs/utils/credentials.js.map +1 -0
- package/lib/commonjs/utils/getRookModule.js +21 -0
- package/lib/commonjs/utils/getRookModule.js.map +1 -0
- package/lib/commonjs/utils/index.js +63 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/utils/isModuleReady.js +13 -0
- package/lib/commonjs/utils/isModuleReady.js.map +1 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js +15 -0
- package/lib/commonjs/utils/isRunningOnAndroid.js.map +1 -0
- package/lib/commonjs/utils/isRunningOniOS.js +15 -0
- package/lib/commonjs/utils/isRunningOniOS.js.map +1 -0
- package/lib/commonjs/utils/isValidDate.js +14 -0
- package/lib/commonjs/utils/isValidDate.js.map +1 -0
- package/lib/commonjs/utils/loggerDescription.js +24 -0
- package/lib/commonjs/utils/loggerDescription.js.map +1 -0
- package/lib/commonjs/utils/packageInfo.js +13 -0
- package/lib/commonjs/utils/packageInfo.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +11 -0
- package/lib/module/context/RookSyncGateContext.js.map +1 -0
- package/lib/module/context/RookSyncGateProvider.js +60 -0
- package/lib/module/context/RookSyncGateProvider.js.map +1 -0
- package/lib/module/context/RookSyncGateReducer.js +32 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -0
- package/lib/module/context/RookSyncGateTypes.js +2 -0
- package/lib/module/context/RookSyncGateTypes.js.map +1 -0
- package/lib/module/context/index.js +2 -0
- package/lib/module/context/index.js.map +1 -0
- package/lib/module/hooks/index.js +7 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useRookAppleHealth.js +135 -0
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -0
- package/lib/module/hooks/useRookConfiguration.js +83 -0
- package/lib/module/hooks/useRookConfiguration.js.map +1 -0
- package/lib/module/hooks/useRookEvents.js +231 -0
- package/lib/module/hooks/useRookEvents.js.map +1 -0
- package/lib/module/hooks/useRookHealthConnect.js +116 -0
- package/lib/module/hooks/useRookHealthConnect.js.map +1 -0
- package/lib/module/hooks/useRookPermissions.js +52 -0
- package/lib/module/hooks/useRookPermissions.js.map +1 -0
- package/lib/module/hooks/useRookSummaries.js +102 -0
- package/lib/module/hooks/useRookSummaries.js.map +1 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/utils/credentials.js +5 -0
- package/lib/module/utils/credentials.js.map +1 -0
- package/lib/module/utils/getRookModule.js +14 -0
- package/lib/module/utils/getRookModule.js.map +1 -0
- package/lib/module/utils/index.js +9 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/isModuleReady.js +6 -0
- package/lib/module/utils/isModuleReady.js.map +1 -0
- package/lib/module/utils/isRunningOnAndroid.js +8 -0
- package/lib/module/utils/isRunningOnAndroid.js.map +1 -0
- package/lib/module/utils/isRunningOniOS.js +8 -0
- package/lib/module/utils/isRunningOniOS.js.map +1 -0
- package/lib/module/utils/isValidDate.js +7 -0
- package/lib/module/utils/isValidDate.js.map +1 -0
- package/lib/module/utils/loggerDescription.js +17 -0
- package/lib/module/utils/loggerDescription.js.map +1 -0
- package/lib/module/utils/packageInfo.js +7 -0
- package/lib/module/utils/packageInfo.js.map +1 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts +11 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -0
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts +11 -0
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -0
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts +3 -0
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -0
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts +26 -0
- package/lib/typescript/src/context/RookSyncGateTypes.d.ts.map +1 -0
- package/lib/typescript/src/context/index.d.ts +2 -0
- package/lib/typescript/src/context/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +7 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +12 -0
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +12 -0
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookEvents.d.ts +17 -0
- package/lib/typescript/src/hooks/useRookEvents.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookHealthConnect.d.ts +12 -0
- package/lib/typescript/src/hooks/useRookHealthConnect.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +12 -0
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useRookSummaries.d.ts +15 -0
- package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/utils/credentials.d.ts +5 -0
- package/lib/typescript/src/utils/credentials.d.ts.map +1 -0
- package/lib/typescript/src/utils/getRookModule.d.ts +2 -0
- package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +9 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts +2 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -0
- package/lib/typescript/src/utils/isRunningOnAndroid.d.ts +3 -0
- package/lib/typescript/src/utils/isRunningOnAndroid.d.ts.map +1 -0
- package/lib/typescript/src/utils/isRunningOniOS.d.ts +2 -0
- package/lib/typescript/src/utils/isRunningOniOS.d.ts.map +1 -0
- package/lib/typescript/src/utils/isValidDate.d.ts +2 -0
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -0
- package/lib/typescript/src/utils/loggerDescription.d.ts +10 -0
- package/lib/typescript/src/utils/loggerDescription.d.ts.map +1 -0
- package/lib/typescript/src/utils/packageInfo.d.ts +6 -0
- package/lib/typescript/src/utils/packageInfo.d.ts.map +1 -0
- package/package.json +170 -0
- 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":";;;;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAAmE,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AALnE;;AAE6D;;AAY7D,MAAMW,YAA+B,GAAG;EACtCC,UAAU,EAAE,EAAE;EACdC,WAAW,EAAE,SAAS;EACtBC,QAAQ,EAAE,EAAE;EACZC,KAAK,EAAE,KAAK;EACZC,MAAM,EAAE;AACV,CAAC;AAED,MAAMC,oBAAmD,GAAGA,CAAC;EAC3DJ,WAAW;EACXD,UAAU;EACVE,QAAQ;EACRI;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,iBAAU,EAACC,wCAAmB,EAAEX,YAAY,CAAC;EAEvE,IAAAY,gBAAS,EAAC,MAAM;IACdC,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACX,WAAW,EAAED,UAAU,EAAEE,QAAQ,CAAC,CAAC;EAEvC,MAAMU,UAAU,GAAG,MAAAA,CAAA,KAA2B;IAC5CJ,QAAQ,CAAC;MAAEK,IAAI,EAAE,sBAAsB;MAAEZ;IAAY,CAAC,CAAC;IACvDO,QAAQ,CAAC;MAAEK,IAAI,EAAE,iBAAiB;MAAEb;IAAW,CAAC,CAAC;IACjDQ,QAAQ,CAAC;MAAEK,IAAI,EAAE,cAAc;MAAEX;IAAS,CAAC,CAAC;IAE5C,IAAI;MACF,MAAMY,cAAc,GAAG,IAAAC,oBAAa,EAAC,CAAC;MAEtC,MAAMD,cAAc,CAACE,QAAQ,CAAC;QAC5Bf,WAAW,EAAEgB,kBAAW,CAACC,KAAK,GAAG,aAAa,GAAGjB,WAAW;QAC5DD,UAAU,EAAEiB,kBAAW,CAACC,KAAK,GAAGC,kBAAW,CAACC,IAAI,GAAGpB,UAAU;QAC7DE,QAAQ,EAAEe,kBAAW,CAACC,KAAK,GAAGC,kBAAW,CAACE,GAAG,GAAGnB;MAClD,CAAC,CAAC;MAEFM,QAAQ,CAAC;QAAEK,IAAI,EAAE,WAAW;QAAEV,KAAK,EAAE;MAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;IACpB;EACF,CAAC;EAED,oBACEjD,MAAA,CAAAY,OAAA,CAAAwC,aAAA,CAAChD,oBAAA,CAAAiD,mBAAmB,CAACC,QAAQ;IAACC,KAAK,EAAE;MAAErB,KAAK;MAAEC;IAAS;EAAE,GACtDF,QAC2B,CAAC;AAEnC,CAAC;AAAC,IAAAuB,QAAA,GAAAC,OAAA,CAAA7C,OAAA,GAEaoB,oBAAoB","ignoreList":[]}
|