react-native-spike-sdk 4.3.73-beta.3 → 4.3.73

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.
Files changed (172) hide show
  1. package/lib/commonjs/DataModels/SpikeActivitiesStreamDataEntry.js +2 -0
  2. package/lib/commonjs/DataModels/SpikeActivitiesSummaryDataEntry.js +2 -0
  3. package/lib/commonjs/DataModels/SpikeBodyDataEntry.js +2 -0
  4. package/lib/commonjs/DataModels/SpikeBreathingDataEntry.js +2 -0
  5. package/lib/commonjs/DataModels/SpikeCaloriesDataEntry.js +2 -0
  6. package/lib/commonjs/DataModels/SpikeData.js +6 -0
  7. package/lib/commonjs/DataModels/SpikeDataTypes.js +23 -0
  8. package/lib/commonjs/DataModels/SpikeDistanceDataEntry.js +2 -0
  9. package/lib/commonjs/DataModels/SpikeEcgDataEntry.js +2 -0
  10. package/lib/commonjs/DataModels/SpikeGlucoseDataEntry.js +2 -0
  11. package/lib/commonjs/DataModels/SpikeHeartDataEntry.js +2 -0
  12. package/lib/commonjs/DataModels/SpikeOxygenSaturationDataEntry.js +2 -0
  13. package/lib/commonjs/DataModels/SpikeSleepDataEntry.js +2 -0
  14. package/lib/commonjs/DataModels/SpikeStepsDataEntry.js +2 -0
  15. package/lib/commonjs/DataModels/SpikeStepsIntradayDataEntry.js +2 -0
  16. package/lib/commonjs/DataModels/SpikeWebhookJob.js +2 -0
  17. package/lib/commonjs/DataTypes/SpikeDataType.js +59 -0
  18. package/lib/commonjs/Spike.js +116 -0
  19. package/lib/commonjs/SpikeBackgroundDeliveriesLogger.js +2 -0
  20. package/lib/commonjs/SpikeConnection.js +298 -0
  21. package/lib/commonjs/SpikeConnectionTypes.js +6 -0
  22. package/lib/commonjs/SpikeException.js +110 -0
  23. package/lib/commonjs/SpikeLogger.js +6 -0
  24. package/lib/commonjs/SpikeSdk.js +9 -0
  25. package/lib/commonjs/index.js +205 -0
  26. package/lib/commonjs/v3/Conversion.js +53 -0
  27. package/lib/commonjs/v3/DataModels/ActivityAdditionalData.js +18 -0
  28. package/lib/commonjs/v3/DataModels/ActivityAdditionalData.js.map +1 -0
  29. package/lib/commonjs/v3/DataModels/ActivityConfig.js +17 -0
  30. package/lib/commonjs/v3/DataModels/ActivityConfig.js.map +1 -0
  31. package/lib/commonjs/v3/DataModels/ActivityEntry.js +2 -0
  32. package/lib/commonjs/v3/DataModels/ActivitySamples.js +2 -0
  33. package/lib/commonjs/v3/DataModels/ActivityTag.js +32 -0
  34. package/lib/commonjs/v3/DataModels/ActivityType.js +153 -0
  35. package/lib/commonjs/v3/DataModels/BackgroundDeliveryConfig.js +6 -0
  36. package/lib/commonjs/v3/DataModels/Gender.js +15 -0
  37. package/lib/commonjs/v3/DataModels/HealthConnectAvailabilityStatus.js +13 -0
  38. package/lib/commonjs/v3/DataModels/InputMethod.js +15 -0
  39. package/lib/commonjs/v3/DataModels/LogLevel.js +16 -0
  40. package/lib/commonjs/v3/DataModels/MetricType.js +74 -0
  41. package/lib/commonjs/v3/DataModels/Provider.js +25 -0
  42. package/lib/commonjs/v3/DataModels/ProviderSource.js +52 -0
  43. package/lib/commonjs/v3/DataModels/RecordSource.js +2 -0
  44. package/lib/commonjs/v3/DataModels/SamsungHealthDataAvailability.js +6 -0
  45. package/lib/commonjs/v3/DataModels/SamsungHealthDataAvailabilityStatus.js +37 -0
  46. package/lib/commonjs/v3/DataModels/SleepConfig.js +15 -0
  47. package/lib/commonjs/v3/DataModels/SpikeRecord.js +6 -0
  48. package/lib/commonjs/v3/DataModels/Statistic.js +6 -0
  49. package/lib/commonjs/v3/DataModels/StatisticsInterval.js +14 -0
  50. package/lib/commonjs/v3/DataModels/StatisticsType.js +27 -0
  51. package/lib/commonjs/v3/DataModels/UUID.js +2 -0
  52. package/lib/commonjs/v3/DataModels/Unit.js +21 -0
  53. package/lib/commonjs/v3/DataModels/UserInfoResponse.js +6 -0
  54. package/lib/commonjs/v3/DataModels/UserProperties.js +6 -0
  55. package/lib/commonjs/v3/SpikeRNConnectionAPIv3.js +394 -0
  56. package/lib/commonjs/v3/StatisticsFilter.js +20 -0
  57. package/lib/commonjs/version.js +9 -0
  58. package/lib/commonjs/version.js.map +1 -1
  59. package/lib/module/DataModels/SpikeActivitiesStreamDataEntry.js +2 -0
  60. package/lib/module/DataModels/SpikeActivitiesStreamDataEntry.js.map +1 -0
  61. package/lib/module/DataModels/SpikeActivitiesSummaryDataEntry.js +2 -0
  62. package/lib/module/DataModels/SpikeActivitiesSummaryDataEntry.js.map +1 -0
  63. package/lib/module/DataModels/SpikeBodyDataEntry.js +2 -0
  64. package/lib/module/DataModels/SpikeBodyDataEntry.js.map +1 -0
  65. package/lib/module/DataModels/SpikeBreathingDataEntry.js +2 -0
  66. package/lib/module/DataModels/SpikeBreathingDataEntry.js.map +1 -0
  67. package/lib/module/DataModels/SpikeCaloriesDataEntry.js +2 -0
  68. package/lib/module/DataModels/SpikeCaloriesDataEntry.js.map +1 -0
  69. package/lib/module/DataModels/SpikeData.js +4 -0
  70. package/lib/module/DataModels/SpikeData.js.map +1 -0
  71. package/lib/module/DataModels/SpikeDataTypes.js +19 -0
  72. package/lib/module/DataModels/SpikeDataTypes.js.map +1 -0
  73. package/lib/module/DataModels/SpikeDistanceDataEntry.js +2 -0
  74. package/lib/module/DataModels/SpikeDistanceDataEntry.js.map +1 -0
  75. package/lib/module/DataModels/SpikeEcgDataEntry.js +2 -0
  76. package/lib/module/DataModels/SpikeEcgDataEntry.js.map +1 -0
  77. package/lib/module/DataModels/SpikeGlucoseDataEntry.js +2 -0
  78. package/lib/module/DataModels/SpikeGlucoseDataEntry.js.map +1 -0
  79. package/lib/module/DataModels/SpikeHeartDataEntry.js +2 -0
  80. package/lib/module/DataModels/SpikeHeartDataEntry.js.map +1 -0
  81. package/lib/module/DataModels/SpikeOxygenSaturationDataEntry.js +2 -0
  82. package/lib/module/DataModels/SpikeOxygenSaturationDataEntry.js.map +1 -0
  83. package/lib/module/DataModels/SpikeSleepDataEntry.js +2 -0
  84. package/lib/module/DataModels/SpikeSleepDataEntry.js.map +1 -0
  85. package/lib/module/DataModels/SpikeStepsDataEntry.js +2 -0
  86. package/lib/module/DataModels/SpikeStepsDataEntry.js.map +1 -0
  87. package/lib/module/DataModels/SpikeStepsIntradayDataEntry.js +2 -0
  88. package/lib/module/DataModels/SpikeStepsIntradayDataEntry.js.map +1 -0
  89. package/lib/module/DataModels/SpikeWebhookJob.js +2 -0
  90. package/lib/module/DataModels/SpikeWebhookJob.js.map +1 -0
  91. package/lib/module/DataTypes/SpikeDataType.js +42 -0
  92. package/lib/module/DataTypes/SpikeDataType.js.map +1 -0
  93. package/lib/module/Spike.js +108 -0
  94. package/lib/module/Spike.js.map +1 -0
  95. package/lib/module/SpikeBackgroundDeliveriesLogger.js +2 -0
  96. package/lib/module/SpikeBackgroundDeliveriesLogger.js.map +1 -0
  97. package/lib/module/SpikeConnection.js +293 -0
  98. package/lib/module/SpikeConnection.js.map +1 -0
  99. package/lib/module/SpikeConnectionTypes.js +4 -0
  100. package/lib/module/SpikeConnectionTypes.js.map +1 -0
  101. package/lib/module/SpikeException.js +94 -0
  102. package/lib/module/SpikeException.js.map +1 -0
  103. package/lib/module/SpikeLogger.js +4 -0
  104. package/lib/module/SpikeLogger.js.map +1 -0
  105. package/lib/module/SpikeSdk.js +5 -0
  106. package/lib/module/SpikeSdk.js.map +1 -0
  107. package/lib/module/index.js +36 -0
  108. package/lib/module/index.js.map +1 -0
  109. package/lib/module/v3/Conversion.js +48 -0
  110. package/lib/module/v3/Conversion.js.map +1 -0
  111. package/lib/module/v3/DataModels/ActivityAdditionalData.js +14 -0
  112. package/lib/module/v3/DataModels/ActivityAdditionalData.js.map +1 -0
  113. package/lib/module/v3/DataModels/ActivityConfig.js +12 -0
  114. package/lib/module/v3/DataModels/ActivityConfig.js.map +1 -0
  115. package/lib/module/v3/DataModels/ActivityEntry.js +2 -0
  116. package/lib/module/v3/DataModels/ActivityEntry.js.map +1 -0
  117. package/lib/module/v3/DataModels/ActivitySamples.js +2 -0
  118. package/lib/module/v3/DataModels/ActivitySamples.js.map +1 -0
  119. package/lib/module/v3/DataModels/ActivityTag.js +28 -0
  120. package/lib/module/v3/DataModels/ActivityTag.js.map +1 -0
  121. package/lib/module/v3/DataModels/ActivityType.js +149 -0
  122. package/lib/module/v3/DataModels/ActivityType.js.map +1 -0
  123. package/lib/module/v3/DataModels/BackgroundDeliveryConfig.js +4 -0
  124. package/lib/module/v3/DataModels/BackgroundDeliveryConfig.js.map +1 -0
  125. package/lib/module/v3/DataModels/Gender.js +11 -0
  126. package/lib/module/v3/DataModels/Gender.js.map +1 -0
  127. package/lib/module/v3/DataModels/HealthConnectAvailabilityStatus.js +9 -0
  128. package/lib/module/v3/DataModels/HealthConnectAvailabilityStatus.js.map +1 -0
  129. package/lib/module/v3/DataModels/InputMethod.js +11 -0
  130. package/lib/module/v3/DataModels/InputMethod.js.map +1 -0
  131. package/lib/module/v3/DataModels/LogLevel.js +12 -0
  132. package/lib/module/v3/DataModels/LogLevel.js.map +1 -0
  133. package/lib/module/v3/DataModels/MetricType.js +70 -0
  134. package/lib/module/v3/DataModels/MetricType.js.map +1 -0
  135. package/lib/module/v3/DataModels/Provider.js +21 -0
  136. package/lib/module/v3/DataModels/Provider.js.map +1 -0
  137. package/lib/module/v3/DataModels/ProviderSource.js +48 -0
  138. package/lib/module/v3/DataModels/ProviderSource.js.map +1 -0
  139. package/lib/module/v3/DataModels/RecordSource.js +2 -0
  140. package/lib/module/v3/DataModels/RecordSource.js.map +1 -0
  141. package/lib/module/v3/DataModels/SamsungHealthDataAvailability.js +4 -0
  142. package/lib/module/v3/DataModels/SamsungHealthDataAvailability.js.map +1 -0
  143. package/lib/module/v3/DataModels/SamsungHealthDataAvailabilityStatus.js +33 -0
  144. package/lib/module/v3/DataModels/SamsungHealthDataAvailabilityStatus.js.map +1 -0
  145. package/lib/module/v3/DataModels/SleepConfig.js +10 -0
  146. package/lib/module/v3/DataModels/SleepConfig.js.map +1 -0
  147. package/lib/module/v3/DataModels/SpikeRecord.js +4 -0
  148. package/lib/module/v3/DataModels/SpikeRecord.js.map +1 -0
  149. package/lib/module/v3/DataModels/Statistic.js +4 -0
  150. package/lib/module/v3/DataModels/Statistic.js.map +1 -0
  151. package/lib/module/v3/DataModels/StatisticsInterval.js +10 -0
  152. package/lib/module/v3/DataModels/StatisticsInterval.js.map +1 -0
  153. package/lib/module/v3/DataModels/StatisticsType.js +23 -0
  154. package/lib/module/v3/DataModels/StatisticsType.js.map +1 -0
  155. package/lib/module/v3/DataModels/UUID.js +2 -0
  156. package/lib/module/v3/DataModels/UUID.js.map +1 -0
  157. package/lib/module/v3/DataModels/Unit.js +17 -0
  158. package/lib/module/v3/DataModels/Unit.js.map +1 -0
  159. package/lib/module/v3/DataModels/UserInfoResponse.js +4 -0
  160. package/lib/module/v3/DataModels/UserInfoResponse.js.map +1 -0
  161. package/lib/module/v3/DataModels/UserProperties.js +4 -0
  162. package/lib/module/v3/DataModels/UserProperties.js.map +1 -0
  163. package/lib/module/v3/SpikeRNConnectionAPIv3.js +389 -0
  164. package/lib/module/v3/SpikeRNConnectionAPIv3.js.map +1 -0
  165. package/lib/module/v3/StatisticsFilter.js +15 -0
  166. package/lib/module/v3/StatisticsFilter.js.map +1 -0
  167. package/lib/module/version.js +5 -0
  168. package/lib/module/version.js.map +1 -0
  169. package/lib/typescript/version.d.ts +1 -1
  170. package/lib/typescript/version.d.ts.map +1 -1
  171. package/package.json +2 -1
  172. package/src/version.ts +1 -1
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ // This is auto-generated file. Please do not edit it!
4
+ // See data-model-generation script for more details
5
+ export let StatisticsInterval = /*#__PURE__*/function (StatisticsInterval) {
6
+ StatisticsInterval["hour"] = "hour";
7
+ StatisticsInterval["day"] = "day";
8
+ return StatisticsInterval;
9
+ }({});
10
+ //# sourceMappingURL=StatisticsInterval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StatisticsInterval"],"sourceRoot":"../../../../src","sources":["v3/DataModels/StatisticsInterval.ts"],"mappings":";;AACA;AACA;AACA,WAAYA,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ // This is auto-generated file. Please do not edit it!
4
+ // See data-model-generation script for more details
5
+ export let StatisticsType = /*#__PURE__*/function (StatisticsType) {
6
+ StatisticsType["steps"] = "steps";
7
+ StatisticsType["distanceTotal"] = "distance_total";
8
+ StatisticsType["distanceWalking"] = "distance_walking";
9
+ StatisticsType["distanceCycling"] = "distance_cycling";
10
+ StatisticsType["distanceRunning"] = "distance_running";
11
+ StatisticsType["caloriesBurnedTotal"] = "calories_burned_total";
12
+ StatisticsType["caloriesBurnedBasal"] = "calories_burned_basal";
13
+ StatisticsType["caloriesBurnedActive"] = "calories_burned_active";
14
+ StatisticsType["sleepScore"] = "sleep_score";
15
+ StatisticsType["sleepDurationTotal"] = "sleep_duration_total";
16
+ StatisticsType["heartrate"] = "heartrate";
17
+ StatisticsType["heartrateMax"] = "heartrate_max";
18
+ StatisticsType["heartrateMin"] = "heartrate_min";
19
+ StatisticsType["heartrateResting"] = "heartrate_resting";
20
+ StatisticsType["unknown"] = "_unknown";
21
+ return StatisticsType;
22
+ }({});
23
+ //# sourceMappingURL=StatisticsType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StatisticsType"],"sourceRoot":"../../../../src","sources":["v3/DataModels/StatisticsType.ts"],"mappings":";;AACA;AACA;AACA,WAAYA,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=UUID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["v3/DataModels/UUID.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ // This is auto-generated file. Please do not edit it!
4
+ // See data-model-generation script for more details
5
+ export let Unit = /*#__PURE__*/function (Unit) {
6
+ Unit["bpm"] = "bpm";
7
+ Unit["meters"] = "meters";
8
+ Unit["kcal"] = "kcal";
9
+ Unit["count"] = "count";
10
+ Unit["kmh"] = "kmh";
11
+ Unit["kmPerMin"] = "km/min";
12
+ Unit["celsius"] = "celsius";
13
+ Unit["percentage"] = "percentage";
14
+ Unit["unknown"] = "_unknown";
15
+ return Unit;
16
+ }({});
17
+ //# sourceMappingURL=Unit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Unit"],"sourceRoot":"../../../../src","sources":["v3/DataModels/Unit.ts"],"mappings":";;AACA;AACA;AACA,WAAYA,IAAI,0BAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=UserInfoResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["v3/DataModels/UserInfoResponse.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=UserProperties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["v3/DataModels/UserProperties.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,389 @@
1
+ "use strict";
2
+
3
+ import { Platform } from "react-native";
4
+ import { SpikeException } from "../SpikeException";
5
+ import { SpikeSdk } from "../SpikeSdk";
6
+ import { snakeToCamel } from "./Conversion";
7
+ import { HealthConnectAvailabilityStatus } from "./DataModels/HealthConnectAvailabilityStatus";
8
+ import { SamsungHealthDataAvailabilityStatus } from "./DataModels/SamsungHealthDataAvailabilityStatus";
9
+ export class SpikeRNConnectionAPIv3 {
10
+ constructor(connectionUUID) {
11
+ this.connectionUUID = connectionUUID;
12
+ }
13
+ async getUserInfo() {
14
+ if (!SpikeSdk) throw new SpikeException();
15
+ const result = await SpikeSdk.getUserInfo(this.connectionUUID);
16
+ const jsonResult = JSON.parse(result);
17
+ const finalResult = snakeToCamel(jsonResult);
18
+ return finalResult;
19
+ }
20
+ async getIntegrationInitUrl({
21
+ provider,
22
+ config = null
23
+ }) {
24
+ if (!SpikeSdk) throw new SpikeException();
25
+ const result = await SpikeSdk.getIntegrationInitUrl(this.connectionUUID, provider, config ? JSON.stringify(config) : null);
26
+ return result;
27
+ }
28
+ async getStatistics({
29
+ ofTypes,
30
+ from,
31
+ to,
32
+ interval,
33
+ filter = undefined
34
+ }) {
35
+ if (!SpikeSdk) throw new SpikeException();
36
+ const stringTypes = ofTypes.map(item => item);
37
+ // console.log("Stat types requested", stringTypes)
38
+ // console.log("Filter requested:", JSON.stringify(filter))
39
+
40
+ const result = await SpikeSdk.getStatistics(this.connectionUUID, stringTypes, from.toISOString(), to.toISOString(), interval, !!filter ? JSON.stringify(filter) : null);
41
+ const jsonResult = JSON.parse(result);
42
+ const finalResult = snakeToCamel(jsonResult);
43
+ return finalResult;
44
+ }
45
+ async getRecords({
46
+ ofTypes,
47
+ from,
48
+ to,
49
+ filter = null
50
+ }) {
51
+ if (!SpikeSdk) throw new SpikeException();
52
+ const stringTypes = ofTypes.map(item => item);
53
+ // console.log("Record types requested", stringTypes)
54
+ const result = await SpikeSdk.getRecords(this.connectionUUID, stringTypes, from.toISOString(), to.toISOString(), !!filter ? JSON.stringify(filter) : null);
55
+ const jsonResult = JSON.parse(result);
56
+ const finalResult = snakeToCamel(jsonResult);
57
+ return finalResult;
58
+ }
59
+ async getActivities({
60
+ config,
61
+ from,
62
+ to,
63
+ filter = null
64
+ }) {
65
+ if (!SpikeSdk) throw new SpikeException();
66
+ const result = await SpikeSdk.getActivities(this.connectionUUID, !!config ? JSON.stringify(config) : null, from.toISOString(), to.toISOString(), !!filter ? JSON.stringify(filter) : null);
67
+ const jsonResult = JSON.parse(result);
68
+ const finalResult = snakeToCamel(jsonResult);
69
+ return finalResult;
70
+ }
71
+ async getSleep({
72
+ config,
73
+ from,
74
+ to,
75
+ filter = null
76
+ }) {
77
+ if (!SpikeSdk) throw new SpikeException();
78
+ const result = await SpikeSdk.getSleep(this.connectionUUID, !!config ? JSON.stringify(config) : null, from.toISOString(), to.toISOString(), !!filter ? JSON.stringify(filter) : null);
79
+ const jsonResult = JSON.parse(result);
80
+ const finalResult = snakeToCamel(jsonResult);
81
+ return finalResult;
82
+ }
83
+
84
+ /**
85
+ * Get user properties like weight, height, timezone, birth date, and gender.
86
+ *
87
+ * On iOS, it can read all these properties from HealthKit.
88
+ * On Android, it reads:
89
+ * - weight, height, timezone from Health Connect
90
+ * - birth date, gender from other providers
91
+ *
92
+ * @param types Array of metric types to read properties for
93
+ * @returns User properties object
94
+ */
95
+ async getUserProperties({
96
+ types = []
97
+ }) {
98
+ if (!SpikeSdk) throw new SpikeException();
99
+ const result = await SpikeSdk.getUserProperties(this.connectionUUID, types);
100
+ const jsonResult = JSON.parse(result);
101
+ const finalResult = snakeToCamel(jsonResult);
102
+ return finalResult;
103
+ }
104
+
105
+ // ------------------------- Unified HealthKit and Health Connect permissions -------------------------
106
+ /**
107
+ * iOS:
108
+ * This method must be called before requesting any data from HealthKit. If the user has not
109
+ * granted permissions to read HealthKit data, a system-generated dialog will appear listing the
110
+ * required permissions. If the user has already granted or denied permissions, no dialog will be shown.
111
+ * To read data from HealthKit, this should be run after each app start (but it is NOT needed when
112
+ * the app returns from the background).
113
+ *
114
+ * Android:
115
+ * On Android, calling this method simplifies the use of Health Connect, making it as seamless as
116
+ * using HealthKit. Call it after the app starts; if needed, it will present the user with the OS
117
+ * permission dialog.
118
+ * If you need finer control over the process on android, please use other methods.
119
+ */
120
+ async requestHealthPermissions({
121
+ statisticTypes = [],
122
+ metricTypes = [],
123
+ activityConfigs = [],
124
+ sleepConfigs = [],
125
+ includeEnhancedPermissions = false,
126
+ includeBackgroundDelivery = false
127
+ }) {
128
+ if (!SpikeSdk) throw new SpikeException();
129
+ if (Platform.OS == 'ios') {
130
+ await SpikeSdk.requestPermissionsFromHealthKit(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)));
131
+ }
132
+ if (Platform.OS == 'android') {
133
+ await this.enableHealthConnectIntegration();
134
+ const permissions = await SpikeSdk.getHealthConnectPermissions(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)), includeEnhancedPermissions, includeBackgroundDelivery);
135
+ const result = await SpikeSdk.requestPermissionsFromHealthConnect(this.connectionUUID, permissions);
136
+ console.log("requestPermissionsFromHealthConnect result: " + result);
137
+ }
138
+ }
139
+
140
+ // ------------------------- Background delivery -------------------------
141
+
142
+ async enableBackgroundDelivery({
143
+ statisticTypes = [],
144
+ metricTypes = [],
145
+ activityConfigs = [],
146
+ sleepConfigs = []
147
+ }) {
148
+ if (!SpikeSdk) throw new SpikeException();
149
+ if (Platform.OS == 'ios') {
150
+ // V3 has to be added because "enableBackgroundDelivery"
151
+ // method from old sdk is still present.
152
+ await SpikeSdk.enableBackgroundDeliveryV3(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)));
153
+ } else {
154
+ await SpikeSdk.enableBackgroundDelivery(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)));
155
+ }
156
+ }
157
+ async disableBackgroundDelivery() {
158
+ if (!SpikeSdk) throw new SpikeException();
159
+ await SpikeSdk.disableBackgroundDelivery(this.connectionUUID);
160
+ }
161
+ async getBackgroundDeliveryConfig() {
162
+ if (!SpikeSdk) throw new SpikeException();
163
+ const result = await SpikeSdk.getBackgroundDeliveryConfig(this.connectionUUID);
164
+ return result;
165
+ }
166
+
167
+ // ------------------------- Android specific Health Connect permissions -------------------------
168
+
169
+ /**
170
+ * Check if Health Connect is installed or should be updated.
171
+ *
172
+ *
173
+ * Possible return values:
174
+ *
175
+ * notInstalled - The Health Connect SDK is unavailable on this device at the time. This can be due
176
+ * to the device running a lower than required Android Version. Apps should hide any integration
177
+ * points to Health Connect in this case.
178
+ *
179
+ * updateRequired - The Health Connect SDK APIs are currently unavailable, the provider is either
180
+ * not installed or needs to be updated. Apps may choose to redirect to package installers to find
181
+ * a suitable APK.
182
+ *
183
+ * installed - The Health Connect SDK APIs are available.
184
+ */
185
+ async checkHealthConnectAvailability() {
186
+ if (Platform.OS !== 'android') return HealthConnectAvailabilityStatus.notInstalled;
187
+ if (!SpikeSdk) throw new SpikeException();
188
+ const availability = await SpikeSdk.checkHealthConnectAvailability(this.connectionUUID);
189
+ return Object.values(HealthConnectAvailabilityStatus).includes(availability) ? availability : HealthConnectAvailabilityStatus.notInstalled;
190
+ }
191
+
192
+ /**
193
+ * Opens Health Connect installation
194
+ *
195
+ * Use if `checkHealthConnectAvailability()` returns `updateRequired` and you want the user to install it.
196
+ */
197
+ async openHealthConnectInstallation() {
198
+ if (Platform.OS !== 'android') return;
199
+ if (!SpikeSdk) throw new SpikeException();
200
+ await SpikeSdk.openHealthConnectInstallation(this.connectionUUID);
201
+ }
202
+
203
+ /**
204
+ * Enables Health Connect as a data provider for SpikeSDK
205
+ */
206
+ async enableHealthConnectIntegration() {
207
+ if (Platform.OS !== 'android') return;
208
+ if (!SpikeSdk) throw new SpikeException();
209
+ await SpikeSdk.enableHealthConnectIntegration(this.connectionUUID);
210
+ }
211
+
212
+ /**
213
+ * Disables Health Connect as a data provider for SpikeSDK.
214
+ * After this call SpikeSDK will stop asking for Health Connect data and will provide only data
215
+ * from other providers or data that was already gathered.
216
+ *
217
+ * This will not revoke any permissions. Call revokeAllHealthConnectPermissions() if want this.
218
+ */
219
+ async disableHealthConnectIntegration() {
220
+ if (Platform.OS !== 'android') return;
221
+ if (!SpikeSdk) throw new SpikeException();
222
+ await SpikeSdk.disableHealthConnectIntegration(this.connectionUUID);
223
+ }
224
+
225
+ /**
226
+ * Check if Health Connect integration in SpikeSDK is active or not
227
+ */
228
+ async isHealthConnectIntegrationEnabled() {
229
+ if (Platform.OS !== 'android') return false;
230
+ if (!SpikeSdk) throw new SpikeException();
231
+ return await SpikeSdk.isHealthConnectIntegrationEnabled(this.connectionUUID);
232
+ }
233
+
234
+ /**
235
+ * List all Health Connect permissions already granted by user
236
+ */
237
+ async getGrantedHealthConnectPermissions() {
238
+ if (Platform.OS !== 'android') return [];
239
+ if (!SpikeSdk) throw new SpikeException();
240
+ return await SpikeSdk.getGrantedHealthConnectPermissions(this.connectionUUID);
241
+ }
242
+
243
+ /**
244
+ * Convert Spike StatisticTypes into android permissions
245
+ */
246
+ async revokeAllHealthConnectPermissions() {
247
+ if (Platform.OS !== 'android') return;
248
+ if (!SpikeSdk) throw new SpikeException();
249
+ await SpikeSdk.revokeAllHealthConnectPermissions(this.connectionUUID);
250
+ }
251
+
252
+ /**
253
+ * Convert Spike StatisticTypes into android permissions
254
+ */
255
+ async getHealthConnectPermissions({
256
+ statisticTypes = [],
257
+ metricTypes = [],
258
+ activityConfigs = [],
259
+ sleepConfigs = [],
260
+ includeEnhancedPermissions = false,
261
+ includeBackgroundDelivery = false
262
+ }) {
263
+ if (Platform.OS !== 'android') return [];
264
+ if (!SpikeSdk) throw new SpikeException();
265
+ return await SpikeSdk.getHealthConnectPermissions(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)), includeEnhancedPermissions, includeBackgroundDelivery);
266
+ }
267
+
268
+ /**
269
+ * Checks if permissions are not yet granted and if there are missing permissions, asks
270
+ * user to give them
271
+ */
272
+ async requestPermissionsFromHealthConnect({
273
+ permissions
274
+ }) {
275
+ if (Platform.OS !== 'android') return false;
276
+ if (!SpikeSdk) throw new SpikeException();
277
+ return await SpikeSdk.requestPermissionsFromHealthConnect(this.connectionUUID, permissions);
278
+ }
279
+
280
+ // ------------------------- Samsung Health Data permissions -------------------------
281
+
282
+ /**
283
+ * Check if Samsung Health Data is available on the device.
284
+ *
285
+ * Possible return values of SamsungHealthDataAvailability.status field:
286
+ *
287
+ * notInstalled - Samsung Health is not installed. Ask user to install it.
288
+ *
289
+ * updateRequired - The version of Samsung Health is too old. Ask users to update it.
290
+ *
291
+ * disabled - The Samsung Health Data is installed but is disabled.
292
+ *
293
+ * notInitialized - Samsung Health has been installed but the user didn't perform an initial process, such as
294
+ * agreeing to the Terms and Conditions.
295
+ *
296
+ * errorOther - Samsung Health returned other error.
297
+ *
298
+ * installed - Samsung Health Data is available.
299
+ */
300
+ async checkSamsungHealthDataAvailability() {
301
+ if (Platform.OS !== 'android') return {
302
+ status: SamsungHealthDataAvailabilityStatus.notInstalled,
303
+ errorCode: 0,
304
+ message: "Not available on this platform"
305
+ };
306
+ if (!SpikeSdk) throw new SpikeException();
307
+ const result = await SpikeSdk.checkSamsungHealthDataAvailability(this.connectionUUID);
308
+ const jsonResult = JSON.parse(result);
309
+ const finalResult = snakeToCamel(jsonResult);
310
+ return finalResult;
311
+ }
312
+
313
+ /**
314
+ * Enables Samsung Health Data as a data provider for SpikeSDK
315
+ */
316
+ async enableSamsungHealthDataIntegration() {
317
+ if (Platform.OS !== 'android') return;
318
+ if (!SpikeSdk) throw new SpikeException();
319
+ await SpikeSdk.enableSamsungHealthDataIntegration(this.connectionUUID);
320
+ }
321
+
322
+ /**
323
+ * Disables Samsung Health Data as a data provider for SpikeSDK.
324
+ * After this call SpikeSDK will stop asking for Samsung Health Data.
325
+ *
326
+ * This will not revoke any permissions.
327
+ */
328
+ async disableSamsungHealthDataIntegration() {
329
+ if (Platform.OS !== 'android') return;
330
+ if (!SpikeSdk) throw new SpikeException();
331
+ await SpikeSdk.disableSamsungHealthDataIntegration(this.connectionUUID);
332
+ }
333
+
334
+ /**
335
+ * Check if Samsung Health Data integration in SpikeSDK is active or not
336
+ */
337
+ async isSamsungHealthDataIntegrationEnabled() {
338
+ if (Platform.OS !== 'android') return false;
339
+ if (!SpikeSdk) throw new SpikeException();
340
+ return await SpikeSdk.isSamsungHealthDataIntegrationEnabled(this.connectionUUID);
341
+ }
342
+
343
+ /**
344
+ * List all Samsung Health Data permissions already granted by user
345
+ */
346
+ async getGrantedSamsungHealthDataPermissions() {
347
+ if (Platform.OS !== 'android') return [];
348
+ if (!SpikeSdk) throw new SpikeException();
349
+ return await SpikeSdk.getGrantedSamsungHealthDataPermissions(this.connectionUUID);
350
+ }
351
+
352
+ /**
353
+ * Convert Spike types into Samsung Health Data permissions
354
+ */
355
+ async getSamsungHealthDataPermissions({
356
+ statisticTypes = [],
357
+ metricTypes = [],
358
+ activityConfigs = [],
359
+ sleepConfigs = []
360
+ }) {
361
+ if (Platform.OS !== 'android') return [];
362
+ if (!SpikeSdk) throw new SpikeException();
363
+ return await SpikeSdk.getSamsungHealthDataPermissions(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)));
364
+ }
365
+
366
+ /**
367
+ * Initiates the permission request flow with Samsung Health Data.
368
+ * This function will check for existing permissions and, if necessary,
369
+ * prompt the user to grant access to the required permissions.
370
+ *
371
+ * @param statisticTypes The set of statistics types to request permissions for.
372
+ * @param metricTypes The set of metric types to request permissions for.
373
+ * @param activityConfigs The set of activity configurations to request permissions for.
374
+ * @param sleepConfigs The set of sleep configurations to request permissions for.
375
+ *
376
+ * @return A set of permission names that the user granted access to.
377
+ */
378
+ async requestPermissionsFromSamsungHealthData({
379
+ statisticTypes = [],
380
+ metricTypes = [],
381
+ activityConfigs = [],
382
+ sleepConfigs = []
383
+ }) {
384
+ if (Platform.OS !== 'android') return [];
385
+ if (!SpikeSdk) throw new SpikeException();
386
+ return await SpikeSdk.requestPermissionsFromSamsungHealthData(this.connectionUUID, statisticTypes, metricTypes, activityConfigs.map(object => JSON.stringify(object)), sleepConfigs.map(object => JSON.stringify(object)));
387
+ }
388
+ }
389
+ //# sourceMappingURL=SpikeRNConnectionAPIv3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","SpikeException","SpikeSdk","snakeToCamel","HealthConnectAvailabilityStatus","SamsungHealthDataAvailabilityStatus","SpikeRNConnectionAPIv3","constructor","connectionUUID","getUserInfo","result","jsonResult","JSON","parse","finalResult","getIntegrationInitUrl","provider","config","stringify","getStatistics","ofTypes","from","to","interval","filter","undefined","stringTypes","map","item","toISOString","getRecords","getActivities","getSleep","getUserProperties","types","requestHealthPermissions","statisticTypes","metricTypes","activityConfigs","sleepConfigs","includeEnhancedPermissions","includeBackgroundDelivery","OS","requestPermissionsFromHealthKit","object","enableHealthConnectIntegration","permissions","getHealthConnectPermissions","requestPermissionsFromHealthConnect","console","log","enableBackgroundDelivery","enableBackgroundDeliveryV3","disableBackgroundDelivery","getBackgroundDeliveryConfig","checkHealthConnectAvailability","notInstalled","availability","Object","values","includes","openHealthConnectInstallation","disableHealthConnectIntegration","isHealthConnectIntegrationEnabled","getGrantedHealthConnectPermissions","revokeAllHealthConnectPermissions","checkSamsungHealthDataAvailability","status","errorCode","message","enableSamsungHealthDataIntegration","disableSamsungHealthDataIntegration","isSamsungHealthDataIntegrationEnabled","getGrantedSamsungHealthDataPermissions","getSamsungHealthDataPermissions","requestPermissionsFromSamsungHealthData"],"sourceRoot":"../../../src","sources":["v3/SpikeRNConnectionAPIv3.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ export class StatisticsFilter {
4
+ excludeManual = false;
5
+ constructor({
6
+ excludeManual = false,
7
+ providers = undefined,
8
+ activityTags = undefined
9
+ }) {
10
+ this.excludeManual = excludeManual;
11
+ this.providers = providers;
12
+ this.activityTags = activityTags;
13
+ }
14
+ }
15
+ //# sourceMappingURL=StatisticsFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StatisticsFilter","excludeManual","constructor","providers","undefined","activityTags"],"sourceRoot":"../../../src","sources":["v3/StatisticsFilter.ts"],"mappings":";;AASA,OAAO,MAAMA,gBAAgB,CAAC;EAC1BC,aAAa,GAAY,KAAK;EAI9BC,WAAWA,CAAC;IACRD,aAAa,GAAG,KAAK;IACrBE,SAAS,GAAGC,SAAS;IACrBC,YAAY,GAAGD;EACoB,CAAC,EAAE;IACtC,IAAI,CAACH,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACE,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACE,YAAY,GAAGA,YAAY;EACpC;AACJ","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ // This file is auto-generated. Do not edit manually.
4
+ export const SPIKE_SDK_VERSION = "4.3.73";
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SPIKE_SDK_VERSION"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;AAAA;AACA,OAAO,MAAMA,iBAAiB,GAAG,QAAQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export declare const SPIKE_SDK_VERSION = "4.3.73-beta.3";
1
+ export declare const SPIKE_SDK_VERSION = "4.3.73";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,kBAAkB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spike-sdk",
3
- "version": "4.3.73-beta.3",
3
+ "version": "4.3.73",
4
4
  "iosVersion": "4.3.51",
5
5
  "description": "Spike API for health and productivity data from wearables and IoT devices",
6
6
  "main": "lib/commonjs/index",
@@ -34,6 +34,7 @@
34
34
  "scripts": {
35
35
  "test": "jest",
36
36
  "typecheck": "tsc --noEmit",
37
+ "prepack": "npm run generate-version && bob build",
37
38
  "example": "yarn --cwd example",
38
39
  "bootstrap": "yarn example && yarn install && yarn example pods",
39
40
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build",
package/src/version.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  // This file is auto-generated. Do not edit manually.
2
- export const SPIKE_SDK_VERSION = "4.3.73-beta.3";
2
+ export const SPIKE_SDK_VERSION = "4.3.73";
3
3