@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.
@@ -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';
@@ -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
+ }