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 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)
@@ -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,
@@ -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,CAACD,SAA0B,EAAiB;IACxE,IAAIhB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACe,wBAAwB,CAACD,SAAS,CAAC;IACrD;EACF;EAEA,MAAME,4BAA4B,GAAkB;IAClD,IAAIlB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOC,kBAAQ,CAACgB,4BAA4B,EAAE;IAChD;EACF;AACF;AAAC"}
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
- const SpikeSdkEvents = new _reactNative.NativeEventEmitter(_SpikeSdk.SpikeSdk);
17
- SpikeSdkEvents.addListener('onInitialize', data => {
18
- console.log(`SpikeEvent: onInitialize: ${JSON.stringify(data)}`);
19
- onInitialize === null || onInitialize === void 0 ? void 0 : onInitialize(data.uuid);
20
- });
21
- SpikeSdkEvents.addListener('onInitializationFailure', () => {
22
- console.log(`SpikeEvent: onInitializationFailure`);
23
- onInitializationFailure === null || onInitializationFailure === void 0 ? void 0 : onInitializationFailure();
24
- });
25
- SpikeSdkEvents.addListener('onDataResult', data => {
26
- console.log(`SpikeEvent: onDataResult: ${JSON.stringify(data.resultJson)}`);
27
- const result = JSON.parse(data.resultJson);
28
- onDataResult === null || onDataResult === void 0 ? void 0 : onDataResult(result);
29
- });
30
- SpikeSdkEvents.addListener('onDataFailure', () => {
31
- console.log('SpikeEvent: onDataFailure');
32
- onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
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","console","log","JSON","stringify","uuid","resultJson","result","parse"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":";;;;;;AAAA;AAEA;AASO,MAAMA,cAAc,GAAG,QAKjB;EAAA,IALkB;IAC7BC,YAAY;IACZC,uBAAuB;IACvBC,YAAY;IACZC;EACK,CAAC;EACN,MAAMC,cAAc,GAAG,IAAIC,+BAAkB,CAACC,kBAAQ,CAAC;EAEvDF,cAAc,CAACG,WAAW,CAAC,cAAc,EAAGC,IAAsB,IAAK;IACrEC,OAAO,CAACC,GAAG,CAAE,6BAA4BC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAE,EAAC,CAAC;IAChER,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGQ,IAAI,CAACK,IAAI,CAAC;EAC3B,CAAC,CAAC;EACFT,cAAc,CAACG,WAAW,CAAC,yBAAyB,EAAE,MAAM;IAC1DE,OAAO,CAACC,GAAG,CAAE,qCAAoC,CAAC;IAClDT,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;EAC7B,CAAC,CAAC;EACFG,cAAc,CAACG,WAAW,CAAC,cAAc,EAAGC,IAA4B,IAAK;IAC3EC,OAAO,CAACC,GAAG,CAAE,6BAA4BC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACM,UAAU,CAAE,EAAC,CAAC;IAC3E,MAAMC,MAAuB,GAAGJ,IAAI,CAACK,KAAK,CAACR,IAAI,CAACM,UAAU,CAAC;IAC3DZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGa,MAAM,CAAC;EACxB,CAAC,CAAC;EACFX,cAAc,CAACG,WAAW,CAAC,eAAe,EAAE,MAAM;IAChDE,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;IACxCP,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;EACnB,CAAC,CAAC;AACJ,CAAC;AAAC"}
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"}
@@ -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);
@@ -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,CAACD,SAA0B,EAAiB;IACxE,IAAIlB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACkB,wBAAwB,CAACD,SAAS,CAAC;IACrD;EACF;EAEA,MAAME,4BAA4B,GAAkB;IAClD,IAAIpB,QAAQ,CAACI,EAAE,KAAK,KAAK,EAAE;MACzB,OAAOH,QAAQ,CAACmB,4BAA4B,EAAE;IAChD;EACF;AACF"}
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
- const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
11
- SpikeSdkEvents.addListener('onInitialize', data => {
12
- console.log(`SpikeEvent: onInitialize: ${JSON.stringify(data)}`);
13
- onInitialize === null || onInitialize === void 0 ? void 0 : onInitialize(data.uuid);
14
- });
15
- SpikeSdkEvents.addListener('onInitializationFailure', () => {
16
- console.log(`SpikeEvent: onInitializationFailure`);
17
- onInitializationFailure === null || onInitializationFailure === void 0 ? void 0 : onInitializationFailure();
18
- });
19
- SpikeSdkEvents.addListener('onDataResult', data => {
20
- console.log(`SpikeEvent: onDataResult: ${JSON.stringify(data.resultJson)}`);
21
- const result = JSON.parse(data.resultJson);
22
- onDataResult === null || onDataResult === void 0 ? void 0 : onDataResult(result);
23
- });
24
- SpikeSdkEvents.addListener('onDataFailure', () => {
25
- console.log('SpikeEvent: onDataFailure');
26
- onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
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","console","log","JSON","stringify","uuid","resultJson","result","parse"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":"AAAA,SAASA,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;EACN,MAAMC,cAAc,GAAG,IAAIP,kBAAkB,CAACC,QAAQ,CAAC;EAEvDM,cAAc,CAACC,WAAW,CAAC,cAAc,EAAGC,IAAsB,IAAK;IACrEC,OAAO,CAACC,GAAG,CAAE,6BAA4BC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAAE,EAAC,CAAC;IAChEN,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGM,IAAI,CAACK,IAAI,CAAC;EAC3B,CAAC,CAAC;EACFP,cAAc,CAACC,WAAW,CAAC,yBAAyB,EAAE,MAAM;IAC1DE,OAAO,CAACC,GAAG,CAAE,qCAAoC,CAAC;IAClDP,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;EAC7B,CAAC,CAAC;EACFG,cAAc,CAACC,WAAW,CAAC,cAAc,EAAGC,IAA4B,IAAK;IAC3EC,OAAO,CAACC,GAAG,CAAE,6BAA4BC,IAAI,CAACC,SAAS,CAACJ,IAAI,CAACM,UAAU,CAAE,EAAC,CAAC;IAC3E,MAAMC,MAAuB,GAAGJ,IAAI,CAACK,KAAK,CAACR,IAAI,CAACM,UAAU,CAAC;IAC3DV,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGW,MAAM,CAAC;EACxB,CAAC,CAAC;EACFT,cAAc,CAACC,WAAW,CAAC,eAAe,EAAE,MAAM;IAChDE,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;IACxCL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;EACnB,CAAC,CAAC;AACJ,CAAC"}
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;IAMnC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;CAKpD"}
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":"AACA,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,SAoBP,CAAC"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spike-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
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",
@@ -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.0"
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.5"
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);
@@ -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>;
@@ -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
- const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
19
+ useEffect(() => {
20
+ const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
19
21
 
20
- SpikeSdkEvents.addListener('onInitialize', (data: { uuid: string }) => {
21
- console.log(`SpikeEvent: onInitialize: ${JSON.stringify(data)}`);
22
- onInitialize?.(data.uuid);
23
- });
24
- SpikeSdkEvents.addListener('onInitializationFailure', () => {
25
- console.log(`SpikeEvent: onInitializationFailure`);
26
- onInitializationFailure?.();
27
- });
28
- SpikeSdkEvents.addListener('onDataResult', (data: { resultJson: string }) => {
29
- console.log(`SpikeEvent: onDataResult: ${JSON.stringify(data.resultJson)}`);
30
- const result: SpikeResultData = JSON.parse(data.resultJson);
31
- onDataResult?.(result);
32
- });
33
- SpikeSdkEvents.addListener('onDataFailure', () => {
34
- console.log('SpikeEvent: onDataFailure');
35
- onDataFailure?.();
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
  };