react-native-spike-sdk 1.0.6 → 1.0.7
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/ios/SpikeDataTypeMapper.swift +2 -0
- package/ios/SpikeSdk.m +1 -1
- package/ios/SpikeSdk.swift +3 -14
- package/lib/commonjs/SpikeWebhookConnection.js +5 -23
- package/lib/commonjs/SpikeWebhookConnection.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/SpikeWebhookConnection.js +7 -25
- package/lib/module/SpikeWebhookConnection.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/SpikeWebhookConnection.d.ts +1 -6
- package/lib/typescript/SpikeWebhookConnection.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-spike-sdk.podspec +2 -2
- package/src/SpikeWebhookConnection.ts +7 -44
- package/src/index.ts +0 -2
package/ios/SpikeSdk.m
CHANGED
|
@@ -102,7 +102,7 @@ RCT_EXTERN_METHOD(getBackgroundDeliveryDataTypes: (NSString)connectionUUID
|
|
|
102
102
|
withResolver: (RCTPromiseResolveBlock)resolve
|
|
103
103
|
withRejecter: (RCTPromiseRejectBlock)reject)
|
|
104
104
|
|
|
105
|
-
RCT_EXTERN_METHOD(
|
|
105
|
+
RCT_EXTERN_METHOD(getBackgroundLogs: (NSString)connectionUUID
|
|
106
106
|
withResolver: (RCTPromiseResolveBlock)resolve
|
|
107
107
|
withRejecter: (RCTPromiseRejectBlock)reject)
|
|
108
108
|
|
package/ios/SpikeSdk.swift
CHANGED
|
@@ -457,7 +457,7 @@ class SpikeSdk: RCTEventEmitter {
|
|
|
457
457
|
}
|
|
458
458
|
}
|
|
459
459
|
|
|
460
|
-
@objc(
|
|
460
|
+
@objc(getBackgroundLogs:
|
|
461
461
|
withResolver:
|
|
462
462
|
withRejecter:)
|
|
463
463
|
func setListener(connectionUUID: String,
|
|
@@ -469,9 +469,8 @@ class SpikeSdk: RCTEventEmitter {
|
|
|
469
469
|
}
|
|
470
470
|
|
|
471
471
|
do {
|
|
472
|
-
let
|
|
473
|
-
|
|
474
|
-
resolve(Void())
|
|
472
|
+
let logs = try connection.getBackgroundLogs()
|
|
473
|
+
resolve(logs)
|
|
475
474
|
} catch let error {
|
|
476
475
|
spikeReject(with: error, reject: reject)
|
|
477
476
|
}
|
|
@@ -507,16 +506,6 @@ class SpikeSdk: RCTEventEmitter {
|
|
|
507
506
|
}
|
|
508
507
|
}
|
|
509
508
|
|
|
510
|
-
private func createListener(connectionUUID: String) -> SpikeWebhookConnectionListener {
|
|
511
|
-
return SpikeConnectionListener(connectionUUID: connectionUUID) { [weak self] connectionUUID, log in
|
|
512
|
-
let body = [
|
|
513
|
-
"connectionUUID": connectionUUID,
|
|
514
|
-
"log": log
|
|
515
|
-
]
|
|
516
|
-
self?.sendEvent(withName: "onSubmissionFailure", body: body)
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
|
|
520
509
|
private func spikeReject(with error: Error, reject: RCTPromiseRejectBlock) {
|
|
521
510
|
let errorString = SpikeExceptionMapper.handleSpikeError(error)
|
|
522
511
|
reject(errorString, errorString, error)
|
|
@@ -10,7 +10,6 @@ var _SpikeException = require("./SpikeException");
|
|
|
10
10
|
var _SpikeSdk = require("./SpikeSdk");
|
|
11
11
|
var _SpikeDataType = require("./DataTypes/SpikeDataType");
|
|
12
12
|
class SpikeWebhookConnection extends _SpikeConnection.SpikeConnection {
|
|
13
|
-
webhookListener = null;
|
|
14
13
|
async getCallbackUrl() {
|
|
15
14
|
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
16
15
|
return await _SpikeSdk.SpikeSdk.getCallbackUrl(this.connectionUUID);
|
|
@@ -38,32 +37,13 @@ class SpikeWebhookConnection extends _SpikeConnection.SpikeConnection {
|
|
|
38
37
|
const dataTypes = await _SpikeSdk.SpikeSdk.getBackgroundDeliveryDataTypes(this.connectionUUID);
|
|
39
38
|
return dataTypes.map(type => this.convertDataType(type));
|
|
40
39
|
}
|
|
41
|
-
async
|
|
42
|
-
if (_reactNative.Platform.OS !== 'ios') return;
|
|
40
|
+
async getBackgroundLogs() {
|
|
41
|
+
if (_reactNative.Platform.OS !== 'ios') return [];
|
|
43
42
|
if (!_SpikeSdk.SpikeSdk) throw new _SpikeException.SpikeException();
|
|
44
|
-
this.
|
|
45
|
-
await _SpikeSdk.SpikeSdk.setListener(this.connectionUUID);
|
|
43
|
+
return await _SpikeSdk.SpikeSdk.getBackgroundLogs(this.connectionUUID);
|
|
46
44
|
}
|
|
47
45
|
async close() {
|
|
48
46
|
await super.close();
|
|
49
|
-
this.removeListeners();
|
|
50
|
-
}
|
|
51
|
-
setupListener(listener) {
|
|
52
|
-
var _this$eventListener;
|
|
53
|
-
if (!_SpikeSdk.SpikeSdk) return;
|
|
54
|
-
this.removeListeners();
|
|
55
|
-
this.eventListener = new _reactNative.NativeEventEmitter(_SpikeSdk.SpikeSdk);
|
|
56
|
-
this.webhookListener = listener;
|
|
57
|
-
(_this$eventListener = this.eventListener) === null || _this$eventListener === void 0 ? void 0 : _this$eventListener.addListener('onSubmissionFailure', data => {
|
|
58
|
-
var _this$webhookListener;
|
|
59
|
-
if (this.connectionUUID !== data.connectionUUID) return;
|
|
60
|
-
(_this$webhookListener = this.webhookListener) === null || _this$webhookListener === void 0 ? void 0 : _this$webhookListener.onBackgroundLog(data.log);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
removeListeners() {
|
|
64
|
-
if (!this.eventListener) return;
|
|
65
|
-
this.eventListener.removeAllListeners('onSubmissionFailure');
|
|
66
|
-
this.eventListener = undefined;
|
|
67
47
|
}
|
|
68
48
|
convertDataType(dataType) {
|
|
69
49
|
if (dataType === 'activities_summary') {
|
|
@@ -86,6 +66,8 @@ class SpikeWebhookConnection extends _SpikeConnection.SpikeConnection {
|
|
|
86
66
|
return new _SpikeDataType.SpikeSleepDataType();
|
|
87
67
|
} else if (dataType === 'steps') {
|
|
88
68
|
return new _SpikeDataType.SpikeStepsDataType();
|
|
69
|
+
} else if (dataType === 'body') {
|
|
70
|
+
return new _SpikeDataType.SpikeBodyDataType();
|
|
89
71
|
}
|
|
90
72
|
return new _SpikeDataType.SpikeStepsDataType();
|
|
91
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_SpikeConnection","_SpikeException","_SpikeSdk","_SpikeDataType","SpikeWebhookConnection","SpikeConnection","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_SpikeConnection","_SpikeException","_SpikeSdk","_SpikeDataType","SpikeWebhookConnection","SpikeConnection","getCallbackUrl","SpikeSdk","SpikeException","connectionUUID","extractAndPostData","dataType","json","rawValue","data","JSON","parse","extractAndPostDataInRange","from","to","getTime","enableBackgroundDelivery","dataTypes","Platform","OS","map","type","getBackgroundDeliveryDataTypes","convertDataType","getBackgroundLogs","close","SpikeActivitiesSummaryDataType","SpikeActivitiesStreamDataType","SpikeBreathingDataType","SpikeCaloriesDataType","SpikeDistanceDataType","SpikeGlucoseDataType","SpikeHeartDataType","SpikeOxygenSaturationDataType","SpikeSleepDataType","SpikeStepsDataType","SpikeBodyDataType","exports"],"sourceRoot":"../../src","sources":["SpikeWebhookConnection.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_SpikeDataTypes","require","_Spike","_SpikeConnection","_SpikeWebhookConnection","_default","setEnvironment","createConnection","createWebhookConnection","unpackConnection","getBackgroundConnections","ensurePermissionsAreGranted","initialize","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAAkE,IAAAI,QAAA,
|
|
1
|
+
{"version":3,"names":["_SpikeDataTypes","require","_Spike","_SpikeConnection","_SpikeWebhookConnection","_default","setEnvironment","createConnection","createWebhookConnection","unpackConnection","getBackgroundConnections","ensurePermissionsAreGranted","initialize","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAAkE,IAAAI,QAAA,GAInD;EACbC,cAAc,EAAdA,qBAAc;EACdC,gBAAgB,EAAhBA,uBAAgB;EAChBC,uBAAuB,EAAvBA,8BAAuB;EACvBC,gBAAgB,EAAhBA,uBAAgB;EAChBC,wBAAwB,EAAxBA,+BAAwB;EACxBC,2BAA2B,EAA3BA,kCAA2B;EAC3BC,UAAU,EAAVA;AACF,CAAC;AAAAC,OAAA,CAAAC,OAAA,GAAAT,QAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
2
|
import { SpikeConnection } from './SpikeConnection';
|
|
3
3
|
import { SpikeException } from './SpikeException';
|
|
4
4
|
import { SpikeSdk } from './SpikeSdk';
|
|
5
|
-
import { SpikeActivitiesStreamDataType, SpikeActivitiesSummaryDataType, SpikeBreathingDataType, SpikeCaloriesDataType, SpikeDistanceDataType, SpikeGlucoseDataType, SpikeHeartDataType, SpikeOxygenSaturationDataType, SpikeSleepDataType, SpikeStepsDataType } from './DataTypes/SpikeDataType';
|
|
5
|
+
import { SpikeActivitiesStreamDataType, SpikeActivitiesSummaryDataType, SpikeBodyDataType, SpikeBreathingDataType, SpikeCaloriesDataType, SpikeDistanceDataType, SpikeGlucoseDataType, SpikeHeartDataType, SpikeOxygenSaturationDataType, SpikeSleepDataType, SpikeStepsDataType } from './DataTypes/SpikeDataType';
|
|
6
6
|
export class SpikeWebhookConnection extends SpikeConnection {
|
|
7
|
-
webhookListener = null;
|
|
8
7
|
async getCallbackUrl() {
|
|
9
8
|
if (!SpikeSdk) throw new SpikeException();
|
|
10
9
|
return await SpikeSdk.getCallbackUrl(this.connectionUUID);
|
|
@@ -32,32 +31,13 @@ export class SpikeWebhookConnection extends SpikeConnection {
|
|
|
32
31
|
const dataTypes = await SpikeSdk.getBackgroundDeliveryDataTypes(this.connectionUUID);
|
|
33
32
|
return dataTypes.map(type => this.convertDataType(type));
|
|
34
33
|
}
|
|
35
|
-
async
|
|
36
|
-
if (Platform.OS !== 'ios') return;
|
|
34
|
+
async getBackgroundLogs() {
|
|
35
|
+
if (Platform.OS !== 'ios') return [];
|
|
37
36
|
if (!SpikeSdk) throw new SpikeException();
|
|
38
|
-
this.
|
|
39
|
-
await SpikeSdk.setListener(this.connectionUUID);
|
|
37
|
+
return await SpikeSdk.getBackgroundLogs(this.connectionUUID);
|
|
40
38
|
}
|
|
41
39
|
async close() {
|
|
42
40
|
await super.close();
|
|
43
|
-
this.removeListeners();
|
|
44
|
-
}
|
|
45
|
-
setupListener(listener) {
|
|
46
|
-
var _this$eventListener;
|
|
47
|
-
if (!SpikeSdk) return;
|
|
48
|
-
this.removeListeners();
|
|
49
|
-
this.eventListener = new NativeEventEmitter(SpikeSdk);
|
|
50
|
-
this.webhookListener = listener;
|
|
51
|
-
(_this$eventListener = this.eventListener) === null || _this$eventListener === void 0 ? void 0 : _this$eventListener.addListener('onSubmissionFailure', data => {
|
|
52
|
-
var _this$webhookListener;
|
|
53
|
-
if (this.connectionUUID !== data.connectionUUID) return;
|
|
54
|
-
(_this$webhookListener = this.webhookListener) === null || _this$webhookListener === void 0 ? void 0 : _this$webhookListener.onBackgroundLog(data.log);
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
removeListeners() {
|
|
58
|
-
if (!this.eventListener) return;
|
|
59
|
-
this.eventListener.removeAllListeners('onSubmissionFailure');
|
|
60
|
-
this.eventListener = undefined;
|
|
61
41
|
}
|
|
62
42
|
convertDataType(dataType) {
|
|
63
43
|
if (dataType === 'activities_summary') {
|
|
@@ -80,6 +60,8 @@ export class SpikeWebhookConnection extends SpikeConnection {
|
|
|
80
60
|
return new SpikeSleepDataType();
|
|
81
61
|
} else if (dataType === 'steps') {
|
|
82
62
|
return new SpikeStepsDataType();
|
|
63
|
+
} else if (dataType === 'body') {
|
|
64
|
+
return new SpikeBodyDataType();
|
|
83
65
|
}
|
|
84
66
|
return new SpikeStepsDataType();
|
|
85
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Platform","SpikeConnection","SpikeException","SpikeSdk","SpikeActivitiesStreamDataType","SpikeActivitiesSummaryDataType","SpikeBodyDataType","SpikeBreathingDataType","SpikeCaloriesDataType","SpikeDistanceDataType","SpikeGlucoseDataType","SpikeHeartDataType","SpikeOxygenSaturationDataType","SpikeSleepDataType","SpikeStepsDataType","SpikeWebhookConnection","getCallbackUrl","connectionUUID","extractAndPostData","dataType","json","rawValue","data","JSON","parse","extractAndPostDataInRange","from","to","getTime","enableBackgroundDelivery","dataTypes","OS","map","type","getBackgroundDeliveryDataTypes","convertDataType","getBackgroundLogs","close"],"sourceRoot":"../../src","sources":["SpikeWebhookConnection.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,QAAQ,QAAQ,YAAY;AAGrC,SACEC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,iBAAiB,EACjBC,sBAAsB,EACtBC,qBAAqB,EAErBC,qBAAqB,EACrBC,oBAAoB,EACpBC,kBAAkB,EAClBC,6BAA6B,EAC7BC,kBAAkB,EAClBC,kBAAkB,QACb,2BAA2B;AAElC,OAAO,MAAMC,sBAAsB,SAASd,eAAe,CAAC;EAC1D,MAAMe,cAAcA,CAAA,EAAoB;IACtC,IAAI,CAACb,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,OAAO,MAAMC,QAAQ,CAACa,cAAc,CAAC,IAAI,CAACC,cAAc,CAAC;EAC3D;EAEA,MAAMC,kBAAkBA,CACtBC,QAAkC,EACR;IAC1B,IAAI,CAAChB,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,MAAMkB,IAAY,GAAG,MAAMjB,QAAQ,CAACe,kBAAkB,CACpD,IAAI,CAACD,cAAc,EACnBE,QAAQ,CAACE,QACX,CAAC;IACD,MAAMC,IAAqB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC;IAC9C,OAAOE,IAAI;EACb;EAEA,MAAMG,yBAAyBA,CAC7BN,QAAkC,EAClCO,IAAU,EACVC,EAAQ,EACkB;IAC1B,IAAI,CAACxB,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,MAAMkB,IAAY,GAAG,MAAMjB,QAAQ,CAACsB,yBAAyB,CAC3D,IAAI,CAACR,cAAc,EACnBE,QAAQ,CAACE,QAAQ,EACjBK,IAAI,CAACE,OAAO,CAAC,CAAC,EACdD,EAAE,CAACC,OAAO,CAAC,CACb,CAAC;IACD,MAAMN,IAAqB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAAC;IAC9C,OAAOE,IAAI;EACb;EAEA,MAAMO,wBAAwBA,CAC5BC,SAAqC,EACtB;IACf,IAAI9B,QAAQ,CAAC+B,EAAE,KAAK,KAAK,EAAE;IAC3B,IAAI,CAAC5B,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,MAAMC,QAAQ,CAAC0B,wBAAwB,CACrC,IAAI,CAACZ,cAAc,EACnBa,SAAS,CAACE,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACZ,QAAQ,CACvC,CAAC;EACH;EAEA,MAAMa,8BAA8BA,CAAA,EAEK;IACvC,IAAIlC,QAAQ,CAAC+B,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE;IACpC,IAAI,CAAC5B,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,MAAM4B,SAAmB,GAAG,MAAM3B,QAAQ,CAAC+B,8BAA8B,CACvE,IAAI,CAACjB,cACP,CAAC;IACD,OAAOa,SAAS,CAACE,GAAG,CAAEC,IAAI,IAAK,IAAI,CAACE,eAAe,CAACF,IAAI,CAAC,CAAC;EAC5D;EAEA,MAAMG,iBAAiBA,CAAA,EAAsB;IAC3C,IAAIpC,QAAQ,CAAC+B,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE;IACpC,IAAI,CAAC5B,QAAQ,EAAE,MAAM,IAAID,cAAc,CAAC,CAAC;IAEzC,OAAO,MAAMC,QAAQ,CAACiC,iBAAiB,CAAC,IAAI,CAACnB,cAAc,CAAC;EAC9D;EAEA,MAAMoB,KAAKA,CAAA,EAAkB;IAC3B,MAAM,KAAK,CAACA,KAAK,CAAC,CAAC;EACrB;EAEQF,eAAeA,CACrBhB,QAAgB,EACU;IAC1B,IAAIA,QAAQ,KAAK,oBAAoB,EAAE;MACrC,OAAO,IAAId,8BAA8B,CAAC,CAAC;IAC7C,CAAC,MAAM,IAAIc,QAAQ,KAAK,mBAAmB,EAAE;MAC3C,OAAO,IAAIf,6BAA6B,CAAC,CAAC;IAC5C,CAAC,MAAM,IAAIe,QAAQ,KAAK,WAAW,EAAE;MACnC,OAAO,IAAIZ,sBAAsB,CAAC,CAAC;IACrC,CAAC,MAAM,IAAIY,QAAQ,KAAK,UAAU,EAAE;MAClC,OAAO,IAAIX,qBAAqB,CAAC,CAAC;IACpC,CAAC,MAAM,IAAIW,QAAQ,KAAK,UAAU,EAAE;MAClC,OAAO,IAAIV,qBAAqB,CAAC,CAAC;IACpC,CAAC,MAAM,IAAIU,QAAQ,KAAK,SAAS,EAAE;MACjC,OAAO,IAAIT,oBAAoB,CAAC,CAAC;IACnC,CAAC,MAAM,IAAIS,QAAQ,KAAK,OAAO,EAAE;MAC/B,OAAO,IAAIR,kBAAkB,CAAC,CAAC;IACjC,CAAC,MAAM,IAAIQ,QAAQ,KAAK,mBAAmB,EAAE;MAC3C,OAAO,IAAIP,6BAA6B,CAAC,CAAC;IAC5C,CAAC,MAAM,IAAIO,QAAQ,KAAK,OAAO,EAAE;MAC/B,OAAO,IAAIN,kBAAkB,CAAC,CAAC;IACjC,CAAC,MAAM,IAAIM,QAAQ,KAAK,OAAO,EAAE;MAC/B,OAAO,IAAIL,kBAAkB,CAAC,CAAC;IACjC,CAAC,MAAM,IAAIK,QAAQ,KAAK,MAAM,EAAE;MAC9B,OAAO,IAAIb,iBAAiB,CAAC,CAAC;IAChC;IACA,OAAO,IAAIQ,kBAAkB,CAAC,CAAC;EACjC;AACF"}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SpikeDataTypes","setEnvironment","createConnection","createWebhookConnection","unpackConnection","getBackgroundConnections","ensurePermissionsAreGranted","initialize","SpikeConnection","SpikeWebhookConnection"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAG5D,SACEC,cAAc,EACdC,gBAAgB,EAChBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,UAAU,QACL,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,sBAAsB,QAAQ,0BAA0B;
|
|
1
|
+
{"version":3,"names":["SpikeDataTypes","setEnvironment","createConnection","createWebhookConnection","unpackConnection","getBackgroundConnections","ensurePermissionsAreGranted","initialize","SpikeConnection","SpikeWebhookConnection"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,cAAc,QAAQ,6BAA6B;AAG5D,SACEC,cAAc,EACdC,gBAAgB,EAChBC,uBAAuB,EACvBC,gBAAgB,EAChBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,UAAU,QACL,SAAS;AAChB,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,sBAAsB,QAAQ,0BAA0B;AAIjE,eAAe;EACbR,cAAc;EACdC,gBAAgB;EAChBC,uBAAuB;EACvBC,gBAAgB;EAChBC,wBAAwB;EACxBC,2BAA2B;EAC3BC;AACF,CAAC;AAED,SACEC,eAAe,EACfC,sBAAsB,EACtBT,cAAc"}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { SpikeConnection } from './SpikeConnection';
|
|
2
2
|
import type { SpikeWebhookJob } from './DataModels/SpikeWebhookJob';
|
|
3
|
-
import type { SpikeWebhookConnectionListener } from './SpikeWebhookConnectionListener';
|
|
4
3
|
import type { SpikeDataEntry } from './DataModels/SpikeData';
|
|
5
4
|
import { SpikeDataType } from './DataTypes/SpikeDataType';
|
|
6
5
|
export declare class SpikeWebhookConnection extends SpikeConnection {
|
|
7
|
-
private eventListener;
|
|
8
|
-
private webhookListener;
|
|
9
6
|
getCallbackUrl(): Promise<string>;
|
|
10
7
|
extractAndPostData<DataEntry extends SpikeDataEntry>(dataType: SpikeDataType<DataEntry>): Promise<SpikeWebhookJob>;
|
|
11
8
|
extractAndPostDataInRange<DataEntry extends SpikeDataEntry>(dataType: SpikeDataType<DataEntry>, from: Date, to: Date): Promise<SpikeWebhookJob>;
|
|
12
9
|
enableBackgroundDelivery<DataEntry extends SpikeDataEntry>(dataTypes: SpikeDataType<DataEntry>[]): Promise<void>;
|
|
13
10
|
getBackgroundDeliveryDataTypes<DataEntry extends SpikeDataEntry>(): Promise<SpikeDataType<DataEntry>[]>;
|
|
14
|
-
|
|
11
|
+
getBackgroundLogs(): Promise<string[]>;
|
|
15
12
|
close(): Promise<void>;
|
|
16
|
-
private setupListener;
|
|
17
|
-
private removeListeners;
|
|
18
13
|
private convertDataType;
|
|
19
14
|
}
|
|
20
15
|
//# sourceMappingURL=SpikeWebhookConnection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpikeWebhookConnection.d.ts","sourceRoot":"","sources":["../../src/SpikeWebhookConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SpikeWebhookConnection.d.ts","sourceRoot":"","sources":["../../src/SpikeWebhookConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAML,aAAa,EAOd,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,sBAAuB,SAAQ,eAAe;IACnD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMjC,kBAAkB,CAAC,SAAS,SAAS,cAAc,EACvD,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GACjC,OAAO,CAAC,eAAe,CAAC;IAWrB,yBAAyB,CAAC,SAAS,SAAS,cAAc,EAC9D,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,EAClC,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,IAAI,GACP,OAAO,CAAC,eAAe,CAAC;IAarB,wBAAwB,CAAC,SAAS,SAAS,cAAc,EAC7D,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAUV,8BAA8B,CAClC,SAAS,SAAS,cAAc,KAC7B,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;IAUlC,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAOtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,eAAe;CA4BxB"}
|
|
@@ -4,7 +4,6 @@ import type { SpikeDataEntry } from './DataModels/SpikeData';
|
|
|
4
4
|
import { SpikeConnection } from './SpikeConnection';
|
|
5
5
|
import { SpikeWebhookConnection } from './SpikeWebhookConnection';
|
|
6
6
|
import type { SpikeLogger } from './SpikeLogger';
|
|
7
|
-
import type { SpikeWebhookConnectionListener } from './SpikeWebhookConnectionListener';
|
|
8
7
|
import type { SpikeEnvironment } from './SpikeEnvironment';
|
|
9
8
|
declare const _default: {
|
|
10
9
|
setEnvironment: (env: SpikeEnvironment) => Promise<void>;
|
|
@@ -16,5 +15,5 @@ declare const _default: {
|
|
|
16
15
|
initialize: () => void;
|
|
17
16
|
};
|
|
18
17
|
export default _default;
|
|
19
|
-
export { SpikeConnection, SpikeWebhookConnection, SpikeDataTypes, SpikeDataType, SpikeDataEntry, SpikeLogger,
|
|
18
|
+
export { SpikeConnection, SpikeWebhookConnection, SpikeDataTypes, SpikeDataType, SpikeDataEntry, SpikeLogger, SpikeEnvironment, };
|
|
20
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,
|
|
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,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;;;;;;;;;;AAE3D,wBAQE;AAEF,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,gBAAgB,GACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -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 = "1.0.
|
|
8
|
+
s.version = "1.0.7"
|
|
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", "1.0.
|
|
28
|
+
s.dependency "SpikeSDK", "1.0.8"
|
|
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
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
2
|
import { SpikeConnection } from './SpikeConnection';
|
|
3
3
|
import { SpikeException } from './SpikeException';
|
|
4
4
|
import { SpikeSdk } from './SpikeSdk';
|
|
5
5
|
import type { SpikeWebhookJob } from './DataModels/SpikeWebhookJob';
|
|
6
|
-
import type { SpikeWebhookConnectionListener } from './SpikeWebhookConnectionListener';
|
|
7
6
|
import type { SpikeDataEntry } from './DataModels/SpikeData';
|
|
8
7
|
import {
|
|
9
8
|
SpikeActivitiesStreamDataType,
|
|
10
9
|
SpikeActivitiesSummaryDataType,
|
|
10
|
+
SpikeBodyDataType,
|
|
11
11
|
SpikeBreathingDataType,
|
|
12
12
|
SpikeCaloriesDataType,
|
|
13
13
|
SpikeDataType,
|
|
@@ -19,16 +19,7 @@ import {
|
|
|
19
19
|
SpikeStepsDataType,
|
|
20
20
|
} from './DataTypes/SpikeDataType';
|
|
21
21
|
|
|
22
|
-
interface ISubmissionFailure {
|
|
23
|
-
connectionUUID: string;
|
|
24
|
-
log: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
22
|
export class SpikeWebhookConnection extends SpikeConnection {
|
|
28
|
-
private eventListener: NativeEventEmitter | undefined;
|
|
29
|
-
|
|
30
|
-
private webhookListener: SpikeWebhookConnectionListener | null = null;
|
|
31
|
-
|
|
32
23
|
async getCallbackUrl(): Promise<string> {
|
|
33
24
|
if (!SpikeSdk) throw new SpikeException();
|
|
34
25
|
|
|
@@ -89,45 +80,15 @@ export class SpikeWebhookConnection extends SpikeConnection {
|
|
|
89
80
|
return dataTypes.map((type) => this.convertDataType(type));
|
|
90
81
|
}
|
|
91
82
|
|
|
92
|
-
async
|
|
93
|
-
|
|
94
|
-
): Promise<void> {
|
|
95
|
-
if (Platform.OS !== 'ios') return;
|
|
83
|
+
async getBackgroundLogs(): Promise<string[]> {
|
|
84
|
+
if (Platform.OS !== 'ios') return [];
|
|
96
85
|
if (!SpikeSdk) throw new SpikeException();
|
|
97
86
|
|
|
98
|
-
this.
|
|
99
|
-
|
|
100
|
-
await SpikeSdk.setListener(this.connectionUUID);
|
|
87
|
+
return await SpikeSdk.getBackgroundLogs(this.connectionUUID);
|
|
101
88
|
}
|
|
102
89
|
|
|
103
90
|
async close(): Promise<void> {
|
|
104
91
|
await super.close();
|
|
105
|
-
|
|
106
|
-
this.removeListeners();
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
private setupListener(listener: SpikeWebhookConnectionListener | null) {
|
|
110
|
-
if (!SpikeSdk) return;
|
|
111
|
-
|
|
112
|
-
this.removeListeners();
|
|
113
|
-
|
|
114
|
-
this.eventListener = new NativeEventEmitter(SpikeSdk);
|
|
115
|
-
this.webhookListener = listener;
|
|
116
|
-
|
|
117
|
-
this.eventListener?.addListener(
|
|
118
|
-
'onSubmissionFailure',
|
|
119
|
-
(data: ISubmissionFailure) => {
|
|
120
|
-
if (this.connectionUUID !== data.connectionUUID) return;
|
|
121
|
-
this.webhookListener?.onBackgroundLog(data.log);
|
|
122
|
-
}
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
private removeListeners() {
|
|
127
|
-
if (!this.eventListener) return;
|
|
128
|
-
|
|
129
|
-
this.eventListener.removeAllListeners('onSubmissionFailure');
|
|
130
|
-
this.eventListener = undefined;
|
|
131
92
|
}
|
|
132
93
|
|
|
133
94
|
private convertDataType<DataEntry extends SpikeDataEntry>(
|
|
@@ -153,6 +114,8 @@ export class SpikeWebhookConnection extends SpikeConnection {
|
|
|
153
114
|
return new SpikeSleepDataType();
|
|
154
115
|
} else if (dataType === 'steps') {
|
|
155
116
|
return new SpikeStepsDataType();
|
|
117
|
+
} else if (dataType === 'body') {
|
|
118
|
+
return new SpikeBodyDataType();
|
|
156
119
|
}
|
|
157
120
|
return new SpikeStepsDataType();
|
|
158
121
|
}
|
package/src/index.ts
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
import { SpikeConnection } from './SpikeConnection';
|
|
14
14
|
import { SpikeWebhookConnection } from './SpikeWebhookConnection';
|
|
15
15
|
import type { SpikeLogger } from './SpikeLogger';
|
|
16
|
-
import type { SpikeWebhookConnectionListener } from './SpikeWebhookConnectionListener';
|
|
17
16
|
import type { SpikeEnvironment } from './SpikeEnvironment';
|
|
18
17
|
|
|
19
18
|
export default {
|
|
@@ -33,6 +32,5 @@ export {
|
|
|
33
32
|
SpikeDataType,
|
|
34
33
|
SpikeDataEntry,
|
|
35
34
|
SpikeLogger,
|
|
36
|
-
SpikeWebhookConnectionListener,
|
|
37
35
|
SpikeEnvironment,
|
|
38
36
|
};
|