react-native-spike-sdk 2.5.8 → 4.0.13-beta.2

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 (199) hide show
  1. package/ios/SpikeExceptionMapper.swift +36 -28
  2. package/ios/SpikeSdk.m +40 -0
  3. package/ios/SpikeSdk.swift +234 -18
  4. package/lib/commonjs/Spike.js +21 -1
  5. package/lib/commonjs/Spike.js.map +1 -1
  6. package/lib/commonjs/SpikeException.js +7 -4
  7. package/lib/commonjs/SpikeException.js.map +1 -1
  8. package/lib/commonjs/index.js +81 -2
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/v3/Conversion.js +53 -0
  11. package/lib/commonjs/v3/Conversion.js.map +1 -0
  12. package/lib/commonjs/v3/DataModels/ActivityTag.js +28 -0
  13. package/lib/commonjs/v3/DataModels/ActivityTag.js.map +1 -0
  14. package/lib/commonjs/v3/DataModels/ActivityType.js +151 -0
  15. package/lib/commonjs/v3/DataModels/ActivityType.js.map +1 -0
  16. package/lib/commonjs/v3/DataModels/InputMethod.js +14 -0
  17. package/lib/commonjs/v3/DataModels/InputMethod.js.map +1 -0
  18. package/lib/commonjs/v3/DataModels/MetricType.js +20 -0
  19. package/lib/commonjs/v3/DataModels/MetricType.js.map +1 -0
  20. package/lib/commonjs/v3/DataModels/Provider.js +34 -0
  21. package/lib/commonjs/v3/DataModels/Provider.js.map +1 -0
  22. package/lib/commonjs/v3/DataModels/ProviderSource.js +45 -0
  23. package/lib/commonjs/v3/DataModels/ProviderSource.js.map +1 -0
  24. package/lib/commonjs/v3/DataModels/SpikeRecord.js +6 -0
  25. package/lib/commonjs/v3/DataModels/SpikeRecord.js.map +1 -0
  26. package/lib/commonjs/v3/DataModels/Statistic.js +6 -0
  27. package/lib/commonjs/v3/DataModels/Statistic.js.map +1 -0
  28. package/lib/commonjs/v3/DataModels/StatisticsInterval.js +14 -0
  29. package/lib/commonjs/v3/DataModels/StatisticsInterval.js.map +1 -0
  30. package/lib/commonjs/v3/DataModels/StatisticsType.js +20 -0
  31. package/lib/commonjs/v3/DataModels/StatisticsType.js.map +1 -0
  32. package/lib/commonjs/v3/DataModels/UUID.js +2 -0
  33. package/lib/commonjs/v3/DataModels/UUID.js.map +1 -0
  34. package/lib/commonjs/v3/DataModels/Unit.js +20 -0
  35. package/lib/commonjs/v3/DataModels/Unit.js.map +1 -0
  36. package/lib/commonjs/v3/SpikeRNConnectionAPIv3.js +54 -0
  37. package/lib/commonjs/v3/SpikeRNConnectionAPIv3.js.map +1 -0
  38. package/lib/commonjs/v3/StatisticsFilter.js +15 -0
  39. package/lib/commonjs/v3/StatisticsFilter.js.map +1 -0
  40. package/lib/module/Spike.js +23 -1
  41. package/lib/module/Spike.js.map +1 -1
  42. package/lib/module/SpikeException.js +7 -4
  43. package/lib/module/SpikeException.js.map +1 -1
  44. package/lib/module/index.js +18 -2
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/module/v3/Conversion.js +46 -0
  47. package/lib/module/v3/Conversion.js.map +1 -0
  48. package/lib/module/v3/DataModels/ActivityTag.js +23 -0
  49. package/lib/module/v3/DataModels/ActivityTag.js.map +1 -0
  50. package/lib/module/v3/DataModels/ActivityType.js +146 -0
  51. package/lib/module/v3/DataModels/ActivityType.js.map +1 -0
  52. package/lib/module/v3/DataModels/InputMethod.js +9 -0
  53. package/lib/module/v3/DataModels/InputMethod.js.map +1 -0
  54. package/lib/module/v3/DataModels/MetricType.js +15 -0
  55. package/lib/module/v3/DataModels/MetricType.js.map +1 -0
  56. package/lib/module/v3/DataModels/Provider.js +29 -0
  57. package/lib/module/v3/DataModels/Provider.js.map +1 -0
  58. package/lib/module/v3/DataModels/ProviderSource.js +40 -0
  59. package/lib/module/v3/DataModels/ProviderSource.js.map +1 -0
  60. package/lib/module/v3/DataModels/SpikeRecord.js +2 -0
  61. package/lib/module/v3/DataModels/SpikeRecord.js.map +1 -0
  62. package/lib/module/v3/DataModels/Statistic.js +2 -0
  63. package/lib/module/v3/DataModels/Statistic.js.map +1 -0
  64. package/lib/module/v3/DataModels/StatisticsInterval.js +9 -0
  65. package/lib/module/v3/DataModels/StatisticsInterval.js.map +1 -0
  66. package/lib/module/v3/DataModels/StatisticsType.js +15 -0
  67. package/lib/module/v3/DataModels/StatisticsType.js.map +1 -0
  68. package/lib/module/v3/DataModels/UUID.js +2 -0
  69. package/lib/module/v3/DataModels/UUID.js.map +1 -0
  70. package/lib/module/v3/DataModels/Unit.js +15 -0
  71. package/lib/module/v3/DataModels/Unit.js.map +1 -0
  72. package/lib/module/v3/SpikeRNConnectionAPIv3.js +47 -0
  73. package/lib/module/v3/SpikeRNConnectionAPIv3.js.map +1 -0
  74. package/lib/module/v3/StatisticsFilter.js +8 -0
  75. package/lib/module/v3/StatisticsFilter.js.map +1 -0
  76. package/lib/typescript/src/DataModels/SpikeActivitiesStreamDataEntry.d.ts.map +1 -0
  77. package/lib/typescript/src/DataModels/SpikeActivitiesSummaryDataEntry.d.ts.map +1 -0
  78. package/lib/typescript/src/DataModels/SpikeBodyDataEntry.d.ts.map +1 -0
  79. package/lib/typescript/src/DataModels/SpikeBreathingDataEntry.d.ts.map +1 -0
  80. package/lib/typescript/src/DataModels/SpikeCaloriesDataEntry.d.ts.map +1 -0
  81. package/lib/typescript/src/DataModels/SpikeData.d.ts.map +1 -0
  82. package/lib/typescript/src/DataModels/SpikeDataTypes.d.ts.map +1 -0
  83. package/lib/typescript/src/DataModels/SpikeDistanceDataEntry.d.ts.map +1 -0
  84. package/lib/typescript/src/DataModels/SpikeEcgDataEntry.d.ts.map +1 -0
  85. package/lib/typescript/src/DataModels/SpikeGlucoseDataEntry.d.ts.map +1 -0
  86. package/lib/typescript/src/DataModels/SpikeHeartDataEntry.d.ts.map +1 -0
  87. package/lib/typescript/src/DataModels/SpikeOxygenSaturationDataEntry.d.ts.map +1 -0
  88. package/lib/typescript/src/DataModels/SpikeSleepDataEntry.d.ts.map +1 -0
  89. package/lib/typescript/src/DataModels/SpikeStepsDataEntry.d.ts.map +1 -0
  90. package/lib/typescript/src/DataModels/SpikeStepsIntradayDataEntry.d.ts.map +1 -0
  91. package/lib/typescript/src/DataModels/SpikeWebhookJob.d.ts.map +1 -0
  92. package/lib/typescript/src/DataTypes/SpikeDataType.d.ts.map +1 -0
  93. package/lib/typescript/{Spike.d.ts → src/Spike.d.ts} +3 -1
  94. package/lib/typescript/src/Spike.d.ts.map +1 -0
  95. package/lib/typescript/src/SpikeBackgroundDeliveriesLogger.d.ts.map +1 -0
  96. package/lib/typescript/src/SpikeConnection.d.ts.map +1 -0
  97. package/lib/typescript/src/SpikeConnectionTypes.d.ts.map +1 -0
  98. package/lib/typescript/src/SpikeException.d.ts.map +1 -0
  99. package/lib/typescript/src/SpikeLogger.d.ts.map +1 -0
  100. package/lib/typescript/src/SpikeSdk.d.ts.map +1 -0
  101. package/lib/typescript/{index.d.ts → src/index.d.ts} +13 -0
  102. package/lib/typescript/src/index.d.ts.map +1 -0
  103. package/lib/typescript/src/v3/Conversion.d.ts +4 -0
  104. package/lib/typescript/src/v3/Conversion.d.ts.map +1 -0
  105. package/lib/typescript/src/v3/DataModels/ActivityTag.d.ts +20 -0
  106. package/lib/typescript/src/v3/DataModels/ActivityTag.d.ts.map +1 -0
  107. package/lib/typescript/src/v3/DataModels/ActivityType.d.ts +143 -0
  108. package/lib/typescript/src/v3/DataModels/ActivityType.d.ts.map +1 -0
  109. package/lib/typescript/src/v3/DataModels/InputMethod.d.ts +6 -0
  110. package/lib/typescript/src/v3/DataModels/InputMethod.d.ts.map +1 -0
  111. package/lib/typescript/src/v3/DataModels/MetricType.d.ts +12 -0
  112. package/lib/typescript/src/v3/DataModels/MetricType.d.ts.map +1 -0
  113. package/lib/typescript/src/v3/DataModels/Provider.d.ts +26 -0
  114. package/lib/typescript/src/v3/DataModels/Provider.d.ts.map +1 -0
  115. package/lib/typescript/src/v3/DataModels/ProviderSource.d.ts +37 -0
  116. package/lib/typescript/src/v3/DataModels/ProviderSource.d.ts.map +1 -0
  117. package/lib/typescript/src/v3/DataModels/SpikeRecord.d.ts +30 -0
  118. package/lib/typescript/src/v3/DataModels/SpikeRecord.d.ts.map +1 -0
  119. package/lib/typescript/src/v3/DataModels/Statistic.d.ts +14 -0
  120. package/lib/typescript/src/v3/DataModels/Statistic.d.ts.map +1 -0
  121. package/lib/typescript/src/v3/DataModels/StatisticsInterval.d.ts +5 -0
  122. package/lib/typescript/src/v3/DataModels/StatisticsInterval.d.ts.map +1 -0
  123. package/lib/typescript/src/v3/DataModels/StatisticsType.d.ts +12 -0
  124. package/lib/typescript/src/v3/DataModels/StatisticsType.d.ts.map +1 -0
  125. package/lib/typescript/src/v3/DataModels/UUID.d.ts +2 -0
  126. package/lib/typescript/src/v3/DataModels/UUID.d.ts.map +1 -0
  127. package/lib/typescript/src/v3/DataModels/Unit.d.ts +12 -0
  128. package/lib/typescript/src/v3/DataModels/Unit.d.ts.map +1 -0
  129. package/lib/typescript/src/v3/SpikeRNConnectionAPIv3.d.ts +14 -0
  130. package/lib/typescript/src/v3/SpikeRNConnectionAPIv3.d.ts.map +1 -0
  131. package/lib/typescript/src/v3/StatisticsFilter.d.ts +7 -0
  132. package/lib/typescript/src/v3/StatisticsFilter.d.ts.map +1 -0
  133. package/package.json +2 -2
  134. package/src/Spike.ts +33 -0
  135. package/src/SpikeException.ts +18 -4
  136. package/src/index.ts +31 -0
  137. package/src/v3/Conversion.ts +50 -0
  138. package/src/v3/DataModels/ActivityTag.ts +21 -0
  139. package/src/v3/DataModels/ActivityType.ts +144 -0
  140. package/src/v3/DataModels/InputMethod.ts +7 -0
  141. package/src/v3/DataModels/MetricType.ts +13 -0
  142. package/src/v3/DataModels/Provider.ts +27 -0
  143. package/src/v3/DataModels/ProviderSource.ts +38 -0
  144. package/src/v3/DataModels/SpikeRecord.ts +32 -0
  145. package/src/v3/DataModels/Statistic.ts +15 -0
  146. package/src/v3/DataModels/StatisticsInterval.ts +11 -0
  147. package/src/v3/DataModels/StatisticsType.ts +13 -0
  148. package/src/v3/DataModels/UUID.ts +1 -0
  149. package/src/v3/DataModels/Unit.ts +13 -0
  150. package/src/v3/SpikeRNConnectionAPIv3.ts +87 -0
  151. package/src/v3/StatisticsFilter.ts +11 -0
  152. package/lib/typescript/DataModels/SpikeActivitiesStreamDataEntry.d.ts.map +0 -1
  153. package/lib/typescript/DataModels/SpikeActivitiesSummaryDataEntry.d.ts.map +0 -1
  154. package/lib/typescript/DataModels/SpikeBodyDataEntry.d.ts.map +0 -1
  155. package/lib/typescript/DataModels/SpikeBreathingDataEntry.d.ts.map +0 -1
  156. package/lib/typescript/DataModels/SpikeCaloriesDataEntry.d.ts.map +0 -1
  157. package/lib/typescript/DataModels/SpikeData.d.ts.map +0 -1
  158. package/lib/typescript/DataModels/SpikeDataTypes.d.ts.map +0 -1
  159. package/lib/typescript/DataModels/SpikeDistanceDataEntry.d.ts.map +0 -1
  160. package/lib/typescript/DataModels/SpikeEcgDataEntry.d.ts.map +0 -1
  161. package/lib/typescript/DataModels/SpikeGlucoseDataEntry.d.ts.map +0 -1
  162. package/lib/typescript/DataModels/SpikeHeartDataEntry.d.ts.map +0 -1
  163. package/lib/typescript/DataModels/SpikeOxygenSaturationDataEntry.d.ts.map +0 -1
  164. package/lib/typescript/DataModels/SpikeSleepDataEntry.d.ts.map +0 -1
  165. package/lib/typescript/DataModels/SpikeStepsDataEntry.d.ts.map +0 -1
  166. package/lib/typescript/DataModels/SpikeStepsIntradayDataEntry.d.ts.map +0 -1
  167. package/lib/typescript/DataModels/SpikeWebhookJob.d.ts.map +0 -1
  168. package/lib/typescript/DataTypes/SpikeDataType.d.ts.map +0 -1
  169. package/lib/typescript/Spike.d.ts.map +0 -1
  170. package/lib/typescript/SpikeBackgroundDeliveriesLogger.d.ts.map +0 -1
  171. package/lib/typescript/SpikeConnection.d.ts.map +0 -1
  172. package/lib/typescript/SpikeConnectionTypes.d.ts.map +0 -1
  173. package/lib/typescript/SpikeException.d.ts.map +0 -1
  174. package/lib/typescript/SpikeLogger.d.ts.map +0 -1
  175. package/lib/typescript/SpikeSdk.d.ts.map +0 -1
  176. package/lib/typescript/index.d.ts.map +0 -1
  177. /package/lib/typescript/{DataModels → src/DataModels}/SpikeActivitiesStreamDataEntry.d.ts +0 -0
  178. /package/lib/typescript/{DataModels → src/DataModels}/SpikeActivitiesSummaryDataEntry.d.ts +0 -0
  179. /package/lib/typescript/{DataModels → src/DataModels}/SpikeBodyDataEntry.d.ts +0 -0
  180. /package/lib/typescript/{DataModels → src/DataModels}/SpikeBreathingDataEntry.d.ts +0 -0
  181. /package/lib/typescript/{DataModels → src/DataModels}/SpikeCaloriesDataEntry.d.ts +0 -0
  182. /package/lib/typescript/{DataModels → src/DataModels}/SpikeData.d.ts +0 -0
  183. /package/lib/typescript/{DataModels → src/DataModels}/SpikeDataTypes.d.ts +0 -0
  184. /package/lib/typescript/{DataModels → src/DataModels}/SpikeDistanceDataEntry.d.ts +0 -0
  185. /package/lib/typescript/{DataModels → src/DataModels}/SpikeEcgDataEntry.d.ts +0 -0
  186. /package/lib/typescript/{DataModels → src/DataModels}/SpikeGlucoseDataEntry.d.ts +0 -0
  187. /package/lib/typescript/{DataModels → src/DataModels}/SpikeHeartDataEntry.d.ts +0 -0
  188. /package/lib/typescript/{DataModels → src/DataModels}/SpikeOxygenSaturationDataEntry.d.ts +0 -0
  189. /package/lib/typescript/{DataModels → src/DataModels}/SpikeSleepDataEntry.d.ts +0 -0
  190. /package/lib/typescript/{DataModels → src/DataModels}/SpikeStepsDataEntry.d.ts +0 -0
  191. /package/lib/typescript/{DataModels → src/DataModels}/SpikeStepsIntradayDataEntry.d.ts +0 -0
  192. /package/lib/typescript/{DataModels → src/DataModels}/SpikeWebhookJob.d.ts +0 -0
  193. /package/lib/typescript/{DataTypes → src/DataTypes}/SpikeDataType.d.ts +0 -0
  194. /package/lib/typescript/{SpikeBackgroundDeliveriesLogger.d.ts → src/SpikeBackgroundDeliveriesLogger.d.ts} +0 -0
  195. /package/lib/typescript/{SpikeConnection.d.ts → src/SpikeConnection.d.ts} +0 -0
  196. /package/lib/typescript/{SpikeConnectionTypes.d.ts → src/SpikeConnectionTypes.d.ts} +0 -0
  197. /package/lib/typescript/{SpikeException.d.ts → src/SpikeException.d.ts} +0 -0
  198. /package/lib/typescript/{SpikeLogger.d.ts → src/SpikeLogger.d.ts} +0 -0
  199. /package/lib/typescript/{SpikeSdk.d.ts → src/SpikeSdk.d.ts} +0 -0
@@ -1,36 +1,44 @@
1
1
  import Foundation
2
2
  import SpikeSDK
3
3
 
4
- class SpikeWrapperException: Error, Codable {}
4
+ class SpikeConnectionNotFoundException: Error, Codable {}
5
+ class SpikeDataExtractionException: Error, Codable {}
6
+ class SpikeDataDecodingException: Error, Codable {}
5
7
 
6
8
  class SpikeExceptionMapper {
7
9
 
8
- static func handleSpikeError(_ error: Error) -> String {
9
- switch error {
10
- case is SpikeConnectionIsClosedException:
11
- return "SpikeConnectionIsClosedException"
12
- case is SpikeInvalidCredentialsException:
13
- return "SpikeInvalidCredentialsException"
14
- case is SpikeInvalidDateRangeException:
15
- return "SpikeInvalidDateRangeException"
16
- case is SpikeInvalidCallbackUrlException:
17
- return "SpikeInvalidCallbackUrlException"
18
- case is SpikePackException:
19
- return "SpikePackException"
20
- case is SpikePermissionsNotGrantedException:
21
- return "SpikePermissionsNotGrantedException"
22
- case is SpikeServerException:
23
- return "SpikeServerException"
24
- case is SpikeUnpackException:
25
- return "SpikeUnpackException"
26
- case is SpikeCallbackURLNotProvidedException:
27
- return "SpikeCallbackURLNotProvidedException"
28
- case is SpikeHealthDataNotAvailableException:
29
- return "SpikeHealthDataNotAvailableException"
30
- case is SpikeWrapperException:
31
- return "SpikeException"
32
- default:
33
- return "SpikeException"
34
- }
10
+ /// Creates a code that will be used to detect type of exception in `unwrapSpikeException`
11
+ /// in `src/SpikeException.ts`
12
+ static func extractErrorCode(_ error: Error) -> String {
13
+ switch error {
14
+ case is SpikeConnectionIsClosedException:
15
+ return "SpikeConnectionIsClosedException"
16
+ case is SpikeInvalidCredentialsException:
17
+ return "SpikeInvalidCredentialsException"
18
+ case is SpikeInvalidDateRangeException:
19
+ return "SpikeInvalidDateRangeException"
20
+ case is SpikeInvalidCallbackUrlException:
21
+ return "SpikeInvalidCallbackUrlException"
22
+ case is SpikePackException:
23
+ return "SpikePackException"
24
+ case is SpikePermissionsNotGrantedException:
25
+ return "SpikePermissionsNotGrantedException"
26
+ case is SpikeServerException:
27
+ return "SpikeServerException"
28
+ case is SpikeUnpackException:
29
+ return "SpikeUnpackException"
30
+ case is SpikeCallbackURLNotProvidedException:
31
+ return "SpikeCallbackURLNotProvidedException"
32
+ case is SpikeHealthDataNotAvailableException:
33
+ return "SpikeHealthDataNotAvailableException"
34
+ case is SpikeConnectionNotFoundException:
35
+ return "SpikeConnectionNotFoundException"
36
+ case is SpikeDataExtractionException:
37
+ return "SpikeDataExtractionException"
38
+ case is SpikeDataDecodingException:
39
+ return "SpikeDataDecodingException"
40
+ default:
41
+ return "SpikeException"
42
+ }
35
43
  }
36
44
  }
package/ios/SpikeSdk.m CHANGED
@@ -85,4 +85,44 @@ RCT_EXTERN_METHOD(setListener: (NSString)connectionUUID
85
85
  withResolver: (RCTPromiseResolveBlock)resolve
86
86
  withRejecter: (RCTPromiseRejectBlock)reject)
87
87
 
88
+ // MARK: - New API - V3
89
+
90
+ // MARK: Spike SDK level
91
+
92
+ RCT_EXTERN_METHOD(createConnectionAPIv3: (NSString)uuid
93
+ withAppId: (NSString)appId
94
+ withAuthToken: (NSString)authToken
95
+ withCustomerEndUserId: (NSString)customerEndUserId
96
+ withResolver: (RCTPromiseResolveBlock)resolve
97
+ withRejecter: (RCTPromiseRejectBlock)reject)
98
+
99
+ RCT_EXTERN_METHOD(setWrapper: (NSString)type
100
+ withVersion: (NSString)version
101
+ withResolver: (RCTPromiseResolveBlock)resolve
102
+ withRejecter: (RCTPromiseRejectBlock)reject)
103
+
104
+ // MARK: SpikeConnectionAPIv3 level
105
+
106
+ RCT_EXTERN_METHOD(requestPermissionsFromHealthKitforStatistics: (NSArray<NSString>)permissions
107
+ withConnectionUUID: (NSString)connectionUUID
108
+ withResolver: (RCTPromiseResolveBlock)resolve
109
+ withRejecter: (RCTPromiseRejectBlock)reject)
110
+
111
+ RCT_EXTERN_METHOD(getStatisticsconnectionUUID: (NSString)connectionUUID
112
+ ofTypes: (NSArray<NSString>)types
113
+ from: (NSString)from
114
+ to: (NSString)to
115
+ interval: (NSString)interval
116
+ filter: (NSString)filter
117
+ withResolver: (RCTPromiseResolveBlock)resolve
118
+ withRejecter: (RCTPromiseRejectBlock)reject)
119
+
120
+ RCT_EXTERN_METHOD(getRecordsconnectionUUID: (NSString)connectionUUID
121
+ ofTypes: (NSArray<NSString>)types
122
+ from: (NSString)from
123
+ to: (NSString)to
124
+ filter: (NSString)filter
125
+ withResolver: (RCTPromiseResolveBlock)resolve
126
+ withRejecter: (RCTPromiseRejectBlock)reject)
127
+
88
128
  @end
@@ -123,7 +123,7 @@ class SpikeSdk: RCTEventEmitter {
123
123
  resolve: @escaping RCTPromiseResolveBlock,
124
124
  reject: @escaping RCTPromiseRejectBlock) {
125
125
  guard let connection = getConnection(withUUID: connectionUUID) else {
126
- spikeReject(with: SpikeWrapperException(), reject: reject)
126
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
127
127
  return
128
128
  }
129
129
 
@@ -142,7 +142,7 @@ class SpikeSdk: RCTEventEmitter {
142
142
  resolve: @escaping RCTPromiseResolveBlock,
143
143
  reject: @escaping RCTPromiseRejectBlock) {
144
144
  guard let connection = getConnection(withUUID: connectionUUID) else {
145
- spikeReject(with: SpikeWrapperException(), reject: reject)
145
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
146
146
  return
147
147
  }
148
148
 
@@ -161,7 +161,7 @@ class SpikeSdk: RCTEventEmitter {
161
161
  resolve: @escaping RCTPromiseResolveBlock,
162
162
  reject: @escaping RCTPromiseRejectBlock) {
163
163
  guard let connection = getConnection(withUUID: connectionUUID) else {
164
- spikeReject(with: SpikeWrapperException(), reject: reject)
164
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
165
165
  return
166
166
  }
167
167
 
@@ -180,7 +180,7 @@ class SpikeSdk: RCTEventEmitter {
180
180
  resolve: @escaping RCTPromiseResolveBlock,
181
181
  reject: @escaping RCTPromiseRejectBlock) {
182
182
  guard let connection = getConnection(withUUID: connectionUUID) else {
183
- spikeReject(with: SpikeWrapperException(), reject: reject)
183
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
184
184
  return
185
185
  }
186
186
 
@@ -201,7 +201,7 @@ class SpikeSdk: RCTEventEmitter {
201
201
  resolve: @escaping RCTPromiseResolveBlock,
202
202
  reject: @escaping RCTPromiseRejectBlock) {
203
203
  guard let connection = getConnection(withUUID: connectionUUID) else {
204
- spikeReject(with: SpikeWrapperException(), reject: reject)
204
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
205
205
  return
206
206
  }
207
207
 
@@ -212,7 +212,7 @@ class SpikeSdk: RCTEventEmitter {
212
212
  if let dataString = result {
213
213
  resolve(dataString)
214
214
  } else {
215
- spikeReject(with: SpikeWrapperException(), reject: reject)
215
+ spikeReject(with: SpikeDataExtractionException(), reject: reject)
216
216
  }
217
217
  } catch let error {
218
218
  spikeReject(with: error, reject: reject)
@@ -233,7 +233,7 @@ class SpikeSdk: RCTEventEmitter {
233
233
  resolve: @escaping RCTPromiseResolveBlock,
234
234
  reject: @escaping RCTPromiseRejectBlock) {
235
235
  guard let connection = getConnection(withUUID: connectionUUID) else {
236
- spikeReject(with: SpikeWrapperException(), reject: reject)
236
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
237
237
  return
238
238
  }
239
239
 
@@ -248,7 +248,7 @@ class SpikeSdk: RCTEventEmitter {
248
248
  if let dataString = result {
249
249
  resolve(dataString)
250
250
  } else {
251
- spikeReject(with: SpikeWrapperException(), reject: reject)
251
+ spikeReject(with: SpikeDataExtractionException(), reject: reject)
252
252
  }
253
253
  } catch let error {
254
254
  spikeReject(with: error, reject: reject)
@@ -265,7 +265,7 @@ class SpikeSdk: RCTEventEmitter {
265
265
  resolve: @escaping RCTPromiseResolveBlock,
266
266
  reject: @escaping RCTPromiseRejectBlock) {
267
267
  guard let connection = getConnection(withUUID: connectionUUID) else {
268
- spikeReject(with: SpikeWrapperException(), reject: reject)
268
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
269
269
  return
270
270
  }
271
271
 
@@ -286,7 +286,7 @@ class SpikeSdk: RCTEventEmitter {
286
286
  resolve: @escaping RCTPromiseResolveBlock,
287
287
  reject: @escaping RCTPromiseRejectBlock) {
288
288
  guard let connection = getConnection(withUUID: connectionUUID) else {
289
- spikeReject(with: SpikeWrapperException(), reject: reject)
289
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
290
290
  return
291
291
  }
292
292
 
@@ -297,7 +297,7 @@ class SpikeSdk: RCTEventEmitter {
297
297
  if let dataString = result {
298
298
  resolve(dataString)
299
299
  } else {
300
- spikeReject(with: SpikeWrapperException(), reject: reject)
300
+ spikeReject(with: SpikeDataExtractionException(), reject: reject)
301
301
  }
302
302
  } catch let error {
303
303
  spikeReject(with: error, reject: reject)
@@ -318,7 +318,7 @@ class SpikeSdk: RCTEventEmitter {
318
318
  resolve: @escaping RCTPromiseResolveBlock,
319
319
  reject: @escaping RCTPromiseRejectBlock) {
320
320
  guard let connection = getConnection(withUUID: connectionUUID) else {
321
- spikeReject(with: SpikeWrapperException(), reject: reject)
321
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
322
322
  return
323
323
  }
324
324
 
@@ -333,7 +333,7 @@ class SpikeSdk: RCTEventEmitter {
333
333
  if let dataString = result {
334
334
  resolve(dataString)
335
335
  } else {
336
- spikeReject(with: SpikeWrapperException(), reject: reject)
336
+ spikeReject(with: SpikeDataExtractionException(), reject: reject)
337
337
  }
338
338
  } catch let error {
339
339
  spikeReject(with: error, reject: reject)
@@ -350,7 +350,7 @@ class SpikeSdk: RCTEventEmitter {
350
350
  resolve: @escaping RCTPromiseResolveBlock,
351
351
  reject: @escaping RCTPromiseRejectBlock) {
352
352
  guard let connection = getConnection(withUUID: connectionUUID) else {
353
- spikeReject(with: SpikeWrapperException(), reject: reject)
353
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
354
354
  return
355
355
  }
356
356
 
@@ -372,7 +372,7 @@ class SpikeSdk: RCTEventEmitter {
372
372
  resolve: @escaping RCTPromiseResolveBlock,
373
373
  reject: @escaping RCTPromiseRejectBlock) {
374
374
  guard let connection = getConnection(withUUID: connectionUUID) else {
375
- spikeReject(with: SpikeWrapperException(), reject: reject)
375
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
376
376
  return
377
377
  }
378
378
 
@@ -394,7 +394,7 @@ class SpikeSdk: RCTEventEmitter {
394
394
  resolve: @escaping RCTPromiseResolveBlock,
395
395
  reject: @escaping RCTPromiseRejectBlock) {
396
396
  guard let connection = getConnection(withUUID: connectionUUID) else {
397
- spikeReject(with: SpikeWrapperException(), reject: reject)
397
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
398
398
  return
399
399
  }
400
400
 
@@ -449,8 +449,224 @@ class SpikeSdk: RCTEventEmitter {
449
449
 
450
450
 
451
451
  private func spikeReject(with error: Error, reject: RCTPromiseRejectBlock) {
452
- let errorString = SpikeExceptionMapper.handleSpikeError(error)
453
- reject(errorString, errorString, error)
452
+ let message = (error as? SpikeException)?.description
453
+ reject(
454
+ SpikeExceptionMapper.extractErrorCode(error),
455
+ message ?? error.localizedDescription,
456
+ error
457
+ )
454
458
  }
455
459
 
460
+ // MARK: - New API - V3
461
+
462
+ /// Do not use this directly, use `addConnection` and `getConnection` instead
463
+ private var _connectionsV3: [String: SpikeConnectionAPIv3] = [:]
464
+
465
+ /// Add new connection to the dictionary in a thread-safe manner
466
+ private func addConnectionV3(_ connection: SpikeConnectionAPIv3, withUUID uuid: String) {
467
+ queue.sync {
468
+ _connectionsV3[uuid] = connection
469
+ }
470
+ }
471
+
472
+ /// Synchronised read for safe multithreaded usage
473
+ private func getConnectionV3(withUUID uuid: String) -> SpikeConnectionAPIv3? {
474
+ queue.sync {
475
+ _connectionsV3[uuid]
476
+ }
477
+ }
478
+
479
+ // SpikeSDK level
480
+
481
+ @objc(createConnectionAPIv3:
482
+ withAppId:
483
+ withAuthToken:
484
+ withCustomerEndUserId:
485
+ withResolver:withRejecter:)
486
+ func createConnection(uuid: String,
487
+ appId: String,
488
+ authToken: String,
489
+ customerEndUserId: String,
490
+ resolve: @escaping RCTPromiseResolveBlock,
491
+ reject: @escaping RCTPromiseRejectBlock) {
492
+ Task {
493
+ do {
494
+ let connection = try await Spike.createConnectionAPIv3(
495
+ appId: appId,
496
+ authToken: authToken,
497
+ customerEndUserId: customerEndUserId
498
+ )
499
+ addConnectionV3(connection, withUUID: uuid)
500
+ resolve(Void())
501
+
502
+ } catch let error {
503
+ spikeReject(with: error, reject: reject)
504
+ }
505
+ }
506
+ }
507
+
508
+ @objc(setWrapper:
509
+ withVersion:
510
+ withResolver:withRejecter:)
511
+ func setWrapper(type: String,
512
+ version: String,
513
+ resolve: @escaping RCTPromiseResolveBlock,
514
+ reject: @escaping RCTPromiseRejectBlock
515
+ ) {
516
+ Spike.setWrapper(type: type, version: version)
517
+ resolve(Void())
518
+ }
519
+
520
+ // SpikeConnectionAPIv3 level
521
+
522
+ @objc(requestPermissionsFromHealthKitforStatistics:
523
+ withConnectionUUID:
524
+ withResolver:
525
+ withRejecter:)
526
+ func requestPermissionsFromHealthKit(forStatistics statistics: [String],
527
+ connectionUUID: String,
528
+ resolve: @escaping RCTPromiseResolveBlock,
529
+ reject: @escaping RCTPromiseRejectBlock
530
+ ) {
531
+ Task {
532
+ do {
533
+ guard let connection = getConnectionV3(withUUID: connectionUUID) else {
534
+ spikeReject(with: SpikeConnectionNotFoundException(), reject: reject)
535
+ return
536
+ }
537
+ let stats = statistics.compactMap {
538
+ StatisticsType(rawValue: $0)
539
+ }
540
+ try await connection.requestPermissionsFromHealthKit(
541
+ forStatistics: stats
542
+ )
543
+ resolve(Void())
544
+ } catch let error {
545
+ spikeReject(with: error, reject: reject)
546
+ }
547
+ }
548
+ }
549
+
550
+ @objc(getStatisticsconnectionUUID:
551
+ ofTypes:
552
+ from:
553
+ to:
554
+ interval:
555
+ filter:
556
+ withResolver:
557
+ withRejecter:)
558
+ func getStatistics(
559
+ connectionUUID: String,
560
+ ofTypes types: [String], // [StatisticsType]
561
+ from: String, // Date
562
+ to: String, // Date
563
+ interval: String, // StatisticsInterval
564
+ filter: String?, // StatisticsFilter?
565
+ resolve: @escaping RCTPromiseResolveBlock,
566
+ reject: @escaping RCTPromiseRejectBlock
567
+ ) { // -> [Statistic]
568
+ Task {
569
+ do {
570
+ guard let connection = getConnectionV3(withUUID: connectionUUID) else {
571
+ throw SpikeConnectionNotFoundException()
572
+ }
573
+ guard let statsInterval = StatisticsInterval(rawValue: interval) else {
574
+ throw SpikeDataDecodingException()
575
+ }
576
+ let dateFrom = try makeDate(fromString: from)
577
+ let dateTo = try makeDate(fromString: to)
578
+ let statsFilter = try makeStatisticsFilter(fromString: filter)
579
+
580
+ let result = try await connection.getStatistics(
581
+ ofTypes: types.compactMap{ StatisticsType(rawValue: $0) },
582
+ from: dateFrom,
583
+ to: dateTo,
584
+ interval: statsInterval,
585
+ filter: statsFilter
586
+ )
587
+
588
+ let encoder = SpikeSDK.JSONEncoder.spikeDefaultJsonEncoder
589
+ let jsonResult = try encoder.encode(result)
590
+ let stringResult = String(data: jsonResult, encoding: .utf8)
591
+
592
+ resolve(stringResult)
593
+ } catch let error {
594
+ spikeReject(with: error, reject: reject)
595
+ }
596
+ }
597
+ }
598
+
599
+ @objc(getRecordsconnectionUUID:
600
+ ofTypes:
601
+ from:
602
+ to:
603
+ filter:
604
+ withResolver:
605
+ withRejecter:)
606
+ func getRecords(
607
+ connectionUUID: String,
608
+ ofTypes types: [String], // [MetricType]
609
+ from: String, // Date
610
+ to: String, // Date
611
+ filter: String?, // StatisticsFilter?
612
+ resolve: @escaping RCTPromiseResolveBlock,
613
+ reject: @escaping RCTPromiseRejectBlock
614
+ ) { // -> [Statistic]
615
+ Task {
616
+ do {
617
+ guard let connection = getConnectionV3(withUUID: connectionUUID) else {
618
+ throw SpikeConnectionNotFoundException()
619
+ }
620
+ let dateFrom = try makeDate(fromString: from)
621
+ let dateTo = try makeDate(fromString: to)
622
+ let statsFilter = try makeStatisticsFilter(fromString: filter)
623
+
624
+ let result = try await connection.getRecords(
625
+ ofTypes: types.compactMap{ MetricType(rawValue: $0) },
626
+ from: dateFrom,
627
+ to: dateTo,
628
+ filter: statsFilter
629
+ )
630
+
631
+ let encoder = SpikeSDK.JSONEncoder.spikeDefaultJsonEncoder
632
+ let jsonResult = try encoder.encode(result)
633
+ let stringResult = String(data: jsonResult, encoding: .utf8)
634
+
635
+ resolve(stringResult)
636
+ } catch let error {
637
+ spikeReject(with: error, reject: reject)
638
+ }
639
+ }
640
+ }
641
+
642
+ /// Decodes Date object from the string.
643
+ /// Uses spikeDefaultJsonDecoder to mkae sure we use the same format everytwhere.
644
+ func makeDate(fromString string: String) throws -> Date {
645
+ let json = "{\"date\":\"\(string)\"}"
646
+ guard let data = json.data(using: .utf8) else {
647
+ throw SpikeDataDecodingException()
648
+ }
649
+ let decoder = SpikeSDK.JSONDecoder.spikeDefaultJsonDecoder
650
+ let dateWrapper = try decoder.decode(DateWrapper.self, from: data)
651
+ return dateWrapper.date
652
+ }
653
+
654
+ private struct DateWrapper: Codable {
655
+ var date: Date
656
+ }
657
+
658
+ private func makeStatisticsFilter(fromString string: String?) throws -> StatisticsFilter? {
659
+ guard let string else {
660
+ return nil
661
+ }
662
+ guard let data = string.data(using: .utf8) else {
663
+ throw SpikeDataDecodingException()
664
+ }
665
+ let decoder = SpikeSDK.JSONDecoder.spikeDefaultJsonDecoder
666
+ let date = try decoder.decode(StatisticsFilter.self, from: data)
667
+ return date
668
+ }
669
+
670
+
671
+
456
672
  }
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isPackageInstalled = exports.isHealthDataAvailable = exports.getBackgroundConnections = exports.ensurePermissionsAreGranted = exports.createConnection = void 0;
6
+ exports.isPackageInstalled = exports.isHealthDataAvailable = exports.getBackgroundConnections = exports.ensurePermissionsAreGranted = exports.createConnectionAPIv3 = exports.createConnection = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  var _SpikeConnection = require("./SpikeConnection");
9
9
  var _SpikeException = require("./SpikeException");
10
10
  var _SpikeSdk = require("./SpikeSdk");
11
+ var _SpikeRNConnectionAPIv = require("./v3/SpikeRNConnectionAPIv3");
12
+ var _package = require("../package.json");
11
13
  const createConnection = async (config, logger) => {
12
14
  if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
13
15
  try {
@@ -72,4 +74,22 @@ function generateUUID() {
72
74
  };
73
75
  return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
74
76
  }
77
+
78
+ // -------------------------- SpikeConnectionAPIv3 --------------------------
79
+
80
+ const createConnectionAPIv3 = async (appId, authToken, customerEndUserId) => {
81
+ if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException("No SpikeSDK found");
82
+ try {
83
+ await _SpikeSdk.SpikeSdk.setWrapper("RN", _package.version);
84
+ const connectionUUID = generateUUID();
85
+ await _SpikeSdk.SpikeSdk.createConnectionAPIv3(connectionUUID, appId, authToken, customerEndUserId);
86
+ const spikeConnection = new _SpikeRNConnectionAPIv.SpikeRNConnectionAPIv3(connectionUUID);
87
+ return spikeConnection;
88
+ } catch (error) {
89
+ throw (0, _SpikeException.unwrapSpikeException)(error);
90
+ }
91
+ };
92
+
93
+ // -------------------------- end of SpikeConnectionAPIv3 --------------------------
94
+ exports.createConnectionAPIv3 = createConnectionAPIv3;
75
95
  //# sourceMappingURL=Spike.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_SpikeConnection","_SpikeException","_SpikeSdk","createConnection","config","logger","SpikeSdk","SpikeException","connectionUUID","generateUUID","spikeConnection","SpikeConnection","appId","authToken","customerEndUserId","callbackUrl","error","unwrapSpikeException","exports","getBackgroundConnections","connectionUUIDs","connections","map","uuid","ensurePermissionsAreGranted","permissions","Platform","OS","permissionType","rawValue","isPackageInstalled","isHealthDataAvailable","S4","str","i","push","Math","floor","random","length","join"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_SpikeConnection","_SpikeException","_SpikeSdk","_SpikeRNConnectionAPIv","_package","createConnection","config","logger","SpikeSdk","SpikeException","connectionUUID","generateUUID","spikeConnection","SpikeConnection","appId","authToken","customerEndUserId","callbackUrl","error","unwrapSpikeException","exports","getBackgroundConnections","connectionUUIDs","connections","map","uuid","ensurePermissionsAreGranted","permissions","Platform","OS","permissionType","rawValue","isPackageInstalled","isHealthDataAvailable","S4","str","i","push","Math","floor","random","length","join","createConnectionAPIv3","setWrapper","version","SpikeRNConnectionAPIv3"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"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","ignoreList":[]}
@@ -93,13 +93,16 @@ const unwrapSpikeException = error => {
93
93
  return new SpikeCallbackURLNotProvidedException();
94
94
  case 'SpikeHealthDataNotAvailableException':
95
95
  return new SpikeHealthDataNotAvailableException();
96
- case 'SpikeWrapperException':
97
- return new SpikeException();
96
+ case 'SpikeConnectionNotFoundException':
97
+ // TODO: update android
98
+ return new SpikeException("SpikeConnectionNotFoundException");
99
+ case 'SpikeDataDecodingException':
100
+ return new SpikeException("SpikeDataDecodingException:" + error.message);
98
101
  default:
99
- return new SpikeException();
102
+ return new SpikeException("Default SpikeException: " + error.message);
100
103
  }
101
104
  }
102
- return new SpikeException();
105
+ return new SpikeException("Unknown SpikeException: " + error);
103
106
  };
104
107
  exports.unwrapSpikeException = unwrapSpikeException;
105
108
  //# sourceMappingURL=SpikeException.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SpikeException","Error","constructor","message","exports","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","SpikeHealthDataNotAvailableException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SpikeException","Error","constructor","message","exports","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","SpikeHealthDataNotAvailableException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":"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","ignoreList":[]}