@tryvital/vital-health-react-native 5.1.0 → 5.1.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/android/src/main/java/com/vitalhealthreactnative/VitalHealthReactNativeModule.kt +1 -9
- package/ios/VitalHealthReactNative.m +1 -4
- package/ios/VitalHealthReactNative.swift +45 -7
- package/lib/commonjs/ask_config.js +6 -0
- package/lib/commonjs/ask_config.js.map +1 -0
- package/lib/commonjs/health_config.js.map +1 -1
- package/lib/commonjs/healthkit.js +2 -0
- package/lib/commonjs/healthkit.js.map +1 -0
- package/lib/commonjs/index.js +12 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/module/ask_config.js +4 -0
- package/lib/module/ask_config.js.map +1 -0
- package/lib/module/health_config.js +2 -0
- package/lib/module/health_config.js.map +1 -1
- package/lib/module/healthkit.js +2 -0
- package/lib/module/healthkit.js.map +1 -0
- package/lib/module/index.js +14 -6
- package/lib/module/index.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/typescript/ask_config.d.ts +22 -0
- package/lib/typescript/ask_config.d.ts.map +1 -0
- package/lib/typescript/healthkit.d.ts +2 -0
- package/lib/typescript/healthkit.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/ask_config.ts +25 -0
- package/src/healthkit.ts +234 -0
- package/src/index.tsx +8 -2
- package/vital-health-react-native.podspec +1 -1
|
@@ -13,7 +13,6 @@ import com.facebook.react.ReactInstanceManager
|
|
|
13
13
|
import com.facebook.react.bridge.*
|
|
14
14
|
import com.facebook.react.module.annotations.ReactModule
|
|
15
15
|
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
16
|
-
import com.vitalcorereactnative.VitalCoreReactNativeModule
|
|
17
16
|
import io.tryvital.client.utils.VitalLogger
|
|
18
17
|
import io.tryvital.vitalhealthconnect.DefaultSyncNotificationBuilder
|
|
19
18
|
import io.tryvital.vitalhealthconnect.DefaultSyncNotificationContent
|
|
@@ -95,18 +94,11 @@ class VitalHealthReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
95
94
|
promise.resolve(null)
|
|
96
95
|
}
|
|
97
96
|
|
|
98
|
-
@ReactMethod
|
|
99
|
-
fun askForResources(
|
|
100
|
-
resources: ReadableArray,
|
|
101
|
-
promise: Promise
|
|
102
|
-
) {
|
|
103
|
-
return ask(resources, null, promise)
|
|
104
|
-
}
|
|
105
|
-
|
|
106
97
|
@ReactMethod
|
|
107
98
|
fun ask(
|
|
108
99
|
readResources: ReadableArray,
|
|
109
100
|
writeResources: ReadableArray?,
|
|
101
|
+
config: ReadableMap?,
|
|
110
102
|
promise: Promise
|
|
111
103
|
) = runOnMain {
|
|
112
104
|
val manager = vitalHealthConnectManager
|
|
@@ -19,12 +19,9 @@ RCT_EXTERN_METHOD(configureClient:(NSString *)apiKey
|
|
|
19
19
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
20
20
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
21
21
|
|
|
22
|
-
RCT_EXTERN_METHOD(askForResources:(NSArray<NSString *> *)resources
|
|
23
|
-
resolver:(RCTPromiseResolveBlock)resolve
|
|
24
|
-
rejecter:(RCTPromiseRejectBlock)reject)
|
|
25
|
-
|
|
26
22
|
RCT_EXTERN_METHOD(ask:(NSArray<NSString *> *)readResources
|
|
27
23
|
writeResources:(NSArray<NSString *> *)writeResources
|
|
24
|
+
config:(NSDictionary<NSString *, id> *)config
|
|
28
25
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
29
26
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
30
27
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import VitalCore
|
|
2
|
-
import VitalHealthKit
|
|
2
|
+
@_spi(VitalSDKCrossPlatformSupport) import VitalHealthKit
|
|
3
3
|
import Combine
|
|
4
4
|
import UIKit
|
|
5
|
+
import HealthKit
|
|
5
6
|
|
|
6
7
|
@objc(VitalHealthReactNative)
|
|
7
8
|
class VitalHealthReactNative: RCTEventEmitter {
|
|
@@ -115,10 +116,11 @@ class VitalHealthReactNative: RCTEventEmitter {
|
|
|
115
116
|
resolve(())
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
@objc(ask:writeResources:resolver:rejecter:)
|
|
119
|
+
@objc(ask:writeResources:config:resolver:rejecter:)
|
|
119
120
|
func ask(
|
|
120
121
|
_ readResources: [String],
|
|
121
122
|
writeResources: [String],
|
|
123
|
+
config: [String: Any]?,
|
|
122
124
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
123
125
|
reject: @escaping RCTPromiseRejectBlock
|
|
124
126
|
) {
|
|
@@ -126,7 +128,30 @@ class VitalHealthReactNative: RCTEventEmitter {
|
|
|
126
128
|
do {
|
|
127
129
|
let readPermissions = try readResources.map { try mapResourceToReadableVitalResource($0) }
|
|
128
130
|
let writePermissions = try writeResources.map { try mapResourceToWritableVitalResource($0) }
|
|
129
|
-
|
|
131
|
+
|
|
132
|
+
var extraReadPermissions = [HKObjectType]()
|
|
133
|
+
var extraWritePermissions = [HKSampleType]()
|
|
134
|
+
var dataTypeAllowlist: Set<HKObjectType>? = nil
|
|
135
|
+
|
|
136
|
+
if let config = config {
|
|
137
|
+
if let rawValues = config["extraReadPermissions"] as? [String] {
|
|
138
|
+
extraReadPermissions = rawValues.compactMap(decodeHealthKitDataTypeIdentifier)
|
|
139
|
+
}
|
|
140
|
+
if let rawValues = config["extraWritePermissions"] as? [String] {
|
|
141
|
+
extraWritePermissions = rawValues.compactMap(decodeHealthKitDataTypeIdentifier).compactMap { $0 as? HKSampleType }
|
|
142
|
+
}
|
|
143
|
+
if let rawValues = config["dataTypeAllowlist"] as? [String] {
|
|
144
|
+
dataTypeAllowlist = Set(rawValues.compactMap(decodeHealthKitDataTypeIdentifier))
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
let outcome = await VitalHealthKitClient.shared.ask(
|
|
149
|
+
readPermissions: readPermissions,
|
|
150
|
+
writePermissions: writePermissions,
|
|
151
|
+
extraReadPermissions: extraReadPermissions,
|
|
152
|
+
extraWritePermissions: extraWritePermissions,
|
|
153
|
+
dataTypeAllowlist: dataTypeAllowlist
|
|
154
|
+
)
|
|
130
155
|
|
|
131
156
|
switch outcome {
|
|
132
157
|
case .success:
|
|
@@ -169,15 +194,28 @@ class VitalHealthReactNative: RCTEventEmitter {
|
|
|
169
194
|
}
|
|
170
195
|
|
|
171
196
|
@objc(hasAskedForPermission:resolver:rejecter:)
|
|
172
|
-
func hasAskedForPermission(_ resource: String, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
197
|
+
func hasAskedForPermission(_ resource: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
173
198
|
do {
|
|
174
199
|
let vitalResource = try mapResourceToReadableVitalResource(resource)
|
|
175
|
-
|
|
176
|
-
|
|
200
|
+
Task {
|
|
201
|
+
do {
|
|
202
|
+
let statuses = try await VitalHealthKitClient.shared.permissionStatus(for: [vitalResource])
|
|
203
|
+
if let status = statuses[vitalResource] {
|
|
204
|
+
resolve(status == .asked)
|
|
205
|
+
} else {
|
|
206
|
+
reject(nil, "Unknown error [2]", nil)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
} catch {
|
|
210
|
+
reject(nil, "Unknown error [3]", nil)
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
177
214
|
} catch VitalError.UnsupportedResource(let errorMessage) {
|
|
178
215
|
reject("UnsupportedResource", errorMessage, nil)
|
|
216
|
+
|
|
179
217
|
} catch {
|
|
180
|
-
reject(nil, "Unknown error", nil)
|
|
218
|
+
reject(nil, "Unknown error [1]", nil)
|
|
181
219
|
}
|
|
182
220
|
}
|
|
183
221
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["ask_config.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HealthConfig","logsEnabled","numberOfDaysToBackFill","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","exports","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":";;;;;;AAAO,MAAMA,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAACC,OAAA,CAAAP,YAAA,GAAAA,YAAA;AAEM,MAAMI,mBAAmB,CAAC;EAC/BI,cAAc,GAAG,IAAI;AACvB;AAACD,OAAA,CAAAH,mBAAA,GAAAA,mBAAA;AAEM,MAAME,eAAe,CAAC;EAC3BG,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;AAClC;AAACH,OAAA,CAAAD,eAAA,GAAAA,eAAA"}
|
|
1
|
+
{"version":3,"names":["HealthConfig","logsEnabled","numberOfDaysToBackFill","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","exports","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":";;;;;;AAAO,MAAMA,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAACC,OAAA,CAAAP,YAAA,GAAAA,YAAA;AAEM,MAAMI,mBAAmB,CAAC;EAC/BI,cAAc,GAAG,IAAI;AACvB;AAACD,OAAA,CAAAH,mBAAA,GAAAA,mBAAA;AAEM,MAAME,eAAe,CAAC;EAC3BG,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;AAClC;AAACH,OAAA,CAAAD,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["healthkit.ts"],"mappings":"","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -226,8 +226,11 @@ class VitalHealth {
|
|
|
226
226
|
static askForResources(resources) {
|
|
227
227
|
return this.ask(resources, []);
|
|
228
228
|
}
|
|
229
|
-
static async ask(readResources, writeResources) {
|
|
230
|
-
|
|
229
|
+
static async ask(readResources, writeResources, config = undefined) {
|
|
230
|
+
if (config && _reactNative.Platform.OS !== config.type) {
|
|
231
|
+
throw new Error(`ask config is for ${config.type} but runtime is ${_reactNative.Platform.OS}.`);
|
|
232
|
+
}
|
|
233
|
+
const result = await VitalHealthReactNative.ask(readResources, writeResources, config);
|
|
231
234
|
if (_reactNative.Platform.OS !== "android") {
|
|
232
235
|
return "success";
|
|
233
236
|
} else {
|
|
@@ -281,14 +284,17 @@ let VitalResource = exports.VitalResource = /*#__PURE__*/function (VitalResource
|
|
|
281
284
|
VitalResource["MenstrualCycle"] = "menstrualCycle";
|
|
282
285
|
VitalResource["Meal"] = "meal";
|
|
283
286
|
VitalResource["AFibBurden"] = "afibBurden";
|
|
287
|
+
// iOS only
|
|
284
288
|
VitalResource["HeartRateAlert"] = "heartRateAlert";
|
|
285
|
-
|
|
289
|
+
// iOS only
|
|
290
|
+
VitalResource["Electrocardiogram"] = "electrocardiogram"; // iOS only
|
|
286
291
|
return VitalResource;
|
|
287
|
-
}({});
|
|
292
|
+
}({});
|
|
288
293
|
let VitalWriteResource = exports.VitalWriteResource = /*#__PURE__*/function (VitalWriteResource) {
|
|
289
294
|
VitalWriteResource["Water"] = "water";
|
|
290
295
|
VitalWriteResource["Caffeine"] = "caffeine";
|
|
291
|
-
|
|
296
|
+
// iOS only
|
|
297
|
+
VitalWriteResource["MindfulSession"] = "mindfulSession"; // iOS only, value is ignored
|
|
292
298
|
return VitalWriteResource;
|
|
293
|
-
}({});
|
|
299
|
+
}({});
|
|
294
300
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_health_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","LINKING_ERROR","Platform","select","ios","default","VitalHealthReactNative","NativeModules","Proxy","Error","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","NativeEventEmitter","canEnableBackgroundSyncNoninteractively","OS","pauseSynchronization","getPauseSynchronization","isBackgroundSyncEnabled","Promise","resolve","backgroundSyncMinimumInterval","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","iOSConfig","backgroundDeliveryEnabled","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","readResources","writeResources","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_health_config","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","LINKING_ERROR","Platform","select","ios","default","VitalHealthReactNative","NativeModules","Proxy","Error","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","NativeEventEmitter","canEnableBackgroundSyncNoninteractively","OS","pauseSynchronization","getPauseSynchronization","isBackgroundSyncEnabled","Promise","resolve","backgroundSyncMinimumInterval","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","iOSConfig","backgroundDeliveryEnabled","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","readResources","writeResources","config","undefined","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["ask_config.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HealthConfig","logsEnabled","numberOfDaysToBackFill","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":"AAAA,OAAO,MAAMA,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAEA,OAAO,MAAMF,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAEA,OAAO,MAAMD,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;AAClC"}
|
|
1
|
+
{"version":3,"names":["HealthConfig","logsEnabled","numberOfDaysToBackFill","androidConfig","AndroidHealthConfig","iOSConfig","IOSHealthConfig","syncOnAppStart","dataPushMode","backgroundDeliveryEnabled"],"sourceRoot":"../../src","sources":["health_config.ts"],"mappings":";;AAAA,OAAO,MAAMA,YAAY,CAAC;EACxBC,WAAW,GAAG,IAAI;EAClBC,sBAAsB,GAAG,EAAE;EAC3BC,aAAa,GAAG,IAAIC,mBAAmB,CAAC,CAAC;EACzCC,SAAS,GAAG,IAAIC,eAAe,CAAC,CAAC;AACnC;AAEA,OAAO,MAAMF,mBAAmB,CAAC;EAC/BG,cAAc,GAAG,IAAI;AACvB;AAEA,OAAO,MAAMD,eAAe,CAAC;EAC3BE,YAAY,GAAG,WAAW;EAC1BC,yBAAyB,GAAG,IAAI;AAClC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["healthkit.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
1
3
|
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
4
|
// Reexports
|
|
3
5
|
export * from './health_config';
|
|
@@ -201,8 +203,11 @@ export class VitalHealth {
|
|
|
201
203
|
static askForResources(resources) {
|
|
202
204
|
return this.ask(resources, []);
|
|
203
205
|
}
|
|
204
|
-
static async ask(readResources, writeResources) {
|
|
205
|
-
|
|
206
|
+
static async ask(readResources, writeResources, config = undefined) {
|
|
207
|
+
if (config && Platform.OS !== config.type) {
|
|
208
|
+
throw new Error(`ask config is for ${config.type} but runtime is ${Platform.OS}.`);
|
|
209
|
+
}
|
|
210
|
+
const result = await VitalHealthReactNative.ask(readResources, writeResources, config);
|
|
206
211
|
if (Platform.OS !== "android") {
|
|
207
212
|
return "success";
|
|
208
213
|
} else {
|
|
@@ -255,14 +260,17 @@ export let VitalResource = /*#__PURE__*/function (VitalResource) {
|
|
|
255
260
|
VitalResource["MenstrualCycle"] = "menstrualCycle";
|
|
256
261
|
VitalResource["Meal"] = "meal";
|
|
257
262
|
VitalResource["AFibBurden"] = "afibBurden";
|
|
263
|
+
// iOS only
|
|
258
264
|
VitalResource["HeartRateAlert"] = "heartRateAlert";
|
|
259
|
-
|
|
265
|
+
// iOS only
|
|
266
|
+
VitalResource["Electrocardiogram"] = "electrocardiogram"; // iOS only
|
|
260
267
|
return VitalResource;
|
|
261
|
-
}({});
|
|
268
|
+
}({});
|
|
262
269
|
export let VitalWriteResource = /*#__PURE__*/function (VitalWriteResource) {
|
|
263
270
|
VitalWriteResource["Water"] = "water";
|
|
264
271
|
VitalWriteResource["Caffeine"] = "caffeine";
|
|
265
|
-
|
|
272
|
+
// iOS only
|
|
273
|
+
VitalWriteResource["MindfulSession"] = "mindfulSession"; // iOS only, value is ignored
|
|
266
274
|
return VitalWriteResource;
|
|
267
|
-
}({});
|
|
275
|
+
}({});
|
|
268
276
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","VitalHealthReactNative","Proxy","get","Error","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","canEnableBackgroundSyncNoninteractively","OS","pauseSynchronization","getPauseSynchronization","isBackgroundSyncEnabled","Promise","resolve","backgroundSyncMinimumInterval","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","iOSConfig","backgroundDeliveryEnabled","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","readResources","writeResources","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","LINKING_ERROR","select","ios","default","VitalHealthReactNative","Proxy","get","Error","VitalHealthReactNativeModule","VitalHealthEvents","statusEvent","VitalHealth","status","canEnableBackgroundSyncNoninteractively","OS","pauseSynchronization","getPauseSynchronization","isBackgroundSyncEnabled","Promise","resolve","backgroundSyncMinimumInterval","autoSyncThrottle","isAvailable","configure","healthConfig","androidConfig","syncOnAppStart","numberOfDaysToBackFill","logsEnabled","iOSConfig","backgroundDeliveryEnabled","enableBackgroundSync","disableBackgroundSync","setSyncNotificationContent","content","JSON","stringify","setAutoSyncThrottle","thresholdInMilliseconds","setBackgroundSyncMinimumInterval","intervalInMilliseconds","setPauseSynchronization","paused","askForResources","resources","ask","readResources","writeResources","config","undefined","type","result","writeHealthData","resource","value","startDate","endDate","getTime","hasAskedForPermission","syncData","openPlatformHealthApp","openSyncProgressView","VitalResource","VitalWriteResource"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { HealthKitDataType } from "./healthkit";
|
|
2
|
+
export interface AskConfigiOS {
|
|
3
|
+
type: "ios";
|
|
4
|
+
/**
|
|
5
|
+
* Extra HealthKit object types whose read permissions should be requested in addition to the needs of Junction Mobile SDK.
|
|
6
|
+
*/
|
|
7
|
+
extraReadPermissions?: HealthKitDataType[];
|
|
8
|
+
/**
|
|
9
|
+
* Extra HealthKit sample types whose write permissions should be requested in addition to the needs of Junction Mobile SDK.
|
|
10
|
+
*/
|
|
11
|
+
extraWritePermissions?: HealthKitDataType[];
|
|
12
|
+
/**
|
|
13
|
+
* If not undefined, only the specified data types would be requested. This applies to both SDK originated requests as well
|
|
14
|
+
* as extra permissions you specified above.
|
|
15
|
+
*/
|
|
16
|
+
dataTypeAllowlist?: HealthKitDataType[];
|
|
17
|
+
}
|
|
18
|
+
export interface AskConfigAndroid {
|
|
19
|
+
type: "android";
|
|
20
|
+
}
|
|
21
|
+
export type AskConfig = AskConfigiOS | AskConfigAndroid;
|
|
22
|
+
//# sourceMappingURL=ask_config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask_config.d.ts","sourceRoot":"","sources":["../../src/ask_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC3C;;OAEG;IACH,qBAAqB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export type HealthKitDataType = ("HKQuantityTypeIdentifierAppleSleepingWristTemperature" | "HKQuantityTypeIdentifierBodyFatPercentage" | "HKQuantityTypeIdentifierBodyMass" | "HKQuantityTypeIdentifierBodyMassIndex" | "HKQuantityTypeIdentifierElectrodermalActivity" | "HKQuantityTypeIdentifierHeight" | "HKQuantityTypeIdentifierLeanBodyMass" | "HKQuantityTypeIdentifierWaistCircumference" | "HKQuantityTypeIdentifierActiveEnergyBurned" | "HKQuantityTypeIdentifierAppleExerciseTime" | "HKQuantityTypeIdentifierAppleMoveTime" | "HKQuantityTypeIdentifierAppleStandTime" | "HKQuantityTypeIdentifierBasalEnergyBurned" | "HKQuantityTypeIdentifierCrossCountrySkiingSpeed" | "HKQuantityTypeIdentifierCyclingCadence" | "HKQuantityTypeIdentifierCyclingFunctionalThresholdPower" | "HKQuantityTypeIdentifierCyclingPower" | "HKQuantityTypeIdentifierCyclingSpeed" | "HKQuantityTypeIdentifierDistanceCrossCountrySkiing" | "HKQuantityTypeIdentifierDistanceCycling" | "HKQuantityTypeIdentifierDistanceDownhillSnowSports" | "HKQuantityTypeIdentifierDistancePaddleSports" | "HKQuantityTypeIdentifierDistanceRowing" | "HKQuantityTypeIdentifierDistanceSkatingSports" | "HKQuantityTypeIdentifierDistanceSwimming" | "HKQuantityTypeIdentifierDistanceWalkingRunning" | "HKQuantityTypeIdentifierDistanceWheelchair" | "HKQuantityTypeIdentifierEstimatedWorkoutEffortScore" | "HKQuantityTypeIdentifierFlightsClimbed" | "HKQuantityTypeIdentifierNikeFuel" | "HKQuantityTypeIdentifierPaddleSportsSpeed" | "HKQuantityTypeIdentifierPhysicalEffort" | "HKQuantityTypeIdentifierPushCount" | "HKQuantityTypeIdentifierRowingSpeed" | "HKQuantityTypeIdentifierRunningPower" | "HKQuantityTypeIdentifierRunningSpeed" | "HKQuantityTypeIdentifierStepCount" | "HKQuantityTypeIdentifierSwimmingStrokeCount" | "HKQuantityTypeIdentifierUnderwaterDepth" | "HKQuantityTypeIdentifierWorkoutEffortScore" | "HKQuantityTypeIdentifierEnvironmentalAudioExposure" | "HKQuantityTypeIdentifierEnvironmentalSoundReduction" | "HKQuantityTypeIdentifierHeadphoneAudioExposure" | "HKQuantityTypeIdentifierAtrialFibrillationBurden" | "HKQuantityTypeIdentifierHeartRate" | "HKQuantityTypeIdentifierHeartRateRecoveryOneMinute" | "HKQuantityTypeIdentifierHeartRateVariabilitySDNN" | "HKQuantityTypeIdentifierPeripheralPerfusionIndex" | "HKQuantityTypeIdentifierRestingHeartRate" | "HKQuantityTypeIdentifierVO2Max" | "HKQuantityTypeIdentifierWalkingHeartRateAverage" | "HKQuantityTypeIdentifierAppleWalkingSteadiness" | "HKQuantityTypeIdentifierRunningGroundContactTime" | "HKQuantityTypeIdentifierRunningStrideLength" | "HKQuantityTypeIdentifierRunningVerticalOscillation" | "HKQuantityTypeIdentifierSixMinuteWalkTestDistance" | "HKQuantityTypeIdentifierStairAscentSpeed" | "HKQuantityTypeIdentifierStairDescentSpeed" | "HKQuantityTypeIdentifierWalkingAsymmetryPercentage" | "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage" | "HKQuantityTypeIdentifierWalkingSpeed" | "HKQuantityTypeIdentifierWalkingStepLength" | "HKQuantityTypeIdentifierDietaryBiotin" | "HKQuantityTypeIdentifierDietaryCaffeine" | "HKQuantityTypeIdentifierDietaryCalcium" | "HKQuantityTypeIdentifierDietaryCarbohydrates" | "HKQuantityTypeIdentifierDietaryChloride" | "HKQuantityTypeIdentifierDietaryCholesterol" | "HKQuantityTypeIdentifierDietaryChromium" | "HKQuantityTypeIdentifierDietaryCopper" | "HKQuantityTypeIdentifierDietaryEnergyConsumed" | "HKQuantityTypeIdentifierDietaryFatMonounsaturated" | "HKQuantityTypeIdentifierDietaryFatPolyunsaturated" | "HKQuantityTypeIdentifierDietaryFatSaturated" | "HKQuantityTypeIdentifierDietaryFatTotal" | "HKQuantityTypeIdentifierDietaryFiber" | "HKQuantityTypeIdentifierDietaryFolate" | "HKQuantityTypeIdentifierDietaryIodine" | "HKQuantityTypeIdentifierDietaryIron" | "HKQuantityTypeIdentifierDietaryMagnesium" | "HKQuantityTypeIdentifierDietaryManganese" | "HKQuantityTypeIdentifierDietaryMolybdenum" | "HKQuantityTypeIdentifierDietaryNiacin" | "HKQuantityTypeIdentifierDietaryPantothenicAcid" | "HKQuantityTypeIdentifierDietaryPhosphorus" | "HKQuantityTypeIdentifierDietaryPotassium" | "HKQuantityTypeIdentifierDietaryProtein" | "HKQuantityTypeIdentifierDietaryRiboflavin" | "HKQuantityTypeIdentifierDietarySelenium" | "HKQuantityTypeIdentifierDietarySodium" | "HKQuantityTypeIdentifierDietarySugar" | "HKQuantityTypeIdentifierDietaryThiamin" | "HKQuantityTypeIdentifierDietaryVitaminA" | "HKQuantityTypeIdentifierDietaryVitaminB12" | "HKQuantityTypeIdentifierDietaryVitaminB6" | "HKQuantityTypeIdentifierDietaryVitaminC" | "HKQuantityTypeIdentifierDietaryVitaminD" | "HKQuantityTypeIdentifierDietaryVitaminE" | "HKQuantityTypeIdentifierDietaryVitaminK" | "HKQuantityTypeIdentifierDietaryWater" | "HKQuantityTypeIdentifierDietaryZinc" | "HKQuantityTypeIdentifierBloodAlcoholContent" | "HKQuantityTypeIdentifierBloodPressureDiastolic" | "HKQuantityTypeIdentifierBloodPressureSystolic" | "HKQuantityTypeIdentifierInsulinDelivery" | "HKQuantityTypeIdentifierNumberOfAlcoholicBeverages" | "HKQuantityTypeIdentifierNumberOfTimesFallen" | "HKQuantityTypeIdentifierTimeInDaylight" | "HKQuantityTypeIdentifierUVExposure" | "HKQuantityTypeIdentifierWaterTemperature" | "HKQuantityTypeIdentifierBasalBodyTemperature" | "HKQuantityTypeIdentifierAppleSleepingBreathingDisturbances" | "HKQuantityTypeIdentifierForcedExpiratoryVolume1" | "HKQuantityTypeIdentifierForcedVitalCapacity" | "HKQuantityTypeIdentifierInhalerUsage" | "HKQuantityTypeIdentifierOxygenSaturation" | "HKQuantityTypeIdentifierPeakExpiratoryFlowRate" | "HKQuantityTypeIdentifierRespiratoryRate" | "HKQuantityTypeIdentifierBloodGlucose" | "HKQuantityTypeIdentifierBodyTemperature" | "HKCategoryTypeIdentifierAppleStandHour" | "HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent" | "HKCategoryTypeIdentifierHeadphoneAudioExposureEvent" | "HKCategoryTypeIdentifierHighHeartRateEvent" | "HKCategoryTypeIdentifierIrregularHeartRhythmEvent" | "HKCategoryTypeIdentifierLowCardioFitnessEvent" | "HKCategoryTypeIdentifierLowHeartRateEvent" | "HKCategoryTypeIdentifierMindfulSession" | "HKCategoryTypeIdentifierAppleWalkingSteadinessEvent" | "HKCategoryTypeIdentifierHandwashingEvent" | "HKCategoryTypeIdentifierToothbrushingEvent" | "HKCategoryTypeIdentifierBleedingAfterPregnancy" | "HKCategoryTypeIdentifierBleedingDuringPregnancy" | "HKCategoryTypeIdentifierCervicalMucusQuality" | "HKCategoryTypeIdentifierContraceptive" | "HKCategoryTypeIdentifierInfrequentMenstrualCycles" | "HKCategoryTypeIdentifierIntermenstrualBleeding" | "HKCategoryTypeIdentifierIrregularMenstrualCycles" | "HKCategoryTypeIdentifierLactation" | "HKCategoryTypeIdentifierMenstrualFlow" | "HKCategoryTypeIdentifierOvulationTestResult" | "HKCategoryTypeIdentifierPersistentIntermenstrualBleeding" | "HKCategoryTypeIdentifierPregnancy" | "HKCategoryTypeIdentifierPregnancyTestResult" | "HKCategoryTypeIdentifierProgesteroneTestResult" | "HKCategoryTypeIdentifierProlongedMenstrualPeriods" | "HKCategoryTypeIdentifierSexualActivity" | "HKCategoryTypeIdentifierSleepApneaEvent" | "HKCategoryTypeIdentifierSleepAnalysis" | "HKCategoryTypeIdentifierAbdominalCramps" | "HKCategoryTypeIdentifierAcne" | "HKCategoryTypeIdentifierAppetiteChanges" | "HKCategoryTypeIdentifierBladderIncontinence" | "HKCategoryTypeIdentifierBloating" | "HKCategoryTypeIdentifierBreastPain" | "HKCategoryTypeIdentifierChestTightnessOrPain" | "HKCategoryTypeIdentifierChills" | "HKCategoryTypeIdentifierConstipation" | "HKCategoryTypeIdentifierCoughing" | "HKCategoryTypeIdentifierDiarrhea" | "HKCategoryTypeIdentifierDizziness" | "HKCategoryTypeIdentifierDrySkin" | "HKCategoryTypeIdentifierFainting" | "HKCategoryTypeIdentifierFatigue" | "HKCategoryTypeIdentifierFever" | "HKCategoryTypeIdentifierGeneralizedBodyAche" | "HKCategoryTypeIdentifierHairLoss" | "HKCategoryTypeIdentifierHeadache" | "HKCategoryTypeIdentifierHeartburn" | "HKCategoryTypeIdentifierHotFlashes" | "HKCategoryTypeIdentifierLossOfSmell" | "HKCategoryTypeIdentifierLossOfTaste" | "HKCategoryTypeIdentifierLowerBackPain" | "HKCategoryTypeIdentifierMemoryLapse" | "HKCategoryTypeIdentifierMoodChanges" | "HKCategoryTypeIdentifierNausea" | "HKCategoryTypeIdentifierNightSweats" | "HKCategoryTypeIdentifierPelvicPain" | "HKCategoryTypeIdentifierRapidPoundingOrFlutteringHeartbeat" | "HKCategoryTypeIdentifierRunnyNose" | "HKCategoryTypeIdentifierShortnessOfBreath" | "HKCategoryTypeIdentifierSinusCongestion" | "HKCategoryTypeIdentifierSkippedHeartbeat" | "HKCategoryTypeIdentifierSleepChanges" | "HKCategoryTypeIdentifierSoreThroat" | "HKCategoryTypeIdentifierVaginalDryness" | "HKCategoryTypeIdentifierVomiting" | "HKCategoryTypeIdentifierWheezing" | "HKCharacteristicTypeIdentifierActivityMoveMode" | "HKCharacteristicTypeIdentifierBiologicalSex" | "HKCharacteristicTypeIdentifierBloodType" | "HKCharacteristicTypeIdentifierDateOfBirth" | "HKCharacteristicTypeIdentifierFitzpatrickSkinType" | "HKCharacteristicTypeIdentifierWheelchairUse" | "HKCorrelationTypeIdentifierBloodPressure" | "HKCorrelationTypeIdentifierFood" | "HKDocumentTypeIdentifierCDA" | "HKScoredAssessmentTypeIdentifierGAD7" | "HKScoredAssessmentTypeIdentifierPHQ9" | "HKWorkoutTypeIdentifier" | "HKWorkoutRouteTypeIdentifier" | "HKDataTypeIdentifierHeartbeatSeries" | "HKVisionPrescriptionTypeIdentifier" | "HKDataTypeIdentifierStateOfMind");
|
|
2
|
+
//# sourceMappingURL=healthkit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthkit.d.ts","sourceRoot":"","sources":["../../src/healthkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NativeEventEmitter } from 'react-native';
|
|
2
2
|
import type { HealthConfig } from './health_config';
|
|
3
|
+
import type { AskConfig } from './ask_config';
|
|
3
4
|
export * from './health_config';
|
|
4
5
|
export declare const VitalHealthReactNativeModule: any;
|
|
5
6
|
export declare const VitalHealthEvents: {
|
|
@@ -122,7 +123,7 @@ export declare class VitalHealth {
|
|
|
122
123
|
*/
|
|
123
124
|
static setPauseSynchronization(paused: boolean): Promise<any>;
|
|
124
125
|
static askForResources(resources: VitalResource[]): Promise<PermissionOutcome>;
|
|
125
|
-
static ask(readResources: VitalResource[], writeResources: VitalWriteResource[]): Promise<PermissionOutcome>;
|
|
126
|
+
static ask(readResources: VitalResource[], writeResources: VitalWriteResource[], config?: AskConfig | undefined): Promise<PermissionOutcome>;
|
|
126
127
|
static writeHealthData(resource: VitalWriteResource, value: number, startDate: Date, endDate: Date): Promise<void>;
|
|
127
128
|
static hasAskedForPermission(resource: VitalResource): Promise<boolean>;
|
|
128
129
|
static syncData(resources?: VitalResource[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tryvital/vital-health-react-native",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.2",
|
|
4
4
|
"description": "Client to access iOS's HealthKit and Android HealthConnect",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"registry": "https://registry.npmjs.org/"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@tryvital/vital-core-react-native": "5.1.
|
|
52
|
+
"@tryvital/vital-core-react-native": "5.1.2"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"react": "*",
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { HealthKitDataType } from "./healthkit";
|
|
2
|
+
|
|
3
|
+
export interface AskConfigiOS {
|
|
4
|
+
type: "ios";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Extra HealthKit object types whose read permissions should be requested in addition to the needs of Junction Mobile SDK.
|
|
8
|
+
*/
|
|
9
|
+
extraReadPermissions?: HealthKitDataType[];
|
|
10
|
+
/**
|
|
11
|
+
* Extra HealthKit sample types whose write permissions should be requested in addition to the needs of Junction Mobile SDK.
|
|
12
|
+
*/
|
|
13
|
+
extraWritePermissions?: HealthKitDataType[];
|
|
14
|
+
/**
|
|
15
|
+
* If not undefined, only the specified data types would be requested. This applies to both SDK originated requests as well
|
|
16
|
+
* as extra permissions you specified above.
|
|
17
|
+
*/
|
|
18
|
+
dataTypeAllowlist?: HealthKitDataType[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface AskConfigAndroid {
|
|
22
|
+
type: "android";
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type AskConfig = AskConfigiOS | AskConfigAndroid;
|
package/src/healthkit.ts
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
export type HealthKitDataType = (
|
|
2
|
+
"HKQuantityTypeIdentifierAppleSleepingWristTemperature" |
|
|
3
|
+
"HKQuantityTypeIdentifierBodyFatPercentage" |
|
|
4
|
+
"HKQuantityTypeIdentifierBodyMass" |
|
|
5
|
+
"HKQuantityTypeIdentifierBodyMassIndex" |
|
|
6
|
+
"HKQuantityTypeIdentifierElectrodermalActivity" |
|
|
7
|
+
"HKQuantityTypeIdentifierHeight" |
|
|
8
|
+
"HKQuantityTypeIdentifierLeanBodyMass" |
|
|
9
|
+
"HKQuantityTypeIdentifierWaistCircumference" |
|
|
10
|
+
|
|
11
|
+
"HKQuantityTypeIdentifierActiveEnergyBurned" |
|
|
12
|
+
"HKQuantityTypeIdentifierAppleExerciseTime" |
|
|
13
|
+
"HKQuantityTypeIdentifierAppleMoveTime" |
|
|
14
|
+
"HKQuantityTypeIdentifierAppleStandTime" |
|
|
15
|
+
"HKQuantityTypeIdentifierBasalEnergyBurned" |
|
|
16
|
+
"HKQuantityTypeIdentifierCrossCountrySkiingSpeed" |
|
|
17
|
+
"HKQuantityTypeIdentifierCyclingCadence" |
|
|
18
|
+
"HKQuantityTypeIdentifierCyclingFunctionalThresholdPower" |
|
|
19
|
+
"HKQuantityTypeIdentifierCyclingPower" |
|
|
20
|
+
"HKQuantityTypeIdentifierCyclingSpeed" |
|
|
21
|
+
"HKQuantityTypeIdentifierDistanceCrossCountrySkiing" |
|
|
22
|
+
"HKQuantityTypeIdentifierDistanceCycling" |
|
|
23
|
+
"HKQuantityTypeIdentifierDistanceDownhillSnowSports" |
|
|
24
|
+
"HKQuantityTypeIdentifierDistancePaddleSports" |
|
|
25
|
+
"HKQuantityTypeIdentifierDistanceRowing" |
|
|
26
|
+
"HKQuantityTypeIdentifierDistanceSkatingSports" |
|
|
27
|
+
"HKQuantityTypeIdentifierDistanceSwimming" |
|
|
28
|
+
"HKQuantityTypeIdentifierDistanceWalkingRunning" |
|
|
29
|
+
"HKQuantityTypeIdentifierDistanceWheelchair" |
|
|
30
|
+
"HKQuantityTypeIdentifierEstimatedWorkoutEffortScore" |
|
|
31
|
+
"HKQuantityTypeIdentifierFlightsClimbed" |
|
|
32
|
+
"HKQuantityTypeIdentifierNikeFuel" |
|
|
33
|
+
"HKQuantityTypeIdentifierPaddleSportsSpeed" |
|
|
34
|
+
"HKQuantityTypeIdentifierPhysicalEffort" |
|
|
35
|
+
"HKQuantityTypeIdentifierPushCount" |
|
|
36
|
+
"HKQuantityTypeIdentifierRowingSpeed" |
|
|
37
|
+
"HKQuantityTypeIdentifierRunningPower" |
|
|
38
|
+
"HKQuantityTypeIdentifierRunningSpeed" |
|
|
39
|
+
"HKQuantityTypeIdentifierStepCount" |
|
|
40
|
+
"HKQuantityTypeIdentifierSwimmingStrokeCount" |
|
|
41
|
+
"HKQuantityTypeIdentifierUnderwaterDepth" |
|
|
42
|
+
"HKQuantityTypeIdentifierWorkoutEffortScore" |
|
|
43
|
+
|
|
44
|
+
"HKQuantityTypeIdentifierEnvironmentalAudioExposure" |
|
|
45
|
+
"HKQuantityTypeIdentifierEnvironmentalSoundReduction" |
|
|
46
|
+
"HKQuantityTypeIdentifierHeadphoneAudioExposure" |
|
|
47
|
+
|
|
48
|
+
"HKQuantityTypeIdentifierAtrialFibrillationBurden" |
|
|
49
|
+
"HKQuantityTypeIdentifierHeartRate" |
|
|
50
|
+
"HKQuantityTypeIdentifierHeartRateRecoveryOneMinute" |
|
|
51
|
+
"HKQuantityTypeIdentifierHeartRateVariabilitySDNN" |
|
|
52
|
+
"HKQuantityTypeIdentifierPeripheralPerfusionIndex" |
|
|
53
|
+
"HKQuantityTypeIdentifierRestingHeartRate" |
|
|
54
|
+
"HKQuantityTypeIdentifierVO2Max" |
|
|
55
|
+
"HKQuantityTypeIdentifierWalkingHeartRateAverage" |
|
|
56
|
+
|
|
57
|
+
"HKQuantityTypeIdentifierAppleWalkingSteadiness" |
|
|
58
|
+
"HKQuantityTypeIdentifierRunningGroundContactTime" |
|
|
59
|
+
"HKQuantityTypeIdentifierRunningStrideLength" |
|
|
60
|
+
"HKQuantityTypeIdentifierRunningVerticalOscillation" |
|
|
61
|
+
"HKQuantityTypeIdentifierSixMinuteWalkTestDistance" |
|
|
62
|
+
"HKQuantityTypeIdentifierStairAscentSpeed" |
|
|
63
|
+
"HKQuantityTypeIdentifierStairDescentSpeed" |
|
|
64
|
+
"HKQuantityTypeIdentifierWalkingAsymmetryPercentage" |
|
|
65
|
+
"HKQuantityTypeIdentifierWalkingDoubleSupportPercentage" |
|
|
66
|
+
"HKQuantityTypeIdentifierWalkingSpeed" |
|
|
67
|
+
"HKQuantityTypeIdentifierWalkingStepLength" |
|
|
68
|
+
|
|
69
|
+
"HKQuantityTypeIdentifierDietaryBiotin" |
|
|
70
|
+
"HKQuantityTypeIdentifierDietaryCaffeine" |
|
|
71
|
+
"HKQuantityTypeIdentifierDietaryCalcium" |
|
|
72
|
+
"HKQuantityTypeIdentifierDietaryCarbohydrates" |
|
|
73
|
+
"HKQuantityTypeIdentifierDietaryChloride" |
|
|
74
|
+
"HKQuantityTypeIdentifierDietaryCholesterol" |
|
|
75
|
+
"HKQuantityTypeIdentifierDietaryChromium" |
|
|
76
|
+
"HKQuantityTypeIdentifierDietaryCopper" |
|
|
77
|
+
"HKQuantityTypeIdentifierDietaryEnergyConsumed" |
|
|
78
|
+
"HKQuantityTypeIdentifierDietaryFatMonounsaturated" |
|
|
79
|
+
"HKQuantityTypeIdentifierDietaryFatPolyunsaturated" |
|
|
80
|
+
"HKQuantityTypeIdentifierDietaryFatSaturated" |
|
|
81
|
+
"HKQuantityTypeIdentifierDietaryFatTotal" |
|
|
82
|
+
"HKQuantityTypeIdentifierDietaryFiber" |
|
|
83
|
+
"HKQuantityTypeIdentifierDietaryFolate" |
|
|
84
|
+
"HKQuantityTypeIdentifierDietaryIodine" |
|
|
85
|
+
"HKQuantityTypeIdentifierDietaryIron" |
|
|
86
|
+
"HKQuantityTypeIdentifierDietaryMagnesium" |
|
|
87
|
+
"HKQuantityTypeIdentifierDietaryManganese" |
|
|
88
|
+
"HKQuantityTypeIdentifierDietaryMolybdenum" |
|
|
89
|
+
"HKQuantityTypeIdentifierDietaryNiacin" |
|
|
90
|
+
"HKQuantityTypeIdentifierDietaryPantothenicAcid" |
|
|
91
|
+
"HKQuantityTypeIdentifierDietaryPhosphorus" |
|
|
92
|
+
"HKQuantityTypeIdentifierDietaryPotassium" |
|
|
93
|
+
"HKQuantityTypeIdentifierDietaryProtein" |
|
|
94
|
+
"HKQuantityTypeIdentifierDietaryRiboflavin" |
|
|
95
|
+
"HKQuantityTypeIdentifierDietarySelenium" |
|
|
96
|
+
"HKQuantityTypeIdentifierDietarySodium" |
|
|
97
|
+
"HKQuantityTypeIdentifierDietarySugar" |
|
|
98
|
+
"HKQuantityTypeIdentifierDietaryThiamin" |
|
|
99
|
+
"HKQuantityTypeIdentifierDietaryVitaminA" |
|
|
100
|
+
"HKQuantityTypeIdentifierDietaryVitaminB12" |
|
|
101
|
+
"HKQuantityTypeIdentifierDietaryVitaminB6" |
|
|
102
|
+
"HKQuantityTypeIdentifierDietaryVitaminC" |
|
|
103
|
+
"HKQuantityTypeIdentifierDietaryVitaminD" |
|
|
104
|
+
"HKQuantityTypeIdentifierDietaryVitaminE" |
|
|
105
|
+
"HKQuantityTypeIdentifierDietaryVitaminK" |
|
|
106
|
+
"HKQuantityTypeIdentifierDietaryWater" |
|
|
107
|
+
"HKQuantityTypeIdentifierDietaryZinc" |
|
|
108
|
+
|
|
109
|
+
"HKQuantityTypeIdentifierBloodAlcoholContent" |
|
|
110
|
+
"HKQuantityTypeIdentifierBloodPressureDiastolic" |
|
|
111
|
+
"HKQuantityTypeIdentifierBloodPressureSystolic" |
|
|
112
|
+
"HKQuantityTypeIdentifierInsulinDelivery" |
|
|
113
|
+
"HKQuantityTypeIdentifierNumberOfAlcoholicBeverages" |
|
|
114
|
+
"HKQuantityTypeIdentifierNumberOfTimesFallen" |
|
|
115
|
+
"HKQuantityTypeIdentifierTimeInDaylight" |
|
|
116
|
+
"HKQuantityTypeIdentifierUVExposure" |
|
|
117
|
+
"HKQuantityTypeIdentifierWaterTemperature" |
|
|
118
|
+
|
|
119
|
+
"HKQuantityTypeIdentifierBasalBodyTemperature" |
|
|
120
|
+
|
|
121
|
+
"HKQuantityTypeIdentifierAppleSleepingBreathingDisturbances" |
|
|
122
|
+
"HKQuantityTypeIdentifierForcedExpiratoryVolume1" |
|
|
123
|
+
"HKQuantityTypeIdentifierForcedVitalCapacity" |
|
|
124
|
+
"HKQuantityTypeIdentifierInhalerUsage" |
|
|
125
|
+
"HKQuantityTypeIdentifierOxygenSaturation" |
|
|
126
|
+
"HKQuantityTypeIdentifierPeakExpiratoryFlowRate" |
|
|
127
|
+
"HKQuantityTypeIdentifierRespiratoryRate" |
|
|
128
|
+
|
|
129
|
+
"HKQuantityTypeIdentifierBloodGlucose" |
|
|
130
|
+
"HKQuantityTypeIdentifierBodyTemperature" |
|
|
131
|
+
|
|
132
|
+
"HKCategoryTypeIdentifierAppleStandHour" |
|
|
133
|
+
|
|
134
|
+
"HKCategoryTypeIdentifierEnvironmentalAudioExposureEvent" |
|
|
135
|
+
"HKCategoryTypeIdentifierHeadphoneAudioExposureEvent" |
|
|
136
|
+
|
|
137
|
+
"HKCategoryTypeIdentifierHighHeartRateEvent" |
|
|
138
|
+
"HKCategoryTypeIdentifierIrregularHeartRhythmEvent" |
|
|
139
|
+
"HKCategoryTypeIdentifierLowCardioFitnessEvent" |
|
|
140
|
+
"HKCategoryTypeIdentifierLowHeartRateEvent" |
|
|
141
|
+
|
|
142
|
+
"HKCategoryTypeIdentifierMindfulSession" |
|
|
143
|
+
|
|
144
|
+
"HKCategoryTypeIdentifierAppleWalkingSteadinessEvent" |
|
|
145
|
+
|
|
146
|
+
"HKCategoryTypeIdentifierHandwashingEvent" |
|
|
147
|
+
"HKCategoryTypeIdentifierToothbrushingEvent" |
|
|
148
|
+
|
|
149
|
+
"HKCategoryTypeIdentifierBleedingAfterPregnancy" |
|
|
150
|
+
"HKCategoryTypeIdentifierBleedingDuringPregnancy" |
|
|
151
|
+
"HKCategoryTypeIdentifierCervicalMucusQuality" |
|
|
152
|
+
"HKCategoryTypeIdentifierContraceptive" |
|
|
153
|
+
"HKCategoryTypeIdentifierInfrequentMenstrualCycles" |
|
|
154
|
+
"HKCategoryTypeIdentifierIntermenstrualBleeding" |
|
|
155
|
+
"HKCategoryTypeIdentifierIrregularMenstrualCycles" |
|
|
156
|
+
"HKCategoryTypeIdentifierLactation" |
|
|
157
|
+
"HKCategoryTypeIdentifierMenstrualFlow" |
|
|
158
|
+
"HKCategoryTypeIdentifierOvulationTestResult" |
|
|
159
|
+
"HKCategoryTypeIdentifierPersistentIntermenstrualBleeding" |
|
|
160
|
+
"HKCategoryTypeIdentifierPregnancy" |
|
|
161
|
+
"HKCategoryTypeIdentifierPregnancyTestResult" |
|
|
162
|
+
"HKCategoryTypeIdentifierProgesteroneTestResult" |
|
|
163
|
+
"HKCategoryTypeIdentifierProlongedMenstrualPeriods" |
|
|
164
|
+
"HKCategoryTypeIdentifierSexualActivity" |
|
|
165
|
+
|
|
166
|
+
"HKCategoryTypeIdentifierSleepApneaEvent" |
|
|
167
|
+
|
|
168
|
+
"HKCategoryTypeIdentifierSleepAnalysis" |
|
|
169
|
+
|
|
170
|
+
"HKCategoryTypeIdentifierAbdominalCramps" |
|
|
171
|
+
"HKCategoryTypeIdentifierAcne" |
|
|
172
|
+
"HKCategoryTypeIdentifierAppetiteChanges" |
|
|
173
|
+
"HKCategoryTypeIdentifierBladderIncontinence" |
|
|
174
|
+
"HKCategoryTypeIdentifierBloating" |
|
|
175
|
+
"HKCategoryTypeIdentifierBreastPain" |
|
|
176
|
+
"HKCategoryTypeIdentifierChestTightnessOrPain" |
|
|
177
|
+
"HKCategoryTypeIdentifierChills" |
|
|
178
|
+
"HKCategoryTypeIdentifierConstipation" |
|
|
179
|
+
"HKCategoryTypeIdentifierCoughing" |
|
|
180
|
+
"HKCategoryTypeIdentifierDiarrhea" |
|
|
181
|
+
"HKCategoryTypeIdentifierDizziness" |
|
|
182
|
+
"HKCategoryTypeIdentifierDrySkin" |
|
|
183
|
+
"HKCategoryTypeIdentifierFainting" |
|
|
184
|
+
"HKCategoryTypeIdentifierFatigue" |
|
|
185
|
+
"HKCategoryTypeIdentifierFever" |
|
|
186
|
+
"HKCategoryTypeIdentifierGeneralizedBodyAche" |
|
|
187
|
+
"HKCategoryTypeIdentifierHairLoss" |
|
|
188
|
+
"HKCategoryTypeIdentifierHeadache" |
|
|
189
|
+
"HKCategoryTypeIdentifierHeartburn" |
|
|
190
|
+
"HKCategoryTypeIdentifierHotFlashes" |
|
|
191
|
+
"HKCategoryTypeIdentifierLossOfSmell" |
|
|
192
|
+
"HKCategoryTypeIdentifierLossOfTaste" |
|
|
193
|
+
"HKCategoryTypeIdentifierLowerBackPain" |
|
|
194
|
+
"HKCategoryTypeIdentifierMemoryLapse" |
|
|
195
|
+
"HKCategoryTypeIdentifierMoodChanges" |
|
|
196
|
+
"HKCategoryTypeIdentifierNausea" |
|
|
197
|
+
"HKCategoryTypeIdentifierNightSweats" |
|
|
198
|
+
"HKCategoryTypeIdentifierPelvicPain" |
|
|
199
|
+
"HKCategoryTypeIdentifierRapidPoundingOrFlutteringHeartbeat" |
|
|
200
|
+
"HKCategoryTypeIdentifierRunnyNose" |
|
|
201
|
+
"HKCategoryTypeIdentifierShortnessOfBreath" |
|
|
202
|
+
"HKCategoryTypeIdentifierSinusCongestion" |
|
|
203
|
+
"HKCategoryTypeIdentifierSkippedHeartbeat" |
|
|
204
|
+
"HKCategoryTypeIdentifierSleepChanges" |
|
|
205
|
+
"HKCategoryTypeIdentifierSoreThroat" |
|
|
206
|
+
"HKCategoryTypeIdentifierVaginalDryness" |
|
|
207
|
+
"HKCategoryTypeIdentifierVomiting" |
|
|
208
|
+
"HKCategoryTypeIdentifierWheezing" |
|
|
209
|
+
|
|
210
|
+
"HKCharacteristicTypeIdentifierActivityMoveMode" |
|
|
211
|
+
"HKCharacteristicTypeIdentifierBiologicalSex" |
|
|
212
|
+
"HKCharacteristicTypeIdentifierBloodType" |
|
|
213
|
+
"HKCharacteristicTypeIdentifierDateOfBirth" |
|
|
214
|
+
"HKCharacteristicTypeIdentifierFitzpatrickSkinType" |
|
|
215
|
+
"HKCharacteristicTypeIdentifierWheelchairUse" |
|
|
216
|
+
|
|
217
|
+
"HKCorrelationTypeIdentifierBloodPressure" |
|
|
218
|
+
|
|
219
|
+
"HKCorrelationTypeIdentifierFood" |
|
|
220
|
+
|
|
221
|
+
"HKDocumentTypeIdentifierCDA" |
|
|
222
|
+
|
|
223
|
+
"HKScoredAssessmentTypeIdentifierGAD7" |
|
|
224
|
+
"HKScoredAssessmentTypeIdentifierPHQ9" |
|
|
225
|
+
|
|
226
|
+
"HKWorkoutTypeIdentifier" |
|
|
227
|
+
|
|
228
|
+
"HKWorkoutRouteTypeIdentifier" |
|
|
229
|
+
"HKDataTypeIdentifierHeartbeatSeries" |
|
|
230
|
+
|
|
231
|
+
"HKVisionPrescriptionTypeIdentifier" |
|
|
232
|
+
|
|
233
|
+
"HKDataTypeIdentifierStateOfMind"
|
|
234
|
+
);
|
package/src/index.tsx
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
2
|
import type { HealthConfig } from './health_config';
|
|
3
|
+
import type { AskConfig } from './ask_config';
|
|
3
4
|
|
|
4
5
|
// Reexports
|
|
5
6
|
export * from './health_config';
|
|
@@ -246,9 +247,14 @@ export class VitalHealth {
|
|
|
246
247
|
|
|
247
248
|
static async ask(
|
|
248
249
|
readResources: VitalResource[],
|
|
249
|
-
writeResources: VitalWriteResource[]
|
|
250
|
+
writeResources: VitalWriteResource[],
|
|
251
|
+
config: AskConfig | undefined = undefined,
|
|
250
252
|
): Promise<PermissionOutcome> {
|
|
251
|
-
|
|
253
|
+
if (config && Platform.OS !== config.type) {
|
|
254
|
+
throw new Error(`ask config is for ${config.type} but runtime is ${Platform.OS}.`);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
const result = await VitalHealthReactNative.ask(readResources, writeResources, config);
|
|
252
258
|
|
|
253
259
|
if (Platform.OS !== "android") {
|
|
254
260
|
return "success";
|
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency "VitalHealthKit", "~> 1.
|
|
20
|
+
s.dependency "VitalHealthKit", "~> 1.4.6"
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|