@robinhealth/health-sdk 0.0.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.
- package/LICENSE +21 -0
- package/README.md +189 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/provider.d.ts +3 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +13 -0
- package/dist/provider.js.map +1 -0
- package/dist/providers/healthconnect.d.ts +16 -0
- package/dist/providers/healthconnect.d.ts.map +1 -0
- package/dist/providers/healthconnect.js +601 -0
- package/dist/providers/healthconnect.js.map +1 -0
- package/dist/providers/healthkit.d.ts +15 -0
- package/dist/providers/healthkit.d.ts.map +1 -0
- package/dist/providers/healthkit.js +392 -0
- package/dist/providers/healthkit.js.map +1 -0
- package/dist/storage.d.ts +3 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +71 -0
- package/dist/storage.js.map +1 -0
- package/dist/types.d.ts +171 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +122 -0
- package/dist/types.js.map +1 -0
- package/package.json +70 -0
- package/src/index.ts +15 -0
- package/src/provider.ts +18 -0
- package/src/providers/healthconnect.ts +725 -0
- package/src/providers/healthkit.ts +499 -0
- package/src/storage.ts +85 -0
- package/src/types.ts +189 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
export declare enum HealthDataType {
|
|
2
|
+
Steps = "Steps",
|
|
3
|
+
DistanceWalkingRunning = "DistanceWalkingRunning",
|
|
4
|
+
ActiveEnergyBurned = "ActiveEnergyBurned",
|
|
5
|
+
FlightsClimbed = "FlightsClimbed",
|
|
6
|
+
HeartRate = "HeartRate",
|
|
7
|
+
RestingHeartRate = "RestingHeartRate",
|
|
8
|
+
BloodPressureSystolic = "BloodPressureSystolic",
|
|
9
|
+
BloodPressureDiastolic = "BloodPressureDiastolic",
|
|
10
|
+
BloodOxygen = "BloodOxygen",
|
|
11
|
+
RespiratoryRate = "RespiratoryRate",
|
|
12
|
+
SleepAnalysis = "SleepAnalysis",
|
|
13
|
+
BodyFatPercentage = "BodyFatPercentage",
|
|
14
|
+
BodyMassIndex = "BodyMassIndex",
|
|
15
|
+
BasalEnergyBurned = "BasalEnergyBurned",
|
|
16
|
+
Water = "Water"
|
|
17
|
+
}
|
|
18
|
+
export declare enum PermissionStatus {
|
|
19
|
+
GRANTED = "GRANTED",
|
|
20
|
+
DECLINED = "DECLINED",
|
|
21
|
+
UNKNOWN = "UNKNOWN"
|
|
22
|
+
}
|
|
23
|
+
export declare enum SleepStage {
|
|
24
|
+
Awake = "awake",
|
|
25
|
+
Light = "light",
|
|
26
|
+
Deep = "deep",
|
|
27
|
+
REM = "rem",
|
|
28
|
+
Unknown = "unknown"
|
|
29
|
+
}
|
|
30
|
+
export declare enum WorkoutActivityType {
|
|
31
|
+
americanFootball = "americanFootball",
|
|
32
|
+
archery = "archery",
|
|
33
|
+
australianFootball = "australianFootball",
|
|
34
|
+
badminton = "badminton",
|
|
35
|
+
baseball = "baseball",
|
|
36
|
+
basketball = "basketball",
|
|
37
|
+
bowling = "bowling",
|
|
38
|
+
boxing = "boxing",
|
|
39
|
+
climbing = "climbing",
|
|
40
|
+
cricket = "cricket",
|
|
41
|
+
crossTraining = "crossTraining",
|
|
42
|
+
curling = "curling",
|
|
43
|
+
cycling = "cycling",
|
|
44
|
+
dance = "dance",
|
|
45
|
+
danceInspiredTraining = "danceInspiredTraining",
|
|
46
|
+
elliptical = "elliptical",
|
|
47
|
+
equestrianSports = "equestrianSports",
|
|
48
|
+
fencing = "fencing",
|
|
49
|
+
fishing = "fishing",
|
|
50
|
+
functionalStrengthTraining = "functionalStrengthTraining",
|
|
51
|
+
golf = "golf",
|
|
52
|
+
gymnastics = "gymnastics",
|
|
53
|
+
handball = "handball",
|
|
54
|
+
hiking = "hiking",
|
|
55
|
+
hockey = "hockey",
|
|
56
|
+
hunting = "hunting",
|
|
57
|
+
lacrosse = "lacrosse",
|
|
58
|
+
martialArts = "martialArts",
|
|
59
|
+
mindAndBody = "mindAndBody",
|
|
60
|
+
mixedMetabolicCardioTraining = "mixedMetabolicCardioTraining",
|
|
61
|
+
paddleSports = "paddleSports",
|
|
62
|
+
play = "play",
|
|
63
|
+
preparationAndRecovery = "preparationAndRecovery",
|
|
64
|
+
racquetball = "racquetball",
|
|
65
|
+
rowing = "rowing",
|
|
66
|
+
rugby = "rugby",
|
|
67
|
+
running = "running",
|
|
68
|
+
sailing = "sailing",
|
|
69
|
+
skatingSports = "skatingSports",
|
|
70
|
+
snowSports = "snowSports",
|
|
71
|
+
soccer = "soccer",
|
|
72
|
+
softball = "softball",
|
|
73
|
+
squash = "squash",
|
|
74
|
+
stairClimbing = "stairClimbing",
|
|
75
|
+
surfingSports = "surfingSports",
|
|
76
|
+
swimming = "swimming",
|
|
77
|
+
tableTennis = "tableTennis",
|
|
78
|
+
tennis = "tennis",
|
|
79
|
+
trackAndField = "trackAndField",
|
|
80
|
+
traditionalStrengthTraining = "traditionalStrengthTraining",
|
|
81
|
+
volleyball = "volleyball",
|
|
82
|
+
walking = "walking",
|
|
83
|
+
waterFitness = "waterFitness",
|
|
84
|
+
waterPolo = "waterPolo",
|
|
85
|
+
waterSports = "waterSports",
|
|
86
|
+
wrestling = "wrestling",
|
|
87
|
+
yoga = "yoga",
|
|
88
|
+
barre = "barre",
|
|
89
|
+
coreTraining = "coreTraining",
|
|
90
|
+
crossCountrySkiing = "crossCountrySkiing",
|
|
91
|
+
downhillSkiing = "downhillSkiing",
|
|
92
|
+
flexibility = "flexibility",
|
|
93
|
+
highIntensityIntervalTraining = "highIntensityIntervalTraining",
|
|
94
|
+
jumpRope = "jumpRope",
|
|
95
|
+
kickboxing = "kickboxing",
|
|
96
|
+
pilates = "pilates",
|
|
97
|
+
snowboarding = "snowboarding",
|
|
98
|
+
stairs = "stairs",
|
|
99
|
+
stepTraining = "stepTraining",
|
|
100
|
+
wheelchairWalkPace = "wheelchairWalkPace",
|
|
101
|
+
wheelchairRunPace = "wheelchairRunPace",
|
|
102
|
+
taiChi = "taiChi",
|
|
103
|
+
mixedCardio = "mixedCardio",
|
|
104
|
+
handCycling = "handCycling",
|
|
105
|
+
discSports = "discSports",
|
|
106
|
+
fitnessGaming = "fitnessGaming",
|
|
107
|
+
cardioDance = "cardioDance",
|
|
108
|
+
socialDance = "socialDance",
|
|
109
|
+
pickleball = "pickleball",
|
|
110
|
+
cooldown = "cooldown",
|
|
111
|
+
swimBikeRun = "swimBikeRun",
|
|
112
|
+
transition = "transition",
|
|
113
|
+
underwaterDiving = "underwaterDiving",
|
|
114
|
+
other = "other"
|
|
115
|
+
}
|
|
116
|
+
export interface Workout {
|
|
117
|
+
workoutType: WorkoutActivityType;
|
|
118
|
+
duration: number;
|
|
119
|
+
energyBurned: number | null;
|
|
120
|
+
distance: number | null;
|
|
121
|
+
heartRateAvg: number | null;
|
|
122
|
+
heartRateMax: number | null;
|
|
123
|
+
startDate: Date;
|
|
124
|
+
endDate: Date;
|
|
125
|
+
sourceName: string;
|
|
126
|
+
}
|
|
127
|
+
export interface HealthSample {
|
|
128
|
+
type: HealthDataType;
|
|
129
|
+
value: number;
|
|
130
|
+
unit: string;
|
|
131
|
+
startDate: Date;
|
|
132
|
+
endDate: Date;
|
|
133
|
+
sourceName?: string;
|
|
134
|
+
}
|
|
135
|
+
export interface SleepStageSample extends HealthSample {
|
|
136
|
+
stage: SleepStage;
|
|
137
|
+
}
|
|
138
|
+
export interface SleepSession {
|
|
139
|
+
startDate: Date;
|
|
140
|
+
endDate: Date;
|
|
141
|
+
totalDuration: number;
|
|
142
|
+
stages: {
|
|
143
|
+
awake: number;
|
|
144
|
+
light: number;
|
|
145
|
+
deep: number;
|
|
146
|
+
rem: number;
|
|
147
|
+
unknown: number;
|
|
148
|
+
};
|
|
149
|
+
sourceName: string;
|
|
150
|
+
}
|
|
151
|
+
export interface HealthAggregate {
|
|
152
|
+
type: HealthDataType;
|
|
153
|
+
sum?: number;
|
|
154
|
+
avg?: number;
|
|
155
|
+
min?: number;
|
|
156
|
+
max?: number;
|
|
157
|
+
unit: string;
|
|
158
|
+
startDate: Date;
|
|
159
|
+
endDate: Date;
|
|
160
|
+
}
|
|
161
|
+
export interface HealthProvider {
|
|
162
|
+
isAvailable(): Promise<boolean>;
|
|
163
|
+
shouldRequestAuthorization(dataTypes: HealthDataType[]): Promise<boolean>;
|
|
164
|
+
requestAuthorization(dataTypes: HealthDataType[]): Promise<boolean>;
|
|
165
|
+
getPermissionStatus(): Promise<PermissionStatus>;
|
|
166
|
+
querySamples(type: HealthDataType, startDate: Date, endDate: Date): Promise<HealthSample[]>;
|
|
167
|
+
queryAggregated(type: HealthDataType, startDate: Date, endDate: Date): Promise<HealthAggregate>;
|
|
168
|
+
queryWorkouts(startDate: Date, endDate: Date): Promise<Workout[]>;
|
|
169
|
+
querySleepSessions(startDate: Date, endDate: Date): Promise<SleepSession[]>;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export var HealthDataType;
|
|
2
|
+
(function (HealthDataType) {
|
|
3
|
+
HealthDataType["Steps"] = "Steps";
|
|
4
|
+
HealthDataType["DistanceWalkingRunning"] = "DistanceWalkingRunning";
|
|
5
|
+
HealthDataType["ActiveEnergyBurned"] = "ActiveEnergyBurned";
|
|
6
|
+
HealthDataType["FlightsClimbed"] = "FlightsClimbed";
|
|
7
|
+
HealthDataType["HeartRate"] = "HeartRate";
|
|
8
|
+
HealthDataType["RestingHeartRate"] = "RestingHeartRate";
|
|
9
|
+
HealthDataType["BloodPressureSystolic"] = "BloodPressureSystolic";
|
|
10
|
+
HealthDataType["BloodPressureDiastolic"] = "BloodPressureDiastolic";
|
|
11
|
+
HealthDataType["BloodOxygen"] = "BloodOxygen";
|
|
12
|
+
HealthDataType["RespiratoryRate"] = "RespiratoryRate";
|
|
13
|
+
HealthDataType["SleepAnalysis"] = "SleepAnalysis";
|
|
14
|
+
// Tier 2 — Body Composition
|
|
15
|
+
HealthDataType["BodyFatPercentage"] = "BodyFatPercentage";
|
|
16
|
+
HealthDataType["BodyMassIndex"] = "BodyMassIndex";
|
|
17
|
+
HealthDataType["BasalEnergyBurned"] = "BasalEnergyBurned";
|
|
18
|
+
// Tier 3 — Supplementary
|
|
19
|
+
HealthDataType["Water"] = "Water";
|
|
20
|
+
})(HealthDataType || (HealthDataType = {}));
|
|
21
|
+
export var PermissionStatus;
|
|
22
|
+
(function (PermissionStatus) {
|
|
23
|
+
PermissionStatus["GRANTED"] = "GRANTED";
|
|
24
|
+
PermissionStatus["DECLINED"] = "DECLINED";
|
|
25
|
+
PermissionStatus["UNKNOWN"] = "UNKNOWN";
|
|
26
|
+
})(PermissionStatus || (PermissionStatus = {}));
|
|
27
|
+
export var SleepStage;
|
|
28
|
+
(function (SleepStage) {
|
|
29
|
+
SleepStage["Awake"] = "awake";
|
|
30
|
+
SleepStage["Light"] = "light";
|
|
31
|
+
SleepStage["Deep"] = "deep";
|
|
32
|
+
SleepStage["REM"] = "rem";
|
|
33
|
+
SleepStage["Unknown"] = "unknown";
|
|
34
|
+
})(SleepStage || (SleepStage = {}));
|
|
35
|
+
export var WorkoutActivityType;
|
|
36
|
+
(function (WorkoutActivityType) {
|
|
37
|
+
WorkoutActivityType["americanFootball"] = "americanFootball";
|
|
38
|
+
WorkoutActivityType["archery"] = "archery";
|
|
39
|
+
WorkoutActivityType["australianFootball"] = "australianFootball";
|
|
40
|
+
WorkoutActivityType["badminton"] = "badminton";
|
|
41
|
+
WorkoutActivityType["baseball"] = "baseball";
|
|
42
|
+
WorkoutActivityType["basketball"] = "basketball";
|
|
43
|
+
WorkoutActivityType["bowling"] = "bowling";
|
|
44
|
+
WorkoutActivityType["boxing"] = "boxing";
|
|
45
|
+
WorkoutActivityType["climbing"] = "climbing";
|
|
46
|
+
WorkoutActivityType["cricket"] = "cricket";
|
|
47
|
+
WorkoutActivityType["crossTraining"] = "crossTraining";
|
|
48
|
+
WorkoutActivityType["curling"] = "curling";
|
|
49
|
+
WorkoutActivityType["cycling"] = "cycling";
|
|
50
|
+
WorkoutActivityType["dance"] = "dance";
|
|
51
|
+
WorkoutActivityType["danceInspiredTraining"] = "danceInspiredTraining";
|
|
52
|
+
WorkoutActivityType["elliptical"] = "elliptical";
|
|
53
|
+
WorkoutActivityType["equestrianSports"] = "equestrianSports";
|
|
54
|
+
WorkoutActivityType["fencing"] = "fencing";
|
|
55
|
+
WorkoutActivityType["fishing"] = "fishing";
|
|
56
|
+
WorkoutActivityType["functionalStrengthTraining"] = "functionalStrengthTraining";
|
|
57
|
+
WorkoutActivityType["golf"] = "golf";
|
|
58
|
+
WorkoutActivityType["gymnastics"] = "gymnastics";
|
|
59
|
+
WorkoutActivityType["handball"] = "handball";
|
|
60
|
+
WorkoutActivityType["hiking"] = "hiking";
|
|
61
|
+
WorkoutActivityType["hockey"] = "hockey";
|
|
62
|
+
WorkoutActivityType["hunting"] = "hunting";
|
|
63
|
+
WorkoutActivityType["lacrosse"] = "lacrosse";
|
|
64
|
+
WorkoutActivityType["martialArts"] = "martialArts";
|
|
65
|
+
WorkoutActivityType["mindAndBody"] = "mindAndBody";
|
|
66
|
+
WorkoutActivityType["mixedMetabolicCardioTraining"] = "mixedMetabolicCardioTraining";
|
|
67
|
+
WorkoutActivityType["paddleSports"] = "paddleSports";
|
|
68
|
+
WorkoutActivityType["play"] = "play";
|
|
69
|
+
WorkoutActivityType["preparationAndRecovery"] = "preparationAndRecovery";
|
|
70
|
+
WorkoutActivityType["racquetball"] = "racquetball";
|
|
71
|
+
WorkoutActivityType["rowing"] = "rowing";
|
|
72
|
+
WorkoutActivityType["rugby"] = "rugby";
|
|
73
|
+
WorkoutActivityType["running"] = "running";
|
|
74
|
+
WorkoutActivityType["sailing"] = "sailing";
|
|
75
|
+
WorkoutActivityType["skatingSports"] = "skatingSports";
|
|
76
|
+
WorkoutActivityType["snowSports"] = "snowSports";
|
|
77
|
+
WorkoutActivityType["soccer"] = "soccer";
|
|
78
|
+
WorkoutActivityType["softball"] = "softball";
|
|
79
|
+
WorkoutActivityType["squash"] = "squash";
|
|
80
|
+
WorkoutActivityType["stairClimbing"] = "stairClimbing";
|
|
81
|
+
WorkoutActivityType["surfingSports"] = "surfingSports";
|
|
82
|
+
WorkoutActivityType["swimming"] = "swimming";
|
|
83
|
+
WorkoutActivityType["tableTennis"] = "tableTennis";
|
|
84
|
+
WorkoutActivityType["tennis"] = "tennis";
|
|
85
|
+
WorkoutActivityType["trackAndField"] = "trackAndField";
|
|
86
|
+
WorkoutActivityType["traditionalStrengthTraining"] = "traditionalStrengthTraining";
|
|
87
|
+
WorkoutActivityType["volleyball"] = "volleyball";
|
|
88
|
+
WorkoutActivityType["walking"] = "walking";
|
|
89
|
+
WorkoutActivityType["waterFitness"] = "waterFitness";
|
|
90
|
+
WorkoutActivityType["waterPolo"] = "waterPolo";
|
|
91
|
+
WorkoutActivityType["waterSports"] = "waterSports";
|
|
92
|
+
WorkoutActivityType["wrestling"] = "wrestling";
|
|
93
|
+
WorkoutActivityType["yoga"] = "yoga";
|
|
94
|
+
WorkoutActivityType["barre"] = "barre";
|
|
95
|
+
WorkoutActivityType["coreTraining"] = "coreTraining";
|
|
96
|
+
WorkoutActivityType["crossCountrySkiing"] = "crossCountrySkiing";
|
|
97
|
+
WorkoutActivityType["downhillSkiing"] = "downhillSkiing";
|
|
98
|
+
WorkoutActivityType["flexibility"] = "flexibility";
|
|
99
|
+
WorkoutActivityType["highIntensityIntervalTraining"] = "highIntensityIntervalTraining";
|
|
100
|
+
WorkoutActivityType["jumpRope"] = "jumpRope";
|
|
101
|
+
WorkoutActivityType["kickboxing"] = "kickboxing";
|
|
102
|
+
WorkoutActivityType["pilates"] = "pilates";
|
|
103
|
+
WorkoutActivityType["snowboarding"] = "snowboarding";
|
|
104
|
+
WorkoutActivityType["stairs"] = "stairs";
|
|
105
|
+
WorkoutActivityType["stepTraining"] = "stepTraining";
|
|
106
|
+
WorkoutActivityType["wheelchairWalkPace"] = "wheelchairWalkPace";
|
|
107
|
+
WorkoutActivityType["wheelchairRunPace"] = "wheelchairRunPace";
|
|
108
|
+
WorkoutActivityType["taiChi"] = "taiChi";
|
|
109
|
+
WorkoutActivityType["mixedCardio"] = "mixedCardio";
|
|
110
|
+
WorkoutActivityType["handCycling"] = "handCycling";
|
|
111
|
+
WorkoutActivityType["discSports"] = "discSports";
|
|
112
|
+
WorkoutActivityType["fitnessGaming"] = "fitnessGaming";
|
|
113
|
+
WorkoutActivityType["cardioDance"] = "cardioDance";
|
|
114
|
+
WorkoutActivityType["socialDance"] = "socialDance";
|
|
115
|
+
WorkoutActivityType["pickleball"] = "pickleball";
|
|
116
|
+
WorkoutActivityType["cooldown"] = "cooldown";
|
|
117
|
+
WorkoutActivityType["swimBikeRun"] = "swimBikeRun";
|
|
118
|
+
WorkoutActivityType["transition"] = "transition";
|
|
119
|
+
WorkoutActivityType["underwaterDiving"] = "underwaterDiving";
|
|
120
|
+
WorkoutActivityType["other"] = "other";
|
|
121
|
+
})(WorkoutActivityType || (WorkoutActivityType = {}));
|
|
122
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@robinhealth/health-sdk",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Unified health data SDK for React Native — HealthKit (iOS) and Health Connect (Android)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"build": "tsc --project tsconfig.build.json",
|
|
8
|
+
"clean": "rm -rf dist",
|
|
9
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
10
|
+
},
|
|
11
|
+
"main": "dist/index.js",
|
|
12
|
+
"types": "dist/index.d.ts",
|
|
13
|
+
"react-native": "dist/index.js",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"react-native": "./dist/index.js",
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"require": "./dist/index.js",
|
|
20
|
+
"default": "./dist/index.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"src",
|
|
26
|
+
"LICENSE"
|
|
27
|
+
],
|
|
28
|
+
"keywords": [
|
|
29
|
+
"react-native",
|
|
30
|
+
"health",
|
|
31
|
+
"healthkit",
|
|
32
|
+
"health-connect",
|
|
33
|
+
"fitness",
|
|
34
|
+
"wellness"
|
|
35
|
+
],
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "git+https://github.com/Robin-Health-Engineering/robin-health-sdk.git"
|
|
39
|
+
},
|
|
40
|
+
"bugs": {
|
|
41
|
+
"url": "https://github.com/Robin-Health-Engineering/robin-health-sdk/issues"
|
|
42
|
+
},
|
|
43
|
+
"homepage": "https://github.com/Robin-Health-Engineering/robin-health-sdk#readme",
|
|
44
|
+
"license": "MIT",
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"registry": "https://registry.npmjs.org/",
|
|
47
|
+
"access": "public"
|
|
48
|
+
},
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=16"
|
|
51
|
+
},
|
|
52
|
+
"peerDependencies": {
|
|
53
|
+
"@kingstinct/react-native-healthkit": ">=13.0.0",
|
|
54
|
+
"react": ">=18.0.0",
|
|
55
|
+
"react-native": ">=0.72.0",
|
|
56
|
+
"react-native-health-connect": ">=3.0.0",
|
|
57
|
+
"expo-sqlite": ">=14.0.0"
|
|
58
|
+
},
|
|
59
|
+
"peerDependenciesMeta": {
|
|
60
|
+
"@kingstinct/react-native-healthkit": {
|
|
61
|
+
"optional": true
|
|
62
|
+
},
|
|
63
|
+
"react-native-health-connect": {
|
|
64
|
+
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"expo-sqlite": {
|
|
67
|
+
"optional": true
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { createHealthProvider } from './provider';
|
|
2
|
+
export type {
|
|
3
|
+
HealthProvider,
|
|
4
|
+
HealthSample,
|
|
5
|
+
HealthAggregate,
|
|
6
|
+
Workout,
|
|
7
|
+
SleepStageSample,
|
|
8
|
+
SleepSession,
|
|
9
|
+
} from './types';
|
|
10
|
+
export {
|
|
11
|
+
HealthDataType,
|
|
12
|
+
WorkoutActivityType,
|
|
13
|
+
PermissionStatus,
|
|
14
|
+
SleepStage,
|
|
15
|
+
} from './types';
|
package/src/provider.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import type { HealthProvider } from './types';
|
|
3
|
+
|
|
4
|
+
export function createHealthProvider(): HealthProvider {
|
|
5
|
+
if (Platform.OS === 'ios') {
|
|
6
|
+
const { HealthKitProvider } = require('./providers/healthkit');
|
|
7
|
+
return new HealthKitProvider();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
if (Platform.OS === 'android') {
|
|
11
|
+
const { HealthConnectProvider } = require('./providers/healthconnect');
|
|
12
|
+
return new HealthConnectProvider();
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
throw new Error(
|
|
16
|
+
`Health data is not supported on ${Platform.OS}. Supported platforms: ios, android.`,
|
|
17
|
+
);
|
|
18
|
+
}
|