@kingstinct/react-native-healthkit 4.4.0 → 4.4.1

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.
@@ -1,10 +1,102 @@
1
1
  import { NativeEventEmitter } from 'react-native';
2
2
  import type { EmitterSubscription } from 'react-native';
3
- export declare const HKWorkoutTypeIdentifier = "HKWorkoutTypeIdentifier";
4
- export declare const HKAudiogramTypeIdentifier = "HKAudiogramTypeIdentifier";
5
- export declare const HKWorkoutRouteTypeIdentifier = "HKWorkoutRouteTypeIdentifier";
6
- export declare const HKDataTypeIdentifierHeartbeatSeries = "HKDataTypeIdentifierHeartbeatSeries";
7
- export declare type HKSampleTypeIdentifier = HKCategoryTypeIdentifier | HKCorrelationTypeIdentifier | HKQuantityTypeIdentifier | typeof HKAudiogramTypeIdentifier | typeof HKDataTypeIdentifierHeartbeatSeries | typeof HKWorkoutRouteTypeIdentifier | typeof HKWorkoutTypeIdentifier;
3
+ import type { ValueOf } from 'type-fest';
4
+ export declare const HKWorkoutTypeIdentifier: "HKWorkoutTypeIdentifier";
5
+ export declare const HKAudiogramTypeIdentifier: "HKAudiogramTypeIdentifier";
6
+ export declare const HKWorkoutRouteTypeIdentifier: "HKWorkoutRouteTypeIdentifier";
7
+ export declare const HKDataTypeIdentifierHeartbeatSeries: "HKDataTypeIdentifierHeartbeatSeries";
8
+ export declare enum HKQuantityTypeIdentifier {
9
+ bodyMassIndex = "HKQuantityTypeIdentifierBodyMassIndex",
10
+ bodyFatPercentage = "HKQuantityTypeIdentifierBodyFatPercentage",
11
+ height = "HKQuantityTypeIdentifierHeight",
12
+ bodyMass = "HKQuantityTypeIdentifierBodyMass",
13
+ leanBodyMass = "HKQuantityTypeIdentifierLeanBodyMass",
14
+ waistCircumference = "HKQuantityTypeIdentifierWaistCircumference",
15
+ stepCount = "HKQuantityTypeIdentifierStepCount",
16
+ distanceWalkingRunning = "HKQuantityTypeIdentifierDistanceWalkingRunning",
17
+ distanceCycling = "HKQuantityTypeIdentifierDistanceCycling",
18
+ distanceWheelchair = "HKQuantityTypeIdentifierDistanceWheelchair",
19
+ basalEnergyBurned = "HKQuantityTypeIdentifierBasalEnergyBurned",
20
+ activeEnergyBurned = "HKQuantityTypeIdentifierActiveEnergyBurned",
21
+ flightsClimbed = "HKQuantityTypeIdentifierFlightsClimbed",
22
+ nikeFuel = "HKQuantityTypeIdentifierNikeFuel",
23
+ appleExerciseTime = "HKQuantityTypeIdentifierAppleExerciseTime",
24
+ pushCount = "HKQuantityTypeIdentifierPushCount",
25
+ distanceSwimming = "HKQuantityTypeIdentifierDistanceSwimming",
26
+ swimmingStrokeCount = "HKQuantityTypeIdentifierSwimmingStrokeCount",
27
+ vo2Max = "HKQuantityTypeIdentifierVo2Max",
28
+ distanceDownhillSnowSports = "HKQuantityTypeIdentifierDistanceDownhillSnowSports",
29
+ appleStandTime = "HKQuantityTypeIdentifierAppleStandTime",
30
+ heartRate = "HKQuantityTypeIdentifierHeartRate",
31
+ bodyTemperature = "HKQuantityTypeIdentifierBodyTemperature",
32
+ basalBodyTemperature = "HKQuantityTypeIdentifierBasalBodyTemperature",
33
+ bloodPressureSystolic = "HKQuantityTypeIdentifierBloodPressureSystolic",
34
+ bloodPressureDiastolic = "HKQuantityTypeIdentifierBloodPressureDiastolic",
35
+ respiratoryRate = "HKQuantityTypeIdentifierRespiratoryRate",
36
+ restingHeartRate = "HKQuantityTypeIdentifierRestingHeartRate",
37
+ walkingHeartRateAverage = "HKQuantityTypeIdentifierWalkingHeartRateAverage",
38
+ heartRateVariabilitySDNN = "HKQuantityTypeIdentifierHeartRateVariabilitySDNN",
39
+ oxygenSaturation = "HKQuantityTypeIdentifierOxygenSaturation",
40
+ peripheralPerfusionIndex = "HKQuantityTypeIdentifierPeripheralPerfusionIndex",
41
+ bloodGlucose = "HKQuantityTypeIdentifierBloodGlucose",
42
+ numberOfTimesFallen = "HKQuantityTypeIdentifierNumberOfTimesFallen",
43
+ electrodermalActivity = "HKQuantityTypeIdentifierElectrodermalActivity",
44
+ inhalerUsage = "HKQuantityTypeIdentifierInhalerUsage",
45
+ insulinDelivery = "HKQuantityTypeIdentifierInsulinDelivery",
46
+ bloodAlcoholContent = "HKQuantityTypeIdentifierBloodAlcoholContent",
47
+ forcedVitalCapacity = "HKQuantityTypeIdentifierForcedVitalCapacity",
48
+ forcedExpiratoryVolume1 = "HKQuantityTypeIdentifierForcedExpiratoryVolume1",
49
+ peakExpiratoryFlowRate = "HKQuantityTypeIdentifierPeakExpiratoryFlowRate",
50
+ environmentalAudioExposure = "HKQuantityTypeIdentifierEnvironmentalAudioExposure",
51
+ headphoneAudioExposure = "HKQuantityTypeIdentifierHeadphoneAudioExposure",
52
+ dietaryFatTotal = "HKQuantityTypeIdentifierDietaryFatTotal",
53
+ dietaryFatPolyunsaturated = "HKQuantityTypeIdentifierDietaryFatPolyunsaturated",
54
+ dietaryFatMonounsaturated = "HKQuantityTypeIdentifierDietaryFatMonounsaturated",
55
+ dietaryFatSaturated = "HKQuantityTypeIdentifierDietaryFatSaturated",
56
+ dietaryCholesterol = "HKQuantityTypeIdentifierDietaryCholesterol",
57
+ dietarySodium = "HKQuantityTypeIdentifierDietarySodium",
58
+ dietaryCarbohydrates = "HKQuantityTypeIdentifierDietaryCarbohydrates",
59
+ dietaryFiber = "HKQuantityTypeIdentifierDietaryFiber",
60
+ dietarySugar = "HKQuantityTypeIdentifierDietarySugar",
61
+ dietaryEnergyConsumed = "HKQuantityTypeIdentifierDietaryEnergyConsumed",
62
+ dietaryProtein = "HKQuantityTypeIdentifierDietaryProtein",
63
+ dietaryVitaminA = "HKQuantityTypeIdentifierDietaryVitaminA",
64
+ dietaryVitaminB6 = "HKQuantityTypeIdentifierDietaryVitaminB6",
65
+ dietaryVitaminB12 = "HKQuantityTypeIdentifierDietaryVitaminB12",
66
+ dietaryVitaminC = "HKQuantityTypeIdentifierDietaryVitaminC",
67
+ dietaryVitaminD = "HKQuantityTypeIdentifierDietaryVitaminD",
68
+ dietaryVitaminE = "HKQuantityTypeIdentifierDietaryVitaminE",
69
+ dietaryVitaminK = "HKQuantityTypeIdentifierDietaryVitaminK",
70
+ dietaryCalcium = "HKQuantityTypeIdentifierDietaryCalcium",
71
+ dietaryIron = "HKQuantityTypeIdentifierDietaryIron",
72
+ dietaryThiamin = "HKQuantityTypeIdentifierDietaryThiamin",
73
+ dietaryRiboflavin = "HKQuantityTypeIdentifierDietaryRiboflavin",
74
+ dietaryNiacin = "HKQuantityTypeIdentifierDietaryNiacin",
75
+ dietaryFolate = "HKQuantityTypeIdentifierDietaryFolate",
76
+ dietaryBiotin = "HKQuantityTypeIdentifierDietaryBiotin",
77
+ dietaryPantothenicAcid = "HKQuantityTypeIdentifierDietaryPantothenicAcid",
78
+ dietaryPhosphorus = "HKQuantityTypeIdentifierDietaryPhosphorus",
79
+ dietaryIodine = "HKQuantityTypeIdentifierDietaryIodine",
80
+ dietaryMagnesium = "HKQuantityTypeIdentifierDietaryMagnesium",
81
+ dietaryZinc = "HKQuantityTypeIdentifierDietaryZinc",
82
+ dietarySelenium = "HKQuantityTypeIdentifierDietarySelenium",
83
+ dietaryCopper = "HKQuantityTypeIdentifierDietaryCopper",
84
+ dietaryManganese = "HKQuantityTypeIdentifierDietaryManganese",
85
+ dietaryChromium = "HKQuantityTypeIdentifierDietaryChromium",
86
+ dietaryMolybdenum = "HKQuantityTypeIdentifierDietaryMolybdenum",
87
+ dietaryChloride = "HKQuantityTypeIdentifierDietaryChloride",
88
+ dietaryPotassium = "HKQuantityTypeIdentifierDietaryPotassium",
89
+ dietaryCaffeine = "HKQuantityTypeIdentifierDietaryCaffeine",
90
+ dietaryWater = "HKQuantityTypeIdentifierDietaryWater",
91
+ sixMinuteWalkTestDistance = "HKQuantityTypeIdentifierSixMinuteWalkTestDistance",
92
+ walkingSpeed = "HKQuantityTypeIdentifierWalkingSpeed",
93
+ walkingStepLength = "HKQuantityTypeIdentifierWalkingStepLength",
94
+ walkingAsymmetryPercentage = "HKQuantityTypeIdentifierWalkingAsymmetryPercentage",
95
+ walkingDoubleSupportPercentage = "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage",
96
+ stairAscentSpeed = "HKQuantityTypeIdentifierStairAscentSpeed",
97
+ stairDescentSpeed = "HKQuantityTypeIdentifierStairDescentSpeed",
98
+ uvExposure = "HKQuantityTypeIdentifierUvExposure"
99
+ }
8
100
  export declare type TypeToUnitMapping = {
9
101
  readonly [key in HKQuantityTypeIdentifier]: HKUnit;
10
102
  };
@@ -13,6 +105,10 @@ export declare enum HKHeartRateMotionContext {
13
105
  notSet = 0,
14
106
  sedentary = 1
15
107
  }
108
+ export declare enum HKCorrelationTypeIdentifier {
109
+ bloodPressure = "HKCorrelationTypeIdentifierBloodPressure",
110
+ food = "HKCorrelationTypeIdentifierFood"
111
+ }
16
112
  export declare enum HKCategoryTypeIdentifier {
17
113
  sleepAnalysis = "HKCategoryTypeIdentifierSleepAnalysis",
18
114
  appleStandHour = "HKCategoryTypeIdentifierAppleStandHour",
@@ -28,6 +124,117 @@ export declare enum HKCategoryTypeIdentifier {
28
124
  audioExposureEvent = "HKCategoryTypeIdentifierAudioExposureEvent",
29
125
  toothbrushingEvent = "HKCategoryTypeIdentifierToothbrushingEvent"
30
126
  }
127
+ export declare const HKSampleTypeIdentifier: {
128
+ audiogram: "HKAudiogramTypeIdentifier";
129
+ heartbeatSeries: "HKDataTypeIdentifierHeartbeatSeries";
130
+ workoutRoute: "HKWorkoutRouteTypeIdentifier";
131
+ workoute: "HKWorkoutTypeIdentifier";
132
+ bodyMassIndex: HKQuantityTypeIdentifier.bodyMassIndex;
133
+ bodyFatPercentage: HKQuantityTypeIdentifier.bodyFatPercentage;
134
+ height: HKQuantityTypeIdentifier.height;
135
+ bodyMass: HKQuantityTypeIdentifier.bodyMass;
136
+ leanBodyMass: HKQuantityTypeIdentifier.leanBodyMass;
137
+ waistCircumference: HKQuantityTypeIdentifier.waistCircumference;
138
+ stepCount: HKQuantityTypeIdentifier.stepCount;
139
+ distanceWalkingRunning: HKQuantityTypeIdentifier.distanceWalkingRunning;
140
+ distanceCycling: HKQuantityTypeIdentifier.distanceCycling;
141
+ distanceWheelchair: HKQuantityTypeIdentifier.distanceWheelchair;
142
+ basalEnergyBurned: HKQuantityTypeIdentifier.basalEnergyBurned;
143
+ activeEnergyBurned: HKQuantityTypeIdentifier.activeEnergyBurned;
144
+ flightsClimbed: HKQuantityTypeIdentifier.flightsClimbed;
145
+ nikeFuel: HKQuantityTypeIdentifier.nikeFuel;
146
+ appleExerciseTime: HKQuantityTypeIdentifier.appleExerciseTime;
147
+ pushCount: HKQuantityTypeIdentifier.pushCount;
148
+ distanceSwimming: HKQuantityTypeIdentifier.distanceSwimming;
149
+ swimmingStrokeCount: HKQuantityTypeIdentifier.swimmingStrokeCount;
150
+ vo2Max: HKQuantityTypeIdentifier.vo2Max;
151
+ distanceDownhillSnowSports: HKQuantityTypeIdentifier.distanceDownhillSnowSports;
152
+ appleStandTime: HKQuantityTypeIdentifier.appleStandTime;
153
+ heartRate: HKQuantityTypeIdentifier.heartRate;
154
+ bodyTemperature: HKQuantityTypeIdentifier.bodyTemperature;
155
+ basalBodyTemperature: HKQuantityTypeIdentifier.basalBodyTemperature;
156
+ bloodPressureSystolic: HKQuantityTypeIdentifier.bloodPressureSystolic;
157
+ bloodPressureDiastolic: HKQuantityTypeIdentifier.bloodPressureDiastolic;
158
+ respiratoryRate: HKQuantityTypeIdentifier.respiratoryRate;
159
+ restingHeartRate: HKQuantityTypeIdentifier.restingHeartRate;
160
+ walkingHeartRateAverage: HKQuantityTypeIdentifier.walkingHeartRateAverage;
161
+ heartRateVariabilitySDNN: HKQuantityTypeIdentifier.heartRateVariabilitySDNN;
162
+ oxygenSaturation: HKQuantityTypeIdentifier.oxygenSaturation;
163
+ peripheralPerfusionIndex: HKQuantityTypeIdentifier.peripheralPerfusionIndex;
164
+ bloodGlucose: HKQuantityTypeIdentifier.bloodGlucose;
165
+ numberOfTimesFallen: HKQuantityTypeIdentifier.numberOfTimesFallen;
166
+ electrodermalActivity: HKQuantityTypeIdentifier.electrodermalActivity;
167
+ inhalerUsage: HKQuantityTypeIdentifier.inhalerUsage;
168
+ insulinDelivery: HKQuantityTypeIdentifier.insulinDelivery;
169
+ bloodAlcoholContent: HKQuantityTypeIdentifier.bloodAlcoholContent;
170
+ forcedVitalCapacity: HKQuantityTypeIdentifier.forcedVitalCapacity;
171
+ forcedExpiratoryVolume1: HKQuantityTypeIdentifier.forcedExpiratoryVolume1;
172
+ peakExpiratoryFlowRate: HKQuantityTypeIdentifier.peakExpiratoryFlowRate;
173
+ environmentalAudioExposure: HKQuantityTypeIdentifier.environmentalAudioExposure;
174
+ headphoneAudioExposure: HKQuantityTypeIdentifier.headphoneAudioExposure;
175
+ dietaryFatTotal: HKQuantityTypeIdentifier.dietaryFatTotal;
176
+ dietaryFatPolyunsaturated: HKQuantityTypeIdentifier.dietaryFatPolyunsaturated;
177
+ dietaryFatMonounsaturated: HKQuantityTypeIdentifier.dietaryFatMonounsaturated;
178
+ dietaryFatSaturated: HKQuantityTypeIdentifier.dietaryFatSaturated;
179
+ dietaryCholesterol: HKQuantityTypeIdentifier.dietaryCholesterol;
180
+ dietarySodium: HKQuantityTypeIdentifier.dietarySodium;
181
+ dietaryCarbohydrates: HKQuantityTypeIdentifier.dietaryCarbohydrates;
182
+ dietaryFiber: HKQuantityTypeIdentifier.dietaryFiber;
183
+ dietarySugar: HKQuantityTypeIdentifier.dietarySugar;
184
+ dietaryEnergyConsumed: HKQuantityTypeIdentifier.dietaryEnergyConsumed;
185
+ dietaryProtein: HKQuantityTypeIdentifier.dietaryProtein;
186
+ dietaryVitaminA: HKQuantityTypeIdentifier.dietaryVitaminA;
187
+ dietaryVitaminB6: HKQuantityTypeIdentifier.dietaryVitaminB6;
188
+ dietaryVitaminB12: HKQuantityTypeIdentifier.dietaryVitaminB12;
189
+ dietaryVitaminC: HKQuantityTypeIdentifier.dietaryVitaminC;
190
+ dietaryVitaminD: HKQuantityTypeIdentifier.dietaryVitaminD;
191
+ dietaryVitaminE: HKQuantityTypeIdentifier.dietaryVitaminE;
192
+ dietaryVitaminK: HKQuantityTypeIdentifier.dietaryVitaminK;
193
+ dietaryCalcium: HKQuantityTypeIdentifier.dietaryCalcium;
194
+ dietaryIron: HKQuantityTypeIdentifier.dietaryIron;
195
+ dietaryThiamin: HKQuantityTypeIdentifier.dietaryThiamin;
196
+ dietaryRiboflavin: HKQuantityTypeIdentifier.dietaryRiboflavin;
197
+ dietaryNiacin: HKQuantityTypeIdentifier.dietaryNiacin;
198
+ dietaryFolate: HKQuantityTypeIdentifier.dietaryFolate;
199
+ dietaryBiotin: HKQuantityTypeIdentifier.dietaryBiotin;
200
+ dietaryPantothenicAcid: HKQuantityTypeIdentifier.dietaryPantothenicAcid;
201
+ dietaryPhosphorus: HKQuantityTypeIdentifier.dietaryPhosphorus;
202
+ dietaryIodine: HKQuantityTypeIdentifier.dietaryIodine;
203
+ dietaryMagnesium: HKQuantityTypeIdentifier.dietaryMagnesium;
204
+ dietaryZinc: HKQuantityTypeIdentifier.dietaryZinc;
205
+ dietarySelenium: HKQuantityTypeIdentifier.dietarySelenium;
206
+ dietaryCopper: HKQuantityTypeIdentifier.dietaryCopper;
207
+ dietaryManganese: HKQuantityTypeIdentifier.dietaryManganese;
208
+ dietaryChromium: HKQuantityTypeIdentifier.dietaryChromium;
209
+ dietaryMolybdenum: HKQuantityTypeIdentifier.dietaryMolybdenum;
210
+ dietaryChloride: HKQuantityTypeIdentifier.dietaryChloride;
211
+ dietaryPotassium: HKQuantityTypeIdentifier.dietaryPotassium;
212
+ dietaryCaffeine: HKQuantityTypeIdentifier.dietaryCaffeine;
213
+ dietaryWater: HKQuantityTypeIdentifier.dietaryWater;
214
+ sixMinuteWalkTestDistance: HKQuantityTypeIdentifier.sixMinuteWalkTestDistance;
215
+ walkingSpeed: HKQuantityTypeIdentifier.walkingSpeed;
216
+ walkingStepLength: HKQuantityTypeIdentifier.walkingStepLength;
217
+ walkingAsymmetryPercentage: HKQuantityTypeIdentifier.walkingAsymmetryPercentage;
218
+ walkingDoubleSupportPercentage: HKQuantityTypeIdentifier.walkingDoubleSupportPercentage;
219
+ stairAscentSpeed: HKQuantityTypeIdentifier.stairAscentSpeed;
220
+ stairDescentSpeed: HKQuantityTypeIdentifier.stairDescentSpeed;
221
+ uvExposure: HKQuantityTypeIdentifier.uvExposure;
222
+ bloodPressure: HKCorrelationTypeIdentifier.bloodPressure;
223
+ food: HKCorrelationTypeIdentifier.food;
224
+ sleepAnalysis: HKCategoryTypeIdentifier.sleepAnalysis;
225
+ appleStandHour: HKCategoryTypeIdentifier.appleStandHour;
226
+ cervicalMucusQuality: HKCategoryTypeIdentifier.cervicalMucusQuality;
227
+ ovulationTestResult: HKCategoryTypeIdentifier.ovulationTestResult;
228
+ menstrualFlow: HKCategoryTypeIdentifier.menstrualFlow;
229
+ intermenstrualBleeding: HKCategoryTypeIdentifier.intermenstrualBleeding;
230
+ sexualActivity: HKCategoryTypeIdentifier.sexualActivity;
231
+ mindfulSession: HKCategoryTypeIdentifier.mindfulSession;
232
+ highHeartRateEvent: HKCategoryTypeIdentifier.highHeartRateEvent;
233
+ lowHeartRateEvent: HKCategoryTypeIdentifier.lowHeartRateEvent;
234
+ irregularHeartRhythmEvent: HKCategoryTypeIdentifier.irregularHeartRhythmEvent;
235
+ audioExposureEvent: HKCategoryTypeIdentifier.audioExposureEvent;
236
+ toothbrushingEvent: HKCategoryTypeIdentifier.toothbrushingEvent;
237
+ };
31
238
  export declare enum HKCategoryValueAppleStandHour {
32
239
  stood = 0,
33
240
  idle = 1
@@ -162,98 +369,6 @@ export interface HKWorkoutMetadata extends HKGenericMetadata {
162
369
  readonly HKWeatherCondition?: HKWeatherCondition;
163
370
  readonly HKWeatherHumidity?: HKQuantity<HKUnit.Percent>;
164
371
  }
165
- export declare enum HKQuantityTypeIdentifier {
166
- bodyMassIndex = "HKQuantityTypeIdentifierBodyMassIndex",
167
- bodyFatPercentage = "HKQuantityTypeIdentifierBodyFatPercentage",
168
- height = "HKQuantityTypeIdentifierHeight",
169
- bodyMass = "HKQuantityTypeIdentifierBodyMass",
170
- leanBodyMass = "HKQuantityTypeIdentifierLeanBodyMass",
171
- waistCircumference = "HKQuantityTypeIdentifierWaistCircumference",
172
- stepCount = "HKQuantityTypeIdentifierStepCount",
173
- distanceWalkingRunning = "HKQuantityTypeIdentifierDistanceWalkingRunning",
174
- distanceCycling = "HKQuantityTypeIdentifierDistanceCycling",
175
- distanceWheelchair = "HKQuantityTypeIdentifierDistanceWheelchair",
176
- basalEnergyBurned = "HKQuantityTypeIdentifierBasalEnergyBurned",
177
- activeEnergyBurned = "HKQuantityTypeIdentifierActiveEnergyBurned",
178
- flightsClimbed = "HKQuantityTypeIdentifierFlightsClimbed",
179
- nikeFuel = "HKQuantityTypeIdentifierNikeFuel",
180
- appleExerciseTime = "HKQuantityTypeIdentifierAppleExerciseTime",
181
- pushCount = "HKQuantityTypeIdentifierPushCount",
182
- distanceSwimming = "HKQuantityTypeIdentifierDistanceSwimming",
183
- swimmingStrokeCount = "HKQuantityTypeIdentifierSwimmingStrokeCount",
184
- vo2Max = "HKQuantityTypeIdentifierVo2Max",
185
- distanceDownhillSnowSports = "HKQuantityTypeIdentifierDistanceDownhillSnowSports",
186
- appleStandTime = "HKQuantityTypeIdentifierAppleStandTime",
187
- heartRate = "HKQuantityTypeIdentifierHeartRate",
188
- bodyTemperature = "HKQuantityTypeIdentifierBodyTemperature",
189
- basalBodyTemperature = "HKQuantityTypeIdentifierBasalBodyTemperature",
190
- bloodPressureSystolic = "HKQuantityTypeIdentifierBloodPressureSystolic",
191
- bloodPressureDiastolic = "HKQuantityTypeIdentifierBloodPressureDiastolic",
192
- respiratoryRate = "HKQuantityTypeIdentifierRespiratoryRate",
193
- restingHeartRate = "HKQuantityTypeIdentifierRestingHeartRate",
194
- walkingHeartRateAverage = "HKQuantityTypeIdentifierWalkingHeartRateAverage",
195
- heartRateVariabilitySDNN = "HKQuantityTypeIdentifierHeartRateVariabilitySDNN",
196
- oxygenSaturation = "HKQuantityTypeIdentifierOxygenSaturation",
197
- peripheralPerfusionIndex = "HKQuantityTypeIdentifierPeripheralPerfusionIndex",
198
- bloodGlucose = "HKQuantityTypeIdentifierBloodGlucose",
199
- numberOfTimesFallen = "HKQuantityTypeIdentifierNumberOfTimesFallen",
200
- electrodermalActivity = "HKQuantityTypeIdentifierElectrodermalActivity",
201
- inhalerUsage = "HKQuantityTypeIdentifierInhalerUsage",
202
- insulinDelivery = "HKQuantityTypeIdentifierInsulinDelivery",
203
- bloodAlcoholContent = "HKQuantityTypeIdentifierBloodAlcoholContent",
204
- forcedVitalCapacity = "HKQuantityTypeIdentifierForcedVitalCapacity",
205
- forcedExpiratoryVolume1 = "HKQuantityTypeIdentifierForcedExpiratoryVolume1",
206
- peakExpiratoryFlowRate = "HKQuantityTypeIdentifierPeakExpiratoryFlowRate",
207
- environmentalAudioExposure = "HKQuantityTypeIdentifierEnvironmentalAudioExposure",
208
- headphoneAudioExposure = "HKQuantityTypeIdentifierHeadphoneAudioExposure",
209
- dietaryFatTotal = "HKQuantityTypeIdentifierDietaryFatTotal",
210
- dietaryFatPolyunsaturated = "HKQuantityTypeIdentifierDietaryFatPolyunsaturated",
211
- dietaryFatMonounsaturated = "HKQuantityTypeIdentifierDietaryFatMonounsaturated",
212
- dietaryFatSaturated = "HKQuantityTypeIdentifierDietaryFatSaturated",
213
- dietaryCholesterol = "HKQuantityTypeIdentifierDietaryCholesterol",
214
- dietarySodium = "HKQuantityTypeIdentifierDietarySodium",
215
- dietaryCarbohydrates = "HKQuantityTypeIdentifierDietaryCarbohydrates",
216
- dietaryFiber = "HKQuantityTypeIdentifierDietaryFiber",
217
- dietarySugar = "HKQuantityTypeIdentifierDietarySugar",
218
- dietaryEnergyConsumed = "HKQuantityTypeIdentifierDietaryEnergyConsumed",
219
- dietaryProtein = "HKQuantityTypeIdentifierDietaryProtein",
220
- dietaryVitaminA = "HKQuantityTypeIdentifierDietaryVitaminA",
221
- dietaryVitaminB6 = "HKQuantityTypeIdentifierDietaryVitaminB6",
222
- dietaryVitaminB12 = "HKQuantityTypeIdentifierDietaryVitaminB12",
223
- dietaryVitaminC = "HKQuantityTypeIdentifierDietaryVitaminC",
224
- dietaryVitaminD = "HKQuantityTypeIdentifierDietaryVitaminD",
225
- dietaryVitaminE = "HKQuantityTypeIdentifierDietaryVitaminE",
226
- dietaryVitaminK = "HKQuantityTypeIdentifierDietaryVitaminK",
227
- dietaryCalcium = "HKQuantityTypeIdentifierDietaryCalcium",
228
- dietaryIron = "HKQuantityTypeIdentifierDietaryIron",
229
- dietaryThiamin = "HKQuantityTypeIdentifierDietaryThiamin",
230
- dietaryRiboflavin = "HKQuantityTypeIdentifierDietaryRiboflavin",
231
- dietaryNiacin = "HKQuantityTypeIdentifierDietaryNiacin",
232
- dietaryFolate = "HKQuantityTypeIdentifierDietaryFolate",
233
- dietaryBiotin = "HKQuantityTypeIdentifierDietaryBiotin",
234
- dietaryPantothenicAcid = "HKQuantityTypeIdentifierDietaryPantothenicAcid",
235
- dietaryPhosphorus = "HKQuantityTypeIdentifierDietaryPhosphorus",
236
- dietaryIodine = "HKQuantityTypeIdentifierDietaryIodine",
237
- dietaryMagnesium = "HKQuantityTypeIdentifierDietaryMagnesium",
238
- dietaryZinc = "HKQuantityTypeIdentifierDietaryZinc",
239
- dietarySelenium = "HKQuantityTypeIdentifierDietarySelenium",
240
- dietaryCopper = "HKQuantityTypeIdentifierDietaryCopper",
241
- dietaryManganese = "HKQuantityTypeIdentifierDietaryManganese",
242
- dietaryChromium = "HKQuantityTypeIdentifierDietaryChromium",
243
- dietaryMolybdenum = "HKQuantityTypeIdentifierDietaryMolybdenum",
244
- dietaryChloride = "HKQuantityTypeIdentifierDietaryChloride",
245
- dietaryPotassium = "HKQuantityTypeIdentifierDietaryPotassium",
246
- dietaryCaffeine = "HKQuantityTypeIdentifierDietaryCaffeine",
247
- dietaryWater = "HKQuantityTypeIdentifierDietaryWater",
248
- sixMinuteWalkTestDistance = "HKQuantityTypeIdentifierSixMinuteWalkTestDistance",
249
- walkingSpeed = "HKQuantityTypeIdentifierWalkingSpeed",
250
- walkingStepLength = "HKQuantityTypeIdentifierWalkingStepLength",
251
- walkingAsymmetryPercentage = "HKQuantityTypeIdentifierWalkingAsymmetryPercentage",
252
- walkingDoubleSupportPercentage = "HKQuantityTypeIdentifierWalkingDoubleSupportPercentage",
253
- stairAscentSpeed = "HKQuantityTypeIdentifierStairAscentSpeed",
254
- stairDescentSpeed = "HKQuantityTypeIdentifierStairDescentSpeed",
255
- uvExposure = "HKQuantityTypeIdentifierUvExposure"
256
- }
257
372
  export declare enum HKAuthorizationRequestStatus {
258
373
  unknown = 0,
259
374
  shouldRequest = 1,
@@ -528,10 +643,6 @@ export declare type HKCorrelationRaw<TIdentifier extends HKCorrelationTypeIdenti
528
643
  readonly endDate: string;
529
644
  };
530
645
  declare type QueryId = string;
531
- export declare enum HKCorrelationTypeIdentifier {
532
- bloodPressure = "HKCorrelationTypeIdentifierBloodPressure",
533
- food = "HKCorrelationTypeIdentifierFood"
534
- }
535
646
  export declare enum HKUpdateFrequency {
536
647
  immediate = 1,
537
648
  hourly = 2,
@@ -553,7 +664,122 @@ export declare type WorkoutRoute = {
553
664
  readonly HKMetadataKeySyncIdentifier?: string;
554
665
  readonly HKMetadataKeySyncVersion?: number;
555
666
  };
556
- declare type AuthorizationStatusFor = HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier;
667
+ export declare const HealthkitAuthorization: {
668
+ audiogram: "HKAudiogramTypeIdentifier";
669
+ heartbeatSeries: "HKDataTypeIdentifierHeartbeatSeries";
670
+ workoutRoute: "HKWorkoutRouteTypeIdentifier";
671
+ workoute: "HKWorkoutTypeIdentifier";
672
+ bodyMassIndex: HKQuantityTypeIdentifier.bodyMassIndex;
673
+ bodyFatPercentage: HKQuantityTypeIdentifier.bodyFatPercentage;
674
+ height: HKQuantityTypeIdentifier.height;
675
+ bodyMass: HKQuantityTypeIdentifier.bodyMass;
676
+ leanBodyMass: HKQuantityTypeIdentifier.leanBodyMass;
677
+ waistCircumference: HKQuantityTypeIdentifier.waistCircumference;
678
+ stepCount: HKQuantityTypeIdentifier.stepCount;
679
+ distanceWalkingRunning: HKQuantityTypeIdentifier.distanceWalkingRunning;
680
+ distanceCycling: HKQuantityTypeIdentifier.distanceCycling;
681
+ distanceWheelchair: HKQuantityTypeIdentifier.distanceWheelchair;
682
+ basalEnergyBurned: HKQuantityTypeIdentifier.basalEnergyBurned;
683
+ activeEnergyBurned: HKQuantityTypeIdentifier.activeEnergyBurned;
684
+ flightsClimbed: HKQuantityTypeIdentifier.flightsClimbed;
685
+ nikeFuel: HKQuantityTypeIdentifier.nikeFuel;
686
+ appleExerciseTime: HKQuantityTypeIdentifier.appleExerciseTime;
687
+ pushCount: HKQuantityTypeIdentifier.pushCount;
688
+ distanceSwimming: HKQuantityTypeIdentifier.distanceSwimming;
689
+ swimmingStrokeCount: HKQuantityTypeIdentifier.swimmingStrokeCount;
690
+ vo2Max: HKQuantityTypeIdentifier.vo2Max;
691
+ distanceDownhillSnowSports: HKQuantityTypeIdentifier.distanceDownhillSnowSports;
692
+ appleStandTime: HKQuantityTypeIdentifier.appleStandTime;
693
+ heartRate: HKQuantityTypeIdentifier.heartRate;
694
+ bodyTemperature: HKQuantityTypeIdentifier.bodyTemperature;
695
+ basalBodyTemperature: HKQuantityTypeIdentifier.basalBodyTemperature;
696
+ bloodPressureSystolic: HKQuantityTypeIdentifier.bloodPressureSystolic;
697
+ bloodPressureDiastolic: HKQuantityTypeIdentifier.bloodPressureDiastolic;
698
+ respiratoryRate: HKQuantityTypeIdentifier.respiratoryRate;
699
+ restingHeartRate: HKQuantityTypeIdentifier.restingHeartRate;
700
+ walkingHeartRateAverage: HKQuantityTypeIdentifier.walkingHeartRateAverage;
701
+ heartRateVariabilitySDNN: HKQuantityTypeIdentifier.heartRateVariabilitySDNN;
702
+ oxygenSaturation: HKQuantityTypeIdentifier.oxygenSaturation;
703
+ peripheralPerfusionIndex: HKQuantityTypeIdentifier.peripheralPerfusionIndex;
704
+ bloodGlucose: HKQuantityTypeIdentifier.bloodGlucose;
705
+ numberOfTimesFallen: HKQuantityTypeIdentifier.numberOfTimesFallen;
706
+ electrodermalActivity: HKQuantityTypeIdentifier.electrodermalActivity;
707
+ inhalerUsage: HKQuantityTypeIdentifier.inhalerUsage;
708
+ insulinDelivery: HKQuantityTypeIdentifier.insulinDelivery;
709
+ bloodAlcoholContent: HKQuantityTypeIdentifier.bloodAlcoholContent;
710
+ forcedVitalCapacity: HKQuantityTypeIdentifier.forcedVitalCapacity;
711
+ forcedExpiratoryVolume1: HKQuantityTypeIdentifier.forcedExpiratoryVolume1;
712
+ peakExpiratoryFlowRate: HKQuantityTypeIdentifier.peakExpiratoryFlowRate;
713
+ environmentalAudioExposure: HKQuantityTypeIdentifier.environmentalAudioExposure;
714
+ headphoneAudioExposure: HKQuantityTypeIdentifier.headphoneAudioExposure;
715
+ dietaryFatTotal: HKQuantityTypeIdentifier.dietaryFatTotal;
716
+ dietaryFatPolyunsaturated: HKQuantityTypeIdentifier.dietaryFatPolyunsaturated;
717
+ dietaryFatMonounsaturated: HKQuantityTypeIdentifier.dietaryFatMonounsaturated;
718
+ dietaryFatSaturated: HKQuantityTypeIdentifier.dietaryFatSaturated;
719
+ dietaryCholesterol: HKQuantityTypeIdentifier.dietaryCholesterol;
720
+ dietarySodium: HKQuantityTypeIdentifier.dietarySodium;
721
+ dietaryCarbohydrates: HKQuantityTypeIdentifier.dietaryCarbohydrates;
722
+ dietaryFiber: HKQuantityTypeIdentifier.dietaryFiber;
723
+ dietarySugar: HKQuantityTypeIdentifier.dietarySugar;
724
+ dietaryEnergyConsumed: HKQuantityTypeIdentifier.dietaryEnergyConsumed;
725
+ dietaryProtein: HKQuantityTypeIdentifier.dietaryProtein;
726
+ dietaryVitaminA: HKQuantityTypeIdentifier.dietaryVitaminA;
727
+ dietaryVitaminB6: HKQuantityTypeIdentifier.dietaryVitaminB6;
728
+ dietaryVitaminB12: HKQuantityTypeIdentifier.dietaryVitaminB12;
729
+ dietaryVitaminC: HKQuantityTypeIdentifier.dietaryVitaminC;
730
+ dietaryVitaminD: HKQuantityTypeIdentifier.dietaryVitaminD;
731
+ dietaryVitaminE: HKQuantityTypeIdentifier.dietaryVitaminE;
732
+ dietaryVitaminK: HKQuantityTypeIdentifier.dietaryVitaminK;
733
+ dietaryCalcium: HKQuantityTypeIdentifier.dietaryCalcium;
734
+ dietaryIron: HKQuantityTypeIdentifier.dietaryIron;
735
+ dietaryThiamin: HKQuantityTypeIdentifier.dietaryThiamin;
736
+ dietaryRiboflavin: HKQuantityTypeIdentifier.dietaryRiboflavin;
737
+ dietaryNiacin: HKQuantityTypeIdentifier.dietaryNiacin;
738
+ dietaryFolate: HKQuantityTypeIdentifier.dietaryFolate;
739
+ dietaryBiotin: HKQuantityTypeIdentifier.dietaryBiotin;
740
+ dietaryPantothenicAcid: HKQuantityTypeIdentifier.dietaryPantothenicAcid;
741
+ dietaryPhosphorus: HKQuantityTypeIdentifier.dietaryPhosphorus;
742
+ dietaryIodine: HKQuantityTypeIdentifier.dietaryIodine;
743
+ dietaryMagnesium: HKQuantityTypeIdentifier.dietaryMagnesium;
744
+ dietaryZinc: HKQuantityTypeIdentifier.dietaryZinc;
745
+ dietarySelenium: HKQuantityTypeIdentifier.dietarySelenium;
746
+ dietaryCopper: HKQuantityTypeIdentifier.dietaryCopper;
747
+ dietaryManganese: HKQuantityTypeIdentifier.dietaryManganese;
748
+ dietaryChromium: HKQuantityTypeIdentifier.dietaryChromium;
749
+ dietaryMolybdenum: HKQuantityTypeIdentifier.dietaryMolybdenum;
750
+ dietaryChloride: HKQuantityTypeIdentifier.dietaryChloride;
751
+ dietaryPotassium: HKQuantityTypeIdentifier.dietaryPotassium;
752
+ dietaryCaffeine: HKQuantityTypeIdentifier.dietaryCaffeine;
753
+ dietaryWater: HKQuantityTypeIdentifier.dietaryWater;
754
+ sixMinuteWalkTestDistance: HKQuantityTypeIdentifier.sixMinuteWalkTestDistance;
755
+ walkingSpeed: HKQuantityTypeIdentifier.walkingSpeed;
756
+ walkingStepLength: HKQuantityTypeIdentifier.walkingStepLength;
757
+ walkingAsymmetryPercentage: HKQuantityTypeIdentifier.walkingAsymmetryPercentage;
758
+ walkingDoubleSupportPercentage: HKQuantityTypeIdentifier.walkingDoubleSupportPercentage;
759
+ stairAscentSpeed: HKQuantityTypeIdentifier.stairAscentSpeed;
760
+ stairDescentSpeed: HKQuantityTypeIdentifier.stairDescentSpeed;
761
+ uvExposure: HKQuantityTypeIdentifier.uvExposure;
762
+ bloodPressure: HKCorrelationTypeIdentifier.bloodPressure;
763
+ food: HKCorrelationTypeIdentifier.food;
764
+ sleepAnalysis: HKCategoryTypeIdentifier.sleepAnalysis;
765
+ appleStandHour: HKCategoryTypeIdentifier.appleStandHour;
766
+ cervicalMucusQuality: HKCategoryTypeIdentifier.cervicalMucusQuality;
767
+ ovulationTestResult: HKCategoryTypeIdentifier.ovulationTestResult;
768
+ menstrualFlow: HKCategoryTypeIdentifier.menstrualFlow;
769
+ intermenstrualBleeding: HKCategoryTypeIdentifier.intermenstrualBleeding;
770
+ sexualActivity: HKCategoryTypeIdentifier.sexualActivity;
771
+ mindfulSession: HKCategoryTypeIdentifier.mindfulSession;
772
+ highHeartRateEvent: HKCategoryTypeIdentifier.highHeartRateEvent;
773
+ lowHeartRateEvent: HKCategoryTypeIdentifier.lowHeartRateEvent;
774
+ irregularHeartRhythmEvent: HKCategoryTypeIdentifier.irregularHeartRhythmEvent;
775
+ audioExposureEvent: HKCategoryTypeIdentifier.audioExposureEvent;
776
+ toothbrushingEvent: HKCategoryTypeIdentifier.toothbrushingEvent;
777
+ fitzpatrickSkinType: HKCharacteristicTypeIdentifier.fitzpatrickSkinType;
778
+ biologicalSex: HKCharacteristicTypeIdentifier.biologicalSex;
779
+ bloodType: HKCharacteristicTypeIdentifier.bloodType;
780
+ dateOfBirth: HKCharacteristicTypeIdentifier.dateOfBirth;
781
+ wheelchairUse: HKCharacteristicTypeIdentifier.wheelchairUse;
782
+ };
557
783
  declare type ReactNativeHealthkitTypeNative = {
558
784
  isHealthDataAvailable(): Promise<boolean>;
559
785
  getBloodType(): Promise<HKBloodType>;
@@ -561,15 +787,15 @@ declare type ReactNativeHealthkitTypeNative = {
561
787
  getBiologicalSex(): Promise<HKBiologicalSex>;
562
788
  getFitzpatrickSkinType(): Promise<HKFitzpatrickSkinType>;
563
789
  readonly getWheelchairUse: () => Promise<HKWheelchairUse>;
564
- readonly enableBackgroundDelivery: (typeIdentifier: HKSampleTypeIdentifier, updateFrequency: HKUpdateFrequency) => Promise<boolean>;
565
- readonly disableBackgroundDelivery: (typeIdentifier: HKSampleTypeIdentifier) => Promise<boolean>;
790
+ readonly enableBackgroundDelivery: (typeIdentifier: ValueOf<typeof HKSampleTypeIdentifier>, updateFrequency: HKUpdateFrequency) => Promise<boolean>;
791
+ readonly disableBackgroundDelivery: (typeIdentifier: ValueOf<typeof HKSampleTypeIdentifier>) => Promise<boolean>;
566
792
  readonly disableAllBackgroundDelivery: () => Promise<boolean>;
567
793
  readonly saveCorrelationSample: <TIdentifier extends HKCorrelationTypeIdentifier>(typeIdentifier: TIdentifier, samples: readonly Omit<HKCategorySampleRaw | HKQuantitySampleRaw, 'device' | 'endDate' | 'startDate' | 'uuid'>[], start: string, end: string, metadata: MetadataMapperForCorrelationIdentifier<TIdentifier>) => Promise<boolean>;
568
794
  readonly saveWorkoutSample: (typeIdentifier: HKWorkoutActivityType, quantities: readonly Omit<HKQuantitySampleRaw, 'device' | 'endDate' | 'startDate' | 'uuid'>[], start: string, end: string, metadata: HKWorkoutMetadata) => Promise<boolean>;
569
795
  readonly queryCorrelationSamples: <TIdentifier extends HKCorrelationTypeIdentifier>(typeIdentifier: TIdentifier, from: string, to: string) => Promise<readonly HKCorrelationRaw<TIdentifier>[]>;
570
- subscribeToObserverQuery(identifier: HKSampleTypeIdentifier): Promise<QueryId>;
796
+ subscribeToObserverQuery(identifier: ValueOf<typeof HKSampleTypeIdentifier>): Promise<QueryId>;
571
797
  unsubscribeQuery(queryId: QueryId): Promise<boolean>;
572
- authorizationStatusFor(type: AuthorizationStatusFor): Promise<boolean>;
798
+ authorizationStatusFor(type: ValueOf<keyof typeof HealthkitAuthorization>): Promise<boolean>;
573
799
  getRequestStatusForAuthorization(write: WritePermissions, read: ReadPermissions): Promise<HKAuthorizationRequestStatus>;
574
800
  requestAuthorization(write: WritePermissions, read: ReadPermissions): Promise<boolean>;
575
801
  readonly saveQuantitySample: (identifier: HKQuantityTypeIdentifier, unit: HKUnit, value: number, start: string, end: string, metadata: unknown) => Promise<boolean>;
@@ -583,7 +809,7 @@ declare type ReactNativeHealthkitTypeNative = {
583
809
  };
584
810
  declare const Native: ReactNativeHealthkitTypeNative;
585
811
  declare type OnChangeCallback = ({ typeIdentifier, }: {
586
- readonly typeIdentifier: HKSampleTypeIdentifier;
812
+ readonly typeIdentifier: ValueOf<typeof HKSampleTypeIdentifier>;
587
813
  }) => void;
588
814
  interface HealthkitEventEmitter extends NativeEventEmitter {
589
815
  readonly addListener: (eventType: 'onChange', callback: OnChangeCallback) => EmitterSubscription;
@@ -1,4 +1,5 @@
1
- import type { HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKCategorySampleRaw, HKCategoryTypeIdentifier, HKCategoryValueForIdentifier, HKCharacteristicTypeIdentifier, HKCorrelationRaw, HKCorrelationTypeIdentifier, HKFitzpatrickSkinType, HKQuantitySampleRaw, HKQuantityTypeIdentifier, HKSampleTypeIdentifier, HKStatisticsOptions, HKUnit, HKUnitSI, HKUnitSIPrefix, HKUpdateFrequency, HKWheelchairUse, HKWorkoutActivityType, HKWorkoutMetadata, HKWorkoutRaw, MetadataMapperForCategoryIdentifier, MetadataMapperForCorrelationIdentifier, MetadataMapperForQuantityIdentifier, QueryStatisticsResponseRaw, WorkoutRoute } from './native-types';
1
+ import type { HKAuthorizationRequestStatus, HKBiologicalSex, HKBloodType, HKCategorySampleRaw, HKCategoryTypeIdentifier, HKCategoryValueForIdentifier, HKCharacteristicTypeIdentifier, HKCorrelationRaw, HKCorrelationTypeIdentifier, HKFitzpatrickSkinType, HKQuantitySampleRaw, HKQuantityTypeIdentifier, HKSampleTypeIdentifier, HKStatisticsOptions, HKUnit, HKUnitSI, HKUnitSIPrefix, HKUpdateFrequency, HKWheelchairUse, HKWorkoutActivityType, HKWorkoutMetadata, HKWorkoutRaw, MetadataMapperForCategoryIdentifier, MetadataMapperForCorrelationIdentifier, MetadataMapperForQuantityIdentifier, QueryStatisticsResponseRaw, WorkoutRoute, HealthkitAuthorization } from './native-types';
2
+ import type { ValueOf } from 'type-fest';
2
3
  export interface QueryWorkoutsOptions<TEnergy extends HKUnit, TDistance extends HKUnit> extends GenericQueryOptions {
3
4
  readonly energyUnit?: TEnergy;
4
5
  readonly distanceUnit?: TDistance;
@@ -36,10 +37,11 @@ export declare type GetWheelchairUseFn = () => Promise<HKWheelchairUse>;
36
37
  export declare type GetFitzpatrickSkinTypeFn = () => Promise<HKFitzpatrickSkinType>;
37
38
  export declare type QueryStatisticsForQuantityFn = <TUnit extends HKUnit>(identifier: HKQuantityTypeIdentifier, options: readonly HKStatisticsOptions[], from: Date, to?: Date, unit?: TUnit) => Promise<QueryStatisticsResponse<TUnit>>;
38
39
  export declare type QueryWorkoutsFn = <TEnergy extends HKUnit, TDistance extends HKUnit>(options: QueryWorkoutsOptions<TEnergy, TDistance>) => Promise<readonly HKWorkout<TEnergy, TDistance>[]>;
39
- export declare type AuthorizationStatusForFn = (type: HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier) => Promise<boolean>;
40
+ export declare type AuthorizationStatusForFn = (type: HKCharacteristicTypeIdentifier | ValueOf<typeof HKSampleTypeIdentifier>) => Promise<boolean>;
40
41
  export declare type QueryCategorySamplesFn = <T extends HKCategoryTypeIdentifier>(identifier: T, options: GenericQueryOptions) => Promise<readonly HKCategorySample<T>[]>;
41
- export declare type GetRequestStatusForAuthorizationFn = (read: readonly (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[], write?: readonly HKSampleTypeIdentifier[]) => Promise<HKAuthorizationRequestStatus>;
42
- export declare type RequestAuthorizationFn = (read: readonly (HKCharacteristicTypeIdentifier | HKSampleTypeIdentifier)[], write?: readonly HKSampleTypeIdentifier[]) => Promise<boolean>;
42
+ declare type ReadPermission = HKCharacteristicTypeIdentifier | ValueOf<typeof HKSampleTypeIdentifier>;
43
+ export declare type GetRequestStatusForAuthorizationFn = (read: readonly ReadPermission[], write?: readonly ValueOf<typeof HKSampleTypeIdentifier>[]) => Promise<HKAuthorizationRequestStatus>;
44
+ export declare type RequestAuthorizationFn = (read: readonly (HKCharacteristicTypeIdentifier | ValueOf<typeof HKSampleTypeIdentifier>)[], write?: readonly ValueOf<typeof HKSampleTypeIdentifier>[]) => Promise<boolean>;
43
45
  export declare type SaveQuantitySampleFn = <TUnit extends HKQuantityTypeIdentifier>(identifier: TUnit, unit: HKUnit, value: number, options?: {
44
46
  readonly start?: Date;
45
47
  readonly end?: Date;
@@ -48,7 +50,7 @@ export declare type SaveQuantitySampleFn = <TUnit extends HKQuantityTypeIdentifi
48
50
  export declare type QueryQuantitySamplesFn = <TIdentifier extends HKQuantityTypeIdentifier, TUnit extends HKUnit = HKUnit>(identifier: TIdentifier, options: GenericQueryOptions & {
49
51
  readonly unit?: TUnit;
50
52
  }) => Promise<readonly HKQuantitySample<TIdentifier, TUnit>[]>;
51
- export declare type SubscribeToChangesFn = (identifier: HKSampleTypeIdentifier, callback: () => void) => Promise<UnsubscribeFunction>;
53
+ export declare type SubscribeToChangesFn = (identifier: ValueOf<typeof HKSampleTypeIdentifier>, callback: () => void) => Promise<UnsubscribeFunction>;
52
54
  export declare type SaveCategorySampleFn = <T extends HKCategoryTypeIdentifier>(identifier: T, value: HKCategoryValueForIdentifier<T>, options?: {
53
55
  readonly start?: Date;
54
56
  readonly end?: Date;
@@ -57,7 +59,7 @@ export declare type SaveCategorySampleFn = <T extends HKCategoryTypeIdentifier>(
57
59
  export declare type GetMostRecentCategorySampleFn = <T extends HKCategoryTypeIdentifier>(identifier: T) => Promise<HKCategorySample<T> | null>;
58
60
  export declare type MostRecentCategorySampleHook = <T extends HKCategoryTypeIdentifier>(identifier: T) => HKCategorySample<T> | null;
59
61
  export declare type MostRecentCorrelationSampleHook = <T extends HKCorrelationTypeIdentifier>(identifer: T) => HKCorrelation<T> | null;
60
- export declare type GetMostRecentQuantitySampleFn = <TIdentifier extends HKQuantityTypeIdentifier, TUnit extends HKUnit>(identifier: TIdentifier, unit?: TUnit) => Promise<HKQuantitySample<TIdentifier, TUnit>>;
62
+ export declare type GetMostRecentQuantitySampleFn = <TIdentifier extends HKQuantityTypeIdentifier, TUnit extends HKUnit>(identifier: TIdentifier, unit?: TUnit) => Promise<HKQuantitySample<TIdentifier, TUnit> | null>;
61
63
  export declare type MostRecentQuantitySampleHook = <TIdentifier extends HKQuantityTypeIdentifier, TUnit extends HKUnit>(identifier: TIdentifier, unit?: TUnit) => HKQuantitySample<TIdentifier, TUnit> | null;
62
64
  export declare type GetMostRecentWorkoutFn = <TEnergy extends HKUnit, TDistance extends HKUnit>(options?: Pick<QueryWorkoutsOptions<TEnergy, TDistance>, 'distanceUnit' | 'energyUnit'>) => Promise<HKWorkout<TEnergy, TDistance> | null>;
63
65
  export declare type MostRecentWorkoutHook = <TEnergy extends HKUnit, TDistance extends HKUnit>(options?: Pick<QueryWorkoutsOptions<TEnergy, TDistance>, 'distanceUnit' | 'energyUnit'>) => HKWorkout<TEnergy, TDistance> | null;
@@ -78,7 +80,7 @@ export interface HKCorrelation<TIdentifier extends HKCorrelationTypeIdentifier>
78
80
  readonly endDate: Date;
79
81
  }
80
82
  export declare type QueryCorrelationSamplesFn = <TIdentifier extends HKCorrelationTypeIdentifier>(typeIdentifier: TIdentifier, options: Omit<GenericQueryOptions, 'ascending' | 'limit'>) => Promise<readonly HKCorrelation<TIdentifier>[]>;
81
- export declare type SubscribeToChangesHook = <TIdentifier extends HKSampleTypeIdentifier>(identifier: TIdentifier, onChange: () => void, runInitialUpdate?: boolean) => void;
83
+ export declare type SubscribeToChangesHook = <TIdentifier extends ValueOf<typeof HKSampleTypeIdentifier>>(identifier: TIdentifier, onChange: () => void, runInitialUpdate?: boolean) => void;
82
84
  export declare type GetWorkoutRoutesFn = (workoutUUID: string) => Promise<readonly WorkoutRoute[]>;
83
85
  export declare type ReactNativeHealthkit = {
84
86
  readonly authorizationStatusFor: AuthorizationStatusForFn;
@@ -106,13 +108,15 @@ export declare type ReactNativeHealthkit = {
106
108
  readonly saveQuantitySample: SaveQuantitySampleFn;
107
109
  readonly saveCorrelationSample: SaveCorrelationSampleFn;
108
110
  readonly saveWorkoutSample: SaveWorkoutSampleFn;
109
- readonly enableBackgroundDelivery: (typeIdentifier: HKSampleTypeIdentifier, updateFrequency: HKUpdateFrequency) => Promise<boolean>;
110
- readonly disableBackgroundDelivery: (typeIdentifier: HKSampleTypeIdentifier) => Promise<boolean>;
111
+ readonly enableBackgroundDelivery: (typeIdentifier: ValueOf<typeof HKSampleTypeIdentifier>, updateFrequency: HKUpdateFrequency) => Promise<boolean>;
112
+ readonly disableBackgroundDelivery: (typeIdentifier: ValueOf<typeof HKSampleTypeIdentifier>) => Promise<boolean>;
111
113
  readonly disableAllBackgroundDelivery: () => Promise<boolean>;
112
114
  readonly subscribeToChanges: SubscribeToChangesFn;
113
115
  readonly useMostRecentWorkout: MostRecentWorkoutHook;
114
116
  readonly useMostRecentCategorySample: MostRecentCategorySampleHook;
115
117
  readonly useMostRecentQuantitySample: MostRecentQuantitySampleHook;
116
118
  readonly useSubscribeToChanges: SubscribeToChangesHook;
119
+ readonly useIsHealthDataAvailable: () => boolean | null;
120
+ readonly useHealthkitAuthorization: (read: readonly ValueOf<typeof HealthkitAuthorization>[], write?: readonly ValueOf<typeof HKSampleTypeIdentifier>[]) => readonly [authorizationStatus: HKAuthorizationRequestStatus | null, request: () => Promise<HKAuthorizationRequestStatus | null>];
117
121
  };
118
122
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kingstinct/react-native-healthkit",
3
- "version": "4.4.0",
3
+ "version": "4.4.1",
4
4
  "description": "React Native bindings for HealthKit",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -73,6 +73,7 @@
73
73
  "react-native": "0.68",
74
74
  "react-native-builder-bob": "^0.18.1",
75
75
  "release-it": "14",
76
+ "type-fest": "^2.18.0",
76
77
  "typescript": ">=4"
77
78
  },
78
79
  "peerDependencies": {