react-native-rook-sdk 0.7.0 → 1.0.0-rc.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/android/src/main/java/com/rooksdk/RookSdkModule.kt +51 -597
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +17 -1
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +18 -0
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +18 -0
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +108 -0
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +160 -0
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +105 -0
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +497 -0
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +49 -0
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +20 -0
- package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +8 -0
- package/ios/RookSdk.mm +296 -8
- package/lib/commonjs/context/RookSyncGateContext.js +12 -0
- package/lib/commonjs/context/RookSyncGateContext.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateProvider.js +12 -5
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateReducer.js +15 -0
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -1
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +26 -41
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/commonjs/hooks/useRookAppleHealth.js +24 -10
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js +22 -4
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +32 -16
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
- package/lib/commonjs/hooks/useRookDataSources.js +18 -5
- package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
- package/lib/commonjs/hooks/useRookEvents.js +61 -57
- package/lib/commonjs/hooks/useRookEvents.js.map +1 -1
- package/lib/commonjs/hooks/useRookPermissions.js +59 -28
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
- package/lib/commonjs/hooks/useRookSummaries.js +23 -30
- package/lib/commonjs/hooks/useRookSummaries.js.map +1 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js +100 -32
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/commonjs/types/PermissionsType.js +2 -0
- package/lib/commonjs/types/PermissionsType.js.map +1 -0
- package/lib/commonjs/utils/getNativeModule.js +29 -0
- package/lib/commonjs/utils/getNativeModule.js.map +1 -0
- package/lib/commonjs/utils/getRookModule.js +7 -0
- package/lib/commonjs/utils/getRookModule.js.map +1 -1
- package/lib/commonjs/utils/isModuleReady.js +6 -0
- package/lib/commonjs/utils/isModuleReady.js.map +1 -1
- package/lib/commonjs/utils/isValidDate.js +6 -0
- package/lib/commonjs/utils/isValidDate.js.map +1 -1
- package/lib/commonjs/utils/nativeModules.js +19 -0
- package/lib/commonjs/utils/nativeModules.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +12 -0
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +8 -1
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +15 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +14 -29
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealth.js +15 -2
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealthVariables.js +20 -2
- package/lib/module/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +18 -3
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookDataSources.js +14 -2
- package/lib/module/hooks/useRookDataSources.js.map +1 -1
- package/lib/module/hooks/useRookEvents.js +32 -28
- package/lib/module/hooks/useRookEvents.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +39 -9
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSummaries.js +16 -23
- package/lib/module/hooks/useRookSummaries.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +100 -33
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/types/PermissionsType.js +2 -0
- package/lib/module/types/PermissionsType.js.map +1 -0
- package/lib/module/utils/getNativeModule.js +23 -0
- package/lib/module/utils/getNativeModule.js.map +1 -0
- package/lib/module/utils/getRookModule.js +8 -0
- package/lib/module/utils/getRookModule.js.map +1 -1
- package/lib/module/utils/isModuleReady.js +6 -0
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isValidDate.js +6 -0
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/module/utils/nativeModules.js +13 -0
- package/lib/module/utils/nativeModules.js.map +1 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts +7 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts +15 -0
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +6 -2
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +9 -0
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +6 -0
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookDataSources.d.ts +6 -0
- package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookEvents.d.ts +9 -1
- package/lib/typescript/src/hooks/useRookEvents.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +10 -0
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSummaries.d.ts +6 -6
- package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts +16 -0
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/types/PermissionsType.d.ts +6 -0
- package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/getRookModule.d.ts +7 -0
- package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -1
- package/lib/typescript/src/utils/isModuleReady.d.ts +6 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts +6 -0
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +14 -0
- package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-rook-sdk.podspec +1 -1
- package/lib/commonjs/utils/index.js +0 -69
- package/lib/commonjs/utils/index.js.map +0 -1
- package/lib/module/utils/index.js +0 -9
- package/lib/module/utils/index.js.map +0 -1
- package/lib/typescript/src/utils/index.d.ts +0 -9
- package/lib/typescript/src/utils/index.d.ts.map +0 -1
|
@@ -6,25 +6,34 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useRookEvents = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
9
|
-
var
|
|
9
|
+
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
10
|
+
var _isModuleReady = require("../utils/isModuleReady");
|
|
11
|
+
var _isRunningOnAndroid = _interopRequireDefault(require("../utils/isRunningOnAndroid"));
|
|
12
|
+
var _isValidDate = require("../utils/isValidDate");
|
|
13
|
+
var _packageInfo = require("../utils/packageInfo");
|
|
14
|
+
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
15
|
+
var _reactNative = require("react-native");
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
/**
|
|
18
|
+
* The `useRookEvents` hook defines multiple async functions to sync various
|
|
19
|
+
* health-related events and returns them along with a `ready` state.
|
|
20
|
+
* @returns The `useRookEvents` hook is being returned, which includes various functions for syncing
|
|
21
|
+
* different types of health events like body heart rate, physical heart rate, body oxygenation,
|
|
22
|
+
* physical oxygenation, training, temperature, blood pressure, blood glucose, and body metrics events.
|
|
23
|
+
* Each function takes a date parameter in the format YYYY-MM-DD and returns a boolean indicating if
|
|
24
|
+
* the sync was successful. Additionally,
|
|
25
|
+
*/
|
|
10
26
|
const useRookEvents = () => {
|
|
11
|
-
const rookSync = (0, _react.useRef)((0,
|
|
27
|
+
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
28
|
+
android: () => _nativeModules.default.android.SYNC,
|
|
29
|
+
default: () => _nativeModules.default.ios.MAIN
|
|
30
|
+
})()));
|
|
12
31
|
const {
|
|
13
32
|
state: {
|
|
14
33
|
ready
|
|
15
34
|
}
|
|
16
35
|
} = (0, _RookSyncGateContext.useRookSyncGateContext)();
|
|
17
36
|
|
|
18
|
-
/**
|
|
19
|
-
* The function `syncEvents` asynchronously synchronizes yesterday's events and returns a
|
|
20
|
-
* boolean indicating success.
|
|
21
|
-
* @returns A boolean value is being returned from the `syncEvents` function.
|
|
22
|
-
*/
|
|
23
|
-
const syncEvents = () => {
|
|
24
|
-
(0, _utils.isModuleReady)(ready);
|
|
25
|
-
return rookSync.current.syncYesterdayEvents();
|
|
26
|
-
};
|
|
27
|
-
|
|
28
37
|
/**
|
|
29
38
|
* The function `syncBodyHeartRateEvents` takes a date string as input, performs some checks, and
|
|
30
39
|
* then syncs body heart rate events for that date.
|
|
@@ -34,8 +43,8 @@ const useRookEvents = () => {
|
|
|
34
43
|
* value.`.
|
|
35
44
|
*/
|
|
36
45
|
const syncBodyHeartRateEvent = date => {
|
|
37
|
-
(0,
|
|
38
|
-
(0,
|
|
46
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
47
|
+
(0, _isValidDate.isValidDate)(date);
|
|
39
48
|
return rookSync.current.syncBodyHeartRateEvent(date);
|
|
40
49
|
};
|
|
41
50
|
|
|
@@ -49,8 +58,8 @@ const useRookEvents = () => {
|
|
|
49
58
|
* value.`.
|
|
50
59
|
*/
|
|
51
60
|
const syncPhysicalHeartRateEvent = date => {
|
|
52
|
-
(0,
|
|
53
|
-
(0,
|
|
61
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
62
|
+
(0, _isValidDate.isValidDate)(date);
|
|
54
63
|
return rookSync.current.syncPhysicalHeartRateEvent(date);
|
|
55
64
|
};
|
|
56
65
|
|
|
@@ -62,8 +71,8 @@ const useRookEvents = () => {
|
|
|
62
71
|
* @returns The function `syncBodyOxygenationEvents` is returning the result of the sync
|
|
63
72
|
*/
|
|
64
73
|
const syncBodyOxygenationEvent = date => {
|
|
65
|
-
(0,
|
|
66
|
-
(0,
|
|
74
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
75
|
+
(0, _isValidDate.isValidDate)(date);
|
|
67
76
|
return rookSync.current.syncBodyOxygenationEvent(date);
|
|
68
77
|
};
|
|
69
78
|
|
|
@@ -77,14 +86,14 @@ const useRookEvents = () => {
|
|
|
77
86
|
* value.
|
|
78
87
|
*/
|
|
79
88
|
const syncPhysicalOxygenationEvent = date => {
|
|
80
|
-
(0,
|
|
81
|
-
(0,
|
|
89
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
90
|
+
(0, _isValidDate.isValidDate)(date);
|
|
82
91
|
return rookSync.current.syncPhysicalOxygenationEvent(date);
|
|
83
92
|
};
|
|
84
93
|
const syncTrainingEvent = date => {
|
|
85
|
-
(0,
|
|
86
|
-
(0,
|
|
87
|
-
if (
|
|
94
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
95
|
+
(0, _isValidDate.isValidDate)(date);
|
|
96
|
+
if (_packageInfo.packageInfo.isAndroid) return rookSync.current.syncPhysicalEvents(date);
|
|
88
97
|
return rookSync.current.syncTrainingEvent(date);
|
|
89
98
|
};
|
|
90
99
|
|
|
@@ -95,11 +104,10 @@ const useRookEvents = () => {
|
|
|
95
104
|
* @returns The function `syncTemperatureEvents` is returning a Promise that resolves to a boolean
|
|
96
105
|
* value.
|
|
97
106
|
*/
|
|
98
|
-
const syncTemperatureEvent =
|
|
99
|
-
(0,
|
|
100
|
-
(0,
|
|
101
|
-
|
|
102
|
-
return result;
|
|
107
|
+
const syncTemperatureEvent = date => {
|
|
108
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
109
|
+
(0, _isValidDate.isValidDate)(date);
|
|
110
|
+
return rookSync.current.syncTemperatureEvent(date);
|
|
103
111
|
};
|
|
104
112
|
|
|
105
113
|
/**
|
|
@@ -109,10 +117,10 @@ const useRookEvents = () => {
|
|
|
109
117
|
* @returns function `syncBloodPressureEvents` is returning a `Promise` that resolves to a boolean
|
|
110
118
|
* value.`
|
|
111
119
|
*/
|
|
112
|
-
const syncPressureEvent =
|
|
113
|
-
(0,
|
|
114
|
-
(0,
|
|
115
|
-
if (
|
|
120
|
+
const syncPressureEvent = date => {
|
|
121
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
122
|
+
(0, _isValidDate.isValidDate)(date);
|
|
123
|
+
if (_packageInfo.packageInfo.isAndroid) return rookSync.current.syncBloodPressureEvents(date);
|
|
116
124
|
return rookSync.current.syncPressureEvent(date);
|
|
117
125
|
};
|
|
118
126
|
|
|
@@ -124,10 +132,10 @@ const useRookEvents = () => {
|
|
|
124
132
|
* @returns function `syncBloodGlucoseEvents` is returning a `Promise` that resolves to a boolean
|
|
125
133
|
* value.`
|
|
126
134
|
*/
|
|
127
|
-
const syncGlucoseEvent =
|
|
128
|
-
(0,
|
|
129
|
-
(0,
|
|
130
|
-
if (
|
|
135
|
+
const syncGlucoseEvent = date => {
|
|
136
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
137
|
+
(0, _isValidDate.isValidDate)(date);
|
|
138
|
+
if (_packageInfo.packageInfo.isAndroid) return rookSync.current.syncBloodGlucoseEvents(date);
|
|
131
139
|
return rookSync.current.syncGlucoseEvent(date);
|
|
132
140
|
};
|
|
133
141
|
|
|
@@ -138,11 +146,10 @@ const useRookEvents = () => {
|
|
|
138
146
|
* @returns function `syncBodyMetricsEvents` is returning a `Promise` that resolves to a boolean
|
|
139
147
|
* value.`
|
|
140
148
|
*/
|
|
141
|
-
const syncBodyMetricsEvent =
|
|
142
|
-
(0,
|
|
143
|
-
(0,
|
|
144
|
-
|
|
145
|
-
return result;
|
|
149
|
+
const syncBodyMetricsEvent = date => {
|
|
150
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
151
|
+
(0, _isValidDate.isValidDate)(date);
|
|
152
|
+
return rookSync.current.syncBodyMetricsEvent(date);
|
|
146
153
|
};
|
|
147
154
|
|
|
148
155
|
/**
|
|
@@ -152,12 +159,11 @@ const useRookEvents = () => {
|
|
|
152
159
|
* @returns The function `syncHydrationEvents` is returning a `Promise` that resolves to a boolean
|
|
153
160
|
* value.
|
|
154
161
|
*/
|
|
155
|
-
const syncHealthConnectHydrationEvents =
|
|
156
|
-
(0,
|
|
157
|
-
(0,
|
|
158
|
-
(0,
|
|
159
|
-
|
|
160
|
-
return result;
|
|
162
|
+
const syncHealthConnectHydrationEvents = date => {
|
|
163
|
+
(0, _isRunningOnAndroid.default)();
|
|
164
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
165
|
+
(0, _isValidDate.isValidDate)(date);
|
|
166
|
+
return rookSync.current.syncHydrationEvents(date);
|
|
161
167
|
};
|
|
162
168
|
|
|
163
169
|
/**
|
|
@@ -166,12 +172,11 @@ const useRookEvents = () => {
|
|
|
166
172
|
* particular format, such as "YYYY-MM-DD".
|
|
167
173
|
* @returns The function `syncNutritionEvents` is returning the result of the sync
|
|
168
174
|
*/
|
|
169
|
-
const syncHealthConnectNutritionEvents =
|
|
170
|
-
(0,
|
|
171
|
-
(0,
|
|
172
|
-
(0,
|
|
173
|
-
|
|
174
|
-
return result;
|
|
175
|
+
const syncHealthConnectNutritionEvents = date => {
|
|
176
|
+
(0, _isRunningOnAndroid.default)();
|
|
177
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
178
|
+
(0, _isValidDate.isValidDate)(date);
|
|
179
|
+
return rookSync.current.syncNutritionEvents(date);
|
|
175
180
|
};
|
|
176
181
|
|
|
177
182
|
/**
|
|
@@ -179,16 +184,15 @@ const useRookEvents = () => {
|
|
|
179
184
|
* @returns The function `syncPendingEvents` is returning the result of the
|
|
180
185
|
* call, which is a boolean value.
|
|
181
186
|
*/
|
|
182
|
-
const reSyncFailedEvents =
|
|
183
|
-
(0,
|
|
184
|
-
if (
|
|
187
|
+
const reSyncFailedEvents = () => {
|
|
188
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
189
|
+
if (_packageInfo.packageInfo.isAndroid) return rookSync.current.syncPendingEvents();
|
|
185
190
|
return new Promise(resolve => {
|
|
186
191
|
resolve(true);
|
|
187
192
|
});
|
|
188
193
|
};
|
|
189
194
|
return {
|
|
190
195
|
ready,
|
|
191
|
-
syncEvents,
|
|
192
196
|
reSyncFailedEvents,
|
|
193
197
|
syncBodyHeartRateEvent,
|
|
194
198
|
syncPhysicalHeartRateEvent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_RookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isValidDate","_packageInfo","_nativeModules","_reactNative","obj","__esModule","default","useRookEvents","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","MAIN","state","ready","useRookSyncGateContext","syncBodyHeartRateEvent","date","isModuleReady","isValidDate","current","syncPhysicalHeartRateEvent","syncBodyOxygenationEvent","syncPhysicalOxygenationEvent","syncTrainingEvent","packageInfo","isAndroid","syncPhysicalEvents","syncTemperatureEvent","syncPressureEvent","syncBloodPressureEvents","syncGlucoseEvent","syncBloodGlucoseEvents","syncBodyMetricsEvent","syncHealthConnectHydrationEvents","isRunningOnAndroid","syncHydrationEvents","syncHealthConnectNutritionEvents","syncNutritionEvents","reSyncFailedEvents","syncPendingEvents","Promise","resolve","syncBloodPressureEvent","syncBloodGlucoseEvent","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookEvents.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,10 +5,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useRookPermissions = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
9
|
-
var
|
|
10
|
+
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
11
|
+
var _isModuleReady = require("../utils/isModuleReady");
|
|
12
|
+
var _isRunningOnAndroid = _interopRequireDefault(require("../utils/isRunningOnAndroid"));
|
|
13
|
+
var _isRunningOniOS = require("../utils/isRunningOniOS");
|
|
14
|
+
var _packageInfo = require("../utils/packageInfo");
|
|
15
|
+
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
/**
|
|
18
|
+
* The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
|
|
19
|
+
* including requesting various types of permissions and checking their status.
|
|
20
|
+
* @returns The `useRookPermissions` hook is being returned, which provides various functions related
|
|
21
|
+
* to requesting and checking permissions for Apple Health. The hook returns an object containing the
|
|
22
|
+
* following properties and functions:
|
|
23
|
+
*/
|
|
10
24
|
const useRookPermissions = () => {
|
|
11
|
-
const rookSync = (0, _react.useRef)((0,
|
|
25
|
+
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
26
|
+
android: () => _nativeModules.default.android.PERMISSIONS,
|
|
27
|
+
default: () => _nativeModules.default.ios.MAIN
|
|
28
|
+
})()));
|
|
12
29
|
const {
|
|
13
30
|
state: {
|
|
14
31
|
ready
|
|
@@ -22,8 +39,8 @@ const useRookPermissions = () => {
|
|
|
22
39
|
* `CheckAvailabilityResponse` | 'INSTALLED' | 'NOT_INSTALLED' | 'NOT_SUPPORTED';
|
|
23
40
|
*/
|
|
24
41
|
const checkAvailability = () => {
|
|
25
|
-
(0,
|
|
26
|
-
if (
|
|
42
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
43
|
+
if (_packageInfo.packageInfo.isAndroid) return rookSync.current.checkAvailability();
|
|
27
44
|
return new Promise(resolve => resolve('INSTALLED'));
|
|
28
45
|
};
|
|
29
46
|
|
|
@@ -32,18 +49,29 @@ const useRookPermissions = () => {
|
|
|
32
49
|
* access.
|
|
33
50
|
* @returns The function `healthConnectHasPermissions` is returning a boolean`.
|
|
34
51
|
*/
|
|
35
|
-
const healthConnectHasPermissions =
|
|
36
|
-
(0,
|
|
37
|
-
(0,
|
|
52
|
+
const healthConnectHasPermissions = () => {
|
|
53
|
+
(0, _isRunningOnAndroid.default)();
|
|
54
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
38
55
|
return rookSync.current.checkPermissions();
|
|
39
56
|
};
|
|
40
57
|
|
|
58
|
+
/**
|
|
59
|
+
* The function `appleHealthHasPermissions` checks if the app has permissions for apple health data
|
|
60
|
+
* access.
|
|
61
|
+
* @returns The function `healthConnectHasPermissions` is returning a boolean`.
|
|
62
|
+
*/
|
|
63
|
+
const appleHealthHasPermissions = param => {
|
|
64
|
+
(0, _isRunningOniOS.isRunningOniOS)();
|
|
65
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
66
|
+
return rookSync.current.checkPermissionsStatus(param ? param.type : null);
|
|
67
|
+
};
|
|
68
|
+
|
|
41
69
|
/**
|
|
42
70
|
* The function `requestAllAppleHealthPermissions` requests all permissions for apple health
|
|
43
71
|
*/
|
|
44
72
|
const requestAllAppleHealthPermissions = async () => {
|
|
45
|
-
(0,
|
|
46
|
-
(0,
|
|
73
|
+
(0, _isRunningOniOS.isRunningOniOS)();
|
|
74
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
47
75
|
setTimeout(() => {
|
|
48
76
|
dispatch({
|
|
49
77
|
type: 'SET_PERMISSIONS'
|
|
@@ -56,19 +84,16 @@ const useRookPermissions = () => {
|
|
|
56
84
|
* The function `requestAllHealthConnectPermissions` requests all permissions for health connect
|
|
57
85
|
*/
|
|
58
86
|
const requestAllHealthConnectPermissions = async () => {
|
|
59
|
-
(0,
|
|
60
|
-
(0,
|
|
61
|
-
return rookSync.current.
|
|
87
|
+
(0, _isRunningOnAndroid.default)();
|
|
88
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
89
|
+
return rookSync.current.requestAllPermissions();
|
|
62
90
|
};
|
|
63
91
|
|
|
64
92
|
/**
|
|
65
93
|
* The function `requestAllPermissions` requests all permissions
|
|
66
94
|
*/
|
|
67
95
|
const requestAllPermissions = async () => {
|
|
68
|
-
(0,
|
|
69
|
-
if (_utils.packageInfo.isAndroid) {
|
|
70
|
-
return rookSync.current.requestPermissions();
|
|
71
|
-
}
|
|
96
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
72
97
|
await rookSync.current.requestAllPermissions();
|
|
73
98
|
setTimeout(() => {
|
|
74
99
|
dispatch({
|
|
@@ -77,9 +102,13 @@ const useRookPermissions = () => {
|
|
|
77
102
|
}, 60000);
|
|
78
103
|
return 'REQUEST_SENT';
|
|
79
104
|
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* The function `openAppleHealthSettings` opens the apple health settings
|
|
108
|
+
*/
|
|
80
109
|
const openAppleHealthSettings = async () => {
|
|
81
|
-
(0,
|
|
82
|
-
(0,
|
|
110
|
+
(0, _isRunningOniOS.isRunningOniOS)();
|
|
111
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
83
112
|
return rookSync.current.openAppleHealthSettings();
|
|
84
113
|
};
|
|
85
114
|
|
|
@@ -87,8 +116,8 @@ const useRookPermissions = () => {
|
|
|
87
116
|
* The function `openHealthConnectSettings` opens the health connect settings
|
|
88
117
|
*/
|
|
89
118
|
const openHealthConnectSettings = async () => {
|
|
90
|
-
(0,
|
|
91
|
-
(0,
|
|
119
|
+
(0, _isRunningOnAndroid.default)();
|
|
120
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
92
121
|
return rookSync.current.openHealthConnectSettings();
|
|
93
122
|
};
|
|
94
123
|
|
|
@@ -98,19 +127,20 @@ const useRookPermissions = () => {
|
|
|
98
127
|
* @returns The `requestBackgroundPermissions` function is being returned as a Promise<void>.
|
|
99
128
|
*/
|
|
100
129
|
const requestAndroidBackgroundPermissions = () => {
|
|
101
|
-
(0,
|
|
102
|
-
(0,
|
|
130
|
+
(0, _isRunningOnAndroid.default)();
|
|
131
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
103
132
|
return rookSync.current.requestAndroidBackgroundPermissions();
|
|
104
133
|
};
|
|
105
134
|
|
|
106
135
|
/**
|
|
107
136
|
* The function `hasAndroidBackgroundPermissions` checks if the app has background permissions on an
|
|
108
137
|
* Android device.
|
|
109
|
-
* @returns The function `
|
|
138
|
+
* @returns The function `hasBackgroundPermissions()` is returning a boolean indicating the status of
|
|
139
|
+
* the permissions.
|
|
110
140
|
*/
|
|
111
141
|
const hasAndroidBackgroundPermissions = () => {
|
|
112
|
-
(0,
|
|
113
|
-
(0,
|
|
142
|
+
(0, _isRunningOnAndroid.default)();
|
|
143
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
114
144
|
return rookSync.current.hasAndroidBackgroundPermissions();
|
|
115
145
|
};
|
|
116
146
|
|
|
@@ -120,12 +150,13 @@ const useRookPermissions = () => {
|
|
|
120
150
|
* value.
|
|
121
151
|
*/
|
|
122
152
|
const shouldRequestAndroidBackgroundPermissions = () => {
|
|
123
|
-
(0,
|
|
124
|
-
(0,
|
|
125
|
-
return rookSync.current.
|
|
153
|
+
(0, _isRunningOnAndroid.default)();
|
|
154
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
155
|
+
return rookSync.current.shouldRequestAndroidBackgroundPermissions();
|
|
126
156
|
};
|
|
127
157
|
return {
|
|
128
158
|
ready,
|
|
159
|
+
appleHealthHasPermissions,
|
|
129
160
|
checkAvailability,
|
|
130
161
|
requestAllAppleHealthPermissions,
|
|
131
162
|
requestAllHealthConnectPermissions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_RookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isRunningOnAndroid","_isRunningOniOS","_packageInfo","_nativeModules","obj","__esModule","default","useRookPermissions","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","PERMISSIONS","ios","MAIN","state","ready","dispatch","useRookSyncGateContext","checkAvailability","isModuleReady","packageInfo","isAndroid","current","Promise","resolve","healthConnectHasPermissions","isRunningOnAndroid","checkPermissions","appleHealthHasPermissions","param","isRunningOniOS","checkPermissionsStatus","type","requestAllAppleHealthPermissions","setTimeout","requestAllPermissions","requestAllHealthConnectPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,36 +5,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.useRookSummaries = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _RookSyncGateContext = require("../context/RookSyncGateContext");
|
|
9
|
-
var
|
|
10
|
+
var _getNativeModule = _interopRequireDefault(require("../utils/getNativeModule"));
|
|
11
|
+
var _isModuleReady = require("../utils/isModuleReady");
|
|
12
|
+
var _isValidDate = require("../utils/isValidDate");
|
|
13
|
+
var _nativeModules = _interopRequireDefault(require("../utils/nativeModules"));
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
/**
|
|
16
|
+
* The `useRookSummaries` hook provides methods to sync various types of summaries and handle
|
|
17
|
+
* failed syncs using a Rook module
|
|
18
|
+
* @returns The `useRookSummaries` hook returns an object with the properties and methods that allows the user to
|
|
19
|
+
* sync summaries with ROOK
|
|
20
|
+
*/
|
|
10
21
|
const useRookSummaries = () => {
|
|
11
|
-
const rookSync = (0, _react.useRef)((0,
|
|
22
|
+
const rookSync = (0, _react.useRef)((0, _getNativeModule.default)(_reactNative.Platform.select({
|
|
23
|
+
android: () => _nativeModules.default.android.SYNC,
|
|
24
|
+
default: () => _nativeModules.default.ios.MAIN
|
|
25
|
+
})()));
|
|
12
26
|
const {
|
|
13
27
|
state: {
|
|
14
28
|
ready
|
|
15
29
|
}
|
|
16
30
|
} = (0, _RookSyncGateContext.useRookSyncGateContext)();
|
|
17
31
|
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated this function is not longer needed and will be removed
|
|
20
|
-
* Checks if in the specific date the health kit contains available data
|
|
21
|
-
* @param {'SLEEP' | 'PHYSICAL' | 'BODY'} props.type - specifies the type of summary that you want to sync
|
|
22
|
-
* @param {string} props.date - The `date` parameter is a string that represents a specific date for which
|
|
23
|
-
* the physical summary is being requested, should have the YYYY-MM-DD format.
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
const shouldSyncFor = props => {
|
|
27
|
-
(0, _utils.isModuleReady)(ready);
|
|
28
|
-
const {
|
|
29
|
-
type,
|
|
30
|
-
date
|
|
31
|
-
} = props;
|
|
32
|
-
if (!_utils.packageInfo.isAndroid) {
|
|
33
|
-
return new Promise(resolve => resolve(true));
|
|
34
|
-
}
|
|
35
|
-
return rookSync.current.shouldSyncFor(type, date);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
32
|
/**
|
|
39
33
|
* The function `syncSleepSummary` sync sleep summary for the specific date.
|
|
40
34
|
* @param {string} date - The `date` parameter is a string that represents a specific date for which
|
|
@@ -42,8 +36,8 @@ const useRookSummaries = () => {
|
|
|
42
36
|
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
43
37
|
*/
|
|
44
38
|
const syncSleepSummary = date => {
|
|
45
|
-
(0,
|
|
46
|
-
(0,
|
|
39
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
40
|
+
(0, _isValidDate.isValidDate)(date);
|
|
47
41
|
return rookSync.current.syncSleepSummary(date);
|
|
48
42
|
};
|
|
49
43
|
|
|
@@ -54,8 +48,8 @@ const useRookSummaries = () => {
|
|
|
54
48
|
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
55
49
|
*/
|
|
56
50
|
const syncPhysicalSummary = date => {
|
|
57
|
-
(0,
|
|
58
|
-
(0,
|
|
51
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
52
|
+
(0, _isValidDate.isValidDate)(date);
|
|
59
53
|
return rookSync.current.syncPhysicalSummary(date);
|
|
60
54
|
};
|
|
61
55
|
|
|
@@ -66,8 +60,8 @@ const useRookSummaries = () => {
|
|
|
66
60
|
* @returns A Promise that resolves to a boolean value thats means success or failure.
|
|
67
61
|
*/
|
|
68
62
|
const syncBodySummary = date => {
|
|
69
|
-
(0,
|
|
70
|
-
(0,
|
|
63
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
64
|
+
(0, _isValidDate.isValidDate)(date);
|
|
71
65
|
return rookSync.current.syncBodySummary(date);
|
|
72
66
|
};
|
|
73
67
|
|
|
@@ -76,12 +70,11 @@ const useRookSummaries = () => {
|
|
|
76
70
|
* @returns The function `reSyncFailedSummaries` is returning a `Promise<boolean>`.
|
|
77
71
|
*/
|
|
78
72
|
const reSyncFailedSummaries = () => {
|
|
79
|
-
(0,
|
|
73
|
+
(0, _isModuleReady.isModuleReady)(ready);
|
|
80
74
|
return rookSync.current.syncPendingSummaries();
|
|
81
75
|
};
|
|
82
76
|
return {
|
|
83
77
|
ready,
|
|
84
|
-
shouldSyncFor,
|
|
85
78
|
reSyncFailedSummaries,
|
|
86
79
|
syncSleepSummary,
|
|
87
80
|
syncPhysicalSummary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_RookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_RookSyncGateContext","_getNativeModule","_interopRequireDefault","_isModuleReady","_isValidDate","_nativeModules","obj","__esModule","default","useRookSummaries","rookSync","useRef","getNativeModule","Platform","select","android","nativeModules","SYNC","ios","MAIN","state","ready","useRookSyncGateContext","syncSleepSummary","date","isModuleReady","isValidDate","current","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries","exports"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAAmD,SAAAI,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnD;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EACrB,IAAAC,wBAAe,EACbC,qBAAQ,CAACC,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMC,sBAAa,CAACD,OAAO,CAACE,IAAI;IACzCT,OAAO,EAAEA,CAAA,KAAMQ,sBAAa,CAACE,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAG,IAAAC,2CAAsB,EAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMC,gBAAgB,GAAIC,IAAY,IAAuB;IAC3D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOd,QAAQ,CAACiB,OAAO,CAACJ,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMI,mBAAmB,GAAIJ,IAAY,IAAuB;IAC9D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOd,QAAQ,CAACiB,OAAO,CAACC,mBAAmB,CAACJ,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMK,eAAe,GAAIL,IAAY,IAAuB;IAC1D,IAAAC,4BAAa,EAACJ,KAAK,CAAC;IACpB,IAAAK,wBAAW,EAACF,IAAI,CAAC;IAEjB,OAAOd,QAAQ,CAACiB,OAAO,CAACE,eAAe,CAACL,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMM,qBAAqB,GAAGA,CAAA,KAAwB;IACpD,IAAAL,4BAAa,EAACJ,KAAK,CAAC;IACpB,OAAOX,QAAQ,CAACiB,OAAO,CAACI,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLV,KAAK;IACLS,qBAAqB;IACrBP,gBAAgB;IAChBK,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC;AAACG,OAAA,CAAAvB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|