react-native-spike-sdk 2.2.4 → 2.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -12
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/spikesdk/SpikeSdkModule.kt +26 -23
- package/ios/SpikeExceptionMapper.swift +2 -0
- package/ios/SpikeSdk.m +3 -0
- package/ios/SpikeSdk.swift +10 -0
- package/lib/commonjs/Spike.js +11 -1
- package/lib/commonjs/Spike.js.map +1 -1
- package/lib/commonjs/SpikeException.js +9 -1
- package/lib/commonjs/SpikeException.js.map +1 -1
- package/lib/commonjs/index.js +2 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/Spike.js +10 -1
- package/lib/module/Spike.js.map +1 -1
- package/lib/module/SpikeException.js +7 -0
- package/lib/module/SpikeException.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/Spike.d.ts +2 -1
- package/lib/typescript/Spike.d.ts.map +1 -1
- package/lib/typescript/SpikeException.d.ts +3 -0
- package/lib/typescript/SpikeException.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/react-native-spike-sdk.podspec +2 -2
- package/src/Spike.ts +12 -0
- package/src/SpikeException.ts +7 -0
- package/src/index.ts +2 -0
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ Spike ReactNative SDK is a library on top of Apple HealthKit and Android HealthC
|
|
|
10
10
|
- [Installation](#installation)
|
|
11
11
|
- [iOS Setup](#ios_setup)
|
|
12
12
|
- [Android Setup](#android_setup)
|
|
13
|
+
- [Check HealthConnect availability (Android Only)](#health_connect_package)
|
|
14
|
+
- [Check HealthStore data availability (iOS Only)](#health_store_data)
|
|
13
15
|
- [Spike SDK usage](#sdk_usage)
|
|
14
16
|
1. [Create Spike connection](#create_connection)
|
|
15
17
|
2. [Permissions](#permissions)
|
|
@@ -26,6 +28,8 @@ Spike ReactNative SDK is a library on top of Apple HealthKit and Android HealthC
|
|
|
26
28
|
|
|
27
29
|
- Android 9.0+
|
|
28
30
|
|
|
31
|
+
> 🚨 Expo: This package is not available in the [Expo Go](https://expo.io/client) app. Learn how you can use it with [custom dev clients](./Expo.md).
|
|
32
|
+
|
|
29
33
|
## Installation <a name="installation"></a>
|
|
30
34
|
|
|
31
35
|
Install the `react-native-spike-sdk` package from [npm](https://www.npmjs.com/package/react-native-spike-sdk)
|
|
@@ -54,8 +58,6 @@ To add HealthKit support to your application's Capabilities.
|
|
|
54
58
|
|
|
55
59
|

|
|
56
60
|
|
|
57
|
-
> 🚨 Expo: This package is not available in the [Expo Go](https://expo.io/client) app. Learn how you can use it with [custom dev clients](./Expo.md).
|
|
58
|
-
|
|
59
61
|
More details you can find [here](https://developer.apple.com/documentation/healthkit/setting_up_healthkit).
|
|
60
62
|
|
|
61
63
|
### Info.plist
|
|
@@ -78,7 +80,7 @@ Add Health Kit permissions descriptions to your `Info.plist` file.
|
|
|
78
80
|
First of all you have to add the required health permissions to your "AndroidManifest.xml" file
|
|
79
81
|
|
|
80
82
|
```xml
|
|
81
|
-
|
|
83
|
+
<uses-permission android:name="android.permission.health.READ_SLEEP"/>
|
|
82
84
|
<uses-permission android:name="android.permission.health.READ_WEIGHT"/>
|
|
83
85
|
<uses-permission android:name="android.permission.health.READ_ACTIVE_CALORIES_BURNED"/>
|
|
84
86
|
<uses-permission android:name="android.permission.health.READ_BASAL_METABOLIC_RATE"/>
|
|
@@ -166,6 +168,22 @@ maven {
|
|
|
166
168
|
}
|
|
167
169
|
```
|
|
168
170
|
|
|
171
|
+
## Check HealthConnect availability (Android Only) <a name="health_connect_package"></a>
|
|
172
|
+
|
|
173
|
+
Check if Health Connect installed on a device.
|
|
174
|
+
|
|
175
|
+
```javascript
|
|
176
|
+
const isPackageInstalled = await Spike.isPackageInstalled();
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Check HealthStore data availability (iOS Only) <a name="health_store_data"></a>
|
|
180
|
+
|
|
181
|
+
Check if Health Store data available on a device.
|
|
182
|
+
|
|
183
|
+
```javascript
|
|
184
|
+
const isAvailable = await Spike.isHealthDataAvailable();
|
|
185
|
+
```
|
|
186
|
+
|
|
169
187
|
## Spike SDK usage <a name="sdk_usage"></a>
|
|
170
188
|
|
|
171
189
|
Start getting Spike data in 3 steps.
|
|
@@ -278,14 +296,6 @@ const data = await conn.extractAndPostData({
|
|
|
278
296
|
});
|
|
279
297
|
```
|
|
280
298
|
|
|
281
|
-
## Check HealthConnect availability (Android Only) <a name="health_connect_package"></a>
|
|
282
|
-
|
|
283
|
-
Check if Health Connect installed on a device.
|
|
284
|
-
|
|
285
|
-
```javascript
|
|
286
|
-
const isPackageInstalled = await Spike.isPackageInstalled();
|
|
287
|
-
```
|
|
288
|
-
|
|
289
299
|
## Background deliveries (iOS Only) <a name="background_deliveries"></a>
|
|
290
300
|
|
|
291
301
|
Background delivery enables asynchronous data delivery to the customer backend by means of webhooks. It enables data updates to be sent to the backend even when the application is hidden or closed. Background delivery is only supported on iOS devices at the moment. Background deliveries will send whole day data to the webhook.
|
|
@@ -401,7 +411,8 @@ class BackgroundDeliveriesLogger implements SpikeBackgroundDeliveriesLogger {
|
|
|
401
411
|
| Spike | createConnection | Creates a new SpikeConnection instance with the given user details.<br />**Parameters:** config ([SpikeConnectionConfig](#type_SpikeConnectionConfig)), logger? ([SpikeLogger](#class_SpikeLogger)) .<br />**Returns:** An instance of the SpikeConnection class ([SpikeConnection](#class_SpikeConnection)). | yes | yes |
|
|
402
412
|
| Spike | getBackgroundConnections | Returns all connections that are configured to deliver data in the background.<br />**Returns:** An array of SpikeConnection instances with callbackUrl (Array\<[SpikeConnection](#class_SpikeConnection)>). | yes | yes |
|
|
403
413
|
| Spike | ensurePermissionsAreGranted | Verifies that platform-specific permissions corresponding to the Spike data types provided are granted. In the event that some permissions are not granted, a platform-specific permissions dialogue will be presented to the end-user. This method should only be invoked from a UI component.<br />**Parameters:** permissions (Array\<[SpikeDataType](#spike_data_types)>) | yes | no |
|
|
404
|
-
| Spike | isPackageInstalled | Check if Health Connect installed on a device
|
|
414
|
+
| Spike | isPackageInstalled | Check if Health Connect installed on a device.<br />**Returns:** isInstalled (Bool) | no | yes |
|
|
415
|
+
| Spike | isHealthDataAvailable | Check if Health Store data available on the device.<br />**Returns:** isAvailable (Bool) | yes | no |
|
|
405
416
|
|
|
406
417
|
### SpikeConnection <a name="class_SpikeConnection"></a>
|
|
407
418
|
|
package/android/build.gradle
CHANGED
|
@@ -76,7 +76,7 @@ dependencies {
|
|
|
76
76
|
//noinspection GradleDynamicVersion
|
|
77
77
|
implementation "com.facebook.react:react-android:0.71.3"
|
|
78
78
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
79
|
-
implementation 'com.spikeapi.sdk:spike-sdk:3.0.
|
|
79
|
+
implementation 'com.spikeapi.sdk:spike-sdk:3.0.8'
|
|
80
80
|
implementation 'androidx.core:core-ktx:1.9.0'
|
|
81
81
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1'
|
|
82
82
|
implementation 'com.google.code.gson:gson:2.10.1'
|
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
package com.spikesdk
|
|
2
2
|
|
|
3
3
|
import android.os.Build
|
|
4
|
-
import android.os.Environment
|
|
5
|
-
import android.os.Environment.DIRECTORY_DOWNLOADS
|
|
6
4
|
import androidx.activity.ComponentActivity
|
|
7
5
|
import androidx.activity.result.ActivityResultCallback
|
|
8
6
|
import androidx.activity.result.ActivityResultLauncher
|
|
9
7
|
import androidx.activity.result.contract.ActivityResultContract
|
|
10
|
-
import com.facebook.react.bridge
|
|
11
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
12
|
-
import com.facebook.react.bridge.ReactContext
|
|
13
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
14
|
-
import com.facebook.react.bridge.ReactMethod
|
|
15
|
-
import com.facebook.react.bridge.WritableMap
|
|
16
|
-
import com.facebook.react.bridge.WritableNativeMap
|
|
8
|
+
import com.facebook.react.bridge.*
|
|
17
9
|
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
18
10
|
import com.google.gson.GsonBuilder
|
|
19
11
|
import com.spikeapi.SpikeConnection
|
|
@@ -24,8 +16,6 @@ import kotlinx.coroutines.CoroutineScope
|
|
|
24
16
|
import kotlinx.coroutines.Dispatchers
|
|
25
17
|
import kotlinx.coroutines.SupervisorJob
|
|
26
18
|
import kotlinx.coroutines.launch
|
|
27
|
-
import java.io.File
|
|
28
|
-
import java.io.IOException
|
|
29
19
|
import java.time.OffsetDateTime
|
|
30
20
|
import java.util.UUID
|
|
31
21
|
|
|
@@ -38,7 +28,7 @@ fun <I, O> ComponentActivity.registerActivityResultLauncher(
|
|
|
38
28
|
}
|
|
39
29
|
|
|
40
30
|
class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
41
|
-
ReactContextBaseJavaModule(reactContext) {
|
|
31
|
+
ReactContextBaseJavaModule(reactContext), LifecycleEventListener {
|
|
42
32
|
|
|
43
33
|
private val connections = mutableMapOf<String, SpikeConnection>()
|
|
44
34
|
|
|
@@ -50,11 +40,16 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
50
40
|
OffsetDateTime::class.java,
|
|
51
41
|
OffsetDateTimeSerializer()
|
|
52
42
|
).create()
|
|
43
|
+
private var checkPermissionsFor: Triple<String, String, Promise>? = null
|
|
53
44
|
|
|
54
45
|
override fun getName(): String {
|
|
55
46
|
return NAME
|
|
56
47
|
}
|
|
57
48
|
|
|
49
|
+
init {
|
|
50
|
+
reactContext.addLifecycleEventListener(this)
|
|
51
|
+
}
|
|
52
|
+
|
|
58
53
|
@ReactMethod
|
|
59
54
|
fun isPackageInstalled(
|
|
60
55
|
promise: Promise
|
|
@@ -199,7 +194,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
199
194
|
"Connection not found"
|
|
200
195
|
).mapException(), "Connection not found"
|
|
201
196
|
)
|
|
202
|
-
connection.readGrantedPermissions()
|
|
203
197
|
val result = connection.extractData(
|
|
204
198
|
dataType = dataType.toSpikeDataType(),
|
|
205
199
|
from = fromDateMillis.toLong().millisToOffsetDataTime(),
|
|
@@ -227,7 +221,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
227
221
|
"Connection not found"
|
|
228
222
|
).mapException(), "Connection not found"
|
|
229
223
|
)
|
|
230
|
-
connection.readGrantedPermissions()
|
|
231
224
|
val result = connection.extractAndPostData(
|
|
232
225
|
dataType = dataType.toSpikeDataType(),
|
|
233
226
|
from = fromDateMillis.toLong().millisToOffsetDataTime(),
|
|
@@ -253,7 +246,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
253
246
|
"Connection not found"
|
|
254
247
|
).mapException(), "Connection not found"
|
|
255
248
|
)
|
|
256
|
-
connection.readGrantedPermissions()
|
|
257
249
|
val result = connection.extractData(
|
|
258
250
|
dataType = dataType.toSpikeDataType()
|
|
259
251
|
)
|
|
@@ -277,7 +269,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
277
269
|
"Connection not found"
|
|
278
270
|
).mapException(), "Connection not found"
|
|
279
271
|
)
|
|
280
|
-
connection.readGrantedPermissions()
|
|
281
272
|
val result = connection.extractAndPostData(
|
|
282
273
|
dataType = dataType.toSpikeDataType()
|
|
283
274
|
)
|
|
@@ -317,7 +308,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
317
308
|
)
|
|
318
309
|
val permissionsGranted: Boolean =
|
|
319
310
|
connection.hasHealthPermissionsGranted(requiredPermissions)
|
|
320
|
-
connection.readGrantedPermissions()
|
|
321
311
|
promise.resolve(permissionsGranted)
|
|
322
312
|
} catch (e: SpikeExceptions) {
|
|
323
313
|
promise.reject(e.mapException(), e.message)
|
|
@@ -358,7 +348,6 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
358
348
|
}
|
|
359
349
|
}
|
|
360
350
|
}
|
|
361
|
-
|
|
362
351
|
@ReactMethod
|
|
363
352
|
fun requestHealthPermissions(connectionUUID: String, dataType: String, promise: Promise) {
|
|
364
353
|
val connection = connections[connectionUUID] ?: return promise.reject(
|
|
@@ -371,7 +360,7 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
371
360
|
connection.getRequiredHealthPermissionsMetadata(dataType.toSpikeDataType())
|
|
372
361
|
|
|
373
362
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.TIRAMISU) {
|
|
374
|
-
val intent =
|
|
363
|
+
val intent = SpikeConnection.requestReadAuthorization().createIntent(
|
|
375
364
|
reactApplicationContext, permissions
|
|
376
365
|
)
|
|
377
366
|
|
|
@@ -383,15 +372,15 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
383
372
|
} else {
|
|
384
373
|
val activity = reactApplicationContext.currentActivity
|
|
385
374
|
if (activity is ComponentActivity) {
|
|
375
|
+
checkPermissionsFor = Triple(connectionUUID, dataType, promise)
|
|
386
376
|
val launcher =
|
|
387
377
|
activity.registerActivityResultLauncher(
|
|
388
|
-
|
|
378
|
+
SpikeConnection.requestReadAuthorization()
|
|
389
379
|
) {
|
|
390
|
-
|
|
380
|
+
|
|
391
381
|
}
|
|
392
382
|
|
|
393
383
|
launcher.launch(permissions)
|
|
394
|
-
promise.resolve(true)
|
|
395
384
|
} else {
|
|
396
385
|
promise.resolve(false)
|
|
397
386
|
}
|
|
@@ -432,10 +421,24 @@ class SpikeSdkModule(reactContext: ReactApplicationContext) :
|
|
|
432
421
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
433
422
|
.emit(eventName, params)
|
|
434
423
|
}
|
|
424
|
+
override fun onHostResume() {
|
|
425
|
+
checkPermissionsFor?.let {
|
|
426
|
+
checkPermissionsGranted(
|
|
427
|
+
it.first,
|
|
428
|
+
it.second,
|
|
429
|
+
it.third
|
|
430
|
+
)
|
|
431
|
+
}
|
|
432
|
+
checkPermissionsFor = null
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
override fun onHostPause() {
|
|
436
|
+
}
|
|
435
437
|
|
|
438
|
+
override fun onHostDestroy() {
|
|
439
|
+
}
|
|
436
440
|
companion object {
|
|
437
441
|
const val NAME = "SpikeSdk"
|
|
438
442
|
const val REQUEST_CODE = 4200
|
|
439
443
|
}
|
|
440
|
-
|
|
441
444
|
}
|
|
@@ -25,6 +25,8 @@ class SpikeExceptionMapper {
|
|
|
25
25
|
return "SpikeUnpackException"
|
|
26
26
|
case is SpikeCallbackURLNotProvidedException:
|
|
27
27
|
return "SpikeCallbackURLNotProvidedException"
|
|
28
|
+
case is SpikeHealthDataNotAvailableException:
|
|
29
|
+
return "SpikeHealthDataNotAvailableException"
|
|
28
30
|
case is SpikeWrapperException:
|
|
29
31
|
return "SpikeException"
|
|
30
32
|
default:
|
package/ios/SpikeSdk.m
CHANGED
|
@@ -22,6 +22,9 @@ RCT_EXTERN_METHOD(ensurePermissionsAreGranted: (NSArray<NSString>)permissions
|
|
|
22
22
|
withResolver: (RCTPromiseResolveBlock)resolve
|
|
23
23
|
withRejecter: (RCTPromiseRejectBlock)reject)
|
|
24
24
|
|
|
25
|
+
RCT_EXTERN_METHOD(isHealthDataAvailable: (RCTPromiseResolveBlock)resolve
|
|
26
|
+
withRejecter: (RCTPromiseRejectBlock)reject)
|
|
27
|
+
|
|
25
28
|
// MARK: SpikeConnection level
|
|
26
29
|
|
|
27
30
|
RCT_EXTERN_METHOD(getAppId: (NSString)connectionUUID
|
package/ios/SpikeSdk.swift
CHANGED
|
@@ -71,6 +71,16 @@ class SpikeSdk: RCTEventEmitter {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
+
|
|
75
|
+
@objc(isHealthDataAvailable:
|
|
76
|
+
withRejecter:)
|
|
77
|
+
func isHealthDataAvailable(resolve: @escaping RCTPromiseResolveBlock,
|
|
78
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
79
|
+
Task {
|
|
80
|
+
let isAvailable = Spike.isHealthDataAvailable()
|
|
81
|
+
resolve(isAvailable)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
74
84
|
|
|
75
85
|
@objc(ensurePermissionsAreGranted:
|
|
76
86
|
withResolver:
|
package/lib/commonjs/Spike.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isPackageInstalled = exports.getBackgroundConnections = exports.ensurePermissionsAreGranted = exports.createConnection = void 0;
|
|
6
|
+
exports.isPackageInstalled = exports.isHealthDataAvailable = exports.getBackgroundConnections = exports.ensurePermissionsAreGranted = exports.createConnection = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _SpikeConnection = require("./SpikeConnection");
|
|
9
9
|
var _SpikeException = require("./SpikeException");
|
|
@@ -51,6 +51,16 @@ const isPackageInstalled = async () => {
|
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
53
|
exports.isPackageInstalled = isPackageInstalled;
|
|
54
|
+
const isHealthDataAvailable = async () => {
|
|
55
|
+
if (_reactNative.Platform.OS !== 'ios') return true;
|
|
56
|
+
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
57
|
+
try {
|
|
58
|
+
return await _SpikeSdk.SpikeSdk.isHealthDataAvailable();
|
|
59
|
+
} catch (error) {
|
|
60
|
+
throw (0, _SpikeException.unwrapSpikeException)(error);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.isHealthDataAvailable = isHealthDataAvailable;
|
|
54
64
|
function generateUUID() {
|
|
55
65
|
const S4 = function () {
|
|
56
66
|
let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXZ';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createConnection","config","logger","SpikeSdk","SpikeException","connectionUUID","generateUUID","spikeConnection","SpikeConnection","appId","authToken","customerEndUserId","callbackUrl","env","error","unwrapSpikeException","getBackgroundConnections","connectionUUIDs","connections","map","uuid","ensurePermissionsAreGranted","permissions","Platform","OS","permissionType","rawValue","isPackageInstalled","S4","str","i","push","Math","floor","random","length","join"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":";;;;;;AAAA;AACA;AAEA;AAEA;AAWA,MAAMA,gBAAgB,GAAG,OACvBC,MAA6B,EAC7BC,MAAoB,KACS;EAC7B,IAAI,CAACC,kBAAQ,EAAE,MAAM,IAAIC,8BAAc,EAAE;EAEzC,IAAI;IACF,MAAMC,cAAc,GAAGC,YAAY,EAAE;IACrC,MAAMC,eAAe,GAAG,IAAIC,gCAAe,CAACH,cAAc,EAAEH,MAAM,CAAC;IAEnE,MAAMC,kBAAQ,CAACH,gBAAgB,CAC7BK,cAAc,EACdJ,MAAM,CAACQ,KAAK,EACZR,MAAM,CAACS,SAAS,EAChBT,MAAM,CAACU,iBAAiB,EACxBV,MAAM,CAACW,WAAW,IAAI,IAAI,EAC1BX,MAAM,CAACY,GAAG,IAAI,MAAM,EACpB,CAAC,CAACX,MAAM,CACT;IAED,OAAOK,eAAe;EACxB,CAAC,CAAC,OAAOO,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAoB,EAACD,KAAK,CAAC;EACnC;AACF,CAAC;AAAC;AAEF,MAAME,wBAAwB,GAAG,YAAwC;EACvE,IAAI,CAACb,kBAAQ,EAAE,MAAM,IAAIC,8BAAc,EAAE;EAEzC,IAAI;IACF,MAAMa,eAAyB,GAAG,MAAMd,kBAAQ,CAACa,wBAAwB,EAAE;IAE3E,MAAME,WAAW,GAAGD,eAAe,CAACE,GAAG,CACpCC,IAAI,IAAK,IAAIZ,gCAAe,CAACY,IAAI,CAAC,CACpC;IACD,OAAOF,WAAW;EACpB,CAAC,CAAC,OAAOJ,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAoB,EAACD,KAAK,CAAC;EACnC;AACF,CAAC;AAAC;AAEF,MAAMO,2BAA2B,GAAG,MAClCC,WAA4B,IACV;EAClB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;EAC3B,IAAI,CAACrB,kBAAQ,EAAE,MAAM,IAAIC,8BAAc,EAAE;EAEzC,IAAI;IACF,MAAMD,kBAAQ,CAACkB,2BAA2B,CACxCC,WAAW,CAACH,GAAG,CAAEM,cAAc,IAAKA,cAAc,CAACC,QAAQ,CAAC,CAC7D;EACH,CAAC,CAAC,OAAOZ,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAoB,EAACD,KAAK,CAAC;EACnC;AACF,CAAC;AAAC;AAEF,MAAMa,kBAAkB,GAAG,YAA8B;EACvD,IAAIJ,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI;EAC1C,IAAI,CAACrB,kBAAQ,EAAE,MAAM,IAAIC,8BAAc,EAAE;EAEzC,IAAI;IACF,OAAO,MAAMD,kBAAQ,CAACwB,kBAAkB,EAAE;EAC5C,CAAC,CAAC,OAAOb,KAAK,EAAE;IACd,MAAM,IAAAC,oCAAoB,EAACD,KAAK,CAAC;EACnC;AACF,CAAC;AAAC;AAEF,SAASR,YAAY,GAAG;EACtB,
|
|
1
|
+
{"version":3,"names":["createConnection","config","logger","SpikeSdk","SpikeException","connectionUUID","generateUUID","spikeConnection","SpikeConnection","appId","authToken","customerEndUserId","callbackUrl","env","error","unwrapSpikeException","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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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.unwrapSpikeException = exports.SpikeUnpackException = exports.SpikeServerException = exports.SpikePermissionsNotGrantedException = exports.SpikePackException = exports.SpikeInvalidDateRangeException = exports.SpikeInvalidCredentialsException = exports.SpikeInvalidCallbackUrlException = exports.SpikeException = exports.SpikeConnectionIsClosedException = exports.SpikeCallbackURLNotProvidedException = void 0;
|
|
6
|
+
exports.unwrapSpikeException = exports.SpikeUnpackException = exports.SpikeServerException = exports.SpikePermissionsNotGrantedException = exports.SpikePackException = exports.SpikeInvalidDateRangeException = exports.SpikeInvalidCredentialsException = exports.SpikeInvalidCallbackUrlException = exports.SpikeHealthDataNotAvailableException = exports.SpikeException = exports.SpikeConnectionIsClosedException = exports.SpikeCallbackURLNotProvidedException = void 0;
|
|
7
7
|
class SpikeException extends Error {
|
|
8
8
|
constructor(message) {
|
|
9
9
|
super(message ?? 'SpikeException');
|
|
@@ -64,6 +64,12 @@ class SpikeCallbackURLNotProvidedException extends SpikeException {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
exports.SpikeCallbackURLNotProvidedException = SpikeCallbackURLNotProvidedException;
|
|
67
|
+
class SpikeHealthDataNotAvailableException extends SpikeException {
|
|
68
|
+
constructor() {
|
|
69
|
+
super('SpikeHealthDataNotAvailableException');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.SpikeHealthDataNotAvailableException = SpikeHealthDataNotAvailableException;
|
|
67
73
|
const unwrapSpikeException = error => {
|
|
68
74
|
if (error instanceof Error && 'code' in error) {
|
|
69
75
|
switch (error.code) {
|
|
@@ -85,6 +91,8 @@ const unwrapSpikeException = error => {
|
|
|
85
91
|
return new SpikeUnpackException();
|
|
86
92
|
case 'SpikeCallbackURLNotProvidedException':
|
|
87
93
|
return new SpikeCallbackURLNotProvidedException();
|
|
94
|
+
case 'SpikeHealthDataNotAvailableException':
|
|
95
|
+
return new SpikeHealthDataNotAvailableException();
|
|
88
96
|
case 'SpikeWrapperException':
|
|
89
97
|
return new SpikeException();
|
|
90
98
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SpikeException","Error","constructor","message","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":";;;;;;AAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAW,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,IAAI,gBAAgB,CAAC;EACpC;AACF;AAAC;AAEM,MAAMC,gCAAgC,SAASJ,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMG,gCAAgC,SAASL,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMI,8BAA8B,SAASN,cAAc,CAAC;EACjEE,WAAW,GAAG;IACZ,KAAK,CAAC,gCAAgC,CAAC;EACzC;AACF;AAAC;AACM,MAAMK,gCAAgC,SAASP,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMM,kBAAkB,SAASR,cAAc,CAAC;EACrDE,WAAW,GAAG;IACZ,KAAK,CAAC,oBAAoB,CAAC;EAC7B;AACF;AAAC;AACM,MAAMO,mCAAmC,SAAST,cAAc,CAAC;EACtEE,WAAW,GAAG;IACZ,KAAK,CAAC,qCAAqC,CAAC;EAC9C;AACF;AAAC;AACM,MAAMQ,oBAAoB,SAASV,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AAAC;AACM,MAAMS,oBAAoB,SAASX,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AAAC;AACM,MAAMU,oCAAoC,SAASZ,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;AAAC;
|
|
1
|
+
{"version":3,"names":["SpikeException","Error","constructor","message","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","SpikeHealthDataNotAvailableException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":";;;;;;AAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAW,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,IAAI,gBAAgB,CAAC;EACpC;AACF;AAAC;AAEM,MAAMC,gCAAgC,SAASJ,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMG,gCAAgC,SAASL,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMI,8BAA8B,SAASN,cAAc,CAAC;EACjEE,WAAW,GAAG;IACZ,KAAK,CAAC,gCAAgC,CAAC;EACzC;AACF;AAAC;AACM,MAAMK,gCAAgC,SAASP,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AAAC;AACM,MAAMM,kBAAkB,SAASR,cAAc,CAAC;EACrDE,WAAW,GAAG;IACZ,KAAK,CAAC,oBAAoB,CAAC;EAC7B;AACF;AAAC;AACM,MAAMO,mCAAmC,SAAST,cAAc,CAAC;EACtEE,WAAW,GAAG;IACZ,KAAK,CAAC,qCAAqC,CAAC;EAC9C;AACF;AAAC;AACM,MAAMQ,oBAAoB,SAASV,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AAAC;AACM,MAAMS,oBAAoB,SAASX,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AAAC;AACM,MAAMU,oCAAoC,SAASZ,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;AAAC;AACM,MAAMW,oCAAoC,SAASb,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;AAAC;AAEM,MAAMY,oBAAoB,GAAIC,KAAc,IAAqB;EACtE,IAAIA,KAAK,YAAYd,KAAK,IAAI,MAAM,IAAIc,KAAK,EAAE;IAC7C,QAAQA,KAAK,CAACC,IAAI;MAChB,KAAK,kCAAkC;QACrC,OAAO,IAAIZ,gCAAgC,EAAE;MAC/C,KAAK,kCAAkC;QACrC,OAAO,IAAIC,gCAAgC,EAAE;MAC/C,KAAK,gCAAgC;QACnC,OAAO,IAAIC,8BAA8B,EAAE;MAC7C,KAAK,kCAAkC;QACrC,OAAO,IAAIC,gCAAgC,EAAE;MAC/C,KAAK,oBAAoB;QACvB,OAAO,IAAIC,kBAAkB,EAAE;MACjC,KAAK,qCAAqC;QACxC,OAAO,IAAIC,mCAAmC,EAAE;MAClD,KAAK,sBAAsB;QACzB,OAAO,IAAIC,oBAAoB,EAAE;MACnC,KAAK,sBAAsB;QACzB,OAAO,IAAIC,oBAAoB,EAAE;MACnC,KAAK,sCAAsC;QACzC,OAAO,IAAIC,oCAAoC,EAAE;MACnD,KAAK,sCAAsC;QACzC,OAAO,IAAIC,oCAAoC,EAAE;MACnD,KAAK,uBAAuB;QAC1B,OAAO,IAAIb,cAAc,EAAE;MAC7B;QACE,OAAO,IAAIA,cAAc,EAAE;IAAC;EAElC;EACA,OAAO,IAAIA,cAAc,EAAE;AAC7B,CAAC;AAAC"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -90,7 +90,8 @@ var _default = {
|
|
|
90
90
|
createConnection: _Spike.createConnection,
|
|
91
91
|
getBackgroundConnections: _Spike.getBackgroundConnections,
|
|
92
92
|
ensurePermissionsAreGranted: _Spike.ensurePermissionsAreGranted,
|
|
93
|
-
isPackageInstalled: _Spike.isPackageInstalled
|
|
93
|
+
isPackageInstalled: _Spike.isPackageInstalled,
|
|
94
|
+
isHealthDataAvailable: _Spike.isHealthDataAvailable
|
|
94
95
|
};
|
|
95
96
|
exports.default = _default;
|
|
96
97
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;
|
|
1
|
+
{"version":3,"names":["createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","isHealthDataAvailable"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAEA;AAQA;AAKA;AAW0B,eAaX;EACbA,gBAAgB,EAAhBA,uBAAgB;EAChBC,wBAAwB,EAAxBA,+BAAwB;EACxBC,2BAA2B,EAA3BA,kCAA2B;EAC3BC,kBAAkB,EAAlBA,yBAAkB;EAClBC,qBAAqB,EAArBA;AACF,CAAC;AAAA"}
|
package/lib/module/Spike.js
CHANGED
|
@@ -41,6 +41,15 @@ const isPackageInstalled = async () => {
|
|
|
41
41
|
throw unwrapSpikeException(error);
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
|
+
const isHealthDataAvailable = async () => {
|
|
45
|
+
if (Platform.OS !== 'ios') return true;
|
|
46
|
+
if (!SpikeSdk) throw new SpikeException();
|
|
47
|
+
try {
|
|
48
|
+
return await SpikeSdk.isHealthDataAvailable();
|
|
49
|
+
} catch (error) {
|
|
50
|
+
throw unwrapSpikeException(error);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
44
53
|
function generateUUID() {
|
|
45
54
|
const S4 = function () {
|
|
46
55
|
let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXZ';
|
|
@@ -52,5 +61,5 @@ function generateUUID() {
|
|
|
52
61
|
};
|
|
53
62
|
return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();
|
|
54
63
|
}
|
|
55
|
-
export { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled };
|
|
64
|
+
export { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled, isHealthDataAvailable };
|
|
56
65
|
//# sourceMappingURL=Spike.js.map
|
package/lib/module/Spike.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","SpikeConnection","SpikeException","unwrapSpikeException","SpikeSdk","createConnection","config","logger","connectionUUID","generateUUID","spikeConnection","appId","authToken","customerEndUserId","callbackUrl","env","error","getBackgroundConnections","connectionUUIDs","connections","map","uuid","ensurePermissionsAreGranted","permissions","OS","permissionType","rawValue","isPackageInstalled","S4","str","i","push","Math","floor","random","length","join"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AAEnD,SAASC,cAAc,EAAEC,oBAAoB,QAAQ,kBAAkB;AAEvE,SAASC,QAAQ,QAAQ,YAAY;AAWrC,MAAMC,gBAAgB,GAAG,OACvBC,MAA6B,EAC7BC,MAAoB,KACS;EAC7B,IAAI,CAACH,QAAQ,EAAE,MAAM,IAAIF,cAAc,EAAE;EAEzC,IAAI;IACF,MAAMM,cAAc,GAAGC,YAAY,EAAE;IACrC,MAAMC,eAAe,GAAG,IAAIT,eAAe,CAACO,cAAc,EAAED,MAAM,CAAC;IAEnE,MAAMH,QAAQ,CAACC,gBAAgB,CAC7BG,cAAc,EACdF,MAAM,CAACK,KAAK,EACZL,MAAM,CAACM,SAAS,EAChBN,MAAM,CAACO,iBAAiB,EACxBP,MAAM,CAACQ,WAAW,IAAI,IAAI,EAC1BR,MAAM,CAACS,GAAG,IAAI,MAAM,EACpB,CAAC,CAACR,MAAM,CACT;IAED,OAAOG,eAAe;EACxB,CAAC,CAAC,OAAOM,KAAK,EAAE;IACd,MAAMb,oBAAoB,CAACa,KAAK,CAAC;EACnC;AACF,CAAC;AAED,MAAMC,wBAAwB,GAAG,YAAwC;EACvE,IAAI,CAACb,QAAQ,EAAE,MAAM,IAAIF,cAAc,EAAE;EAEzC,IAAI;IACF,MAAMgB,eAAyB,GAAG,MAAMd,QAAQ,CAACa,wBAAwB,EAAE;IAE3E,MAAME,WAAW,GAAGD,eAAe,CAACE,GAAG,CACpCC,IAAI,IAAK,IAAIpB,eAAe,CAACoB,IAAI,CAAC,CACpC;IACD,OAAOF,WAAW;EACpB,CAAC,CAAC,OAAOH,KAAK,EAAE;IACd,MAAMb,oBAAoB,CAACa,KAAK,CAAC;EACnC;AACF,CAAC;AAED,MAAMM,2BAA2B,GAAG,MAClCC,WAA4B,IACV;EAClB,IAAIvB,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;EAC3B,IAAI,CAACpB,QAAQ,EAAE,MAAM,IAAIF,cAAc,EAAE;EAEzC,IAAI;IACF,MAAME,QAAQ,CAACkB,2BAA2B,CACxCC,WAAW,CAACH,GAAG,CAAEK,cAAc,IAAKA,cAAc,CAACC,QAAQ,CAAC,CAC7D;EACH,CAAC,CAAC,OAAOV,KAAK,EAAE;IACd,MAAMb,oBAAoB,CAACa,KAAK,CAAC;EACnC;AACF,CAAC;AAED,MAAMW,kBAAkB,GAAG,YAA8B;EACvD,IAAI3B,QAAQ,CAACwB,EAAE,KAAK,SAAS,EAAE,OAAO,IAAI;EAC1C,IAAI,CAACpB,QAAQ,EAAE,MAAM,IAAIF,cAAc,EAAE;EAEzC,IAAI;IACF,OAAO,MAAME,QAAQ,CAACuB,kBAAkB,EAAE;EAC5C,CAAC,CAAC,OAAOX,KAAK,EAAE;IACd,MAAMb,oBAAoB,CAACa,KAAK,CAAC;EACnC;AACF,CAAC;AAED,SAASP,YAAY,GAAG;EACtB,
|
|
1
|
+
{"version":3,"names":["Platform","SpikeConnection","SpikeException","unwrapSpikeException","SpikeSdk","createConnection","config","logger","connectionUUID","generateUUID","spikeConnection","appId","authToken","customerEndUserId","callbackUrl","env","error","getBackgroundConnections","connectionUUIDs","connections","map","uuid","ensurePermissionsAreGranted","permissions","OS","permissionType","rawValue","isPackageInstalled","isHealthDataAvailable","S4","str","i","push","Math","floor","random","length","join"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"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"}
|
|
@@ -48,6 +48,11 @@ export class SpikeCallbackURLNotProvidedException extends SpikeException {
|
|
|
48
48
|
super('SpikeCallbackURLNotProvidedException');
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
export class SpikeHealthDataNotAvailableException extends SpikeException {
|
|
52
|
+
constructor() {
|
|
53
|
+
super('SpikeHealthDataNotAvailableException');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
51
56
|
export const unwrapSpikeException = error => {
|
|
52
57
|
if (error instanceof Error && 'code' in error) {
|
|
53
58
|
switch (error.code) {
|
|
@@ -69,6 +74,8 @@ export const unwrapSpikeException = error => {
|
|
|
69
74
|
return new SpikeUnpackException();
|
|
70
75
|
case 'SpikeCallbackURLNotProvidedException':
|
|
71
76
|
return new SpikeCallbackURLNotProvidedException();
|
|
77
|
+
case 'SpikeHealthDataNotAvailableException':
|
|
78
|
+
return new SpikeHealthDataNotAvailableException();
|
|
72
79
|
case 'SpikeWrapperException':
|
|
73
80
|
return new SpikeException();
|
|
74
81
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SpikeException","Error","constructor","message","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":"AAAA,OAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAW,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,IAAI,gBAAgB,CAAC;EACpC;AACF;AAEA,OAAO,MAAMC,gCAAgC,SAASJ,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMG,gCAAgC,SAASL,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMI,8BAA8B,SAASN,cAAc,CAAC;EACjEE,WAAW,GAAG;IACZ,KAAK,CAAC,gCAAgC,CAAC;EACzC;AACF;AACA,OAAO,MAAMK,gCAAgC,SAASP,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMM,kBAAkB,SAASR,cAAc,CAAC;EACrDE,WAAW,GAAG;IACZ,KAAK,CAAC,oBAAoB,CAAC;EAC7B;AACF;AACA,OAAO,MAAMO,mCAAmC,SAAST,cAAc,CAAC;EACtEE,WAAW,GAAG;IACZ,KAAK,CAAC,qCAAqC,CAAC;EAC9C;AACF;AACA,OAAO,MAAMQ,oBAAoB,SAASV,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AACA,OAAO,MAAMS,oBAAoB,SAASX,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AACA,OAAO,MAAMU,oCAAoC,SAASZ,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;
|
|
1
|
+
{"version":3,"names":["SpikeException","Error","constructor","message","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException","SpikeHealthDataNotAvailableException","unwrapSpikeException","error","code"],"sourceRoot":"../../src","sources":["SpikeException.ts"],"mappings":"AAAA,OAAO,MAAMA,cAAc,SAASC,KAAK,CAAC;EACxCC,WAAW,CAACC,OAAgB,EAAE;IAC5B,KAAK,CAACA,OAAO,IAAI,gBAAgB,CAAC;EACpC;AACF;AAEA,OAAO,MAAMC,gCAAgC,SAASJ,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMG,gCAAgC,SAASL,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMI,8BAA8B,SAASN,cAAc,CAAC;EACjEE,WAAW,GAAG;IACZ,KAAK,CAAC,gCAAgC,CAAC;EACzC;AACF;AACA,OAAO,MAAMK,gCAAgC,SAASP,cAAc,CAAC;EACnEE,WAAW,GAAG;IACZ,KAAK,CAAC,kCAAkC,CAAC;EAC3C;AACF;AACA,OAAO,MAAMM,kBAAkB,SAASR,cAAc,CAAC;EACrDE,WAAW,GAAG;IACZ,KAAK,CAAC,oBAAoB,CAAC;EAC7B;AACF;AACA,OAAO,MAAMO,mCAAmC,SAAST,cAAc,CAAC;EACtEE,WAAW,GAAG;IACZ,KAAK,CAAC,qCAAqC,CAAC;EAC9C;AACF;AACA,OAAO,MAAMQ,oBAAoB,SAASV,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AACA,OAAO,MAAMS,oBAAoB,SAASX,cAAc,CAAC;EACvDE,WAAW,GAAG;IACZ,KAAK,CAAC,sBAAsB,CAAC;EAC/B;AACF;AACA,OAAO,MAAMU,oCAAoC,SAASZ,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;AACA,OAAO,MAAMW,oCAAoC,SAASb,cAAc,CAAC;EACvEE,WAAW,GAAG;IACZ,KAAK,CAAC,sCAAsC,CAAC;EAC/C;AACF;AAEA,OAAO,MAAMY,oBAAoB,GAAIC,KAAc,IAAqB;EACtE,IAAIA,KAAK,YAAYd,KAAK,IAAI,MAAM,IAAIc,KAAK,EAAE;IAC7C,QAAQA,KAAK,CAACC,IAAI;MAChB,KAAK,kCAAkC;QACrC,OAAO,IAAIZ,gCAAgC,EAAE;MAC/C,KAAK,kCAAkC;QACrC,OAAO,IAAIC,gCAAgC,EAAE;MAC/C,KAAK,gCAAgC;QACnC,OAAO,IAAIC,8BAA8B,EAAE;MAC7C,KAAK,kCAAkC;QACrC,OAAO,IAAIC,gCAAgC,EAAE;MAC/C,KAAK,oBAAoB;QACvB,OAAO,IAAIC,kBAAkB,EAAE;MACjC,KAAK,qCAAqC;QACxC,OAAO,IAAIC,mCAAmC,EAAE;MAClD,KAAK,sBAAsB;QACzB,OAAO,IAAIC,oBAAoB,EAAE;MACnC,KAAK,sBAAsB;QACzB,OAAO,IAAIC,oBAAoB,EAAE;MACnC,KAAK,sCAAsC;QACzC,OAAO,IAAIC,oCAAoC,EAAE;MACnD,KAAK,sCAAsC;QACzC,OAAO,IAAIC,oCAAoC,EAAE;MACnD,KAAK,uBAAuB;QAC1B,OAAO,IAAIb,cAAc,EAAE;MAC7B;QACE,OAAO,IAAIA,cAAc,EAAE;IAAC;EAElC;EACA,OAAO,IAAIA,cAAc,EAAE;AAC7B,CAAC"}
|
package/lib/module/index.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { SpikeDataTypes } from './DataModels/SpikeDataTypes';
|
|
2
|
-
import { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled, SpikeConnectionConfig } from './Spike';
|
|
2
|
+
import { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled, isHealthDataAvailable, SpikeConnectionConfig } from './Spike';
|
|
3
3
|
import { SpikeConnection } from './SpikeConnection';
|
|
4
4
|
import { SpikeException, SpikeConnectionIsClosedException, SpikeInvalidCredentialsException, SpikeInvalidDateRangeException, SpikeInvalidCallbackUrlException, SpikePackException, SpikePermissionsNotGrantedException, SpikeServerException, SpikeUnpackException, SpikeCallbackURLNotProvidedException } from './SpikeException';
|
|
5
5
|
export default {
|
|
6
6
|
createConnection,
|
|
7
7
|
getBackgroundConnections,
|
|
8
8
|
ensurePermissionsAreGranted,
|
|
9
|
-
isPackageInstalled
|
|
9
|
+
isPackageInstalled,
|
|
10
|
+
isHealthDataAvailable
|
|
10
11
|
};
|
|
11
12
|
export { SpikeConnection, SpikeDataTypes, SpikeConnectionConfig, SpikeException, SpikeConnectionIsClosedException, SpikeInvalidCredentialsException, SpikeInvalidDateRangeException, SpikeInvalidCallbackUrlException, SpikePackException, SpikePermissionsNotGrantedException, SpikeServerException, SpikeUnpackException, SpikeCallbackURLNotProvidedException };
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SpikeDataTypes","createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","SpikeConnectionConfig","SpikeConnection","SpikeException","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kBAAkB,EAClBC,qBAAqB,QAChB,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AAKnD,SACEC,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC,QAC/B,kBAAkB;AAazB,eAAe;
|
|
1
|
+
{"version":3,"names":["SpikeDataTypes","createConnection","getBackgroundConnections","ensurePermissionsAreGranted","isPackageInstalled","isHealthDataAvailable","SpikeConnectionConfig","SpikeConnection","SpikeException","SpikeConnectionIsClosedException","SpikeInvalidCredentialsException","SpikeInvalidDateRangeException","SpikeInvalidCallbackUrlException","SpikePackException","SpikePermissionsNotGrantedException","SpikeServerException","SpikeUnpackException","SpikeCallbackURLNotProvidedException"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAE5D,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kBAAkB,EAClBC,qBAAqB,EACrBC,qBAAqB,QAChB,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AAKnD,SACEC,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC,QAC/B,kBAAkB;AAazB,eAAe;EACbhB,gBAAgB;EAChBC,wBAAwB;EACxBC,2BAA2B;EAC3BC,kBAAkB;EAClBC;AACF,CAAC;AACD,SACEE,eAAe,EACfP,cAAc,EAMdM,qBAAqB,EACrBE,cAAc,EACdC,gCAAgC,EAChCC,gCAAgC,EAChCC,8BAA8B,EAC9BC,gCAAgC,EAChCC,kBAAkB,EAClBC,mCAAmC,EACnCC,oBAAoB,EACpBC,oBAAoB,EACpBC,oCAAoC"}
|
|
@@ -13,5 +13,6 @@ declare const createConnection: (config: SpikeConnectionConfig, logger?: SpikeLo
|
|
|
13
13
|
declare const getBackgroundConnections: () => Promise<SpikeConnection[]>;
|
|
14
14
|
declare const ensurePermissionsAreGranted: (permissions: SpikeDataType[]) => Promise<void>;
|
|
15
15
|
declare const isPackageInstalled: () => Promise<boolean>;
|
|
16
|
-
|
|
16
|
+
declare const isHealthDataAvailable: () => Promise<boolean>;
|
|
17
|
+
export { createConnection, getBackgroundConnections, ensurePermissionsAreGranted, isPackageInstalled, isHealthDataAvailable, SpikeConnectionConfig, };
|
|
17
18
|
//# sourceMappingURL=Spike.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spike.d.ts","sourceRoot":"","sources":["../../src/Spike.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,gBAAgB,WACZ,qBAAqB,WACpB,WAAW,KACnB,QAAQ,eAAe,CAqBzB,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAa,QAAQ,eAAe,EAAE,CAanE,CAAC;AAEF,QAAA,MAAM,2BAA2B,gBAClB,aAAa,EAAE,KAC3B,QAAQ,IAAI,CAWd,CAAC;AAEF,QAAA,MAAM,kBAAkB,QAAa,QAAQ,OAAO,CASnD,CAAC;AA4BF,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,GACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Spike.d.ts","sourceRoot":"","sources":["../../src/Spike.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF,QAAA,MAAM,gBAAgB,WACZ,qBAAqB,WACpB,WAAW,KACnB,QAAQ,eAAe,CAqBzB,CAAC;AAEF,QAAA,MAAM,wBAAwB,QAAa,QAAQ,eAAe,EAAE,CAanE,CAAC;AAEF,QAAA,MAAM,2BAA2B,gBAClB,aAAa,EAAE,KAC3B,QAAQ,IAAI,CAWd,CAAC;AAEF,QAAA,MAAM,kBAAkB,QAAa,QAAQ,OAAO,CASnD,CAAC;AAEF,QAAA,MAAM,qBAAqB,QAAa,QAAQ,OAAO,CAStD,CAAC;AA4BF,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,CAAC"}
|
|
@@ -28,5 +28,8 @@ export declare class SpikeUnpackException extends SpikeException {
|
|
|
28
28
|
export declare class SpikeCallbackURLNotProvidedException extends SpikeException {
|
|
29
29
|
constructor();
|
|
30
30
|
}
|
|
31
|
+
export declare class SpikeHealthDataNotAvailableException extends SpikeException {
|
|
32
|
+
constructor();
|
|
33
|
+
}
|
|
31
34
|
export declare const unwrapSpikeException: (error: unknown) => SpikeException;
|
|
32
35
|
//# sourceMappingURL=SpikeException.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpikeException.d.ts","sourceRoot":"","sources":["../../src/SpikeException.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,8BAA+B,SAAQ,cAAc;;CAIjE;AACD,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,kBAAmB,SAAQ,cAAc;;CAIrD;AACD,qBAAa,mCAAoC,SAAQ,cAAc;;CAItE;AACD,qBAAa,oBAAqB,SAAQ,cAAc;;CAIvD;AACD,qBAAa,oBAAqB,SAAQ,cAAc;;CAIvD;AACD,qBAAa,oCAAqC,SAAQ,cAAc;;CAIvE;AAED,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,
|
|
1
|
+
{"version":3,"file":"SpikeException.d.ts","sourceRoot":"","sources":["../../src/SpikeException.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,CAAC,EAAE,MAAM;CAG7B;AAED,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,8BAA+B,SAAQ,cAAc;;CAIjE;AACD,qBAAa,gCAAiC,SAAQ,cAAc;;CAInE;AACD,qBAAa,kBAAmB,SAAQ,cAAc;;CAIrD;AACD,qBAAa,mCAAoC,SAAQ,cAAc;;CAItE;AACD,qBAAa,oBAAqB,SAAQ,cAAc;;CAIvD;AACD,qBAAa,oBAAqB,SAAQ,cAAc;;CAIvD;AACD,qBAAa,oCAAqC,SAAQ,cAAc;;CAIvE;AACD,qBAAa,oCAAqC,SAAQ,cAAc;;CAIvE;AAED,eAAO,MAAM,oBAAoB,UAAW,OAAO,KAAG,cA8BrD,CAAC"}
|
|
@@ -23,6 +23,7 @@ declare const _default: {
|
|
|
23
23
|
getBackgroundConnections: () => Promise<SpikeConnection[]>;
|
|
24
24
|
ensurePermissionsAreGranted: (permissions: SpikeDataType[]) => Promise<void>;
|
|
25
25
|
isPackageInstalled: () => Promise<boolean>;
|
|
26
|
+
isHealthDataAvailable: () => Promise<boolean>;
|
|
26
27
|
};
|
|
27
28
|
export default _default;
|
|
28
29
|
export { SpikeConnection, SpikeDataTypes, SpikeDataType, SpikeDataEntry, SpikeLogger, SpikeBackgroundDeliveriesLogger, SpikeEnvironment, SpikeConnectionConfig, SpikeException, SpikeConnectionIsClosedException, SpikeInvalidCredentialsException, SpikeInvalidDateRangeException, SpikeInvalidCallbackUrlException, SpikePackException, SpikePermissionsNotGrantedException, SpikeServerException, SpikeUnpackException, SpikeCallbackURLNotProvidedException, SpikeData, SpikeActivitiesSummaryDataEntry, SpikeActivitiesStreamDataEntry, SpikeBreathingDataEntry, SpikeCaloriesDataEntry, SpikeDistanceDataEntry, SpikeGlucoseDataEntry, SpikeHeartDataEntry, SpikeOxygenSaturationDataEntry, SpikeSleepDataEntry, SpikeStepsDataEntry, SpikeBodyDataEntry, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAML,qBAAqB,EACtB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AACpG,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6CAA6C,CAAC;AAClG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;;;;;;;;AAE1E,wBAME;AACF,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,+BAA+B,EAC/B,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,gCAAgC,EAChC,gCAAgC,EAChC,8BAA8B,EAC9B,gCAAgC,EAChC,kBAAkB,EAClB,mCAAmC,EACnC,oBAAoB,EACpB,oBAAoB,EACpB,oCAAoC,EACpC,SAAS,EACT,+BAA+B,EAC/B,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-spike-sdk",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.6",
|
|
4
4
|
"description": "Spike API for health and productivity data from wearables and IoT devices",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
"react-native": "*"
|
|
77
77
|
},
|
|
78
78
|
"dependencies": {
|
|
79
|
-
"@expo/config-types": "^
|
|
80
|
-
"@expo/config-plugins": "
|
|
81
|
-
"@expo/fingerprint": "^0.
|
|
79
|
+
"@expo/config-types": "^50.0.0",
|
|
80
|
+
"@expo/config-plugins": "^7.8.4",
|
|
81
|
+
"@expo/fingerprint": "^0.6.0"
|
|
82
82
|
},
|
|
83
83
|
"engines": {
|
|
84
84
|
"node": ">= 16.0.0"
|
|
@@ -5,7 +5,7 @@ folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1
|
|
|
5
5
|
|
|
6
6
|
Pod::Spec.new do |s|
|
|
7
7
|
s.name = "react-native-spike-sdk"
|
|
8
|
-
s.version = "2.2.
|
|
8
|
+
s.version = "2.2.6"
|
|
9
9
|
s.summary = "Spike API for health and productivity data from wearables and IoT devices"
|
|
10
10
|
|
|
11
11
|
s.description = <<-DESC
|
|
@@ -25,7 +25,7 @@ Pod::Spec.new do |s|
|
|
|
25
25
|
s.swift_version = "5"
|
|
26
26
|
|
|
27
27
|
s.dependency "React-Core"
|
|
28
|
-
s.dependency "SpikeSDK", "~> 2.1.
|
|
28
|
+
s.dependency "SpikeSDK", "~> 2.1.11"
|
|
29
29
|
|
|
30
30
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
31
31
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
package/src/Spike.ts
CHANGED
|
@@ -81,6 +81,17 @@ const isPackageInstalled = async (): Promise<boolean> => {
|
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
83
|
|
|
84
|
+
const isHealthDataAvailable = async (): Promise<boolean> => {
|
|
85
|
+
if (Platform.OS !== 'ios') return true;
|
|
86
|
+
if (!SpikeSdk) throw new SpikeException();
|
|
87
|
+
|
|
88
|
+
try {
|
|
89
|
+
return await SpikeSdk.isHealthDataAvailable();
|
|
90
|
+
} catch (error) {
|
|
91
|
+
throw unwrapSpikeException(error);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
84
95
|
function generateUUID() {
|
|
85
96
|
const S4 = function () {
|
|
86
97
|
let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXZ';
|
|
@@ -112,5 +123,6 @@ export {
|
|
|
112
123
|
getBackgroundConnections,
|
|
113
124
|
ensurePermissionsAreGranted,
|
|
114
125
|
isPackageInstalled,
|
|
126
|
+
isHealthDataAvailable,
|
|
115
127
|
SpikeConnectionConfig,
|
|
116
128
|
};
|
package/src/SpikeException.ts
CHANGED
|
@@ -49,6 +49,11 @@ export class SpikeCallbackURLNotProvidedException extends SpikeException {
|
|
|
49
49
|
super('SpikeCallbackURLNotProvidedException');
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
export class SpikeHealthDataNotAvailableException extends SpikeException {
|
|
53
|
+
constructor() {
|
|
54
|
+
super('SpikeHealthDataNotAvailableException');
|
|
55
|
+
}
|
|
56
|
+
}
|
|
52
57
|
|
|
53
58
|
export const unwrapSpikeException = (error: unknown): SpikeException => {
|
|
54
59
|
if (error instanceof Error && 'code' in error) {
|
|
@@ -71,6 +76,8 @@ export const unwrapSpikeException = (error: unknown): SpikeException => {
|
|
|
71
76
|
return new SpikeUnpackException();
|
|
72
77
|
case 'SpikeCallbackURLNotProvidedException':
|
|
73
78
|
return new SpikeCallbackURLNotProvidedException();
|
|
79
|
+
case 'SpikeHealthDataNotAvailableException':
|
|
80
|
+
return new SpikeHealthDataNotAvailableException();
|
|
74
81
|
case 'SpikeWrapperException':
|
|
75
82
|
return new SpikeException();
|
|
76
83
|
default:
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
getBackgroundConnections,
|
|
6
6
|
ensurePermissionsAreGranted,
|
|
7
7
|
isPackageInstalled,
|
|
8
|
+
isHealthDataAvailable,
|
|
8
9
|
SpikeConnectionConfig,
|
|
9
10
|
} from './Spike';
|
|
10
11
|
import { SpikeConnection } from './SpikeConnection';
|
|
@@ -41,6 +42,7 @@ export default {
|
|
|
41
42
|
getBackgroundConnections,
|
|
42
43
|
ensurePermissionsAreGranted,
|
|
43
44
|
isPackageInstalled,
|
|
45
|
+
isHealthDataAvailable,
|
|
44
46
|
};
|
|
45
47
|
export {
|
|
46
48
|
SpikeConnection,
|