react-native-spike-sdk 0.1.0 → 0.1.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.
- package/README.md +8 -0
- package/ios/SpikeSdk.m +4 -0
- package/ios/SpikeSdk.swift +9 -1
- package/ios/SpikeSdk.xcodeproj/project.xcworkspace/xcuserdata/ekroman.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/lib/commonjs/Spike.js +5 -0
- package/lib/commonjs/Spike.js.map +1 -1
- package/lib/commonjs/useSpikeEvents.js +23 -18
- package/lib/commonjs/useSpikeEvents.js.map +1 -1
- package/lib/module/Spike.js +5 -0
- package/lib/module/Spike.js.map +1 -1
- package/lib/module/useSpikeEvents.js +23 -18
- package/lib/module/useSpikeEvents.js.map +1 -1
- package/lib/typescript/Spike.d.ts +1 -0
- package/lib/typescript/Spike.d.ts.map +1 -1
- package/lib/typescript/SpikeInterface.d.ts +1 -0
- package/lib/typescript/SpikeInterface.d.ts.map +1 -1
- package/lib/typescript/useSpikeEvents.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-spike-sdk.podspec +2 -2
- package/src/Spike.ts +14 -0
- package/src/SpikeInterface.ts +6 -0
- package/src/useSpikeEvents.ts +27 -18
package/README.md
CHANGED
|
@@ -114,6 +114,8 @@ Spike.clearData()
|
|
|
114
114
|
### Get data <a name="get_data"></a>
|
|
115
115
|
|
|
116
116
|
Get data for specified Spike Data types.
|
|
117
|
+
Data will be provided for last 3 days.
|
|
118
|
+
You can optionally provide date range which will return data for each day separately.
|
|
117
119
|
|
|
118
120
|
```
|
|
119
121
|
import Spike, { SpikeDataTypesAll } from 'react-native-spike-sdk';
|
|
@@ -129,6 +131,12 @@ or
|
|
|
129
131
|
Spike.getData(['DataTypeHeartRate', 'DataTypeBasalEnergy'])
|
|
130
132
|
```
|
|
131
133
|
|
|
134
|
+
with date range (ex. get data for each 10 days of January 2023)
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Spike.getDataInRange(SpikeDataTypesAll, new Date('2023-01-01'), new Date('2023-01-10'));
|
|
138
|
+
```
|
|
139
|
+
|
|
132
140
|
All available Data types `SpikeDataType` or use all of the instantly `SpikeDataTypesAll`:
|
|
133
141
|
`DataTypeStep`
|
|
134
142
|
`DataTypeHeartRate`
|
package/ios/SpikeSdk.m
CHANGED
|
@@ -26,6 +26,10 @@ RCT_EXTERN_METHOD(clearData)
|
|
|
26
26
|
|
|
27
27
|
RCT_EXTERN_METHOD(getData: (NSArray<NSString>)dataTypes)
|
|
28
28
|
|
|
29
|
+
RCT_EXTERN_METHOD(getDataInRange: (NSArray<NSString>)dataTypes
|
|
30
|
+
withStartDateMillis: (double)startDateMillis
|
|
31
|
+
withEndDateMillis: (double)endDateMillis)
|
|
32
|
+
|
|
29
33
|
RCT_EXTERN_METHOD(enableBackgroundDelivery: (NSArray<NSString>)dataTypes
|
|
30
34
|
withResolver: (RCTPromiseResolveBlock)resolve
|
|
31
35
|
withRejecter: (RCTPromiseRejectBlock)reject)
|
package/ios/SpikeSdk.swift
CHANGED
|
@@ -50,13 +50,21 @@ class SpikeSdk: RCTEventEmitter {
|
|
|
50
50
|
func clearData() {
|
|
51
51
|
Spike.shared.clearData()
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
|
|
54
54
|
@objc(getData:)
|
|
55
55
|
func getData(dataTypes: [String]) {
|
|
56
56
|
let types = extractDataTypes(dataTypes)
|
|
57
57
|
Spike.shared.getData(for: types)
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
@objc(getDataInRange:withStartDateMillis:withEndDateMillis:)
|
|
61
|
+
func getDataInRange(dataTypes: [String], startDateMillis: Double, endDateMillis: Double) {
|
|
62
|
+
let startDate = Date(timeIntervalSince1970: startDateMillis/1000)
|
|
63
|
+
let endDate = Date(timeIntervalSince1970: endDateMillis/1000)
|
|
64
|
+
let types = extractDataTypes(dataTypes)
|
|
65
|
+
Spike.shared.getData(for: types, from: startDate, to: endDate)
|
|
66
|
+
}
|
|
67
|
+
|
|
60
68
|
@objc(enableBackgroundDelivery:withResolver:withRejecter:)
|
|
61
69
|
func enableBackgroundDelivery(dataTypes: [String],
|
|
62
70
|
resolve: @escaping RCTPromiseResolveBlock,
|
|
Binary file
|
package/lib/commonjs/Spike.js
CHANGED
|
@@ -53,6 +53,11 @@ class Spike {
|
|
|
53
53
|
_SpikeSdk.SpikeSdk.getData(dataTypes);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
getDataInRange(dataTypes, startDate, endDate) {
|
|
57
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
58
|
+
_SpikeSdk.SpikeSdk.getDataInRange(dataTypes, startDate.getTime(), endDate.getTime());
|
|
59
|
+
}
|
|
60
|
+
}
|
|
56
61
|
async enableBackgroundDelivery(dataTypes) {
|
|
57
62
|
if (_reactNative.Platform.OS === 'ios') {
|
|
58
63
|
return _SpikeSdk.SpikeSdk.enableBackgroundDelivery(dataTypes);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Spike","isBackgroundUpdateEnabled","Platform","OS","SpikeSdk","enableDebug","initialize","setup","clientId","authToken","userId","postbackURL","undefined","setupWithURL","getCurrentUUID","uuid","clearData","getData","dataTypes","enableBackgroundDelivery","disableAllBackgroundDelivery"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":";;;;;;AAAA;AAGA;AAEO,MAAMA,KAAK,CAA2B;EAC3C,MAAMC,yBAAyB,GAAqB;IAClD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACH,yBAAyB,EAAE;IAC7C;IACA,OAAO,KAAK;EACd;EAEAI,WAAW,GAAS;IAClB,IAAIH,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACC,WAAW,EAAE;IACxB;EACF;EAEAC,UAAU,GAAS;IACjB,IAAIJ,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACE,UAAU,EAAE;IACvB;EACF;EAEAC,KAAK,CACHC,QAAgB,EAChBC,SAAiB,EACjBC,MAAc,EACdC,WAAoB,EACd;IACN,IAAIT,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,IAAIQ,WAAW,KAAKC,SAAS,EAAE;QAC7BR,kBAAQ,CAACS,YAAY,CAACL,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,CAAC;MACjE,CAAC,MAAM;QACLP,kBAAQ,CAACG,KAAK,CAACC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,CAAC;MAC7C;IACF;EACF;EAEA,MAAMI,cAAc,GAAgC;IAClD,IAAIZ,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMY,IAAY,GAAG,MAAMX,kBAAQ,CAACU,cAAc,EAAE;MACpD,IAAIC,IAAI,EAAE;QACR,OAAOA,IAAI;MACb,CAAC,MAAM;QACL,OAAOH,SAAS;MAClB;IACF;IACA,OAAOA,SAAS;EAClB;EAEAI,SAAS,GAAS;IAChB,IAAId,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACY,SAAS,EAAE;IACtB;EACF;EAEAC,OAAO,CAACC,SAA0B,EAAQ;IACxC,IAAIhB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACa,OAAO,CAACC,SAAS,CAAC;IAC7B;EACF;EAEA,MAAMC,wBAAwB,
|
|
1
|
+
{"version":3,"names":["Spike","isBackgroundUpdateEnabled","Platform","OS","SpikeSdk","enableDebug","initialize","setup","clientId","authToken","userId","postbackURL","undefined","setupWithURL","getCurrentUUID","uuid","clearData","getData","dataTypes","getDataInRange","startDate","endDate","getTime","enableBackgroundDelivery","disableAllBackgroundDelivery"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":";;;;;;AAAA;AAGA;AAEO,MAAMA,KAAK,CAA2B;EAC3C,MAAMC,yBAAyB,GAAqB;IAClD,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACH,yBAAyB,EAAE;IAC7C;IACA,OAAO,KAAK;EACd;EAEAI,WAAW,GAAS;IAClB,IAAIH,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACC,WAAW,EAAE;IACxB;EACF;EAEAC,UAAU,GAAS;IACjB,IAAIJ,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACE,UAAU,EAAE;IACvB;EACF;EAEAC,KAAK,CACHC,QAAgB,EAChBC,SAAiB,EACjBC,MAAc,EACdC,WAAoB,EACd;IACN,IAAIT,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,IAAIQ,WAAW,KAAKC,SAAS,EAAE;QAC7BR,kBAAQ,CAACS,YAAY,CAACL,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,CAAC;MACjE,CAAC,MAAM;QACLP,kBAAQ,CAACG,KAAK,CAACC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,CAAC;MAC7C;IACF;EACF;EAEA,MAAMI,cAAc,GAAgC;IAClD,IAAIZ,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMY,IAAY,GAAG,MAAMX,kBAAQ,CAACU,cAAc,EAAE;MACpD,IAAIC,IAAI,EAAE;QACR,OAAOA,IAAI;MACb,CAAC,MAAM;QACL,OAAOH,SAAS;MAClB;IACF;IACA,OAAOA,SAAS;EAClB;EAEAI,SAAS,GAAS;IAChB,IAAId,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACY,SAAS,EAAE;IACtB;EACF;EAEAC,OAAO,CAACC,SAA0B,EAAQ;IACxC,IAAIhB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACa,OAAO,CAACC,SAAS,CAAC;IAC7B;EACF;EAEAC,cAAc,CACZD,SAA0B,EAC1BE,SAAe,EACfC,OAAa,EACP;IACN,IAAInB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBC,kBAAQ,CAACe,cAAc,CACrBD,SAAS,EACTE,SAAS,CAACE,OAAO,EAAE,EACnBD,OAAO,CAACC,OAAO,EAAE,CAClB;IACH;EACF;EAEA,MAAMC,wBAAwB,CAACL,SAA0B,EAAiB;IACxE,IAAIhB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACmB,wBAAwB,CAACL,SAAS,CAAC;IACrD;EACF;EAEA,MAAMM,4BAA4B,GAAkB;IAClD,IAAItB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACoB,4BAA4B,EAAE;IAChD;EACF;AACF;AAAC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useSpikeEvents = void 0;
|
|
7
|
+
var _react = require("react");
|
|
7
8
|
var _reactNative = require("react-native");
|
|
8
9
|
var _SpikeSdk = require("./SpikeSdk");
|
|
9
10
|
const useSpikeEvents = _ref => {
|
|
@@ -13,24 +14,28 @@ const useSpikeEvents = _ref => {
|
|
|
13
14
|
onDataResult,
|
|
14
15
|
onDataFailure
|
|
15
16
|
} = _ref;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
17
|
+
(0, _react.useEffect)(() => {
|
|
18
|
+
const SpikeSdkEvents = new _reactNative.NativeEventEmitter(_SpikeSdk.SpikeSdk);
|
|
19
|
+
SpikeSdkEvents.addListener('onInitialize', data => {
|
|
20
|
+
onInitialize === null || onInitialize === void 0 ? void 0 : onInitialize(data.uuid);
|
|
21
|
+
});
|
|
22
|
+
SpikeSdkEvents.addListener('onInitializationFailure', () => {
|
|
23
|
+
onInitializationFailure === null || onInitializationFailure === void 0 ? void 0 : onInitializationFailure();
|
|
24
|
+
});
|
|
25
|
+
SpikeSdkEvents.addListener('onDataResult', data => {
|
|
26
|
+
const result = JSON.parse(data.resultJson);
|
|
27
|
+
onDataResult === null || onDataResult === void 0 ? void 0 : onDataResult(result);
|
|
28
|
+
});
|
|
29
|
+
SpikeSdkEvents.addListener('onDataFailure', () => {
|
|
30
|
+
onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
|
|
31
|
+
});
|
|
32
|
+
return () => {
|
|
33
|
+
SpikeSdkEvents.removeAllListeners('onInitialize');
|
|
34
|
+
SpikeSdkEvents.removeAllListeners('onInitializationFailure');
|
|
35
|
+
SpikeSdkEvents.removeAllListeners('onDataResult');
|
|
36
|
+
SpikeSdkEvents.removeAllListeners('onDataFailure');
|
|
37
|
+
};
|
|
38
|
+
}, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
|
|
34
39
|
};
|
|
35
40
|
exports.useSpikeEvents = useSpikeEvents;
|
|
36
41
|
//# sourceMappingURL=useSpikeEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","SpikeSdkEvents","NativeEventEmitter","SpikeSdk","addListener","data","
|
|
1
|
+
{"version":3,"names":["useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","useEffect","SpikeSdkEvents","NativeEventEmitter","SpikeSdk","addListener","data","uuid","result","JSON","parse","resultJson","removeAllListeners"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":";;;;;;AAAA;AACA;AAEA;AASO,MAAMA,cAAc,GAAG,QAKjB;EAAA,IALkB;IAC7BC,YAAY;IACZC,uBAAuB;IACvBC,YAAY;IACZC;EACK,CAAC;EACN,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,cAAc,GAAG,IAAIC,+BAAkB,CAACC,kBAAQ,CAAC;IAEvDF,cAAc,CAACG,WAAW,CAAC,cAAc,EAAGC,IAAsB,IAAK;MACrET,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGS,IAAI,CAACC,IAAI,CAAC;IAC3B,CAAC,CAAC;IACFL,cAAc,CAACG,WAAW,CAAC,yBAAyB,EAAE,MAAM;MAC1DP,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;IAC7B,CAAC,CAAC;IACFI,cAAc,CAACG,WAAW,CACxB,cAAc,EACbC,IAA4B,IAAK;MAChC,MAAME,MAAuB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,UAAU,CAAC;MAC3DZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGS,MAAM,CAAC;IACxB,CAAC,CACF;IACDN,cAAc,CAACG,WAAW,CAAC,eAAe,EAAE,MAAM;MAChDL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXE,cAAc,CAACU,kBAAkB,CAAC,cAAc,CAAC;MACjDV,cAAc,CAACU,kBAAkB,CAAC,yBAAyB,CAAC;MAC5DV,cAAc,CAACU,kBAAkB,CAAC,cAAc,CAAC;MACjDV,cAAc,CAACU,kBAAkB,CAAC,eAAe,CAAC;IACpD,CAAC;EACH,CAAC,EAAE,CAACf,YAAY,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,aAAa,CAAC,CAAC;AAC1E,CAAC;AAAC"}
|
package/lib/module/Spike.js
CHANGED
|
@@ -47,6 +47,11 @@ export class Spike {
|
|
|
47
47
|
SpikeSdk.getData(dataTypes);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
+
getDataInRange(dataTypes, startDate, endDate) {
|
|
51
|
+
if (Platform.OS === 'ios') {
|
|
52
|
+
SpikeSdk.getDataInRange(dataTypes, startDate.getTime(), endDate.getTime());
|
|
53
|
+
}
|
|
54
|
+
}
|
|
50
55
|
async enableBackgroundDelivery(dataTypes) {
|
|
51
56
|
if (Platform.OS === 'ios') {
|
|
52
57
|
return SpikeSdk.enableBackgroundDelivery(dataTypes);
|
package/lib/module/Spike.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","SpikeSdk","Spike","isBackgroundUpdateEnabled","OS","enableDebug","initialize","setup","clientId","authToken","userId","postbackURL","undefined","setupWithURL","getCurrentUUID","uuid","clearData","getData","dataTypes","enableBackgroundDelivery","disableAllBackgroundDelivery"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAGvC,SAASC,QAAQ,QAAQ,YAAY;AAErC,OAAO,MAAMC,KAAK,CAA2B;EAC3C,MAAMC,yBAAyB,GAAqB;IAClD,IAAIH,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACE,yBAAyB,EAAE;IAC7C;IACA,OAAO,KAAK;EACd;EAEAE,WAAW,GAAS;IAClB,IAAIL,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACI,WAAW,EAAE;IACxB;EACF;EAEAC,UAAU,GAAS;IACjB,IAAIN,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACK,UAAU,EAAE;IACvB;EACF;EAEAC,KAAK,CACHC,QAAgB,EAChBC,SAAiB,EACjBC,MAAc,EACdC,WAAoB,EACd;IACN,IAAIX,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,IAAIO,WAAW,KAAKC,SAAS,EAAE;QAC7BX,QAAQ,CAACY,YAAY,CAACL,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,CAAC;MACjE,CAAC,MAAM;QACLV,QAAQ,CAACM,KAAK,CAACC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,CAAC;MAC7C;IACF;EACF;EAEA,MAAMI,cAAc,GAAgC;IAClD,IAAId,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMW,IAAY,GAAG,MAAMd,QAAQ,CAACa,cAAc,EAAE;MACpD,IAAIC,IAAI,EAAE;QACR,OAAOA,IAAI;MACb,CAAC,MAAM;QACL,OAAOH,SAAS;MAClB;IACF;IACA,OAAOA,SAAS;EAClB;EAEAI,SAAS,GAAS;IAChB,IAAIhB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACe,SAAS,EAAE;IACtB;EACF;EAEAC,OAAO,CAACC,SAA0B,EAAQ;IACxC,IAAIlB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACgB,OAAO,CAACC,SAAS,CAAC;IAC7B;EACF;EAEA,MAAMC,wBAAwB,
|
|
1
|
+
{"version":3,"names":["Platform","SpikeSdk","Spike","isBackgroundUpdateEnabled","OS","enableDebug","initialize","setup","clientId","authToken","userId","postbackURL","undefined","setupWithURL","getCurrentUUID","uuid","clearData","getData","dataTypes","getDataInRange","startDate","endDate","getTime","enableBackgroundDelivery","disableAllBackgroundDelivery"],"sourceRoot":"../../src","sources":["Spike.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAGvC,SAASC,QAAQ,QAAQ,YAAY;AAErC,OAAO,MAAMC,KAAK,CAA2B;EAC3C,MAAMC,yBAAyB,GAAqB;IAClD,IAAIH,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACE,yBAAyB,EAAE;IAC7C;IACA,OAAO,KAAK;EACd;EAEAE,WAAW,GAAS;IAClB,IAAIL,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACI,WAAW,EAAE;IACxB;EACF;EAEAC,UAAU,GAAS;IACjB,IAAIN,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACK,UAAU,EAAE;IACvB;EACF;EAEAC,KAAK,CACHC,QAAgB,EAChBC,SAAiB,EACjBC,MAAc,EACdC,WAAoB,EACd;IACN,IAAIX,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,IAAIO,WAAW,KAAKC,SAAS,EAAE;QAC7BX,QAAQ,CAACY,YAAY,CAACL,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,WAAW,CAAC;MACjE,CAAC,MAAM;QACLV,QAAQ,CAACM,KAAK,CAACC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,CAAC;MAC7C;IACF;EACF;EAEA,MAAMI,cAAc,GAAgC;IAClD,IAAId,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMW,IAAY,GAAG,MAAMd,QAAQ,CAACa,cAAc,EAAE;MACpD,IAAIC,IAAI,EAAE;QACR,OAAOA,IAAI;MACb,CAAC,MAAM;QACL,OAAOH,SAAS;MAClB;IACF;IACA,OAAOA,SAAS;EAClB;EAEAI,SAAS,GAAS;IAChB,IAAIhB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACe,SAAS,EAAE;IACtB;EACF;EAEAC,OAAO,CAACC,SAA0B,EAAQ;IACxC,IAAIlB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACgB,OAAO,CAACC,SAAS,CAAC;IAC7B;EACF;EAEAC,cAAc,CACZD,SAA0B,EAC1BE,SAAe,EACfC,OAAa,EACP;IACN,IAAIrB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzBH,QAAQ,CAACkB,cAAc,CACrBD,SAAS,EACTE,SAAS,CAACE,OAAO,EAAE,EACnBD,OAAO,CAACC,OAAO,EAAE,CAClB;IACH;EACF;EAEA,MAAMC,wBAAwB,CAACL,SAA0B,EAAiB;IACxE,IAAIlB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACsB,wBAAwB,CAACL,SAAS,CAAC;IACrD;EACF;EAEA,MAAMM,4BAA4B,GAAkB;IAClD,IAAIxB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACuB,4BAA4B,EAAE;IAChD;EACF;AACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
1
2
|
import { NativeEventEmitter } from 'react-native';
|
|
2
3
|
import { SpikeSdk } from './SpikeSdk';
|
|
3
4
|
export const useSpikeEvents = _ref => {
|
|
@@ -7,23 +8,27 @@ export const useSpikeEvents = _ref => {
|
|
|
7
8
|
onDataResult,
|
|
8
9
|
onDataFailure
|
|
9
10
|
} = _ref;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
|
|
13
|
+
SpikeSdkEvents.addListener('onInitialize', data => {
|
|
14
|
+
onInitialize === null || onInitialize === void 0 ? void 0 : onInitialize(data.uuid);
|
|
15
|
+
});
|
|
16
|
+
SpikeSdkEvents.addListener('onInitializationFailure', () => {
|
|
17
|
+
onInitializationFailure === null || onInitializationFailure === void 0 ? void 0 : onInitializationFailure();
|
|
18
|
+
});
|
|
19
|
+
SpikeSdkEvents.addListener('onDataResult', data => {
|
|
20
|
+
const result = JSON.parse(data.resultJson);
|
|
21
|
+
onDataResult === null || onDataResult === void 0 ? void 0 : onDataResult(result);
|
|
22
|
+
});
|
|
23
|
+
SpikeSdkEvents.addListener('onDataFailure', () => {
|
|
24
|
+
onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
|
|
25
|
+
});
|
|
26
|
+
return () => {
|
|
27
|
+
SpikeSdkEvents.removeAllListeners('onInitialize');
|
|
28
|
+
SpikeSdkEvents.removeAllListeners('onInitializationFailure');
|
|
29
|
+
SpikeSdkEvents.removeAllListeners('onDataResult');
|
|
30
|
+
SpikeSdkEvents.removeAllListeners('onDataFailure');
|
|
31
|
+
};
|
|
32
|
+
}, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
|
|
28
33
|
};
|
|
29
34
|
//# sourceMappingURL=useSpikeEvents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","SpikeSdk","useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","SpikeSdkEvents","addListener","data","
|
|
1
|
+
{"version":3,"names":["useEffect","NativeEventEmitter","SpikeSdk","useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","SpikeSdkEvents","addListener","data","uuid","result","JSON","parse","resultJson","removeAllListeners"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,kBAAkB,QAAQ,cAAc;AAEjD,SAASC,QAAQ,QAAQ,YAAY;AASrC,OAAO,MAAMC,cAAc,GAAG,QAKjB;EAAA,IALkB;IAC7BC,YAAY;IACZC,uBAAuB;IACvBC,YAAY;IACZC;EACK,CAAC;EACNP,SAAS,CAAC,MAAM;IACd,MAAMQ,cAAc,GAAG,IAAIP,kBAAkB,CAACC,QAAQ,CAAC;IAEvDM,cAAc,CAACC,WAAW,CAAC,cAAc,EAAGC,IAAsB,IAAK;MACrEN,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGM,IAAI,CAACC,IAAI,CAAC;IAC3B,CAAC,CAAC;IACFH,cAAc,CAACC,WAAW,CAAC,yBAAyB,EAAE,MAAM;MAC1DJ,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;IAC7B,CAAC,CAAC;IACFG,cAAc,CAACC,WAAW,CACxB,cAAc,EACbC,IAA4B,IAAK;MAChC,MAAME,MAAuB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,UAAU,CAAC;MAC3DT,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGM,MAAM,CAAC;IACxB,CAAC,CACF;IACDJ,cAAc,CAACC,WAAW,CAAC,eAAe,EAAE,MAAM;MAChDF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXC,cAAc,CAACQ,kBAAkB,CAAC,cAAc,CAAC;MACjDR,cAAc,CAACQ,kBAAkB,CAAC,yBAAyB,CAAC;MAC5DR,cAAc,CAACQ,kBAAkB,CAAC,cAAc,CAAC;MACjDR,cAAc,CAACQ,kBAAkB,CAAC,eAAe,CAAC;IACpD,CAAC;EACH,CAAC,EAAE,CAACZ,YAAY,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,aAAa,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -8,6 +8,7 @@ export declare class Spike implements SpikeInterface {
|
|
|
8
8
|
getCurrentUUID(): Promise<string | undefined>;
|
|
9
9
|
clearData(): void;
|
|
10
10
|
getData(dataTypes: SpikeDataType[]): void;
|
|
11
|
+
getDataInRange(dataTypes: SpikeDataType[], startDate: Date, endDate: Date): void;
|
|
11
12
|
enableBackgroundDelivery(dataTypes: SpikeDataType[]): Promise<void>;
|
|
12
13
|
disableAllBackgroundDelivery(): Promise<void>;
|
|
13
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spike.d.ts","sourceRoot":"","sources":["../../src/Spike.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,qBAAa,KAAM,YAAW,cAAc;IACpC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAOnD,WAAW,IAAI,IAAI;IAMnB,UAAU,IAAI,IAAI;IAMlB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYnD,SAAS,IAAI,IAAI;IAMjB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"Spike.d.ts","sourceRoot":"","sources":["../../src/Spike.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,qBAAa,KAAM,YAAW,cAAc;IACpC,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC;IAOnD,WAAW,IAAI,IAAI;IAMnB,UAAU,IAAI,IAAI;IAMlB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI;IAUD,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYnD,SAAS,IAAI,IAAI;IAMjB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI;IAMzC,cAAc,CACZ,SAAS,EAAE,aAAa,EAAE,EAC1B,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GACZ,IAAI;IAUD,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;CAKpD"}
|
|
@@ -7,6 +7,7 @@ export interface SpikeInterface {
|
|
|
7
7
|
getCurrentUUID(): Promise<string | undefined>;
|
|
8
8
|
clearData(): void;
|
|
9
9
|
getData(dataTypes: SpikeDataType[]): void;
|
|
10
|
+
getDataInRange(dataTypes: SpikeDataType[], startDate: Date, endDate: Date): void;
|
|
10
11
|
enableBackgroundDelivery(dataTypes: SpikeDataType[]): Promise<void>;
|
|
11
12
|
disableAllBackgroundDelivery(): Promise<void>;
|
|
12
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpikeInterface.d.ts","sourceRoot":"","sources":["../../src/SpikeInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,WAAW,IAAI,IAAI,CAAC;IAEpB,UAAU,IAAI,IAAI,CAAC;IAEnB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C,SAAS,IAAI,IAAI,CAAC;IAElB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE1C,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
|
|
1
|
+
{"version":3,"file":"SpikeInterface.d.ts","sourceRoot":"","sources":["../../src/SpikeInterface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE9C,WAAW,IAAI,IAAI,CAAC;IAEpB,UAAU,IAAI,IAAI,CAAC;IAEnB,KAAK,CACH,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAAC;IAER,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9C,SAAS,IAAI,IAAI,CAAC;IAElB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAE1C,cAAc,CACZ,SAAS,EAAE,aAAa,EAAE,EAC1B,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GACZ,IAAI,CAAC;IAER,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpikeEvents.d.ts","sourceRoot":"","sources":["../../src/useSpikeEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSpikeEvents.d.ts","sourceRoot":"","sources":["../../src/useSpikeEvents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,KAAK,KAAK,GAAG;IACX,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,cAAc,4EAKxB,KAAK,SA4BP,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 = "0.1.
|
|
8
|
+
s.version = "0.1.2"
|
|
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", "0.1.
|
|
28
|
+
s.dependency "SpikeSDK", "0.1.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
|
package/src/Spike.ts
CHANGED
|
@@ -62,6 +62,20 @@ export class Spike implements SpikeInterface {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
+
getDataInRange(
|
|
66
|
+
dataTypes: SpikeDataType[],
|
|
67
|
+
startDate: Date,
|
|
68
|
+
endDate: Date
|
|
69
|
+
): void {
|
|
70
|
+
if (Platform.OS === 'ios') {
|
|
71
|
+
SpikeSdk.getDataInRange(
|
|
72
|
+
dataTypes,
|
|
73
|
+
startDate.getTime(),
|
|
74
|
+
endDate.getTime()
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
65
79
|
async enableBackgroundDelivery(dataTypes: SpikeDataType[]): Promise<void> {
|
|
66
80
|
if (Platform.OS === 'ios') {
|
|
67
81
|
return SpikeSdk.enableBackgroundDelivery(dataTypes);
|
package/src/SpikeInterface.ts
CHANGED
|
@@ -20,6 +20,12 @@ export interface SpikeInterface {
|
|
|
20
20
|
|
|
21
21
|
getData(dataTypes: SpikeDataType[]): void;
|
|
22
22
|
|
|
23
|
+
getDataInRange(
|
|
24
|
+
dataTypes: SpikeDataType[],
|
|
25
|
+
startDate: Date,
|
|
26
|
+
endDate: Date
|
|
27
|
+
): void;
|
|
28
|
+
|
|
23
29
|
enableBackgroundDelivery(dataTypes: SpikeDataType[]): Promise<void>;
|
|
24
30
|
|
|
25
31
|
disableAllBackgroundDelivery(): Promise<void>;
|
package/src/useSpikeEvents.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
1
2
|
import { NativeEventEmitter } from 'react-native';
|
|
2
3
|
import type { SpikeResultData } from './SpikeResultData';
|
|
3
4
|
import { SpikeSdk } from './SpikeSdk';
|
|
@@ -15,23 +16,31 @@ export const useSpikeEvents = ({
|
|
|
15
16
|
onDataResult,
|
|
16
17
|
onDataFailure,
|
|
17
18
|
}: Props) => {
|
|
18
|
-
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
22
|
+
SpikeSdkEvents.addListener('onInitialize', (data: { uuid: string }) => {
|
|
23
|
+
onInitialize?.(data.uuid);
|
|
24
|
+
});
|
|
25
|
+
SpikeSdkEvents.addListener('onInitializationFailure', () => {
|
|
26
|
+
onInitializationFailure?.();
|
|
27
|
+
});
|
|
28
|
+
SpikeSdkEvents.addListener(
|
|
29
|
+
'onDataResult',
|
|
30
|
+
(data: { resultJson: string }) => {
|
|
31
|
+
const result: SpikeResultData = JSON.parse(data.resultJson);
|
|
32
|
+
onDataResult?.(result);
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
SpikeSdkEvents.addListener('onDataFailure', () => {
|
|
36
|
+
onDataFailure?.();
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
return () => {
|
|
40
|
+
SpikeSdkEvents.removeAllListeners('onInitialize');
|
|
41
|
+
SpikeSdkEvents.removeAllListeners('onInitializationFailure');
|
|
42
|
+
SpikeSdkEvents.removeAllListeners('onDataResult');
|
|
43
|
+
SpikeSdkEvents.removeAllListeners('onDataFailure');
|
|
44
|
+
};
|
|
45
|
+
}, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
|
|
37
46
|
};
|