@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.
@@ -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
- let outcome = await VitalHealthKitClient.shared.ask(readPermissions: readPermissions, writePermissions: writePermissions)
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
- let value: Bool = VitalHealthKitClient.shared.hasAskedForPermission(resource: vitalResource)
176
- resolve(value)
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,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=ask_config.js.map
@@ -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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=healthkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["healthkit.ts"],"mappings":"","ignoreList":[]}
@@ -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
- const result = await VitalHealthReactNative.ask(readResources, writeResources);
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
- VitalResource["Electrocardiogram"] = "electrocardiogram";
289
+ // iOS only
290
+ VitalResource["Electrocardiogram"] = "electrocardiogram"; // iOS only
286
291
  return VitalResource;
287
- }({}); // iOS only
292
+ }({});
288
293
  let VitalWriteResource = exports.VitalWriteResource = /*#__PURE__*/function (VitalWriteResource) {
289
294
  VitalWriteResource["Water"] = "water";
290
295
  VitalWriteResource["Caffeine"] = "caffeine";
291
- VitalWriteResource["MindfulSession"] = "mindfulSession";
296
+ // iOS only
297
+ VitalWriteResource["MindfulSession"] = "mindfulSession"; // iOS only, value is ignored
292
298
  return VitalWriteResource;
293
- }({}); // iOS only, value is ignored
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":"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"}
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,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ask_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["ask_config.ts"],"mappings":"","ignoreList":[]}
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  export class HealthConfig {
2
4
  logsEnabled = true;
3
5
  numberOfDaysToBackFill = 30;
@@ -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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=healthkit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["healthkit.ts"],"mappings":"","ignoreList":[]}
@@ -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
- const result = await VitalHealthReactNative.ask(readResources, writeResources);
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
- VitalResource["Electrocardiogram"] = "electrocardiogram";
265
+ // iOS only
266
+ VitalResource["Electrocardiogram"] = "electrocardiogram"; // iOS only
260
267
  return VitalResource;
261
- }({}); // iOS only
268
+ }({});
262
269
  export let VitalWriteResource = /*#__PURE__*/function (VitalWriteResource) {
263
270
  VitalWriteResource["Water"] = "water";
264
271
  VitalWriteResource["Caffeine"] = "caffeine";
265
- VitalWriteResource["MindfulSession"] = "mindfulSession";
272
+ // iOS only
273
+ VitalWriteResource["MindfulSession"] = "mindfulSession"; // iOS only, value is ignored
266
274
  return VitalWriteResource;
267
- }({}); // iOS only, value is ignored
275
+ }({});
268
276
  //# sourceMappingURL=index.js.map
@@ -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":"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"}
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":"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"}
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.0",
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.0"
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;
@@ -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
- const result = await VitalHealthReactNative.ask(readResources, writeResources);
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.3.0"
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