react-native-spike-sdk 4.5.23 → 4.7.13

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 (193) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/spikesdk/SpikeMappers.kt +0 -46
  3. package/android/src/main/java/com/spikesdk/SpikeSdkModule.kt +50 -483
  4. package/ios/SpikeExceptionMapper.swift +4 -12
  5. package/ios/SpikeSdk.m +8 -79
  6. package/ios/SpikeSdk.swift +62 -419
  7. package/lib/commonjs/Spike.js +1 -57
  8. package/lib/commonjs/Spike.js.map +1 -1
  9. package/lib/commonjs/SpikeException.js +15 -94
  10. package/lib/commonjs/SpikeException.js.map +1 -1
  11. package/lib/commonjs/index.js +0 -71
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/v3/SpikeRNConnectionAPIv3.js +40 -17
  14. package/lib/commonjs/v3/SpikeRNConnectionAPIv3.js.map +1 -1
  15. package/lib/commonjs/version.js +1 -1
  16. package/lib/module/Spike.js +1 -55
  17. package/lib/module/Spike.js.map +1 -1
  18. package/lib/module/SpikeException.js +14 -83
  19. package/lib/module/SpikeException.js.map +1 -1
  20. package/lib/module/index.js +3 -8
  21. package/lib/module/index.js.map +1 -1
  22. package/lib/module/v3/SpikeRNConnectionAPIv3.js +40 -17
  23. package/lib/module/v3/SpikeRNConnectionAPIv3.js.map +1 -1
  24. package/lib/module/version.js +1 -1
  25. package/lib/typescript/Spike.d.ts +2 -29
  26. package/lib/typescript/Spike.d.ts.map +1 -1
  27. package/lib/typescript/SpikeException.d.ts +5 -30
  28. package/lib/typescript/SpikeException.d.ts.map +1 -1
  29. package/lib/typescript/index.d.ts +6 -25
  30. package/lib/typescript/index.d.ts.map +1 -1
  31. package/lib/typescript/v3/DataModels/BackgroundDeliveryConfig.d.ts +2 -0
  32. package/lib/typescript/v3/DataModels/BackgroundDeliveryConfig.d.ts.map +1 -1
  33. package/lib/typescript/v3/SpikeRNConnectionAPIv3.d.ts +34 -9
  34. package/lib/typescript/v3/SpikeRNConnectionAPIv3.d.ts.map +1 -1
  35. package/lib/typescript/version.d.ts +1 -1
  36. package/package.json +2 -2
  37. package/src/Spike.ts +4 -89
  38. package/src/SpikeException.ts +13 -96
  39. package/src/index.ts +2 -61
  40. package/src/v3/DataModels/BackgroundDeliveryConfig.ts +2 -0
  41. package/src/v3/SpikeRNConnectionAPIv3.ts +82 -19
  42. package/src/version.ts +1 -1
  43. package/android/src/main/java/com/spikesdk/SpikeConnectionLogger.kt +0 -37
  44. package/ios/SpikeConnectionListener.swift +0 -17
  45. package/ios/SpikeConnectionLogger.swift +0 -43
  46. package/ios/SpikeDataTypeMapper.swift +0 -255
  47. package/lib/commonjs/DataModels/SpikeActivitiesStreamDataEntry.js +0 -2
  48. package/lib/commonjs/DataModels/SpikeActivitiesStreamDataEntry.js.map +0 -1
  49. package/lib/commonjs/DataModels/SpikeActivitiesSummaryDataEntry.js +0 -2
  50. package/lib/commonjs/DataModels/SpikeActivitiesSummaryDataEntry.js.map +0 -1
  51. package/lib/commonjs/DataModels/SpikeBodyDataEntry.js +0 -2
  52. package/lib/commonjs/DataModels/SpikeBodyDataEntry.js.map +0 -1
  53. package/lib/commonjs/DataModels/SpikeBreathingDataEntry.js +0 -2
  54. package/lib/commonjs/DataModels/SpikeBreathingDataEntry.js.map +0 -1
  55. package/lib/commonjs/DataModels/SpikeCaloriesDataEntry.js +0 -2
  56. package/lib/commonjs/DataModels/SpikeCaloriesDataEntry.js.map +0 -1
  57. package/lib/commonjs/DataModels/SpikeData.js +0 -6
  58. package/lib/commonjs/DataModels/SpikeData.js.map +0 -1
  59. package/lib/commonjs/DataModels/SpikeDataTypes.js +0 -23
  60. package/lib/commonjs/DataModels/SpikeDataTypes.js.map +0 -1
  61. package/lib/commonjs/DataModels/SpikeDistanceDataEntry.js +0 -2
  62. package/lib/commonjs/DataModels/SpikeDistanceDataEntry.js.map +0 -1
  63. package/lib/commonjs/DataModels/SpikeEcgDataEntry.js +0 -2
  64. package/lib/commonjs/DataModels/SpikeEcgDataEntry.js.map +0 -1
  65. package/lib/commonjs/DataModels/SpikeGlucoseDataEntry.js +0 -2
  66. package/lib/commonjs/DataModels/SpikeGlucoseDataEntry.js.map +0 -1
  67. package/lib/commonjs/DataModels/SpikeHeartDataEntry.js +0 -2
  68. package/lib/commonjs/DataModels/SpikeHeartDataEntry.js.map +0 -1
  69. package/lib/commonjs/DataModels/SpikeOxygenSaturationDataEntry.js +0 -2
  70. package/lib/commonjs/DataModels/SpikeOxygenSaturationDataEntry.js.map +0 -1
  71. package/lib/commonjs/DataModels/SpikeSleepDataEntry.js +0 -2
  72. package/lib/commonjs/DataModels/SpikeSleepDataEntry.js.map +0 -1
  73. package/lib/commonjs/DataModels/SpikeStepsDataEntry.js +0 -2
  74. package/lib/commonjs/DataModels/SpikeStepsDataEntry.js.map +0 -1
  75. package/lib/commonjs/DataModels/SpikeStepsIntradayDataEntry.js +0 -2
  76. package/lib/commonjs/DataModels/SpikeStepsIntradayDataEntry.js.map +0 -1
  77. package/lib/commonjs/DataModels/SpikeWebhookJob.js +0 -2
  78. package/lib/commonjs/DataModels/SpikeWebhookJob.js.map +0 -1
  79. package/lib/commonjs/DataTypes/SpikeDataType.js +0 -59
  80. package/lib/commonjs/DataTypes/SpikeDataType.js.map +0 -1
  81. package/lib/commonjs/SpikeBackgroundDeliveriesLogger.js +0 -2
  82. package/lib/commonjs/SpikeBackgroundDeliveriesLogger.js.map +0 -1
  83. package/lib/commonjs/SpikeConnection.js +0 -301
  84. package/lib/commonjs/SpikeConnection.js.map +0 -1
  85. package/lib/commonjs/SpikeConnectionTypes.js +0 -6
  86. package/lib/commonjs/SpikeConnectionTypes.js.map +0 -1
  87. package/lib/commonjs/SpikeLogger.js +0 -6
  88. package/lib/commonjs/SpikeLogger.js.map +0 -1
  89. package/lib/module/DataModels/SpikeActivitiesStreamDataEntry.js +0 -2
  90. package/lib/module/DataModels/SpikeActivitiesStreamDataEntry.js.map +0 -1
  91. package/lib/module/DataModels/SpikeActivitiesSummaryDataEntry.js +0 -2
  92. package/lib/module/DataModels/SpikeActivitiesSummaryDataEntry.js.map +0 -1
  93. package/lib/module/DataModels/SpikeBodyDataEntry.js +0 -2
  94. package/lib/module/DataModels/SpikeBodyDataEntry.js.map +0 -1
  95. package/lib/module/DataModels/SpikeBreathingDataEntry.js +0 -2
  96. package/lib/module/DataModels/SpikeBreathingDataEntry.js.map +0 -1
  97. package/lib/module/DataModels/SpikeCaloriesDataEntry.js +0 -2
  98. package/lib/module/DataModels/SpikeCaloriesDataEntry.js.map +0 -1
  99. package/lib/module/DataModels/SpikeData.js +0 -4
  100. package/lib/module/DataModels/SpikeData.js.map +0 -1
  101. package/lib/module/DataModels/SpikeDataTypes.js +0 -19
  102. package/lib/module/DataModels/SpikeDataTypes.js.map +0 -1
  103. package/lib/module/DataModels/SpikeDistanceDataEntry.js +0 -2
  104. package/lib/module/DataModels/SpikeDistanceDataEntry.js.map +0 -1
  105. package/lib/module/DataModels/SpikeEcgDataEntry.js +0 -2
  106. package/lib/module/DataModels/SpikeEcgDataEntry.js.map +0 -1
  107. package/lib/module/DataModels/SpikeGlucoseDataEntry.js +0 -2
  108. package/lib/module/DataModels/SpikeGlucoseDataEntry.js.map +0 -1
  109. package/lib/module/DataModels/SpikeHeartDataEntry.js +0 -2
  110. package/lib/module/DataModels/SpikeHeartDataEntry.js.map +0 -1
  111. package/lib/module/DataModels/SpikeOxygenSaturationDataEntry.js +0 -2
  112. package/lib/module/DataModels/SpikeOxygenSaturationDataEntry.js.map +0 -1
  113. package/lib/module/DataModels/SpikeSleepDataEntry.js +0 -2
  114. package/lib/module/DataModels/SpikeSleepDataEntry.js.map +0 -1
  115. package/lib/module/DataModels/SpikeStepsDataEntry.js +0 -2
  116. package/lib/module/DataModels/SpikeStepsDataEntry.js.map +0 -1
  117. package/lib/module/DataModels/SpikeStepsIntradayDataEntry.js +0 -2
  118. package/lib/module/DataModels/SpikeStepsIntradayDataEntry.js.map +0 -1
  119. package/lib/module/DataModels/SpikeWebhookJob.js +0 -2
  120. package/lib/module/DataModels/SpikeWebhookJob.js.map +0 -1
  121. package/lib/module/DataTypes/SpikeDataType.js +0 -42
  122. package/lib/module/DataTypes/SpikeDataType.js.map +0 -1
  123. package/lib/module/SpikeBackgroundDeliveriesLogger.js +0 -2
  124. package/lib/module/SpikeBackgroundDeliveriesLogger.js.map +0 -1
  125. package/lib/module/SpikeConnection.js +0 -296
  126. package/lib/module/SpikeConnection.js.map +0 -1
  127. package/lib/module/SpikeConnectionTypes.js +0 -4
  128. package/lib/module/SpikeConnectionTypes.js.map +0 -1
  129. package/lib/module/SpikeLogger.js +0 -4
  130. package/lib/module/SpikeLogger.js.map +0 -1
  131. package/lib/typescript/DataModels/SpikeActivitiesStreamDataEntry.d.ts +0 -66
  132. package/lib/typescript/DataModels/SpikeActivitiesStreamDataEntry.d.ts.map +0 -1
  133. package/lib/typescript/DataModels/SpikeActivitiesSummaryDataEntry.d.ts +0 -29
  134. package/lib/typescript/DataModels/SpikeActivitiesSummaryDataEntry.d.ts.map +0 -1
  135. package/lib/typescript/DataModels/SpikeBodyDataEntry.d.ts +0 -54
  136. package/lib/typescript/DataModels/SpikeBodyDataEntry.d.ts.map +0 -1
  137. package/lib/typescript/DataModels/SpikeBreathingDataEntry.d.ts +0 -13
  138. package/lib/typescript/DataModels/SpikeBreathingDataEntry.d.ts.map +0 -1
  139. package/lib/typescript/DataModels/SpikeCaloriesDataEntry.d.ts +0 -15
  140. package/lib/typescript/DataModels/SpikeCaloriesDataEntry.d.ts.map +0 -1
  141. package/lib/typescript/DataModels/SpikeData.d.ts +0 -27
  142. package/lib/typescript/DataModels/SpikeData.d.ts.map +0 -1
  143. package/lib/typescript/DataModels/SpikeDataTypes.d.ts +0 -17
  144. package/lib/typescript/DataModels/SpikeDataTypes.d.ts.map +0 -1
  145. package/lib/typescript/DataModels/SpikeDistanceDataEntry.d.ts +0 -13
  146. package/lib/typescript/DataModels/SpikeDistanceDataEntry.d.ts.map +0 -1
  147. package/lib/typescript/DataModels/SpikeEcgDataEntry.d.ts +0 -13
  148. package/lib/typescript/DataModels/SpikeEcgDataEntry.d.ts.map +0 -1
  149. package/lib/typescript/DataModels/SpikeGlucoseDataEntry.d.ts +0 -21
  150. package/lib/typescript/DataModels/SpikeGlucoseDataEntry.d.ts.map +0 -1
  151. package/lib/typescript/DataModels/SpikeHeartDataEntry.d.ts +0 -32
  152. package/lib/typescript/DataModels/SpikeHeartDataEntry.d.ts.map +0 -1
  153. package/lib/typescript/DataModels/SpikeOxygenSaturationDataEntry.d.ts +0 -15
  154. package/lib/typescript/DataModels/SpikeOxygenSaturationDataEntry.d.ts.map +0 -1
  155. package/lib/typescript/DataModels/SpikeSleepDataEntry.d.ts +0 -30
  156. package/lib/typescript/DataModels/SpikeSleepDataEntry.d.ts.map +0 -1
  157. package/lib/typescript/DataModels/SpikeStepsDataEntry.d.ts +0 -13
  158. package/lib/typescript/DataModels/SpikeStepsDataEntry.d.ts.map +0 -1
  159. package/lib/typescript/DataModels/SpikeStepsIntradayDataEntry.d.ts +0 -17
  160. package/lib/typescript/DataModels/SpikeStepsIntradayDataEntry.d.ts.map +0 -1
  161. package/lib/typescript/DataModels/SpikeWebhookJob.d.ts +0 -11
  162. package/lib/typescript/DataModels/SpikeWebhookJob.d.ts.map +0 -1
  163. package/lib/typescript/DataTypes/SpikeDataType.d.ts +0 -68
  164. package/lib/typescript/DataTypes/SpikeDataType.d.ts.map +0 -1
  165. package/lib/typescript/SpikeBackgroundDeliveriesLogger.d.ts +0 -4
  166. package/lib/typescript/SpikeBackgroundDeliveriesLogger.d.ts.map +0 -1
  167. package/lib/typescript/SpikeConnection.d.ts +0 -63
  168. package/lib/typescript/SpikeConnection.d.ts.map +0 -1
  169. package/lib/typescript/SpikeConnectionTypes.d.ts +0 -102
  170. package/lib/typescript/SpikeConnectionTypes.d.ts.map +0 -1
  171. package/lib/typescript/SpikeLogger.d.ts +0 -13
  172. package/lib/typescript/SpikeLogger.d.ts.map +0 -1
  173. package/src/DataModels/SpikeActivitiesStreamDataEntry.ts +0 -67
  174. package/src/DataModels/SpikeActivitiesSummaryDataEntry.ts +0 -28
  175. package/src/DataModels/SpikeBodyDataEntry.ts +0 -61
  176. package/src/DataModels/SpikeBreathingDataEntry.ts +0 -12
  177. package/src/DataModels/SpikeCaloriesDataEntry.ts +0 -13
  178. package/src/DataModels/SpikeData.ts +0 -38
  179. package/src/DataModels/SpikeDataTypes.ts +0 -31
  180. package/src/DataModels/SpikeDistanceDataEntry.ts +0 -12
  181. package/src/DataModels/SpikeEcgDataEntry.ts +0 -12
  182. package/src/DataModels/SpikeGlucoseDataEntry.ts +0 -20
  183. package/src/DataModels/SpikeHeartDataEntry.ts +0 -34
  184. package/src/DataModels/SpikeOxygenSaturationDataEntry.ts +0 -14
  185. package/src/DataModels/SpikeSleepDataEntry.ts +0 -29
  186. package/src/DataModels/SpikeStepsDataEntry.ts +0 -12
  187. package/src/DataModels/SpikeStepsIntradayDataEntry.ts +0 -16
  188. package/src/DataModels/SpikeWebhookJob.ts +0 -10
  189. package/src/DataTypes/SpikeDataType.ts +0 -93
  190. package/src/SpikeBackgroundDeliveriesLogger.ts +0 -3
  191. package/src/SpikeConnection.ts +0 -495
  192. package/src/SpikeConnectionTypes.ts +0 -124
  193. package/src/SpikeLogger.ts +0 -14
package/src/index.ts CHANGED
@@ -1,49 +1,16 @@
1
- import { SpikeDataTypes } from './DataModels/SpikeDataTypes';
2
- import type { SpikeData, SpikeDataEntry } from './DataModels/SpikeData';
3
1
  import {
4
- createConnection,
5
- getBackgroundConnections,
6
- ensurePermissionsAreGranted,
7
2
  isPackageInstalled,
8
3
  isHealthDataAvailable,
9
4
  setLogCallback,
10
- SpikeConnectionConfig,
11
5
  SpikeLogCallback,
12
6
  createConnectionAPIv3,
13
7
  createConnectionAPIv3Legacy,
14
8
  } from './Spike';
15
- import { SpikeConnection } from './SpikeConnection';
16
- import type { SpikeLogger } from './SpikeLogger';
17
- import type { SpikeBackgroundDeliveriesLogger } from './SpikeBackgroundDeliveriesLogger';
18
- import type { SpikeDataType } from './SpikeConnectionTypes';
19
9
  import {
20
10
  SpikeException,
21
- SpikeConnectionIsClosedException,
22
- SpikeInvalidCredentialsException,
23
- SpikeInvalidDateRangeException,
24
- SpikeInvalidCallbackUrlException,
25
- SpikePackException,
26
- SpikePermissionsNotGrantedException,
27
- SpikeServerException,
28
- SpikeUnpackException,
29
- SpikeCallbackURLNotProvidedException,
30
11
  } from './SpikeException';
31
- import type { SpikeActivitiesSummaryDataEntry } from './DataModels/SpikeActivitiesSummaryDataEntry';
32
- import type { SpikeActivitiesStreamDataEntry } from './DataModels/SpikeActivitiesStreamDataEntry';
33
- import type { SpikeBreathingDataEntry } from './DataModels/SpikeBreathingDataEntry';
34
- import type { SpikeCaloriesDataEntry } from './DataModels/SpikeCaloriesDataEntry';
35
- import type { SpikeDistanceDataEntry } from './DataModels/SpikeDistanceDataEntry';
36
- import type { SpikeGlucoseDataEntry } from './DataModels/SpikeGlucoseDataEntry';
37
- import type { SpikeHeartDataEntry } from './DataModels/SpikeHeartDataEntry';
38
- import type { SpikeOxygenSaturationDataEntry } from './DataModels/SpikeOxygenSaturationDataEntry';
39
- import type { SpikeSleepDataEntry } from './DataModels/SpikeSleepDataEntry';
40
- import type { SpikeStepsDataEntry } from './DataModels/SpikeStepsDataEntry';
41
- import type { SpikeBodyDataEntry } from './DataModels/SpikeBodyDataEntry';
42
12
 
43
13
  export default {
44
- createConnection,
45
- getBackgroundConnections,
46
- ensurePermissionsAreGranted,
47
14
  isPackageInstalled,
48
15
  isHealthDataAvailable,
49
16
  // V3
@@ -52,37 +19,9 @@ export default {
52
19
  setLogCallback,
53
20
  };
54
21
  export {
55
- SpikeConnection,
56
- SpikeDataTypes,
57
- SpikeDataType,
58
- SpikeDataEntry,
59
- SpikeLogger,
60
- SpikeBackgroundDeliveriesLogger,
61
22
  SpikeException,
62
- SpikeConnectionIsClosedException,
63
- SpikeInvalidCredentialsException,
64
- SpikeInvalidDateRangeException,
65
- SpikeInvalidCallbackUrlException,
66
- SpikePackException,
67
- SpikePermissionsNotGrantedException,
68
- SpikeServerException,
69
- SpikeUnpackException,
70
- SpikeCallbackURLNotProvidedException,
71
- SpikeData,
72
- SpikeActivitiesSummaryDataEntry,
73
- SpikeActivitiesStreamDataEntry,
74
- SpikeBreathingDataEntry,
75
- SpikeCaloriesDataEntry,
76
- SpikeDistanceDataEntry,
77
- SpikeGlucoseDataEntry,
78
- SpikeHeartDataEntry,
79
- SpikeOxygenSaturationDataEntry,
80
- SpikeSleepDataEntry,
81
- SpikeStepsDataEntry,
82
- SpikeBodyDataEntry,
83
23
  };
84
24
  export type {
85
- SpikeConnectionConfig,
86
25
  SpikeLogCallback,
87
26
  }
88
27
 
@@ -113,6 +52,7 @@ import type { SpikeRecord } from './v3/DataModels/SpikeRecord';
113
52
  import type { Statistic } from './v3/DataModels/Statistic';
114
53
  import type { UUID } from './v3/DataModels/UUID';
115
54
  import type { UserInfoResponse, UserInfoIntegratedProvider } from './v3/DataModels/UserInfoResponse';
55
+ import type { UserProperties } from './v3/DataModels/UserProperties';
116
56
  import { BackgroundDeliveryConfig } from './v3/DataModels/BackgroundDeliveryConfig';
117
57
  import { SamsungHealthDataAvailability } from './v3/DataModels/SamsungHealthDataAvailability';
118
58
  import { IntegrationInitConfig } from './v3/SpikeRNConnectionAPIv3';
@@ -182,6 +122,7 @@ export type {
182
122
  SleepConfigConstructorInterface,
183
123
  RecordConfigConstructorParameters,
184
124
  BackgroundDeliveryConfig,
125
+ UserProperties,
185
126
  SamsungHealthDataAvailability,
186
127
  IntegrationInitConfig,
187
128
  // Nutrition AI types
@@ -2,6 +2,7 @@ import type { StatisticsType } from "./StatisticsType";
2
2
  import type { MetricType } from "./MetricType";
3
3
  import type { ActivityConfig } from "./ActivityConfig";
4
4
  import type { SleepConfig } from "./SleepConfig";
5
+ import type { NutritionalField } from "./NutritionalField";
5
6
 
6
7
 
7
8
  // This is auto-generated file. Please do not edit it!
@@ -11,6 +12,7 @@ export interface BackgroundDeliveryConfig {
11
12
  metricTypes: MetricType[] | null;
12
13
  activityConfigs: ActivityConfig[] | null;
13
14
  sleepConfigs: SleepConfig[] | null;
15
+ nutritionalFields: NutritionalField[] | null;
14
16
  healthConnectEnabled: boolean | null;
15
17
  samsungHealthDataEnabled: boolean | null;
16
18
  }
@@ -24,6 +24,7 @@ import type { NutritionRecordAnalysisResult } from "./DataModels/NutritionRecord
24
24
  import type { NutritionalAnalysisConfig } from "./DataModels/NutritionalAnalysisConfig";
25
25
  import type { NutritionFactsLabelRecognitionConfig } from "./DataModels/NutritionFactsLabelRecognitionConfig";
26
26
  import type { NutritionFactsLabelRecognitionResult } from "./DataModels/NutritionFactsLabelRecognitionResult";
27
+ import type { NutritionalField } from "./DataModels/NutritionalField";
27
28
 
28
29
 
29
30
  export interface IntegrationInitConfig {
@@ -52,6 +53,8 @@ export interface GetHealthConnectPermissionsParameters {
52
53
  activityConfigs?: ActivityConfig[],
53
54
  /** Array of sleep configuration objects for which permissions are requested. Optional. */
54
55
  sleepConfigs?: SleepConfig[],
56
+ /** Array of nutritional fields for which permissions are requested. Optional. */
57
+ nutritionalFields?: NutritionalField[],
55
58
  /** Whether to include enhanced permissions. Optional. Defaults to false. */
56
59
  includeEnhancedPermissions?: Boolean,
57
60
  /** Whether to include background delivery permissions. Optional. Defaults to false. */
@@ -68,6 +71,15 @@ export class SpikeRNConnectionAPIv3 {
68
71
  this.connectionUUID = connectionUUID;
69
72
  }
70
73
 
74
+ /**
75
+ * Closes the SDK connection and releases the native connection handle.
76
+ */
77
+ async close(): Promise<void> {
78
+ if (!SpikeSdk) throw new SpikeException();
79
+
80
+ await SpikeSdk.closeV3(this.connectionUUID);
81
+ }
82
+
71
83
  /**
72
84
  * Get information about current user, the most important of which is the list of provider
73
85
  * integrations.
@@ -314,6 +326,7 @@ export class SpikeRNConnectionAPIv3 {
314
326
  metricTypes = [],
315
327
  activityConfigs = [],
316
328
  sleepConfigs = [],
329
+ nutritionalFields = [],
317
330
  includeEnhancedPermissions = false,
318
331
  includeBackgroundDelivery = false
319
332
  }: {
@@ -337,6 +350,11 @@ export class SpikeRNConnectionAPIv3 {
337
350
  * Optional. Defaults to an empty array.
338
351
  */
339
352
  sleepConfigs?: SleepConfig[],
353
+ /**
354
+ * Array of nutritional fields for which to request health permissions.
355
+ * Optional. Defaults to an empty array.
356
+ */
357
+ nutritionalFields?: NutritionalField[],
340
358
  /**
341
359
  * Whether to include enhanced permissions (e.g., granular or additional permissions).
342
360
  * Optional. Defaults to false.
@@ -356,7 +374,8 @@ export class SpikeRNConnectionAPIv3 {
356
374
  statisticTypes,
357
375
  metricTypes,
358
376
  activityConfigs.map((object) => JSON.stringify(object)),
359
- sleepConfigs.map((object) => JSON.stringify(object))
377
+ sleepConfigs.map((object) => JSON.stringify(object)),
378
+ nutritionalFields
360
379
  )
361
380
  }
362
381
 
@@ -368,6 +387,7 @@ export class SpikeRNConnectionAPIv3 {
368
387
  metricTypes,
369
388
  activityConfigs.map((object) => JSON.stringify(object)),
370
389
  sleepConfigs.map((object) => JSON.stringify(object)),
390
+ nutritionalFields,
371
391
  includeEnhancedPermissions,
372
392
  includeBackgroundDelivery
373
393
  )
@@ -404,7 +424,8 @@ export class SpikeRNConnectionAPIv3 {
404
424
  statisticTypes = [],
405
425
  metricTypes = [],
406
426
  activityConfigs = [],
407
- sleepConfigs = []
427
+ sleepConfigs = [],
428
+ nutritionalFields = []
408
429
  }:{
409
430
  /**
410
431
  * Array of statistic types for which background delivery should be enabled.
@@ -426,6 +447,11 @@ export class SpikeRNConnectionAPIv3 {
426
447
  * Optional. Defaults to an empty array.
427
448
  */
428
449
  sleepConfigs?: SleepConfig[],
450
+ /**
451
+ * Array of nutritional fields for background delivery.
452
+ * Optional. Defaults to an empty array.
453
+ */
454
+ nutritionalFields?: NutritionalField[],
429
455
  }): Promise<void> {
430
456
  if (!SpikeSdk) throw new SpikeException();
431
457
 
@@ -437,7 +463,8 @@ export class SpikeRNConnectionAPIv3 {
437
463
  statisticTypes,
438
464
  metricTypes,
439
465
  activityConfigs.map((object) => JSON.stringify(object)),
440
- sleepConfigs.map((object) => JSON.stringify(object))
466
+ sleepConfigs.map((object) => JSON.stringify(object)),
467
+ nutritionalFields
441
468
  )
442
469
  } else {
443
470
  await SpikeSdk.enableBackgroundDelivery(
@@ -445,7 +472,8 @@ export class SpikeRNConnectionAPIv3 {
445
472
  statisticTypes,
446
473
  metricTypes,
447
474
  activityConfigs.map((object) => JSON.stringify(object)),
448
- sleepConfigs.map((object) => JSON.stringify(object))
475
+ sleepConfigs.map((object) => JSON.stringify(object)),
476
+ nutritionalFields
449
477
  )
450
478
  }
451
479
  }
@@ -467,7 +495,8 @@ export class SpikeRNConnectionAPIv3 {
467
495
  statisticTypes = [],
468
496
  metricTypes = [],
469
497
  activityConfigs = [],
470
- sleepConfigs = []
498
+ sleepConfigs = [],
499
+ nutritionalFields = []
471
500
  }: {
472
501
  /** Number of days to backfill. If not provided, uses the value from Spike dashboard config. */
473
502
  days?: number,
@@ -479,17 +508,32 @@ export class SpikeRNConnectionAPIv3 {
479
508
  activityConfigs?: ActivityConfig[],
480
509
  /** Array of sleep configuration objects to backfill. */
481
510
  sleepConfigs?: SleepConfig[],
511
+ /** Array of nutritional fields to backfill. */
512
+ nutritionalFields?: NutritionalField[],
482
513
  }): Promise<void> {
483
514
  if (!SpikeSdk) throw new SpikeException();
484
515
 
485
- await SpikeSdk.backfill(
486
- this.connectionUUID,
487
- statisticTypes,
488
- metricTypes,
489
- activityConfigs.map((object) => JSON.stringify(object)),
490
- sleepConfigs.map((object) => JSON.stringify(object)),
491
- days !== undefined ? String(days) : null
492
- )
516
+ if (Platform.OS == 'ios') {
517
+ await SpikeSdk.backfill(
518
+ this.connectionUUID,
519
+ statisticTypes,
520
+ metricTypes,
521
+ activityConfigs.map((object) => JSON.stringify(object)),
522
+ sleepConfigs.map((object) => JSON.stringify(object)),
523
+ nutritionalFields,
524
+ days !== undefined ? String(days) : null
525
+ )
526
+ } else {
527
+ await SpikeSdk.backfill(
528
+ this.connectionUUID,
529
+ statisticTypes,
530
+ metricTypes,
531
+ activityConfigs.map((object) => JSON.stringify(object)),
532
+ sleepConfigs.map((object) => JSON.stringify(object)),
533
+ nutritionalFields,
534
+ days !== undefined ? String(days) : null
535
+ )
536
+ }
493
537
  }
494
538
 
495
539
  /**
@@ -571,7 +615,8 @@ export class SpikeRNConnectionAPIv3 {
571
615
  statisticTypes = [],
572
616
  metricTypes = [],
573
617
  activityConfigs = [],
574
- sleepConfigs = []
618
+ sleepConfigs = [],
619
+ nutritionalFields = []
575
620
  }: {
576
621
  /** Number of days to backfill. If not provided, uses the value from Spike dashboard config. */
577
622
  days?: number,
@@ -583,6 +628,8 @@ export class SpikeRNConnectionAPIv3 {
583
628
  activityConfigs?: ActivityConfig[],
584
629
  /** Array of sleep configuration objects. */
585
630
  sleepConfigs?: SleepConfig[],
631
+ /** Array of nutritional fields. */
632
+ nutritionalFields?: NutritionalField[],
586
633
  }): Promise<void> {
587
634
  if (Platform.OS !== 'ios') return;
588
635
  if (!SpikeSdk) throw new SpikeException();
@@ -593,6 +640,7 @@ export class SpikeRNConnectionAPIv3 {
593
640
  metricTypes,
594
641
  activityConfigs.map((object) => JSON.stringify(object)),
595
642
  sleepConfigs.map((object) => JSON.stringify(object)),
643
+ nutritionalFields,
596
644
  days !== undefined ? String(days) : null
597
645
  );
598
646
  }
@@ -714,6 +762,7 @@ export class SpikeRNConnectionAPIv3 {
714
762
  metricTypes = [],
715
763
  activityConfigs = [],
716
764
  sleepConfigs = [],
765
+ nutritionalFields = [],
717
766
  includeEnhancedPermissions = false,
718
767
  includeBackgroundDelivery = false
719
768
  }: GetHealthConnectPermissionsParameters): Promise<string[]> {
@@ -726,6 +775,7 @@ export class SpikeRNConnectionAPIv3 {
726
775
  metricTypes,
727
776
  activityConfigs.map((object) => JSON.stringify(object)),
728
777
  sleepConfigs.map((object) => JSON.stringify(object)),
778
+ nutritionalFields,
729
779
  includeEnhancedPermissions,
730
780
  includeBackgroundDelivery
731
781
  )
@@ -784,6 +834,7 @@ export class SpikeRNConnectionAPIv3 {
784
834
  metricTypes = [],
785
835
  activityConfigs = [],
786
836
  sleepConfigs = [],
837
+ nutritionalFields = [],
787
838
  includeEnhancedPermissions = false,
788
839
  includeBackgroundDelivery = false,
789
840
  }: {
@@ -797,6 +848,8 @@ export class SpikeRNConnectionAPIv3 {
797
848
  activityConfigs?: ActivityConfig[],
798
849
  /** Array of sleep configuration objects. */
799
850
  sleepConfigs?: SleepConfig[],
851
+ /** Array of nutritional fields. */
852
+ nutritionalFields?: NutritionalField[],
800
853
  /** Whether to include enhanced permissions (e.g. background read). Defaults to false. */
801
854
  includeEnhancedPermissions?: boolean,
802
855
  /** Whether to include background delivery permissions. Defaults to false. */
@@ -811,6 +864,7 @@ export class SpikeRNConnectionAPIv3 {
811
864
  metricTypes,
812
865
  activityConfigs,
813
866
  sleepConfigs,
867
+ nutritionalFields,
814
868
  includeEnhancedPermissions,
815
869
  includeBackgroundDelivery,
816
870
  });
@@ -821,6 +875,7 @@ export class SpikeRNConnectionAPIv3 {
821
875
  metricTypes,
822
876
  activityConfigs,
823
877
  sleepConfigs,
878
+ nutritionalFields,
824
879
  });
825
880
  }
826
881
 
@@ -911,7 +966,8 @@ export class SpikeRNConnectionAPIv3 {
911
966
  statisticTypes = [],
912
967
  metricTypes = [],
913
968
  activityConfigs = [],
914
- sleepConfigs = []
969
+ sleepConfigs = [],
970
+ nutritionalFields = []
915
971
  }: GetHealthConnectPermissionsParameters): Promise<string[]> {
916
972
  if (Platform.OS !== 'android') return [];
917
973
  if (!SpikeSdk) throw new SpikeException();
@@ -921,7 +977,8 @@ export class SpikeRNConnectionAPIv3 {
921
977
  statisticTypes,
922
978
  metricTypes,
923
979
  activityConfigs.map((object) => JSON.stringify(object)),
924
- sleepConfigs.map((object) => JSON.stringify(object))
980
+ sleepConfigs.map((object) => JSON.stringify(object)),
981
+ nutritionalFields
925
982
  )
926
983
  }
927
984
 
@@ -938,7 +995,8 @@ export class SpikeRNConnectionAPIv3 {
938
995
  statisticTypes = [],
939
996
  metricTypes = [],
940
997
  activityConfigs = [],
941
- sleepConfigs = []
998
+ sleepConfigs = [],
999
+ nutritionalFields = []
942
1000
  }: GetHealthConnectPermissionsParameters): Promise<string[]> {
943
1001
  if (Platform.OS !== 'android') return [];
944
1002
  if (!SpikeSdk) throw new SpikeException();
@@ -948,7 +1006,8 @@ export class SpikeRNConnectionAPIv3 {
948
1006
  statisticTypes,
949
1007
  metricTypes,
950
1008
  activityConfigs.map((object) => JSON.stringify(object)),
951
- sleepConfigs.map((object) => JSON.stringify(object))
1009
+ sleepConfigs.map((object) => JSON.stringify(object)),
1010
+ nutritionalFields
952
1011
  )
953
1012
  }
954
1013
 
@@ -966,7 +1025,8 @@ export class SpikeRNConnectionAPIv3 {
966
1025
  statisticTypes = [],
967
1026
  metricTypes = [],
968
1027
  activityConfigs = [],
969
- sleepConfigs = []
1028
+ sleepConfigs = [],
1029
+ nutritionalFields = []
970
1030
  }: {
971
1031
  /** Number of days to backfill. If not provided, uses the value from Spike dashboard config. */
972
1032
  days?: number,
@@ -978,6 +1038,8 @@ export class SpikeRNConnectionAPIv3 {
978
1038
  activityConfigs?: ActivityConfig[],
979
1039
  /** Array of sleep configuration objects. */
980
1040
  sleepConfigs?: SleepConfig[],
1041
+ /** Array of nutritional fields. */
1042
+ nutritionalFields?: NutritionalField[],
981
1043
  }): Promise<void> {
982
1044
  if (Platform.OS !== 'android') return;
983
1045
  if (!SpikeSdk) throw new SpikeException();
@@ -988,6 +1050,7 @@ export class SpikeRNConnectionAPIv3 {
988
1050
  metricTypes,
989
1051
  activityConfigs.map((object) => JSON.stringify(object)),
990
1052
  sleepConfigs.map((object) => JSON.stringify(object)),
1053
+ nutritionalFields,
991
1054
  days !== undefined ? String(days) : null
992
1055
  );
993
1056
  }
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.5.23";
2
+ export const SPIKE_SDK_VERSION = "4.7.13";
3
3
 
@@ -1,37 +0,0 @@
1
- package com.spikesdk
2
-
3
- import com.spikeapi.SpikeLogger
4
-
5
- enum class SpikeLogLevel(val jsEventName: String) {
6
- DEBUG(jsEventName = "onDebug"),
7
- ERROR(jsEventName = "onError"),
8
- INFO(jsEventName = "onInfo")
9
- }
10
-
11
- class SpikeConnectionLogger(
12
- private val connectionUUID: String,
13
- private val onLog: (
14
- connectionUUID: String,
15
- logLevel: SpikeLogLevel,
16
- message: String
17
- ) -> Unit
18
- ) : SpikeLogger {
19
-
20
- override fun debug(message: String) {
21
- onLog(connectionUUID, SpikeLogLevel.DEBUG, message)
22
- }
23
-
24
- override fun error(message: String) {
25
- onLog(connectionUUID, SpikeLogLevel.ERROR, message)
26
- }
27
-
28
- override fun info(message: String) {
29
- onLog(connectionUUID, SpikeLogLevel.INFO, message)
30
- }
31
-
32
- override fun isDebugEnabled(): Boolean = true
33
-
34
- override fun isErrorEnabled(): Boolean = true
35
-
36
- override fun isInfoEnabled(): Boolean = true
37
- }
@@ -1,17 +0,0 @@
1
- import Foundation
2
- import SpikeSDK
3
-
4
- class SpikeConnectionListener: SpikeBackgroundDeliveriesLogger {
5
-
6
- private let connectionUUID: String
7
- private var onLog: (String, String) -> Void
8
-
9
- init(connectionUUID: String, onLog: @escaping (String, String) -> Void) {
10
- self.connectionUUID = connectionUUID
11
- self.onLog = onLog
12
- }
13
-
14
- func onBackgroundLog(log: String) {
15
- onLog(connectionUUID, log)
16
- }
17
- }
@@ -1,43 +0,0 @@
1
- import Foundation
2
- import SpikeSDK
3
-
4
- enum SpikeLogLevel {
5
- case debug
6
- case info
7
- case error
8
- }
9
-
10
- class SpikeConnectionLogger: SpikeLogger {
11
-
12
- private let connectionUUID: String
13
- private var onLog: (String, SpikeLogLevel, String) -> Void
14
-
15
- init(connectionUUID: String, onLog: @escaping (String, SpikeLogLevel, String) -> Void) {
16
- self.connectionUUID = connectionUUID
17
- self.onLog = onLog
18
- }
19
-
20
- func isDebugEnabled() -> Bool {
21
- return true
22
- }
23
-
24
- func isInfoEnabled() -> Bool {
25
- return true
26
- }
27
-
28
- func isErrorEnabled() -> Bool {
29
- return true
30
- }
31
-
32
- func debug(connection: SpikeConnection, message: String) {
33
- onLog(connectionUUID, .debug, message)
34
- }
35
-
36
- func info(connection: SpikeConnection, message: String) {
37
- onLog(connectionUUID, .debug, message)
38
- }
39
-
40
- func error(connection: SpikeConnection, message: String) {
41
- onLog(connectionUUID, .debug, message)
42
- }
43
- }