@kingstinct/react-native-healthkit 4.3.0 → 4.4.2
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/ios/ReactNativeHealthkit.swift +2 -2
- package/lib/commonjs/index.ios.js +123 -104
- package/lib/commonjs/index.ios.js.map +1 -1
- package/lib/commonjs/index.js +50 -37
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native-types.js +127 -106
- package/lib/commonjs/native-types.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/index.ios.js +124 -105
- package/lib/module/index.ios.js.map +1 -1
- package/lib/module/index.js +51 -37
- package/lib/module/index.js.map +1 -1
- package/lib/module/native-types.js +118 -103
- package/lib/module/native-types.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/native-types.d.ts +452 -217
- package/lib/typescript/src/types.d.ts +85 -83
- package/package.json +21 -35
- package/src/index.ios.tsx +299 -273
- package/src/index.tsx +63 -46
- package/src/native-types.ts +310 -301
- package/src/types.ts +113 -107
|
@@ -507,7 +507,7 @@ class ReactNativeHealthkit: RCTEventEmitter {
|
|
|
507
507
|
}
|
|
508
508
|
|
|
509
509
|
@objc(saveCategorySample:value:start:end:metadata:resolve:reject:)
|
|
510
|
-
func saveCategorySample(typeIdentifier: String, value:
|
|
510
|
+
func saveCategorySample(typeIdentifier: String, value: Double, start: Date, end: Date, metadata: NSDictionary, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock){
|
|
511
511
|
guard let store = _store else {
|
|
512
512
|
return reject(INIT_ERROR, INIT_ERROR_MESSAGE, nil);
|
|
513
513
|
}
|
|
@@ -518,7 +518,7 @@ class ReactNativeHealthkit: RCTEventEmitter {
|
|
|
518
518
|
return reject(TYPE_IDENTIFIER_ERROR, typeIdentifier, nil);
|
|
519
519
|
}
|
|
520
520
|
|
|
521
|
-
let sample = HKCategorySample.init(type: type, value: value, start: start, end: end, metadata: metadata as? Dictionary<String, Any>)
|
|
521
|
+
let sample = HKCategorySample.init(type: type, value: Int(value), start: start, end: end, metadata: metadata as? Dictionary<String, Any>)
|
|
522
522
|
|
|
523
523
|
store.save(sample) { (success: Bool, error: Error?) in
|
|
524
524
|
guard let err = error else {
|
|
@@ -68,22 +68,16 @@ function deserializeWorkout(sample) {
|
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
const deserializCategorySample = sample => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
};
|
|
76
|
-
};
|
|
71
|
+
const deserializCategorySample = sample => ({ ...sample,
|
|
72
|
+
startDate: new Date(sample.startDate),
|
|
73
|
+
endDate: new Date(sample.endDate)
|
|
74
|
+
});
|
|
77
75
|
|
|
78
|
-
const serializeDate = date =>
|
|
79
|
-
return date ? date.toISOString() : new Date(0).toISOString();
|
|
80
|
-
};
|
|
76
|
+
const serializeDate = date => date ? date.toISOString() : new Date(0).toISOString();
|
|
81
77
|
|
|
82
78
|
const prepareOptions = options => {
|
|
83
|
-
var _options$ascending;
|
|
84
|
-
|
|
85
79
|
const limit = !options.limit || options.limit === Infinity ? 0 : options.limit;
|
|
86
|
-
const ascending =
|
|
80
|
+
const ascending = options.ascending ?? limit === 0;
|
|
87
81
|
const from = serializeDate(options.from);
|
|
88
82
|
const to = serializeDate(options.to);
|
|
89
83
|
return {
|
|
@@ -101,6 +95,36 @@ const queryQuantitySamples = async (identifier, options) => {
|
|
|
101
95
|
return quantitySamples.map(deserializeSample);
|
|
102
96
|
};
|
|
103
97
|
|
|
98
|
+
async function getPreferredUnitsTyped(options) {
|
|
99
|
+
let energyUnit = options === null || options === void 0 ? void 0 : options.energyUnit;
|
|
100
|
+
let distanceUnit = options === null || options === void 0 ? void 0 : options.distanceUnit;
|
|
101
|
+
|
|
102
|
+
if (!energyUnit || !distanceUnit) {
|
|
103
|
+
const units = await _nativeTypes.default.getPreferredUnits([_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning, _nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned]);
|
|
104
|
+
|
|
105
|
+
if (!energyUnit) {
|
|
106
|
+
energyUnit = units[_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if (!distanceUnit) {
|
|
110
|
+
distanceUnit = units[_nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (!energyUnit) {
|
|
115
|
+
energyUnit = _nativeTypes.HKUnit.Kilocalories;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (!distanceUnit) {
|
|
119
|
+
distanceUnit = _nativeTypes.HKUnit.Meters;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return {
|
|
123
|
+
energyUnit,
|
|
124
|
+
distanceUnit
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
|
|
104
128
|
const subscribeToChanges = async (identifier, callback) => {
|
|
105
129
|
const subscription = _nativeTypes.EventEmitter.addListener('onChange', _ref => {
|
|
106
130
|
let {
|
|
@@ -112,11 +136,11 @@ const subscribeToChanges = async (identifier, callback) => {
|
|
|
112
136
|
}
|
|
113
137
|
});
|
|
114
138
|
|
|
115
|
-
const queryId = await _nativeTypes.default.subscribeToObserverQuery(identifier).catch(error => {
|
|
139
|
+
const queryId = await _nativeTypes.default.subscribeToObserverQuery(identifier).catch(async error => {
|
|
116
140
|
subscription.remove();
|
|
117
141
|
return Promise.reject(error);
|
|
118
142
|
});
|
|
119
|
-
return () => {
|
|
143
|
+
return async () => {
|
|
120
144
|
subscription.remove();
|
|
121
145
|
return _nativeTypes.default.unsubscribeQuery(queryId);
|
|
122
146
|
};
|
|
@@ -125,7 +149,7 @@ const subscribeToChanges = async (identifier, callback) => {
|
|
|
125
149
|
const getMostRecentQuantitySample = async (identifier, unit) => {
|
|
126
150
|
const samples = await queryQuantitySamples(identifier, {
|
|
127
151
|
limit: 1,
|
|
128
|
-
unit
|
|
152
|
+
unit
|
|
129
153
|
});
|
|
130
154
|
return samples[0];
|
|
131
155
|
};
|
|
@@ -140,17 +164,20 @@ function useMostRecentWorkout(options) {
|
|
|
140
164
|
energyUnit,
|
|
141
165
|
distanceUnit
|
|
142
166
|
} = await getPreferredUnitsTyped(options);
|
|
143
|
-
cancelSubscription = await subscribeToChanges('HKWorkoutTypeIdentifier', () => {
|
|
144
|
-
getMostRecentWorkout({
|
|
167
|
+
cancelSubscription = await subscribeToChanges('HKWorkoutTypeIdentifier', async () => {
|
|
168
|
+
const w = await getMostRecentWorkout({
|
|
145
169
|
energyUnit,
|
|
146
170
|
distanceUnit
|
|
147
|
-
})
|
|
171
|
+
});
|
|
172
|
+
setWorkout(w);
|
|
148
173
|
});
|
|
149
174
|
};
|
|
150
175
|
|
|
151
|
-
init();
|
|
176
|
+
void init();
|
|
152
177
|
return () => {
|
|
153
|
-
|
|
178
|
+
var _cancelSubscription;
|
|
179
|
+
|
|
180
|
+
void ((_cancelSubscription = cancelSubscription) === null || _cancelSubscription === void 0 ? void 0 : _cancelSubscription());
|
|
154
181
|
};
|
|
155
182
|
}, [options]);
|
|
156
183
|
return workout;
|
|
@@ -164,15 +191,6 @@ const getMostRecentCategorySample = async identifier => {
|
|
|
164
191
|
return samples[0];
|
|
165
192
|
};
|
|
166
193
|
|
|
167
|
-
function useMostRecentCategorySample(identifier) {
|
|
168
|
-
const [category, setCategory] = (0, _react.useState)(null);
|
|
169
|
-
const updater = (0, _react.useCallback)(() => {
|
|
170
|
-
getMostRecentCategorySample(identifier).then(setCategory);
|
|
171
|
-
}, [identifier]);
|
|
172
|
-
useSubscribeToChanges(identifier, updater);
|
|
173
|
-
return category;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
194
|
function useSubscribeToChanges(identifier, onChange) {
|
|
177
195
|
(0, _react.useEffect)(() => {
|
|
178
196
|
let cancelSubscription;
|
|
@@ -181,13 +199,26 @@ function useSubscribeToChanges(identifier, onChange) {
|
|
|
181
199
|
cancelSubscription = await subscribeToChanges(identifier, onChange);
|
|
182
200
|
};
|
|
183
201
|
|
|
184
|
-
init();
|
|
202
|
+
void init();
|
|
185
203
|
return () => {
|
|
186
|
-
|
|
204
|
+
var _cancelSubscription2;
|
|
205
|
+
|
|
206
|
+
void ((_cancelSubscription2 = cancelSubscription) === null || _cancelSubscription2 === void 0 ? void 0 : _cancelSubscription2());
|
|
187
207
|
};
|
|
188
208
|
}, [identifier, onChange]);
|
|
189
209
|
}
|
|
190
210
|
|
|
211
|
+
useSubscribeToChanges(_nativeTypes.HKCategoryTypeIdentifier.appleStandHour, () => {});
|
|
212
|
+
|
|
213
|
+
function useMostRecentCategorySample(identifier) {
|
|
214
|
+
const [category, setCategory] = (0, _react.useState)(null);
|
|
215
|
+
const updater = (0, _react.useCallback)(() => {
|
|
216
|
+
void getMostRecentCategorySample(identifier).then(setCategory);
|
|
217
|
+
}, [identifier]);
|
|
218
|
+
useSubscribeToChanges(identifier, updater);
|
|
219
|
+
return category;
|
|
220
|
+
}
|
|
221
|
+
|
|
191
222
|
function useMostRecentQuantitySample(identifier, unit) {
|
|
192
223
|
const [lastSample, setLastSample] = (0, _react.useState)(null);
|
|
193
224
|
(0, _react.useEffect)(() => {
|
|
@@ -195,22 +226,23 @@ function useMostRecentQuantitySample(identifier, unit) {
|
|
|
195
226
|
|
|
196
227
|
const init = async () => {
|
|
197
228
|
const actualUnit = await ensureUnit(identifier, unit);
|
|
198
|
-
cancelSubscription = await subscribeToChanges(identifier, () => {
|
|
199
|
-
getMostRecentQuantitySample(identifier, actualUnit)
|
|
200
|
-
|
|
201
|
-
});
|
|
229
|
+
cancelSubscription = await subscribeToChanges(identifier, async () => {
|
|
230
|
+
const value = await getMostRecentQuantitySample(identifier, actualUnit);
|
|
231
|
+
setLastSample(value);
|
|
202
232
|
});
|
|
203
233
|
};
|
|
204
234
|
|
|
205
|
-
init();
|
|
235
|
+
void init();
|
|
206
236
|
return () => {
|
|
207
|
-
|
|
237
|
+
var _cancelSubscription3;
|
|
238
|
+
|
|
239
|
+
void ((_cancelSubscription3 = cancelSubscription) === null || _cancelSubscription3 === void 0 ? void 0 : _cancelSubscription3());
|
|
208
240
|
};
|
|
209
241
|
}, [identifier, unit]);
|
|
210
242
|
return lastSample;
|
|
211
243
|
}
|
|
212
244
|
|
|
213
|
-
const saveQuantitySample = (identifier, unit, value, options) => {
|
|
245
|
+
const saveQuantitySample = async (identifier, unit, value, options) => {
|
|
214
246
|
const start = (options === null || options === void 0 ? void 0 : options.start) || (options === null || options === void 0 ? void 0 : options.end) || new Date();
|
|
215
247
|
const end = (options === null || options === void 0 ? void 0 : options.end) || (options === null || options === void 0 ? void 0 : options.start) || new Date();
|
|
216
248
|
const metadata = (options === null || options === void 0 ? void 0 : options.metadata) || {};
|
|
@@ -235,18 +267,14 @@ const queryStatisticsForQuantity = async (identifier, options, from, to, unit) =
|
|
|
235
267
|
return response;
|
|
236
268
|
};
|
|
237
269
|
|
|
238
|
-
const requestAuthorization = function (read) {
|
|
270
|
+
const requestAuthorization = async function (read) {
|
|
239
271
|
let write = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
240
|
-
const readPermissions = read.reduce((obj, cur) => {
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
return { ...obj,
|
|
247
|
-
[cur]: true
|
|
248
|
-
};
|
|
249
|
-
}, {});
|
|
272
|
+
const readPermissions = read.reduce((obj, cur) => ({ ...obj,
|
|
273
|
+
[cur]: true
|
|
274
|
+
}), {});
|
|
275
|
+
const writePermissions = write.reduce((obj, cur) => ({ ...obj,
|
|
276
|
+
[cur]: true
|
|
277
|
+
}), {});
|
|
250
278
|
return _nativeTypes.default.requestAuthorization(writePermissions, readPermissions);
|
|
251
279
|
};
|
|
252
280
|
|
|
@@ -255,18 +283,14 @@ const getDateOfBirth = async () => {
|
|
|
255
283
|
return new Date(dateOfBirth);
|
|
256
284
|
};
|
|
257
285
|
|
|
258
|
-
const getRequestStatusForAuthorization = function (read) {
|
|
286
|
+
const getRequestStatusForAuthorization = async function (read) {
|
|
259
287
|
let write = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
260
|
-
const readPermissions = read.reduce((obj, cur) => {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
return { ...obj,
|
|
267
|
-
[cur]: true
|
|
268
|
-
};
|
|
269
|
-
}, {});
|
|
288
|
+
const readPermissions = read.reduce((obj, cur) => ({ ...obj,
|
|
289
|
+
[cur]: true
|
|
290
|
+
}), {});
|
|
291
|
+
const writePermissions = write.reduce((obj, cur) => ({ ...obj,
|
|
292
|
+
[cur]: true
|
|
293
|
+
}), {});
|
|
270
294
|
return _nativeTypes.default.getRequestStatusForAuthorization(writePermissions, readPermissions);
|
|
271
295
|
};
|
|
272
296
|
|
|
@@ -276,36 +300,6 @@ const queryCategorySamples = async (identifier, options) => {
|
|
|
276
300
|
return results.map(deserializCategorySample);
|
|
277
301
|
};
|
|
278
302
|
|
|
279
|
-
async function getPreferredUnitsTyped(options) {
|
|
280
|
-
let energyUnit = options === null || options === void 0 ? void 0 : options.energyUnit;
|
|
281
|
-
let distanceUnit = options === null || options === void 0 ? void 0 : options.distanceUnit;
|
|
282
|
-
|
|
283
|
-
if (!energyUnit || !distanceUnit) {
|
|
284
|
-
const units = await _nativeTypes.default.getPreferredUnits([_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning, _nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned]);
|
|
285
|
-
|
|
286
|
-
if (!energyUnit) {
|
|
287
|
-
energyUnit = units[_nativeTypes.HKQuantityTypeIdentifier.distanceWalkingRunning];
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
if (!distanceUnit) {
|
|
291
|
-
distanceUnit = units[_nativeTypes.HKQuantityTypeIdentifier.activeEnergyBurned];
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
if (!energyUnit) {
|
|
296
|
-
energyUnit = _nativeTypes.HKUnit.Kilocalories;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
if (!distanceUnit) {
|
|
300
|
-
distanceUnit = _nativeTypes.HKUnit.Meters;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
return {
|
|
304
|
-
energyUnit,
|
|
305
|
-
distanceUnit
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
|
|
309
303
|
const queryWorkouts = async options => {
|
|
310
304
|
const {
|
|
311
305
|
energyUnit,
|
|
@@ -326,7 +320,7 @@ const getMostRecentWorkout = async options => {
|
|
|
326
320
|
return workouts[0];
|
|
327
321
|
};
|
|
328
322
|
|
|
329
|
-
function saveCategorySample(identifier, value, options) {
|
|
323
|
+
async function saveCategorySample(identifier, value, options) {
|
|
330
324
|
const start = (options === null || options === void 0 ? void 0 : options.start) || (options === null || options === void 0 ? void 0 : options.end) || new Date();
|
|
331
325
|
const end = (options === null || options === void 0 ? void 0 : options.end) || (options === null || options === void 0 ? void 0 : options.start) || new Date();
|
|
332
326
|
const metadata = (options === null || options === void 0 ? void 0 : options.metadata) || {};
|
|
@@ -338,13 +332,12 @@ const getPreferredUnits = async identifiers => {
|
|
|
338
332
|
return identifiers.map(i => units[i]);
|
|
339
333
|
};
|
|
340
334
|
|
|
341
|
-
const buildUnitWithPrefix = (prefix, unit) => {
|
|
342
|
-
return `${prefix}${unit}`;
|
|
343
|
-
};
|
|
335
|
+
const buildUnitWithPrefix = (prefix, unit) => `${prefix}${unit}`;
|
|
344
336
|
|
|
345
337
|
function deserializeCorrelation(s) {
|
|
346
338
|
return { ...s,
|
|
347
339
|
objects: s.objects.map(o => {
|
|
340
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
348
341
|
// @ts-ignore
|
|
349
342
|
if (o.quantity !== undefined) {
|
|
350
343
|
return deserializeSample(o);
|
|
@@ -373,29 +366,27 @@ const saveCorrelationSample = async (typeIdentifier, samples, options) => {
|
|
|
373
366
|
return _nativeTypes.default.saveCorrelationSample(typeIdentifier, samples, start, end, ensureMetadata(options === null || options === void 0 ? void 0 : options.metadata));
|
|
374
367
|
};
|
|
375
368
|
|
|
376
|
-
const saveWorkoutSample = (typeIdentifier, quantities, _start, options) => {
|
|
369
|
+
const saveWorkoutSample = async (typeIdentifier, quantities, _start, options) => {
|
|
377
370
|
const start = _start.toISOString();
|
|
378
371
|
|
|
379
372
|
const end = ((options === null || options === void 0 ? void 0 : options.end) || new Date()).toISOString();
|
|
380
373
|
return _nativeTypes.default.saveWorkoutSample(typeIdentifier, quantities, start, end, ensureMetadata(options === null || options === void 0 ? void 0 : options.metadata));
|
|
381
374
|
};
|
|
382
375
|
|
|
383
|
-
const getWorkoutRoutes = workoutUUID =>
|
|
384
|
-
return _nativeTypes.default.getWorkoutRoutes(workoutUUID);
|
|
385
|
-
};
|
|
376
|
+
const getWorkoutRoutes = async workoutUUID => _nativeTypes.default.getWorkoutRoutes(workoutUUID);
|
|
386
377
|
|
|
387
378
|
const Healthkit = {
|
|
388
|
-
authorizationStatusFor: _nativeTypes.default.authorizationStatusFor,
|
|
389
|
-
isHealthDataAvailable: _nativeTypes.default.isHealthDataAvailable,
|
|
379
|
+
authorizationStatusFor: _nativeTypes.default.authorizationStatusFor.bind(_nativeTypes.default),
|
|
380
|
+
isHealthDataAvailable: _nativeTypes.default.isHealthDataAvailable.bind(_nativeTypes.default),
|
|
390
381
|
buildUnitWithPrefix,
|
|
391
382
|
disableAllBackgroundDelivery: _nativeTypes.default.disableAllBackgroundDelivery,
|
|
392
383
|
disableBackgroundDelivery: _nativeTypes.default.disableBackgroundDelivery,
|
|
393
384
|
enableBackgroundDelivery: _nativeTypes.default.enableBackgroundDelivery,
|
|
394
385
|
// simple convenience getters
|
|
395
|
-
getBiologicalSex: _nativeTypes.default.getBiologicalSex,
|
|
396
|
-
getFitzpatrickSkinType: _nativeTypes.default.getFitzpatrickSkinType,
|
|
386
|
+
getBiologicalSex: _nativeTypes.default.getBiologicalSex.bind(_nativeTypes.default),
|
|
387
|
+
getFitzpatrickSkinType: _nativeTypes.default.getFitzpatrickSkinType.bind(_nativeTypes.default),
|
|
397
388
|
getWheelchairUse: _nativeTypes.default.getWheelchairUse,
|
|
398
|
-
getBloodType: _nativeTypes.default.getBloodType,
|
|
389
|
+
getBloodType: _nativeTypes.default.getBloodType.bind(_nativeTypes.default),
|
|
399
390
|
getDateOfBirth,
|
|
400
391
|
getMostRecentQuantitySample,
|
|
401
392
|
getMostRecentCategorySample,
|
|
@@ -422,7 +413,35 @@ const Healthkit = {
|
|
|
422
413
|
useMostRecentCategorySample,
|
|
423
414
|
useMostRecentQuantitySample,
|
|
424
415
|
useMostRecentWorkout,
|
|
425
|
-
useSubscribeToChanges
|
|
416
|
+
useSubscribeToChanges,
|
|
417
|
+
useIsHealthDataAvailable: () => {
|
|
418
|
+
const [isAvailable, setIsAvailable] = (0, _react.useState)(null);
|
|
419
|
+
(0, _react.useEffect)(() => {
|
|
420
|
+
const init = async () => {
|
|
421
|
+
const res = await _nativeTypes.default.isHealthDataAvailable();
|
|
422
|
+
setIsAvailable(res);
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
void init();
|
|
426
|
+
}, []);
|
|
427
|
+
return isAvailable;
|
|
428
|
+
},
|
|
429
|
+
useHealthkitAuthorization: (read, write) => {
|
|
430
|
+
const [status, setStatus] = (0, _react.useState)(null);
|
|
431
|
+
const refreshAuthStatus = (0, _react.useCallback)(async () => {
|
|
432
|
+
const auth = await getRequestStatusForAuthorization(read, write);
|
|
433
|
+
setStatus(auth);
|
|
434
|
+
return auth;
|
|
435
|
+
}, []);
|
|
436
|
+
const request = (0, _react.useCallback)(async () => {
|
|
437
|
+
await requestAuthorization(read, write);
|
|
438
|
+
return refreshAuthStatus();
|
|
439
|
+
}, []);
|
|
440
|
+
(0, _react.useEffect)(() => {
|
|
441
|
+
void refreshAuthStatus();
|
|
442
|
+
}, []);
|
|
443
|
+
return [status, request];
|
|
444
|
+
}
|
|
426
445
|
};
|
|
427
446
|
var _default = Healthkit;
|
|
428
447
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getPreferredUnit","type","unit","getPreferredUnits","ensureUnit","providedUnit","Native","deserializeSample","sample","startDate","Date","endDate","deserializeWorkout","deserializCategorySample","serializeDate","date","toISOString","prepareOptions","options","limit","Infinity","ascending","from","to","queryQuantitySamples","identifier","opts","quantitySamples","map","subscribeToChanges","callback","subscription","EventEmitter","addListener","typeIdentifier","queryId","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery","getMostRecentQuantitySample","samples","useMostRecentWorkout","workout","setWorkout","useState","useEffect","cancelSubscription","init","energyUnit","distanceUnit","getPreferredUnitsTyped","getMostRecentWorkout","then","getMostRecentCategorySample","queryCategorySamples","useMostRecentCategorySample","category","setCategory","updater","useCallback","useSubscribeToChanges","onChange","useMostRecentQuantitySample","lastSample","setLastSample","actualUnit","value","saveQuantitySample","start","end","metadata","queryStatisticsForQuantity","toDate","mostRecentQuantityDateInterval","rawResponse","response","requestAuthorization","read","write","readPermissions","reduce","obj","cur","writePermissions","getDateOfBirth","dateOfBirth","getRequestStatusForAuthorization","results","units","HKQuantityTypeIdentifier","distanceWalkingRunning","activeEnergyBurned","HKUnit","Kilocalories","Meters","queryWorkouts","workouts","queryWorkoutSamples","saveCategorySample","identifiers","i","buildUnitWithPrefix","prefix","deserializeCorrelation","s","objects","o","quantity","undefined","ensureMetadata","queryCorrelationSamples","correlations","saveCorrelationSample","saveWorkoutSample","quantities","_start","getWorkoutRoutes","workoutUUID","Healthkit","authorizationStatusFor","isHealthDataAvailable","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","getFitzpatrickSkinType","getWheelchairUse","getBloodType"],"sources":["index.ios.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport Native, {\n EventEmitter,\n HKCategorySampleRaw,\n HKCategoryTypeIdentifier,\n HKCategoryValueForIdentifier,\n HKCharacteristicTypeIdentifier,\n HKCorrelationRaw,\n HKCorrelationTypeIdentifier,\n HKQuantitySampleRaw,\n HKQuantityTypeIdentifier,\n HKSampleTypeIdentifier,\n HKUnit,\n HKUnitSI,\n HKUnitSIPrefix,\n HKWorkoutRaw,\n MetadataMapperForCategoryIdentifier,\n} from './native-types';\nimport type {\n GenericQueryOptions,\n GetMostRecentCategorySampleFn,\n GetMostRecentQuantitySampleFn,\n GetMostRecentWorkoutFn,\n GetPreferredUnitFn,\n GetPreferredUnitsFn,\n GetWorkoutRoutesFn,\n HKCategorySample,\n HKCorrelation,\n HKQuantitySample,\n HKWorkout,\n QueryCategorySamplesFn,\n QueryCorrelationSamplesFn,\n QueryQuantitySamplesFn,\n QueryStatisticsForQuantityFn,\n QueryWorkoutsFn,\n ReactNativeHealthkit,\n SaveCorrelationSampleFn,\n SaveQuantitySampleFn,\n SaveWorkoutSampleFn,\n SubscribeToChangesFn,\n} from './types';\n\nconst getPreferredUnit: GetPreferredUnitFn = async (type) => {\n const [unit] = await getPreferredUnits([type]);\n return unit;\n};\n\nconst ensureUnit = async <TUnit extends HKUnit>(\n type: HKQuantityTypeIdentifier,\n providedUnit?: TUnit\n) => {\n if (providedUnit) {\n return providedUnit;\n }\n const unit = await Native.getPreferredUnits([type]);\n return unit[type] as TUnit;\n};\n\nfunction deserializeSample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit\n>(\n sample: HKQuantitySampleRaw<TIdentifier, TUnit>\n): HKQuantitySample<TIdentifier, TUnit> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n };\n}\n\nfunction deserializeWorkout<TEnergy extends HKUnit, TDistance extends HKUnit>(\n sample: HKWorkoutRaw<TEnergy, TDistance>\n): HKWorkout<TEnergy, TDistance> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n };\n}\n\nconst deserializCategorySample = <T extends HKCategoryTypeIdentifier>(\n sample: HKCategorySampleRaw<T>\n): HKCategorySample<T> => {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n };\n};\n\nconst serializeDate = (date?: Date | null): string => {\n return date ? date.toISOString() : new Date(0).toISOString();\n};\n\nconst prepareOptions = (options: GenericQueryOptions) => {\n const limit =\n !options.limit || options.limit === Infinity ? 0 : options.limit;\n const ascending = options.ascending ?? limit === 0;\n const from = serializeDate(options.from);\n const to = serializeDate(options.to);\n return { limit, ascending, from, to };\n};\n\nconst queryQuantitySamples: QueryQuantitySamplesFn = async (\n identifier,\n options\n) => {\n const unit = await ensureUnit(identifier, options.unit);\n const opts = prepareOptions(options);\n\n const quantitySamples = await Native.queryQuantitySamples(\n identifier,\n unit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending\n );\n\n return quantitySamples.map(deserializeSample);\n};\n\nconst subscribeToChanges: SubscribeToChangesFn = async (\n identifier,\n callback\n) => {\n const subscription = EventEmitter.addListener(\n 'onChange',\n ({ typeIdentifier }) => {\n if (typeIdentifier === identifier) {\n callback();\n }\n }\n );\n\n const queryId = await Native.subscribeToObserverQuery(identifier).catch(\n (error) => {\n subscription.remove();\n return Promise.reject(error);\n }\n );\n\n return () => {\n subscription.remove();\n return Native.unsubscribeQuery(queryId);\n };\n};\n\nconst getMostRecentQuantitySample: GetMostRecentQuantitySampleFn = async (\n identifier,\n unit\n) => {\n const samples = await queryQuantitySamples(identifier, {\n limit: 1,\n unit: unit,\n });\n return samples[0];\n};\n\nfunction useMostRecentWorkout<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { energyUnit?: TEnergy; distanceUnit?: TDistance }) {\n const [workout, setWorkout] = useState<HKWorkout<TEnergy, TDistance> | null>(\n null\n );\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined;\n\n const init = async () => {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(\n options\n );\n\n cancelSubscription = await subscribeToChanges(\n 'HKWorkoutTypeIdentifier',\n () => {\n getMostRecentWorkout({ energyUnit, distanceUnit }).then(setWorkout);\n }\n );\n };\n init();\n return () => {\n cancelSubscription && cancelSubscription();\n };\n }, [options]);\n return workout;\n}\n\nconst getMostRecentCategorySample: GetMostRecentCategorySampleFn = async (\n identifier\n) => {\n const samples = await queryCategorySamples(identifier, {\n limit: 1,\n ascending: false,\n });\n\n return samples[0];\n};\n\nfunction useMostRecentCategorySample<\n TCategory extends HKCategoryTypeIdentifier\n>(identifier: TCategory) {\n const [category, setCategory] = useState<HKCategorySample<TCategory> | null>(\n null\n );\n const updater = useCallback(() => {\n getMostRecentCategorySample(identifier).then(setCategory);\n }, [identifier]);\n\n useSubscribeToChanges(identifier, updater);\n\n return category;\n}\n\nfunction useSubscribeToChanges<TIdentifier extends HKSampleTypeIdentifier>(\n identifier: TIdentifier,\n onChange: () => void\n): void {\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined;\n\n const init = async () => {\n cancelSubscription = await subscribeToChanges(identifier, onChange);\n };\n init();\n\n return () => {\n cancelSubscription && cancelSubscription();\n };\n }, [identifier, onChange]);\n}\n\nfunction useMostRecentQuantitySample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit = HKUnit\n>(identifier: TIdentifier, unit?: TUnit) {\n const [lastSample, setLastSample] = useState<HKQuantitySample<\n TIdentifier,\n TUnit\n > | null>(null);\n\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined;\n\n const init = async () => {\n const actualUnit = await ensureUnit(identifier, unit);\n\n cancelSubscription = await subscribeToChanges(identifier, () => {\n getMostRecentQuantitySample(identifier, actualUnit).then((value) => {\n setLastSample(value);\n });\n });\n };\n init();\n\n return () => {\n cancelSubscription && cancelSubscription();\n };\n }, [identifier, unit]);\n\n return lastSample;\n}\n\nconst saveQuantitySample: SaveQuantitySampleFn = (\n identifier,\n unit,\n value,\n options\n) => {\n const start = options?.start || options?.end || new Date();\n const end = options?.end || options?.start || new Date();\n const metadata = options?.metadata || {};\n\n return Native.saveQuantitySample(\n identifier,\n unit,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata\n );\n};\n\nconst queryStatisticsForQuantity: QueryStatisticsForQuantityFn = async (\n identifier,\n options,\n from,\n to,\n unit\n) => {\n const actualUnit = await ensureUnit(identifier, unit);\n const toDate = to || new Date();\n const { mostRecentQuantityDateInterval, ...rawResponse } =\n await Native.queryStatisticsForQuantity(\n identifier,\n actualUnit,\n from.toISOString(),\n toDate.toISOString(),\n options\n );\n\n const response = {\n ...rawResponse,\n ...(mostRecentQuantityDateInterval\n ? {\n mostRecentQuantityDateInterval: {\n from: new Date(mostRecentQuantityDateInterval.from),\n to: new Date(mostRecentQuantityDateInterval.to),\n },\n }\n : {}),\n };\n\n return response;\n};\n\nconst requestAuthorization = (\n read: (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[],\n write: HKSampleTypeIdentifier[] = []\n): Promise<boolean> => {\n const readPermissions = read.reduce((obj, cur) => {\n return { ...obj, [cur]: true };\n }, {});\n\n const writePermissions = write.reduce((obj, cur) => {\n return { ...obj, [cur]: true };\n }, {});\n\n return Native.requestAuthorization(writePermissions, readPermissions);\n};\n\nconst getDateOfBirth = async () => {\n const dateOfBirth = await Native.getDateOfBirth();\n return new Date(dateOfBirth);\n};\n\nconst getRequestStatusForAuthorization = (\n read: (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[],\n write: HKSampleTypeIdentifier[] = []\n) => {\n const readPermissions = read.reduce((obj, cur) => {\n return { ...obj, [cur]: true };\n }, {});\n\n const writePermissions = write.reduce((obj, cur) => {\n return { ...obj, [cur]: true };\n }, {});\n\n return Native.getRequestStatusForAuthorization(\n writePermissions,\n readPermissions\n );\n};\n\nconst queryCategorySamples: QueryCategorySamplesFn = async (\n identifier,\n options\n) => {\n const opts = prepareOptions(options);\n const results = await Native.queryCategorySamples(\n identifier,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending\n );\n\n return results.map(deserializCategorySample);\n};\n\nasync function getPreferredUnitsTyped<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { energyUnit?: TEnergy; distanceUnit?: TDistance }) {\n let energyUnit = options?.energyUnit;\n let distanceUnit = options?.distanceUnit;\n if (!energyUnit || !distanceUnit) {\n const units = await Native.getPreferredUnits([\n HKQuantityTypeIdentifier.distanceWalkingRunning,\n HKQuantityTypeIdentifier.activeEnergyBurned,\n ]);\n if (!energyUnit) {\n energyUnit = units[HKQuantityTypeIdentifier.distanceWalkingRunning] as\n | TEnergy\n | undefined;\n }\n if (!distanceUnit) {\n distanceUnit = units[HKQuantityTypeIdentifier.activeEnergyBurned] as\n | TDistance\n | undefined;\n }\n }\n if (!energyUnit) {\n energyUnit = HKUnit.Kilocalories as TEnergy;\n }\n if (!distanceUnit) {\n distanceUnit = HKUnit.Meters as TDistance;\n }\n return { energyUnit, distanceUnit };\n}\n\nconst queryWorkouts: QueryWorkoutsFn = async (options) => {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(options);\n const opts = prepareOptions(options);\n\n const workouts = await Native.queryWorkoutSamples(\n energyUnit,\n distanceUnit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending\n );\n\n return workouts.map(deserializeWorkout);\n};\n\nconst getMostRecentWorkout: GetMostRecentWorkoutFn = async (options) => {\n const workouts = await queryWorkouts({\n limit: 1,\n ascending: false,\n energyUnit: options?.energyUnit,\n distanceUnit: options?.distanceUnit,\n });\n\n return workouts[0];\n};\n\nfunction saveCategorySample<T extends HKCategoryTypeIdentifier>(\n identifier: T,\n value: HKCategoryValueForIdentifier<T>,\n options?: {\n start?: Date;\n end?: Date;\n metadata?: MetadataMapperForCategoryIdentifier<T>;\n }\n) {\n const start = options?.start || options?.end || new Date();\n const end = options?.end || options?.start || new Date();\n const metadata = options?.metadata || {};\n\n return Native.saveCategorySample(\n identifier,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata || {}\n );\n}\n\nconst getPreferredUnits: GetPreferredUnitsFn = async (identifiers) => {\n const units = await Native.getPreferredUnits(identifiers);\n return identifiers.map((i) => units[i]);\n};\n\nconst buildUnitWithPrefix = (prefix: HKUnitSIPrefix, unit: HKUnitSI) => {\n return `${prefix}${unit}` as HKUnit;\n};\n\nfunction deserializeCorrelation<\n TIdentifier extends HKCorrelationTypeIdentifier\n>(s: HKCorrelationRaw<TIdentifier>): HKCorrelation<TIdentifier> {\n return {\n ...s,\n objects: s.objects.map((o) => {\n // @ts-ignore\n if (o.quantity !== undefined) {\n return deserializeSample(o as HKQuantitySampleRaw);\n }\n\n return deserializCategorySample(o as HKCategorySampleRaw);\n }),\n endDate: new Date(s.endDate),\n startDate: new Date(s.startDate),\n };\n}\n\nfunction ensureMetadata<TMetadata>(metadata?: TMetadata) {\n return metadata || ({} as TMetadata);\n}\n\nconst queryCorrelationSamples: QueryCorrelationSamplesFn = async (\n typeIdentifier,\n options\n) => {\n const opts = prepareOptions(options);\n const correlations = await Native.queryCorrelationSamples(\n typeIdentifier,\n opts.from,\n opts.to\n );\n\n return correlations.map(deserializeCorrelation);\n};\n\nconst saveCorrelationSample: SaveCorrelationSampleFn = async (\n typeIdentifier,\n samples,\n options\n) => {\n const start = (options?.start || new Date()).toISOString();\n const end = (options?.end || new Date()).toISOString();\n\n return Native.saveCorrelationSample(\n typeIdentifier,\n samples,\n start,\n end,\n ensureMetadata(options?.metadata)\n );\n};\n\nconst saveWorkoutSample: SaveWorkoutSampleFn = (\n typeIdentifier,\n quantities,\n _start,\n options\n) => {\n const start = _start.toISOString();\n const end = (options?.end || new Date()).toISOString();\n\n return Native.saveWorkoutSample(\n typeIdentifier,\n quantities,\n start,\n end,\n ensureMetadata(options?.metadata)\n );\n};\n\nconst getWorkoutRoutes: GetWorkoutRoutesFn = (workoutUUID: string) => {\n return Native.getWorkoutRoutes(workoutUUID);\n};\n\nconst Healthkit: ReactNativeHealthkit = {\n authorizationStatusFor: Native.authorizationStatusFor,\n\n isHealthDataAvailable: Native.isHealthDataAvailable,\n\n buildUnitWithPrefix,\n\n disableAllBackgroundDelivery: Native.disableAllBackgroundDelivery,\n disableBackgroundDelivery: Native.disableBackgroundDelivery,\n enableBackgroundDelivery: Native.enableBackgroundDelivery,\n\n // simple convenience getters\n getBiologicalSex: Native.getBiologicalSex,\n getFitzpatrickSkinType: Native.getFitzpatrickSkinType,\n getWheelchairUse: Native.getWheelchairUse,\n getBloodType: Native.getBloodType,\n getDateOfBirth,\n\n getMostRecentQuantitySample,\n getMostRecentCategorySample,\n getMostRecentWorkout,\n\n getPreferredUnit,\n getPreferredUnits,\n getRequestStatusForAuthorization,\n\n getWorkoutRoutes,\n\n // query methods\n queryCategorySamples,\n queryCorrelationSamples,\n queryQuantitySamples,\n queryStatisticsForQuantity,\n queryWorkouts,\n\n requestAuthorization,\n\n // save methods\n saveCategorySample,\n saveCorrelationSample,\n saveQuantitySample,\n saveWorkoutSample,\n\n // subscriptions\n subscribeToChanges,\n\n // hooks\n useMostRecentCategorySample,\n\n useMostRecentQuantitySample,\n useMostRecentWorkout,\n\n useSubscribeToChanges,\n};\n\nexport * from './native-types';\nexport * from './types';\n\nexport default Healthkit;\n"],"mappings":";;;;;;;;AAAA;;AACA;;AA8kBA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;;;;;AAtiBA,MAAMA,gBAAoC,GAAG,MAAOC,IAAP,IAAgB;EAC3D,MAAM,CAACC,IAAD,IAAS,MAAMC,iBAAiB,CAAC,CAACF,IAAD,CAAD,CAAtC;EACA,OAAOC,IAAP;AACD,CAHD;;AAKA,MAAME,UAAU,GAAG,OACjBH,IADiB,EAEjBI,YAFiB,KAGd;EACH,IAAIA,YAAJ,EAAkB;IAChB,OAAOA,YAAP;EACD;;EACD,MAAMH,IAAI,GAAG,MAAMI,oBAAA,CAAOH,iBAAP,CAAyB,CAACF,IAAD,CAAzB,CAAnB;EACA,OAAOC,IAAI,CAACD,IAAD,CAAX;AACD,CATD;;AAWA,SAASM,iBAAT,CAIEC,MAJF,EAKwC;EACtC,OAAO,EACL,GAAGA,MADE;IAELC,SAAS,EAAE,IAAIC,IAAJ,CAASF,MAAM,CAACC,SAAhB,CAFN;IAGLE,OAAO,EAAE,IAAID,IAAJ,CAASF,MAAM,CAACG,OAAhB;EAHJ,CAAP;AAKD;;AAED,SAASC,kBAAT,CACEJ,MADF,EAEiC;EAC/B,OAAO,EACL,GAAGA,MADE;IAELC,SAAS,EAAE,IAAIC,IAAJ,CAASF,MAAM,CAACC,SAAhB,CAFN;IAGLE,OAAO,EAAE,IAAID,IAAJ,CAASF,MAAM,CAACG,OAAhB;EAHJ,CAAP;AAKD;;AAED,MAAME,wBAAwB,GAC5BL,MAD+B,IAEP;EACxB,OAAO,EACL,GAAGA,MADE;IAELC,SAAS,EAAE,IAAIC,IAAJ,CAASF,MAAM,CAACC,SAAhB,CAFN;IAGLE,OAAO,EAAE,IAAID,IAAJ,CAASF,MAAM,CAACG,OAAhB;EAHJ,CAAP;AAKD,CARD;;AAUA,MAAMG,aAAa,GAAIC,IAAD,IAAgC;EACpD,OAAOA,IAAI,GAAGA,IAAI,CAACC,WAAL,EAAH,GAAwB,IAAIN,IAAJ,CAAS,CAAT,EAAYM,WAAZ,EAAnC;AACD,CAFD;;AAIA,MAAMC,cAAc,GAAIC,OAAD,IAAkC;EAAA;;EACvD,MAAMC,KAAK,GACT,CAACD,OAAO,CAACC,KAAT,IAAkBD,OAAO,CAACC,KAAR,KAAkBC,QAApC,GAA+C,CAA/C,GAAmDF,OAAO,CAACC,KAD7D;EAEA,MAAME,SAAS,yBAAGH,OAAO,CAACG,SAAX,mEAAwBF,KAAK,KAAK,CAAjD;EACA,MAAMG,IAAI,GAAGR,aAAa,CAACI,OAAO,CAACI,IAAT,CAA1B;EACA,MAAMC,EAAE,GAAGT,aAAa,CAACI,OAAO,CAACK,EAAT,CAAxB;EACA,OAAO;IAAEJ,KAAF;IAASE,SAAT;IAAoBC,IAApB;IAA0BC;EAA1B,CAAP;AACD,CAPD;;AASA,MAAMC,oBAA4C,GAAG,OACnDC,UADmD,EAEnDP,OAFmD,KAGhD;EACH,MAAMhB,IAAI,GAAG,MAAME,UAAU,CAACqB,UAAD,EAAaP,OAAO,CAAChB,IAArB,CAA7B;EACA,MAAMwB,IAAI,GAAGT,cAAc,CAACC,OAAD,CAA3B;EAEA,MAAMS,eAAe,GAAG,MAAMrB,oBAAA,CAAOkB,oBAAP,CAC5BC,UAD4B,EAE5BvB,IAF4B,EAG5BwB,IAAI,CAACJ,IAHuB,EAI5BI,IAAI,CAACH,EAJuB,EAK5BG,IAAI,CAACP,KALuB,EAM5BO,IAAI,CAACL,SANuB,CAA9B;EASA,OAAOM,eAAe,CAACC,GAAhB,CAAoBrB,iBAApB,CAAP;AACD,CAjBD;;AAmBA,MAAMsB,kBAAwC,GAAG,OAC/CJ,UAD+C,EAE/CK,QAF+C,KAG5C;EACH,MAAMC,YAAY,GAAGC,yBAAA,CAAaC,WAAb,CACnB,UADmB,EAEnB,QAAwB;IAAA,IAAvB;MAAEC;IAAF,CAAuB;;IACtB,IAAIA,cAAc,KAAKT,UAAvB,EAAmC;MACjCK,QAAQ;IACT;EACF,CANkB,CAArB;;EASA,MAAMK,OAAO,GAAG,MAAM7B,oBAAA,CAAO8B,wBAAP,CAAgCX,UAAhC,EAA4CY,KAA5C,CACnBC,KAAD,IAAW;IACTP,YAAY,CAACQ,MAAb;IACA,OAAOC,OAAO,CAACC,MAAR,CAAeH,KAAf,CAAP;EACD,CAJmB,CAAtB;EAOA,OAAO,MAAM;IACXP,YAAY,CAACQ,MAAb;IACA,OAAOjC,oBAAA,CAAOoC,gBAAP,CAAwBP,OAAxB,CAAP;EACD,CAHD;AAID,CAxBD;;AA0BA,MAAMQ,2BAA0D,GAAG,OACjElB,UADiE,EAEjEvB,IAFiE,KAG9D;EACH,MAAM0C,OAAO,GAAG,MAAMpB,oBAAoB,CAACC,UAAD,EAAa;IACrDN,KAAK,EAAE,CAD8C;IAErDjB,IAAI,EAAEA;EAF+C,CAAb,CAA1C;EAIA,OAAO0C,OAAO,CAAC,CAAD,CAAd;AACD,CATD;;AAWA,SAASC,oBAAT,CAGE3B,OAHF,EAGgE;EAC9D,MAAM,CAAC4B,OAAD,EAAUC,UAAV,IAAwB,IAAAC,eAAA,EAC5B,IAD4B,CAA9B;EAGA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAIC,kBAAJ;;IAEA,MAAMC,IAAI,GAAG,YAAY;MACvB,MAAM;QAAEC,UAAF;QAAcC;MAAd,IAA+B,MAAMC,sBAAsB,CAC/DpC,OAD+D,CAAjE;MAIAgC,kBAAkB,GAAG,MAAMrB,kBAAkB,CAC3C,yBAD2C,EAE3C,MAAM;QACJ0B,oBAAoB,CAAC;UAAEH,UAAF;UAAcC;QAAd,CAAD,CAApB,CAAmDG,IAAnD,CAAwDT,UAAxD;MACD,CAJ0C,CAA7C;IAMD,CAXD;;IAYAI,IAAI;IACJ,OAAO,MAAM;MACXD,kBAAkB,IAAIA,kBAAkB,EAAxC;IACD,CAFD;EAGD,CAnBD,EAmBG,CAAChC,OAAD,CAnBH;EAoBA,OAAO4B,OAAP;AACD;;AAED,MAAMW,2BAA0D,GAAG,MACjEhC,UADiE,IAE9D;EACH,MAAMmB,OAAO,GAAG,MAAMc,oBAAoB,CAACjC,UAAD,EAAa;IACrDN,KAAK,EAAE,CAD8C;IAErDE,SAAS,EAAE;EAF0C,CAAb,CAA1C;EAKA,OAAOuB,OAAO,CAAC,CAAD,CAAd;AACD,CATD;;AAWA,SAASe,2BAAT,CAEElC,UAFF,EAEyB;EACvB,MAAM,CAACmC,QAAD,EAAWC,WAAX,IAA0B,IAAAb,eAAA,EAC9B,IAD8B,CAAhC;EAGA,MAAMc,OAAO,GAAG,IAAAC,kBAAA,EAAY,MAAM;IAChCN,2BAA2B,CAAChC,UAAD,CAA3B,CAAwC+B,IAAxC,CAA6CK,WAA7C;EACD,CAFe,EAEb,CAACpC,UAAD,CAFa,CAAhB;EAIAuC,qBAAqB,CAACvC,UAAD,EAAaqC,OAAb,CAArB;EAEA,OAAOF,QAAP;AACD;;AAED,SAASI,qBAAT,CACEvC,UADF,EAEEwC,QAFF,EAGQ;EACN,IAAAhB,gBAAA,EAAU,MAAM;IACd,IAAIC,kBAAJ;;IAEA,MAAMC,IAAI,GAAG,YAAY;MACvBD,kBAAkB,GAAG,MAAMrB,kBAAkB,CAACJ,UAAD,EAAawC,QAAb,CAA7C;IACD,CAFD;;IAGAd,IAAI;IAEJ,OAAO,MAAM;MACXD,kBAAkB,IAAIA,kBAAkB,EAAxC;IACD,CAFD;EAGD,CAXD,EAWG,CAACzB,UAAD,EAAawC,QAAb,CAXH;AAYD;;AAED,SAASC,2BAAT,CAGEzC,UAHF,EAG2BvB,IAH3B,EAGyC;EACvC,MAAM,CAACiE,UAAD,EAAaC,aAAb,IAA8B,IAAApB,eAAA,EAG1B,IAH0B,CAApC;EAKA,IAAAC,gBAAA,EAAU,MAAM;IACd,IAAIC,kBAAJ;;IAEA,MAAMC,IAAI,GAAG,YAAY;MACvB,MAAMkB,UAAU,GAAG,MAAMjE,UAAU,CAACqB,UAAD,EAAavB,IAAb,CAAnC;MAEAgD,kBAAkB,GAAG,MAAMrB,kBAAkB,CAACJ,UAAD,EAAa,MAAM;QAC9DkB,2BAA2B,CAAClB,UAAD,EAAa4C,UAAb,CAA3B,CAAoDb,IAApD,CAA0Dc,KAAD,IAAW;UAClEF,aAAa,CAACE,KAAD,CAAb;QACD,CAFD;MAGD,CAJ4C,CAA7C;IAKD,CARD;;IASAnB,IAAI;IAEJ,OAAO,MAAM;MACXD,kBAAkB,IAAIA,kBAAkB,EAAxC;IACD,CAFD;EAGD,CAjBD,EAiBG,CAACzB,UAAD,EAAavB,IAAb,CAjBH;EAmBA,OAAOiE,UAAP;AACD;;AAED,MAAMI,kBAAwC,GAAG,CAC/C9C,UAD+C,EAE/CvB,IAF+C,EAG/CoE,KAH+C,EAI/CpD,OAJ+C,KAK5C;EACH,MAAMsD,KAAK,GAAG,CAAAtD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEsD,KAAT,MAAkBtD,OAAlB,aAAkBA,OAAlB,uBAAkBA,OAAO,CAAEuD,GAA3B,KAAkC,IAAI/D,IAAJ,EAAhD;EACA,MAAM+D,GAAG,GAAG,CAAAvD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEuD,GAAT,MAAgBvD,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEsD,KAAzB,KAAkC,IAAI9D,IAAJ,EAA9C;EACA,MAAMgE,QAAQ,GAAG,CAAAxD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEwD,QAAT,KAAqB,EAAtC;EAEA,OAAOpE,oBAAA,CAAOiE,kBAAP,CACL9C,UADK,EAELvB,IAFK,EAGLoE,KAHK,EAILE,KAAK,CAACxD,WAAN,EAJK,EAKLyD,GAAG,CAACzD,WAAJ,EALK,EAML0D,QANK,CAAP;AAQD,CAlBD;;AAoBA,MAAMC,0BAAwD,GAAG,OAC/DlD,UAD+D,EAE/DP,OAF+D,EAG/DI,IAH+D,EAI/DC,EAJ+D,EAK/DrB,IAL+D,KAM5D;EACH,MAAMmE,UAAU,GAAG,MAAMjE,UAAU,CAACqB,UAAD,EAAavB,IAAb,CAAnC;EACA,MAAM0E,MAAM,GAAGrD,EAAE,IAAI,IAAIb,IAAJ,EAArB;EACA,MAAM;IAAEmE,8BAAF;IAAkC,GAAGC;EAArC,IACJ,MAAMxE,oBAAA,CAAOqE,0BAAP,CACJlD,UADI,EAEJ4C,UAFI,EAGJ/C,IAAI,CAACN,WAAL,EAHI,EAIJ4D,MAAM,CAAC5D,WAAP,EAJI,EAKJE,OALI,CADR;EASA,MAAM6D,QAAQ,GAAG,EACf,GAAGD,WADY;IAEf,IAAID,8BAA8B,GAC9B;MACEA,8BAA8B,EAAE;QAC9BvD,IAAI,EAAE,IAAIZ,IAAJ,CAASmE,8BAA8B,CAACvD,IAAxC,CADwB;QAE9BC,EAAE,EAAE,IAAIb,IAAJ,CAASmE,8BAA8B,CAACtD,EAAxC;MAF0B;IADlC,CAD8B,GAO9B,EAPJ;EAFe,CAAjB;EAYA,OAAOwD,QAAP;AACD,CA/BD;;AAiCA,MAAMC,oBAAoB,GAAG,UAC3BC,IAD2B,EAGN;EAAA,IADrBC,KACqB,uEADa,EACb;EACrB,MAAMC,eAAe,GAAGF,IAAI,CAACG,MAAL,CAAY,CAACC,GAAD,EAAMC,GAAN,KAAc;IAChD,OAAO,EAAE,GAAGD,GAAL;MAAU,CAACC,GAAD,GAAO;IAAjB,CAAP;EACD,CAFuB,EAErB,EAFqB,CAAxB;EAIA,MAAMC,gBAAgB,GAAGL,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,GAAN,KAAc;IAClD,OAAO,EAAE,GAAGD,GAAL;MAAU,CAACC,GAAD,GAAO;IAAjB,CAAP;EACD,CAFwB,EAEtB,EAFsB,CAAzB;EAIA,OAAOhF,oBAAA,CAAO0E,oBAAP,CAA4BO,gBAA5B,EAA8CJ,eAA9C,CAAP;AACD,CAbD;;AAeA,MAAMK,cAAc,GAAG,YAAY;EACjC,MAAMC,WAAW,GAAG,MAAMnF,oBAAA,CAAOkF,cAAP,EAA1B;EACA,OAAO,IAAI9E,IAAJ,CAAS+E,WAAT,CAAP;AACD,CAHD;;AAKA,MAAMC,gCAAgC,GAAG,UACvCT,IADuC,EAGpC;EAAA,IADHC,KACG,uEAD+B,EAC/B;EACH,MAAMC,eAAe,GAAGF,IAAI,CAACG,MAAL,CAAY,CAACC,GAAD,EAAMC,GAAN,KAAc;IAChD,OAAO,EAAE,GAAGD,GAAL;MAAU,CAACC,GAAD,GAAO;IAAjB,CAAP;EACD,CAFuB,EAErB,EAFqB,CAAxB;EAIA,MAAMC,gBAAgB,GAAGL,KAAK,CAACE,MAAN,CAAa,CAACC,GAAD,EAAMC,GAAN,KAAc;IAClD,OAAO,EAAE,GAAGD,GAAL;MAAU,CAACC,GAAD,GAAO;IAAjB,CAAP;EACD,CAFwB,EAEtB,EAFsB,CAAzB;EAIA,OAAOhF,oBAAA,CAAOoF,gCAAP,CACLH,gBADK,EAELJ,eAFK,CAAP;AAID,CAhBD;;AAkBA,MAAMzB,oBAA4C,GAAG,OACnDjC,UADmD,EAEnDP,OAFmD,KAGhD;EACH,MAAMQ,IAAI,GAAGT,cAAc,CAACC,OAAD,CAA3B;EACA,MAAMyE,OAAO,GAAG,MAAMrF,oBAAA,CAAOoD,oBAAP,CACpBjC,UADoB,EAEpBC,IAAI,CAACJ,IAFe,EAGpBI,IAAI,CAACH,EAHe,EAIpBG,IAAI,CAACP,KAJe,EAKpBO,IAAI,CAACL,SALe,CAAtB;EAQA,OAAOsE,OAAO,CAAC/D,GAAR,CAAYf,wBAAZ,CAAP;AACD,CAdD;;AAgBA,eAAeyC,sBAAf,CAGEpC,OAHF,EAGgE;EAC9D,IAAIkC,UAAU,GAAGlC,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEkC,UAA1B;EACA,IAAIC,YAAY,GAAGnC,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEmC,YAA5B;;EACA,IAAI,CAACD,UAAD,IAAe,CAACC,YAApB,EAAkC;IAChC,MAAMuC,KAAK,GAAG,MAAMtF,oBAAA,CAAOH,iBAAP,CAAyB,CAC3C0F,qCAAA,CAAyBC,sBADkB,EAE3CD,qCAAA,CAAyBE,kBAFkB,CAAzB,CAApB;;IAIA,IAAI,CAAC3C,UAAL,EAAiB;MACfA,UAAU,GAAGwC,KAAK,CAACC,qCAAA,CAAyBC,sBAA1B,CAAlB;IAGD;;IACD,IAAI,CAACzC,YAAL,EAAmB;MACjBA,YAAY,GAAGuC,KAAK,CAACC,qCAAA,CAAyBE,kBAA1B,CAApB;IAGD;EACF;;EACD,IAAI,CAAC3C,UAAL,EAAiB;IACfA,UAAU,GAAG4C,mBAAA,CAAOC,YAApB;EACD;;EACD,IAAI,CAAC5C,YAAL,EAAmB;IACjBA,YAAY,GAAG2C,mBAAA,CAAOE,MAAtB;EACD;;EACD,OAAO;IAAE9C,UAAF;IAAcC;EAAd,CAAP;AACD;;AAED,MAAM8C,aAA8B,GAAG,MAAOjF,OAAP,IAAmB;EACxD,MAAM;IAAEkC,UAAF;IAAcC;EAAd,IAA+B,MAAMC,sBAAsB,CAACpC,OAAD,CAAjE;EACA,MAAMQ,IAAI,GAAGT,cAAc,CAACC,OAAD,CAA3B;EAEA,MAAMkF,QAAQ,GAAG,MAAM9F,oBAAA,CAAO+F,mBAAP,CACrBjD,UADqB,EAErBC,YAFqB,EAGrB3B,IAAI,CAACJ,IAHgB,EAIrBI,IAAI,CAACH,EAJgB,EAKrBG,IAAI,CAACP,KALgB,EAMrBO,IAAI,CAACL,SANgB,CAAvB;EASA,OAAO+E,QAAQ,CAACxE,GAAT,CAAahB,kBAAb,CAAP;AACD,CAdD;;AAgBA,MAAM2C,oBAA4C,GAAG,MAAOrC,OAAP,IAAmB;EACtE,MAAMkF,QAAQ,GAAG,MAAMD,aAAa,CAAC;IACnChF,KAAK,EAAE,CAD4B;IAEnCE,SAAS,EAAE,KAFwB;IAGnC+B,UAAU,EAAElC,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEkC,UAHc;IAInCC,YAAY,EAAEnC,OAAF,aAAEA,OAAF,uBAAEA,OAAO,CAAEmC;EAJY,CAAD,CAApC;EAOA,OAAO+C,QAAQ,CAAC,CAAD,CAAf;AACD,CATD;;AAWA,SAASE,kBAAT,CACE7E,UADF,EAEE6C,KAFF,EAGEpD,OAHF,EAQE;EACA,MAAMsD,KAAK,GAAG,CAAAtD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEsD,KAAT,MAAkBtD,OAAlB,aAAkBA,OAAlB,uBAAkBA,OAAO,CAAEuD,GAA3B,KAAkC,IAAI/D,IAAJ,EAAhD;EACA,MAAM+D,GAAG,GAAG,CAAAvD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEuD,GAAT,MAAgBvD,OAAhB,aAAgBA,OAAhB,uBAAgBA,OAAO,CAAEsD,KAAzB,KAAkC,IAAI9D,IAAJ,EAA9C;EACA,MAAMgE,QAAQ,GAAG,CAAAxD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEwD,QAAT,KAAqB,EAAtC;EAEA,OAAOpE,oBAAA,CAAOgG,kBAAP,CACL7E,UADK,EAEL6C,KAFK,EAGLE,KAAK,CAACxD,WAAN,EAHK,EAILyD,GAAG,CAACzD,WAAJ,EAJK,EAKL0D,QAAQ,IAAI,EALP,CAAP;AAOD;;AAED,MAAMvE,iBAAsC,GAAG,MAAOoG,WAAP,IAAuB;EACpE,MAAMX,KAAK,GAAG,MAAMtF,oBAAA,CAAOH,iBAAP,CAAyBoG,WAAzB,CAApB;EACA,OAAOA,WAAW,CAAC3E,GAAZ,CAAiB4E,CAAD,IAAOZ,KAAK,CAACY,CAAD,CAA5B,CAAP;AACD,CAHD;;AAKA,MAAMC,mBAAmB,GAAG,CAACC,MAAD,EAAyBxG,IAAzB,KAA4C;EACtE,OAAQ,GAAEwG,MAAO,GAAExG,IAAK,EAAxB;AACD,CAFD;;AAIA,SAASyG,sBAAT,CAEEC,CAFF,EAEgE;EAC9D,OAAO,EACL,GAAGA,CADE;IAELC,OAAO,EAAED,CAAC,CAACC,OAAF,CAAUjF,GAAV,CAAekF,CAAD,IAAO;MAC5B;MACA,IAAIA,CAAC,CAACC,QAAF,KAAeC,SAAnB,EAA8B;QAC5B,OAAOzG,iBAAiB,CAACuG,CAAD,CAAxB;MACD;;MAED,OAAOjG,wBAAwB,CAACiG,CAAD,CAA/B;IACD,CAPQ,CAFJ;IAULnG,OAAO,EAAE,IAAID,IAAJ,CAASkG,CAAC,CAACjG,OAAX,CAVJ;IAWLF,SAAS,EAAE,IAAIC,IAAJ,CAASkG,CAAC,CAACnG,SAAX;EAXN,CAAP;AAaD;;AAED,SAASwG,cAAT,CAAmCvC,QAAnC,EAAyD;EACvD,OAAOA,QAAQ,IAAK,EAApB;AACD;;AAED,MAAMwC,uBAAkD,GAAG,OACzDhF,cADyD,EAEzDhB,OAFyD,KAGtD;EACH,MAAMQ,IAAI,GAAGT,cAAc,CAACC,OAAD,CAA3B;EACA,MAAMiG,YAAY,GAAG,MAAM7G,oBAAA,CAAO4G,uBAAP,CACzBhF,cADyB,EAEzBR,IAAI,CAACJ,IAFoB,EAGzBI,IAAI,CAACH,EAHoB,CAA3B;EAMA,OAAO4F,YAAY,CAACvF,GAAb,CAAiB+E,sBAAjB,CAAP;AACD,CAZD;;AAcA,MAAMS,qBAA8C,GAAG,OACrDlF,cADqD,EAErDU,OAFqD,EAGrD1B,OAHqD,KAIlD;EACH,MAAMsD,KAAK,GAAG,CAAC,CAAAtD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEsD,KAAT,KAAkB,IAAI9D,IAAJ,EAAnB,EAA+BM,WAA/B,EAAd;EACA,MAAMyD,GAAG,GAAG,CAAC,CAAAvD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEuD,GAAT,KAAgB,IAAI/D,IAAJ,EAAjB,EAA6BM,WAA7B,EAAZ;EAEA,OAAOV,oBAAA,CAAO8G,qBAAP,CACLlF,cADK,EAELU,OAFK,EAGL4B,KAHK,EAILC,GAJK,EAKLwC,cAAc,CAAC/F,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEwD,QAAV,CALT,CAAP;AAOD,CAfD;;AAiBA,MAAM2C,iBAAsC,GAAG,CAC7CnF,cAD6C,EAE7CoF,UAF6C,EAG7CC,MAH6C,EAI7CrG,OAJ6C,KAK1C;EACH,MAAMsD,KAAK,GAAG+C,MAAM,CAACvG,WAAP,EAAd;;EACA,MAAMyD,GAAG,GAAG,CAAC,CAAAvD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEuD,GAAT,KAAgB,IAAI/D,IAAJ,EAAjB,EAA6BM,WAA7B,EAAZ;EAEA,OAAOV,oBAAA,CAAO+G,iBAAP,CACLnF,cADK,EAELoF,UAFK,EAGL9C,KAHK,EAILC,GAJK,EAKLwC,cAAc,CAAC/F,OAAD,aAACA,OAAD,uBAACA,OAAO,CAAEwD,QAAV,CALT,CAAP;AAOD,CAhBD;;AAkBA,MAAM8C,gBAAoC,GAAIC,WAAD,IAAyB;EACpE,OAAOnH,oBAAA,CAAOkH,gBAAP,CAAwBC,WAAxB,CAAP;AACD,CAFD;;AAIA,MAAMC,SAA+B,GAAG;EACtCC,sBAAsB,EAAErH,oBAAA,CAAOqH,sBADO;EAGtCC,qBAAqB,EAAEtH,oBAAA,CAAOsH,qBAHQ;EAKtCnB,mBALsC;EAOtCoB,4BAA4B,EAAEvH,oBAAA,CAAOuH,4BAPC;EAQtCC,yBAAyB,EAAExH,oBAAA,CAAOwH,yBARI;EAStCC,wBAAwB,EAAEzH,oBAAA,CAAOyH,wBATK;EAWtC;EACAC,gBAAgB,EAAE1H,oBAAA,CAAO0H,gBAZa;EAatCC,sBAAsB,EAAE3H,oBAAA,CAAO2H,sBAbO;EActCC,gBAAgB,EAAE5H,oBAAA,CAAO4H,gBAda;EAetCC,YAAY,EAAE7H,oBAAA,CAAO6H,YAfiB;EAgBtC3C,cAhBsC;EAkBtC7C,2BAlBsC;EAmBtCc,2BAnBsC;EAoBtCF,oBApBsC;EAsBtCvD,gBAtBsC;EAuBtCG,iBAvBsC;EAwBtCuF,gCAxBsC;EA0BtC8B,gBA1BsC;EA4BtC;EACA9D,oBA7BsC;EA8BtCwD,uBA9BsC;EA+BtC1F,oBA/BsC;EAgCtCmD,0BAhCsC;EAiCtCwB,aAjCsC;EAmCtCnB,oBAnCsC;EAqCtC;EACAsB,kBAtCsC;EAuCtCc,qBAvCsC;EAwCtC7C,kBAxCsC;EAyCtC8C,iBAzCsC;EA2CtC;EACAxF,kBA5CsC;EA8CtC;EACA8B,2BA/CsC;EAiDtCO,2BAjDsC;EAkDtCrB,oBAlDsC;EAoDtCmB;AApDsC,CAAxC;eA0De0D,S"}
|
|
1
|
+
{"version":3,"names":["getPreferredUnit","type","unit","getPreferredUnits","ensureUnit","providedUnit","Native","deserializeSample","sample","startDate","Date","endDate","deserializeWorkout","deserializCategorySample","serializeDate","date","toISOString","prepareOptions","options","limit","Infinity","ascending","from","to","queryQuantitySamples","identifier","opts","quantitySamples","map","getPreferredUnitsTyped","energyUnit","distanceUnit","units","HKQuantityTypeIdentifier","distanceWalkingRunning","activeEnergyBurned","HKUnit","Kilocalories","Meters","subscribeToChanges","callback","subscription","EventEmitter","addListener","typeIdentifier","queryId","subscribeToObserverQuery","catch","error","remove","Promise","reject","unsubscribeQuery","getMostRecentQuantitySample","samples","useMostRecentWorkout","workout","setWorkout","useState","useEffect","cancelSubscription","init","w","getMostRecentWorkout","getMostRecentCategorySample","queryCategorySamples","useSubscribeToChanges","onChange","HKCategoryTypeIdentifier","appleStandHour","useMostRecentCategorySample","category","setCategory","updater","useCallback","then","useMostRecentQuantitySample","lastSample","setLastSample","actualUnit","value","saveQuantitySample","start","end","metadata","queryStatisticsForQuantity","toDate","mostRecentQuantityDateInterval","rawResponse","response","requestAuthorization","read","write","readPermissions","reduce","obj","cur","writePermissions","getDateOfBirth","dateOfBirth","getRequestStatusForAuthorization","results","queryWorkouts","workouts","queryWorkoutSamples","saveCategorySample","identifiers","i","buildUnitWithPrefix","prefix","deserializeCorrelation","s","objects","o","quantity","undefined","ensureMetadata","queryCorrelationSamples","correlations","saveCorrelationSample","saveWorkoutSample","quantities","_start","getWorkoutRoutes","workoutUUID","Healthkit","authorizationStatusFor","bind","isHealthDataAvailable","disableAllBackgroundDelivery","disableBackgroundDelivery","enableBackgroundDelivery","getBiologicalSex","getFitzpatrickSkinType","getWheelchairUse","getBloodType","useIsHealthDataAvailable","isAvailable","setIsAvailable","res","useHealthkitAuthorization","status","setStatus","refreshAuthStatus","auth","request"],"sources":["index.ios.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\n\nimport Native, {\n EventEmitter,\n HKQuantityTypeIdentifier,\n HKUnit,\n HKCategoryTypeIdentifier,\n} from './native-types'\n\nimport type {\n HealthkitReadAuthorization,\n HealthkitWriteAuthorization,\n HKAuthorizationRequestStatus,\n HKCategorySampleRaw,\n HKCategoryValueForIdentifier,\n HKCorrelationRaw,\n HKCorrelationTypeIdentifier,\n HKQuantitySampleRaw,\n HKUnitSI,\n HKUnitSIPrefix,\n HKWorkoutRaw,\n MetadataMapperForCategoryIdentifier,\n ReadPermissions,\n SampleTypeIdentifier,\n WritePermissions,\n} from './native-types'\nimport type {\n GenericQueryOptions,\n GetMostRecentCategorySampleFn,\n GetMostRecentQuantitySampleFn,\n GetMostRecentWorkoutFn,\n GetPreferredUnitFn,\n GetPreferredUnitsFn,\n GetWorkoutRoutesFn,\n HKCategorySample,\n HKCorrelation,\n HKQuantitySample,\n HKWorkout,\n QueryCategorySamplesFn,\n QueryCorrelationSamplesFn,\n QueryQuantitySamplesFn,\n QueryStatisticsForQuantityFn,\n QueryWorkoutsFn,\n ReactNativeHealthkit,\n SaveCorrelationSampleFn,\n SaveQuantitySampleFn,\n SaveWorkoutSampleFn,\n SubscribeToChangesFn,\n} from './types'\n\nconst getPreferredUnit: GetPreferredUnitFn = async (type) => {\n const [unit] = await getPreferredUnits([type])\n return unit\n}\n\nconst ensureUnit = async <TUnit extends HKUnit>(\n type: HKQuantityTypeIdentifier,\n providedUnit?: TUnit,\n) => {\n if (providedUnit) {\n return providedUnit\n }\n const unit = await Native.getPreferredUnits([type])\n return unit[type] as TUnit\n}\n\nfunction deserializeSample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit\n>(\n sample: HKQuantitySampleRaw<TIdentifier, TUnit>,\n): HKQuantitySample<TIdentifier, TUnit> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n }\n}\n\nfunction deserializeWorkout<TEnergy extends HKUnit, TDistance extends HKUnit>(\n sample: HKWorkoutRaw<TEnergy, TDistance>,\n): HKWorkout<TEnergy, TDistance> {\n return {\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n }\n}\n\nconst deserializCategorySample = <T extends HKCategoryTypeIdentifier>(\n sample: HKCategorySampleRaw<T>,\n): HKCategorySample<T> => ({\n ...sample,\n startDate: new Date(sample.startDate),\n endDate: new Date(sample.endDate),\n})\n\nconst serializeDate = (date?: Date | null): string => (date ? date.toISOString() : new Date(0).toISOString())\n\nconst prepareOptions = (options: GenericQueryOptions) => {\n const limit = !options.limit || options.limit === Infinity ? 0 : options.limit\n const ascending = options.ascending ?? limit === 0\n const from = serializeDate(options.from)\n const to = serializeDate(options.to)\n return {\n limit, ascending, from, to,\n }\n}\n\nconst queryQuantitySamples: QueryQuantitySamplesFn = async (\n identifier,\n options,\n) => {\n const unit = await ensureUnit(identifier, options.unit)\n const opts = prepareOptions(options)\n\n const quantitySamples = await Native.queryQuantitySamples(\n identifier,\n unit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return quantitySamples.map(deserializeSample)\n}\n\nasync function getPreferredUnitsTyped<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { readonly energyUnit?: TEnergy; readonly distanceUnit?: TDistance }) {\n let energyUnit = options?.energyUnit\n let distanceUnit = options?.distanceUnit\n if (!energyUnit || !distanceUnit) {\n const units = await Native.getPreferredUnits([\n HKQuantityTypeIdentifier.distanceWalkingRunning,\n HKQuantityTypeIdentifier.activeEnergyBurned,\n ])\n if (!energyUnit) {\n energyUnit = units[HKQuantityTypeIdentifier.distanceWalkingRunning] as\n | TEnergy\n | undefined\n }\n if (!distanceUnit) {\n distanceUnit = units[HKQuantityTypeIdentifier.activeEnergyBurned] as\n | TDistance\n | undefined\n }\n }\n if (!energyUnit) {\n energyUnit = HKUnit.Kilocalories as TEnergy\n }\n if (!distanceUnit) {\n distanceUnit = HKUnit.Meters as TDistance\n }\n return { energyUnit, distanceUnit }\n}\n\nconst subscribeToChanges: SubscribeToChangesFn = async (\n identifier,\n callback,\n) => {\n const subscription = EventEmitter.addListener(\n 'onChange',\n ({ typeIdentifier }) => {\n if (typeIdentifier === identifier) {\n callback()\n }\n },\n )\n\n const queryId = await Native.subscribeToObserverQuery(identifier).catch(\n async (error) => {\n subscription.remove()\n return Promise.reject(error)\n },\n )\n\n return async () => {\n subscription.remove()\n return Native.unsubscribeQuery(queryId)\n }\n}\n\nconst getMostRecentQuantitySample: GetMostRecentQuantitySampleFn = async (\n identifier,\n unit,\n) => {\n const samples = await queryQuantitySamples(identifier, {\n limit: 1,\n unit,\n })\n return samples[0]\n}\n\nfunction useMostRecentWorkout<\n TEnergy extends HKUnit,\n TDistance extends HKUnit\n>(options?: { readonly energyUnit?: TEnergy; readonly distanceUnit?: TDistance }) {\n const [workout, setWorkout] = useState<HKWorkout<TEnergy, TDistance> | null>(\n null,\n )\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(\n options,\n )\n\n cancelSubscription = await subscribeToChanges(\n 'HKWorkoutTypeIdentifier',\n async () => {\n const w = await getMostRecentWorkout({ energyUnit, distanceUnit })\n setWorkout(w)\n },\n )\n }\n void init()\n return () => {\n void cancelSubscription?.()\n }\n }, [options])\n return workout\n}\n\nconst getMostRecentCategorySample: GetMostRecentCategorySampleFn = async (\n identifier,\n) => {\n const samples = await queryCategorySamples(identifier, {\n limit: 1,\n ascending: false,\n })\n\n return samples[0]\n}\n\nfunction useSubscribeToChanges<TIdentifier extends SampleTypeIdentifier>(\n identifier: TIdentifier,\n onChange: () => void,\n): void {\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n cancelSubscription = await subscribeToChanges(identifier, onChange)\n }\n void init()\n\n return () => {\n void cancelSubscription?.()\n }\n }, [identifier, onChange])\n}\n\nuseSubscribeToChanges(HKCategoryTypeIdentifier.appleStandHour, () => {})\n\nfunction useMostRecentCategorySample<\n TCategory extends HKCategoryTypeIdentifier\n>(identifier: TCategory) {\n const [category, setCategory] = useState<HKCategorySample<TCategory> | null>(\n null,\n )\n const updater = useCallback(() => {\n void getMostRecentCategorySample(identifier).then(setCategory)\n }, [identifier])\n\n useSubscribeToChanges(identifier, updater)\n\n return category\n}\n\nfunction useMostRecentQuantitySample<\n TIdentifier extends HKQuantityTypeIdentifier,\n TUnit extends HKUnit = HKUnit\n>(identifier: TIdentifier, unit?: TUnit) {\n const [lastSample, setLastSample] = useState<HKQuantitySample<\n TIdentifier,\n TUnit\n > | null>(null)\n\n useEffect(() => {\n let cancelSubscription: (() => Promise<boolean>) | undefined\n\n const init = async () => {\n const actualUnit = await ensureUnit(identifier, unit)\n\n cancelSubscription = await subscribeToChanges(identifier, async () => {\n const value = await getMostRecentQuantitySample(identifier, actualUnit)\n setLastSample(value)\n })\n }\n void init()\n\n return () => {\n void cancelSubscription?.()\n }\n }, [identifier, unit])\n\n return lastSample\n}\n\nconst saveQuantitySample: SaveQuantitySampleFn = async (\n identifier,\n unit,\n value,\n options,\n) => {\n const start = options?.start || options?.end || new Date()\n const end = options?.end || options?.start || new Date()\n const metadata = options?.metadata || {}\n\n return Native.saveQuantitySample(\n identifier,\n unit,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata,\n )\n}\n\nconst queryStatisticsForQuantity: QueryStatisticsForQuantityFn = async (\n identifier,\n options,\n from,\n to,\n unit,\n) => {\n const actualUnit = await ensureUnit(identifier, unit)\n const toDate = to || new Date()\n const { mostRecentQuantityDateInterval, ...rawResponse } = await Native.queryStatisticsForQuantity(\n identifier,\n actualUnit,\n from.toISOString(),\n toDate.toISOString(),\n options,\n )\n\n const response = {\n ...rawResponse,\n ...(mostRecentQuantityDateInterval\n ? {\n mostRecentQuantityDateInterval: {\n from: new Date(mostRecentQuantityDateInterval.from),\n to: new Date(mostRecentQuantityDateInterval.to),\n },\n }\n : {}),\n }\n\n return response\n}\n\nconst requestAuthorization = async (\n read: readonly HealthkitReadAuthorization[],\n write: readonly HealthkitWriteAuthorization[] = [],\n): Promise<boolean> => {\n const readPermissions = read.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as ReadPermissions)\n\n const writePermissions = write.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as WritePermissions)\n\n return Native.requestAuthorization(writePermissions, readPermissions)\n}\n\nconst getDateOfBirth = async () => {\n const dateOfBirth = await Native.getDateOfBirth()\n return new Date(dateOfBirth)\n}\n\nconst getRequestStatusForAuthorization = async (\n read: readonly HealthkitReadAuthorization[],\n write: readonly HealthkitWriteAuthorization[] = [],\n) => {\n const readPermissions = read.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as ReadPermissions)\n\n const writePermissions = write.reduce((obj, cur) => ({ ...obj, [cur]: true }), {} as WritePermissions)\n\n return Native.getRequestStatusForAuthorization(\n writePermissions,\n readPermissions,\n )\n}\n\nconst queryCategorySamples: QueryCategorySamplesFn = async (\n identifier,\n options,\n) => {\n const opts = prepareOptions(options)\n const results = await Native.queryCategorySamples(\n identifier,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return results.map(deserializCategorySample)\n}\n\nconst queryWorkouts: QueryWorkoutsFn = async (options) => {\n const { energyUnit, distanceUnit } = await getPreferredUnitsTyped(options)\n const opts = prepareOptions(options)\n\n const workouts = await Native.queryWorkoutSamples(\n energyUnit,\n distanceUnit,\n opts.from,\n opts.to,\n opts.limit,\n opts.ascending,\n )\n\n return workouts.map(deserializeWorkout)\n}\n\nconst getMostRecentWorkout: GetMostRecentWorkoutFn = async (options) => {\n const workouts = await queryWorkouts({\n limit: 1,\n ascending: false,\n energyUnit: options?.energyUnit,\n distanceUnit: options?.distanceUnit,\n })\n\n return workouts[0]\n}\n\nasync function saveCategorySample<T extends HKCategoryTypeIdentifier>(\n identifier: T,\n value: HKCategoryValueForIdentifier<T>,\n options?: {\n readonly start?: Date;\n readonly end?: Date;\n readonly metadata?: MetadataMapperForCategoryIdentifier<T>;\n },\n) {\n const start = options?.start || options?.end || new Date()\n const end = options?.end || options?.start || new Date()\n const metadata = options?.metadata || {}\n\n return Native.saveCategorySample(\n identifier,\n value,\n start.toISOString(),\n end.toISOString(),\n metadata || {},\n )\n}\n\nconst getPreferredUnits: GetPreferredUnitsFn = async (identifiers) => {\n const units = await Native.getPreferredUnits(identifiers)\n return identifiers.map((i) => units[i])\n}\n\nconst buildUnitWithPrefix = (prefix: HKUnitSIPrefix, unit: HKUnitSI) => `${prefix}${unit}` as HKUnit\n\nfunction deserializeCorrelation<\n TIdentifier extends HKCorrelationTypeIdentifier\n>(s: HKCorrelationRaw<TIdentifier>): HKCorrelation<TIdentifier> {\n return {\n ...s,\n objects: s.objects.map((o) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (o.quantity !== undefined) {\n return deserializeSample(o as HKQuantitySampleRaw)\n }\n\n return deserializCategorySample(o as HKCategorySampleRaw)\n }),\n endDate: new Date(s.endDate),\n startDate: new Date(s.startDate),\n }\n}\n\nfunction ensureMetadata<TMetadata>(metadata?: TMetadata) {\n return metadata || ({} as TMetadata)\n}\n\nconst queryCorrelationSamples: QueryCorrelationSamplesFn = async (\n typeIdentifier,\n options,\n) => {\n const opts = prepareOptions(options)\n const correlations = await Native.queryCorrelationSamples(\n typeIdentifier,\n opts.from,\n opts.to,\n )\n\n return correlations.map(deserializeCorrelation)\n}\n\nconst saveCorrelationSample: SaveCorrelationSampleFn = async (\n typeIdentifier,\n samples,\n options,\n) => {\n const start = (options?.start || new Date()).toISOString()\n const end = (options?.end || new Date()).toISOString()\n\n return Native.saveCorrelationSample(\n typeIdentifier,\n samples,\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nconst saveWorkoutSample: SaveWorkoutSampleFn = async (\n typeIdentifier,\n quantities,\n _start,\n options,\n) => {\n const start = _start.toISOString()\n const end = (options?.end || new Date()).toISOString()\n\n return Native.saveWorkoutSample(\n typeIdentifier,\n quantities,\n start,\n end,\n ensureMetadata(options?.metadata),\n )\n}\n\nconst getWorkoutRoutes: GetWorkoutRoutesFn = async (workoutUUID: string) => Native.getWorkoutRoutes(workoutUUID)\n\nconst Healthkit: ReactNativeHealthkit = {\n authorizationStatusFor: Native.authorizationStatusFor.bind(Native),\n\n isHealthDataAvailable: Native.isHealthDataAvailable.bind(Native),\n\n buildUnitWithPrefix,\n\n disableAllBackgroundDelivery: Native.disableAllBackgroundDelivery,\n disableBackgroundDelivery: Native.disableBackgroundDelivery,\n enableBackgroundDelivery: Native.enableBackgroundDelivery,\n\n // simple convenience getters\n getBiologicalSex: Native.getBiologicalSex.bind(Native),\n getFitzpatrickSkinType: Native.getFitzpatrickSkinType.bind(Native),\n getWheelchairUse: Native.getWheelchairUse,\n getBloodType: Native.getBloodType.bind(Native),\n getDateOfBirth,\n\n getMostRecentQuantitySample,\n getMostRecentCategorySample,\n getMostRecentWorkout,\n\n getPreferredUnit,\n getPreferredUnits,\n getRequestStatusForAuthorization,\n\n getWorkoutRoutes,\n\n // query methods\n queryCategorySamples,\n queryCorrelationSamples,\n queryQuantitySamples,\n queryStatisticsForQuantity,\n queryWorkouts,\n\n requestAuthorization,\n\n // save methods\n saveCategorySample,\n saveCorrelationSample,\n saveQuantitySample,\n saveWorkoutSample,\n\n // subscriptions\n subscribeToChanges,\n\n // hooks\n useMostRecentCategorySample,\n\n useMostRecentQuantitySample,\n useMostRecentWorkout,\n\n useSubscribeToChanges,\n\n useIsHealthDataAvailable: () => {\n const [isAvailable, setIsAvailable] = useState<boolean | null>(null)\n useEffect(() => {\n const init = async () => {\n const res = await Native.isHealthDataAvailable()\n setIsAvailable(res)\n }\n void init()\n }, [])\n return isAvailable\n },\n useHealthkitAuthorization: (read, write) => {\n const [status, setStatus] = useState<HKAuthorizationRequestStatus | null>(null)\n const refreshAuthStatus = useCallback(async () => {\n const auth = await getRequestStatusForAuthorization(read, write)\n setStatus(auth)\n return auth\n }, [])\n\n const request = useCallback(async () => {\n await requestAuthorization(read, write)\n return refreshAuthStatus()\n }, [])\n\n useEffect(() => {\n void refreshAuthStatus()\n }, [])\n\n return [status, request]\n },\n}\n\nexport * from './native-types'\nexport * from './types'\n\nexport default Healthkit\n"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -35,46 +35,59 @@ Object.keys(_types).forEach(function (key) {
|
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
const notAvailableError =
|
|
38
|
+
const notAvailableError = `[@kingstinct/react-native-healthkit] Platform "${_reactNative.Platform.OS}" not supported`;
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
function UnavailableFn(retVal) {
|
|
41
|
+
return () => {
|
|
42
|
+
console.warn(notAvailableError);
|
|
43
|
+
return retVal;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
43
46
|
|
|
44
47
|
const Healthkit = {
|
|
45
|
-
authorizationStatusFor: UnavailableFn,
|
|
46
|
-
buildUnitWithPrefix: UnavailableFn,
|
|
47
|
-
disableAllBackgroundDelivery: UnavailableFn,
|
|
48
|
-
disableBackgroundDelivery: UnavailableFn,
|
|
49
|
-
enableBackgroundDelivery: UnavailableFn,
|
|
50
|
-
getBiologicalSex: UnavailableFn,
|
|
51
|
-
getBloodType: UnavailableFn,
|
|
52
|
-
getDateOfBirth: UnavailableFn,
|
|
53
|
-
getFitzpatrickSkinType: UnavailableFn,
|
|
54
|
-
getMostRecentCategorySample: UnavailableFn,
|
|
55
|
-
getMostRecentQuantitySample: UnavailableFn,
|
|
56
|
-
getMostRecentWorkout: UnavailableFn,
|
|
57
|
-
getPreferredUnit: UnavailableFn,
|
|
58
|
-
getPreferredUnits: UnavailableFn,
|
|
59
|
-
getRequestStatusForAuthorization: UnavailableFn,
|
|
60
|
-
getWheelchairUse: UnavailableFn,
|
|
61
|
-
getWorkoutRoutes: UnavailableFn,
|
|
62
|
-
isHealthDataAvailable: () => Promise.resolve(false),
|
|
63
|
-
queryCategorySamples: UnavailableFn,
|
|
64
|
-
queryCorrelationSamples: UnavailableFn,
|
|
65
|
-
queryQuantitySamples: UnavailableFn,
|
|
66
|
-
queryStatisticsForQuantity: UnavailableFn
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
48
|
+
authorizationStatusFor: UnavailableFn(Promise.resolve(false)),
|
|
49
|
+
buildUnitWithPrefix: UnavailableFn(_nativeTypes.HKUnit.Atmospheres),
|
|
50
|
+
disableAllBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
|
|
51
|
+
disableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
|
|
52
|
+
enableBackgroundDelivery: UnavailableFn(Promise.resolve(false)),
|
|
53
|
+
getBiologicalSex: UnavailableFn(Promise.resolve(_nativeTypes.HKBiologicalSex.notSet)),
|
|
54
|
+
getBloodType: UnavailableFn(Promise.resolve(_nativeTypes.HKBloodType.notSet)),
|
|
55
|
+
getDateOfBirth: UnavailableFn(Promise.resolve(new Date(0))),
|
|
56
|
+
getFitzpatrickSkinType: UnavailableFn(Promise.resolve(_nativeTypes.HKFitzpatrickSkinType.notSet)),
|
|
57
|
+
getMostRecentCategorySample: UnavailableFn(Promise.resolve(null)),
|
|
58
|
+
getMostRecentQuantitySample: UnavailableFn(Promise.resolve(null)),
|
|
59
|
+
getMostRecentWorkout: UnavailableFn(Promise.resolve(null)),
|
|
60
|
+
getPreferredUnit: UnavailableFn(Promise.resolve(_nativeTypes.HKUnit.Atmospheres)),
|
|
61
|
+
getPreferredUnits: UnavailableFn(Promise.resolve([])),
|
|
62
|
+
getRequestStatusForAuthorization: UnavailableFn(Promise.resolve(_nativeTypes.HKAuthorizationRequestStatus.unknown)),
|
|
63
|
+
getWheelchairUse: UnavailableFn(Promise.resolve(_nativeTypes.HKWheelchairUse.notSet)),
|
|
64
|
+
getWorkoutRoutes: UnavailableFn(Promise.resolve([])),
|
|
65
|
+
isHealthDataAvailable: async () => Promise.resolve(false),
|
|
66
|
+
queryCategorySamples: UnavailableFn(Promise.resolve([])),
|
|
67
|
+
queryCorrelationSamples: UnavailableFn(Promise.resolve([])),
|
|
68
|
+
queryQuantitySamples: UnavailableFn(Promise.resolve([])),
|
|
69
|
+
queryStatisticsForQuantity: UnavailableFn(Promise.resolve({
|
|
70
|
+
averageQuantity: undefined,
|
|
71
|
+
maximumQuantity: undefined,
|
|
72
|
+
minimumQuantity: undefined,
|
|
73
|
+
sumQuantity: undefined,
|
|
74
|
+
mostRecentQuantity: undefined,
|
|
75
|
+
mostRecentQuantityDateInterval: undefined,
|
|
76
|
+
duration: undefined
|
|
77
|
+
})),
|
|
78
|
+
queryWorkouts: UnavailableFn(Promise.resolve([])),
|
|
79
|
+
requestAuthorization: UnavailableFn(Promise.resolve(false)),
|
|
80
|
+
saveCategorySample: UnavailableFn(Promise.resolve(false)),
|
|
81
|
+
saveCorrelationSample: UnavailableFn(Promise.resolve(false)),
|
|
82
|
+
saveQuantitySample: UnavailableFn(Promise.resolve(false)),
|
|
83
|
+
saveWorkoutSample: UnavailableFn(Promise.resolve(false)),
|
|
84
|
+
subscribeToChanges: UnavailableFn(Promise.resolve(async () => Promise.resolve(false))),
|
|
85
|
+
useMostRecentCategorySample: UnavailableFn(null),
|
|
86
|
+
useMostRecentQuantitySample: UnavailableFn(null),
|
|
87
|
+
useMostRecentWorkout: UnavailableFn(null),
|
|
88
|
+
useSubscribeToChanges: UnavailableFn([null, () => null]),
|
|
89
|
+
useHealthkitAuthorization: UnavailableFn([null, async () => Promise.resolve(null)]),
|
|
90
|
+
useIsHealthDataAvailable: UnavailableFn(false)
|
|
78
91
|
};
|
|
79
92
|
var _default = Healthkit;
|
|
80
93
|
exports.default = _default;
|