react-native-spike-sdk 0.1.2 → 0.2.0

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
@@ -88,6 +88,15 @@ useSpikeEvents({
88
88
  onDataFailure: () => {
89
89
  console.log('Event: onDataFailure');
90
90
  },
91
+ onWorkoutDataResult: (result) => {
92
+ console.log(`Event: onWorkoutDataResult: ${JSON.stringify(result)}`);
93
+ },
94
+ onWorkoutDataFailure: () => {
95
+ console.log('Event: onWorkoutDataFailure');
96
+ },
97
+ onLog: (log) => {
98
+ console.log(`Event Spike log: ${log}`);
99
+ },
91
100
  });
92
101
  ```
93
102
 
@@ -145,12 +154,17 @@ All available Data types `SpikeDataType` or use all of the instantly `SpikeDataT
145
154
  `DataTypeBasalEnergy`
146
155
  `DataTypeAppleMoveTime`
147
156
  `DataTypeAppleExerciseTime`
157
+ `DataTypeDistanceWalkingRunning`
158
+ `DataTypeWorkout`
159
+
160
+ Getting `DataTypeWorkout` data will return result through the `onWorkoutDataResult` and `onWorkoutDataFailure` callbacks of `useSpikeEvents` hook.
148
161
 
149
162
  ### Enable debug mode <a name="debug"></a>
150
163
 
151
164
  With enabled debug mode SpikeSDK will print performed actions.
152
- You can see logs directly running application from Xcode. Use logs filter `[SpikeSDK]`.
153
- It is better to call this before calling `Spike.initialize();`.
165
+ You can handle logs through the `onLog` callback of `useSpikeEvents` hook or
166
+ see logs directly running application from Xcode. Use logs filter `[SpikeSDK]`.
167
+ It is better to enable debug before calling `Spike.initialize();`.
154
168
 
155
169
  ```
156
170
  Spike.enableDebug();
@@ -88,6 +88,9 @@ class SpikeSdk: RCTEventEmitter {
88
88
  "onInitializationFailure",
89
89
  "onDataResult",
90
90
  "onDataFailure",
91
+ "onWorkoutDataResult",
92
+ "onWorkoutDataFailure",
93
+ "onLog",
91
94
  ]
92
95
  }
93
96
 
@@ -112,6 +115,10 @@ class SpikeSdk: RCTEventEmitter {
112
115
  return SpikeDataTypes.appleMoveTime
113
116
  case "DataTypeAppleExerciseTime":
114
117
  return SpikeDataTypes.appleExerciseTime
118
+ case "DataTypeDistanceWalkingRunning":
119
+ return SpikeDataTypes.distanceWalkingRunning
120
+ case "DataTypeWorkout":
121
+ return SpikeDataTypes.workout
115
122
  default:
116
123
  return nil
117
124
  }
@@ -140,4 +147,20 @@ extension SpikeSdk: SpikeDelegate {
140
147
  func spikeDataFailure() {
141
148
  sendEvent(withName: "onDataFailure", body: [:])
142
149
  }
150
+
151
+ func spikeWorkoutDataResult(_ result: [SpikeSDK.SpikeResultData]) {
152
+ if let dataString = try? String(data: JSONEncoder().encode(result), encoding: .utf8){
153
+ sendEvent(withName: "onWorkoutDataResult", body: ["resultJson": dataString])
154
+ } else {
155
+ sendEvent(withName: "onWorkoutDataResult", body: ["resultJson": "[]"])
156
+ }
157
+ }
158
+
159
+ func spikeWorkoutDataFailure() {
160
+ sendEvent(withName: "onWorkoutDataFailure", body: [:])
161
+ }
162
+
163
+ func debubLog(_ log: String) {
164
+ sendEvent(withName: "onLog", body: ["log": log])
165
+ }
143
166
  }
@@ -14,6 +14,6 @@ var _Spike = require("./Spike");
14
14
  var _useSpikeEvents = require("./useSpikeEvents");
15
15
  var _default = new _Spike.Spike();
16
16
  exports.default = _default;
17
- const SpikeDataTypesAll = ['DataTypeStep', 'DataTypeHeartRate', 'DataTypeRestingHeartRate', 'DataTypeActiveEnergy', 'DataTypeBasalEnergy', 'DataTypeAppleMoveTime', 'DataTypeAppleExerciseTime'];
17
+ const SpikeDataTypesAll = ['DataTypeStep', 'DataTypeHeartRate', 'DataTypeRestingHeartRate', 'DataTypeActiveEnergy', 'DataTypeBasalEnergy', 'DataTypeAppleMoveTime', 'DataTypeAppleExerciseTime', 'DataTypeDistanceWalkingRunning', 'DataTypeWorkout'];
18
18
  exports.SpikeDataTypesAll = SpikeDataTypesAll;
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Spike","SpikeDataTypesAll"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;AAAA;AAGA;AAAkD,eAEnC,IAAIA,YAAK,EAAE;AAAA;AAInB,MAAMC,iBAAkC,GAAG,CAChD,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,CAC5B;AAAC"}
1
+ {"version":3,"names":["Spike","SpikeDataTypesAll"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;AAAA;AAGA;AAAkD,eAEnC,IAAIA,YAAK,EAAE;AAAA;AAInB,MAAMC,iBAAkC,GAAG,CAChD,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,iBAAiB,CAClB;AAAC"}
@@ -12,7 +12,10 @@ const useSpikeEvents = _ref => {
12
12
  onInitialize,
13
13
  onInitializationFailure,
14
14
  onDataResult,
15
- onDataFailure
15
+ onDataFailure,
16
+ onWorkoutDataResult,
17
+ onWorkoutDataFailure,
18
+ onLog
16
19
  } = _ref;
17
20
  (0, _react.useEffect)(() => {
18
21
  const SpikeSdkEvents = new _reactNative.NativeEventEmitter(_SpikeSdk.SpikeSdk);
@@ -29,11 +32,24 @@ const useSpikeEvents = _ref => {
29
32
  SpikeSdkEvents.addListener('onDataFailure', () => {
30
33
  onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
31
34
  });
35
+ SpikeSdkEvents.addListener('onWorkoutDataResult', data => {
36
+ const result = JSON.parse(data.resultJson);
37
+ onWorkoutDataResult === null || onWorkoutDataResult === void 0 ? void 0 : onWorkoutDataResult(result);
38
+ });
39
+ SpikeSdkEvents.addListener('onWorkoutDataFailure', () => {
40
+ onWorkoutDataFailure === null || onWorkoutDataFailure === void 0 ? void 0 : onWorkoutDataFailure();
41
+ });
42
+ SpikeSdkEvents.addListener('onLog', data => {
43
+ onLog === null || onLog === void 0 ? void 0 : onLog(data.log);
44
+ });
32
45
  return () => {
33
46
  SpikeSdkEvents.removeAllListeners('onInitialize');
34
47
  SpikeSdkEvents.removeAllListeners('onInitializationFailure');
35
48
  SpikeSdkEvents.removeAllListeners('onDataResult');
36
49
  SpikeSdkEvents.removeAllListeners('onDataFailure');
50
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataResult');
51
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataFailure');
52
+ SpikeSdkEvents.removeAllListeners('onLog');
37
53
  };
38
54
  }, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
39
55
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","onWorkoutDataResult","onWorkoutDataFailure","onLog","useEffect","SpikeSdkEvents","NativeEventEmitter","SpikeSdk","addListener","data","uuid","result","JSON","parse","resultJson","log","removeAllListeners"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":";;;;;;AAAA;AACA;AAEA;AAYO,MAAMA,cAAc,GAAG,QAQjB;EAAA,IARkB;IAC7BC,YAAY;IACZC,uBAAuB;IACvBC,YAAY;IACZC,aAAa;IACbC,mBAAmB;IACnBC,oBAAoB;IACpBC;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;MACrEZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGY,IAAI,CAACC,IAAI,CAAC;IAC3B,CAAC,CAAC;IACFL,cAAc,CAACG,WAAW,CAAC,yBAAyB,EAAE,MAAM;MAC1DV,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;IAC7B,CAAC,CAAC;IACFO,cAAc,CAACG,WAAW,CACxB,cAAc,EACbC,IAA4B,IAAK;MAChC,MAAME,MAAuB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,UAAU,CAAC;MAC3Df,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGY,MAAM,CAAC;IACxB,CAAC,CACF;IACDN,cAAc,CAACG,WAAW,CAAC,eAAe,EAAE,MAAM;MAChDR,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;IACnB,CAAC,CAAC;IACFK,cAAc,CAACG,WAAW,CACxB,qBAAqB,EACpBC,IAA4B,IAAK;MAChC,MAAME,MAAuB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,UAAU,CAAC;MAC3Db,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGU,MAAM,CAAC;IAC/B,CAAC,CACF;IACDN,cAAc,CAACG,WAAW,CAAC,sBAAsB,EAAE,MAAM;MACvDN,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,EAAI;IAC1B,CAAC,CAAC;IAEFG,cAAc,CAACG,WAAW,CAAC,OAAO,EAAGC,IAAqB,IAAK;MAC7DN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAGM,IAAI,CAACM,GAAG,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXV,cAAc,CAACW,kBAAkB,CAAC,cAAc,CAAC;MACjDX,cAAc,CAACW,kBAAkB,CAAC,yBAAyB,CAAC;MAC5DX,cAAc,CAACW,kBAAkB,CAAC,cAAc,CAAC;MACjDX,cAAc,CAACW,kBAAkB,CAAC,eAAe,CAAC;MAClDX,cAAc,CAACW,kBAAkB,CAAC,qBAAqB,CAAC;MACxDX,cAAc,CAACW,kBAAkB,CAAC,sBAAsB,CAAC;MACzDX,cAAc,CAACW,kBAAkB,CAAC,OAAO,CAAC;IAC5C,CAAC;EACH,CAAC,EAAE,CAACnB,YAAY,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,aAAa,CAAC,CAAC;AAC1E,CAAC;AAAC"}
@@ -2,5 +2,5 @@ import { Spike } from './Spike';
2
2
  import { useSpikeEvents } from './useSpikeEvents';
3
3
  export default new Spike();
4
4
  export { useSpikeEvents };
5
- export const SpikeDataTypesAll = ['DataTypeStep', 'DataTypeHeartRate', 'DataTypeRestingHeartRate', 'DataTypeActiveEnergy', 'DataTypeBasalEnergy', 'DataTypeAppleMoveTime', 'DataTypeAppleExerciseTime'];
5
+ export const SpikeDataTypesAll = ['DataTypeStep', 'DataTypeHeartRate', 'DataTypeRestingHeartRate', 'DataTypeActiveEnergy', 'DataTypeBasalEnergy', 'DataTypeAppleMoveTime', 'DataTypeAppleExerciseTime', 'DataTypeDistanceWalkingRunning', 'DataTypeWorkout'];
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Spike","useSpikeEvents","SpikeDataTypesAll"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS;AAG/B,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,eAAe,IAAID,KAAK,EAAE;AAE1B,SAASC,cAAc;AAEvB,OAAO,MAAMC,iBAAkC,GAAG,CAChD,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,CAC5B"}
1
+ {"version":3,"names":["Spike","useSpikeEvents","SpikeDataTypesAll"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS;AAG/B,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,eAAe,IAAID,KAAK,EAAE;AAE1B,SAASC,cAAc;AAEvB,OAAO,MAAMC,iBAAkC,GAAG,CAChD,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,iBAAiB,CAClB"}
@@ -6,7 +6,10 @@ export const useSpikeEvents = _ref => {
6
6
  onInitialize,
7
7
  onInitializationFailure,
8
8
  onDataResult,
9
- onDataFailure
9
+ onDataFailure,
10
+ onWorkoutDataResult,
11
+ onWorkoutDataFailure,
12
+ onLog
10
13
  } = _ref;
11
14
  useEffect(() => {
12
15
  const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
@@ -23,11 +26,24 @@ export const useSpikeEvents = _ref => {
23
26
  SpikeSdkEvents.addListener('onDataFailure', () => {
24
27
  onDataFailure === null || onDataFailure === void 0 ? void 0 : onDataFailure();
25
28
  });
29
+ SpikeSdkEvents.addListener('onWorkoutDataResult', data => {
30
+ const result = JSON.parse(data.resultJson);
31
+ onWorkoutDataResult === null || onWorkoutDataResult === void 0 ? void 0 : onWorkoutDataResult(result);
32
+ });
33
+ SpikeSdkEvents.addListener('onWorkoutDataFailure', () => {
34
+ onWorkoutDataFailure === null || onWorkoutDataFailure === void 0 ? void 0 : onWorkoutDataFailure();
35
+ });
36
+ SpikeSdkEvents.addListener('onLog', data => {
37
+ onLog === null || onLog === void 0 ? void 0 : onLog(data.log);
38
+ });
26
39
  return () => {
27
40
  SpikeSdkEvents.removeAllListeners('onInitialize');
28
41
  SpikeSdkEvents.removeAllListeners('onInitializationFailure');
29
42
  SpikeSdkEvents.removeAllListeners('onDataResult');
30
43
  SpikeSdkEvents.removeAllListeners('onDataFailure');
44
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataResult');
45
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataFailure');
46
+ SpikeSdkEvents.removeAllListeners('onLog');
31
47
  };
32
48
  }, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
33
49
  };
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["useEffect","NativeEventEmitter","SpikeSdk","useSpikeEvents","onInitialize","onInitializationFailure","onDataResult","onDataFailure","onWorkoutDataResult","onWorkoutDataFailure","onLog","SpikeSdkEvents","addListener","data","uuid","result","JSON","parse","resultJson","log","removeAllListeners"],"sourceRoot":"../../src","sources":["useSpikeEvents.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,kBAAkB,QAAQ,cAAc;AAEjD,SAASC,QAAQ,QAAQ,YAAY;AAYrC,OAAO,MAAMC,cAAc,GAAG,QAQjB;EAAA,IARkB;IAC7BC,YAAY;IACZC,uBAAuB;IACvBC,YAAY;IACZC,aAAa;IACbC,mBAAmB;IACnBC,oBAAoB;IACpBC;EACK,CAAC;EACNV,SAAS,CAAC,MAAM;IACd,MAAMW,cAAc,GAAG,IAAIV,kBAAkB,CAACC,QAAQ,CAAC;IAEvDS,cAAc,CAACC,WAAW,CAAC,cAAc,EAAGC,IAAsB,IAAK;MACrET,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGS,IAAI,CAACC,IAAI,CAAC;IAC3B,CAAC,CAAC;IACFH,cAAc,CAACC,WAAW,CAAC,yBAAyB,EAAE,MAAM;MAC1DP,uBAAuB,aAAvBA,uBAAuB,uBAAvBA,uBAAuB,EAAI;IAC7B,CAAC,CAAC;IACFM,cAAc,CAACC,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;IACDJ,cAAc,CAACC,WAAW,CAAC,eAAe,EAAE,MAAM;MAChDL,aAAa,aAAbA,aAAa,uBAAbA,aAAa,EAAI;IACnB,CAAC,CAAC;IACFI,cAAc,CAACC,WAAW,CACxB,qBAAqB,EACpBC,IAA4B,IAAK;MAChC,MAAME,MAAuB,GAAGC,IAAI,CAACC,KAAK,CAACJ,IAAI,CAACK,UAAU,CAAC;MAC3DV,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAGO,MAAM,CAAC;IAC/B,CAAC,CACF;IACDJ,cAAc,CAACC,WAAW,CAAC,sBAAsB,EAAE,MAAM;MACvDH,oBAAoB,aAApBA,oBAAoB,uBAApBA,oBAAoB,EAAI;IAC1B,CAAC,CAAC;IAEFE,cAAc,CAACC,WAAW,CAAC,OAAO,EAAGC,IAAqB,IAAK;MAC7DH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAGG,IAAI,CAACM,GAAG,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXR,cAAc,CAACS,kBAAkB,CAAC,cAAc,CAAC;MACjDT,cAAc,CAACS,kBAAkB,CAAC,yBAAyB,CAAC;MAC5DT,cAAc,CAACS,kBAAkB,CAAC,cAAc,CAAC;MACjDT,cAAc,CAACS,kBAAkB,CAAC,eAAe,CAAC;MAClDT,cAAc,CAACS,kBAAkB,CAAC,qBAAqB,CAAC;MACxDT,cAAc,CAACS,kBAAkB,CAAC,sBAAsB,CAAC;MACzDT,cAAc,CAACS,kBAAkB,CAAC,OAAO,CAAC;IAC5C,CAAC;EACH,CAAC,EAAE,CAAChB,YAAY,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,aAAa,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,2 +1,2 @@
1
- export type SpikeDataType = 'DataTypeStep' | 'DataTypeHeartRate' | 'DataTypeRestingHeartRate' | 'DataTypeActiveEnergy' | 'DataTypeBasalEnergy' | 'DataTypeAppleMoveTime' | 'DataTypeAppleExerciseTime';
1
+ export type SpikeDataType = 'DataTypeStep' | 'DataTypeHeartRate' | 'DataTypeRestingHeartRate' | 'DataTypeActiveEnergy' | 'DataTypeBasalEnergy' | 'DataTypeAppleMoveTime' | 'DataTypeAppleExerciseTime' | 'DataTypeDistanceWalkingRunning' | 'DataTypeWorkout';
2
2
  //# sourceMappingURL=SpikeDataType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SpikeDataType.d.ts","sourceRoot":"","sources":["../../src/SpikeDataType.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,mBAAmB,GACnB,0BAA0B,GAC1B,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,CAAC"}
1
+ {"version":3,"file":"SpikeDataType.d.ts","sourceRoot":"","sources":["../../src/SpikeDataType.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,mBAAmB,GACnB,0BAA0B,GAC1B,sBAAsB,GACtB,qBAAqB,GACrB,uBAAuB,GACvB,2BAA2B,GAC3B,gCAAgC,GAChC,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAElD,wBAA2B;AAE3B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAE,aAAa,EAQ5C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;AAElD,wBAA2B;AAE3B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAE,aAAa,EAU5C,CAAC"}
@@ -4,7 +4,10 @@ type Props = {
4
4
  onInitializationFailure?: () => void;
5
5
  onDataResult?: (result: SpikeResultData) => void;
6
6
  onDataFailure?: () => void;
7
+ onWorkoutDataResult?: (result: SpikeResultData) => void;
8
+ onWorkoutDataFailure?: () => void;
9
+ onLog?: (log: string) => void;
7
10
  };
8
- export declare const useSpikeEvents: ({ onInitialize, onInitializationFailure, onDataResult, onDataFailure, }: Props) => void;
11
+ export declare const useSpikeEvents: ({ onInitialize, onInitializationFailure, onDataResult, onDataFailure, onWorkoutDataResult, onWorkoutDataFailure, onLog, }: Props) => void;
9
12
  export {};
10
13
  //# sourceMappingURL=useSpikeEvents.d.ts.map
@@ -1 +1 @@
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"}
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;IAC3B,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,cAAc,8HAQxB,KAAK,SA6CP,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-spike-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
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.2"
8
+ s.version = "0.2.0"
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.8"
28
+ s.dependency "SpikeSDK", "0.2.2"
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
@@ -5,4 +5,6 @@ export type SpikeDataType =
5
5
  | 'DataTypeActiveEnergy'
6
6
  | 'DataTypeBasalEnergy'
7
7
  | 'DataTypeAppleMoveTime'
8
- | 'DataTypeAppleExerciseTime';
8
+ | 'DataTypeAppleExerciseTime'
9
+ | 'DataTypeDistanceWalkingRunning'
10
+ | 'DataTypeWorkout';
package/src/index.ts CHANGED
@@ -15,4 +15,6 @@ export const SpikeDataTypesAll: SpikeDataType[] = [
15
15
  'DataTypeBasalEnergy',
16
16
  'DataTypeAppleMoveTime',
17
17
  'DataTypeAppleExerciseTime',
18
+ 'DataTypeDistanceWalkingRunning',
19
+ 'DataTypeWorkout',
18
20
  ];
@@ -8,6 +8,9 @@ type Props = {
8
8
  onInitializationFailure?: () => void;
9
9
  onDataResult?: (result: SpikeResultData) => void;
10
10
  onDataFailure?: () => void;
11
+ onWorkoutDataResult?: (result: SpikeResultData) => void;
12
+ onWorkoutDataFailure?: () => void;
13
+ onLog?: (log: string) => void;
11
14
  };
12
15
 
13
16
  export const useSpikeEvents = ({
@@ -15,6 +18,9 @@ export const useSpikeEvents = ({
15
18
  onInitializationFailure,
16
19
  onDataResult,
17
20
  onDataFailure,
21
+ onWorkoutDataResult,
22
+ onWorkoutDataFailure,
23
+ onLog,
18
24
  }: Props) => {
19
25
  useEffect(() => {
20
26
  const SpikeSdkEvents = new NativeEventEmitter(SpikeSdk);
@@ -35,12 +41,29 @@ export const useSpikeEvents = ({
35
41
  SpikeSdkEvents.addListener('onDataFailure', () => {
36
42
  onDataFailure?.();
37
43
  });
44
+ SpikeSdkEvents.addListener(
45
+ 'onWorkoutDataResult',
46
+ (data: { resultJson: string }) => {
47
+ const result: SpikeResultData = JSON.parse(data.resultJson);
48
+ onWorkoutDataResult?.(result);
49
+ }
50
+ );
51
+ SpikeSdkEvents.addListener('onWorkoutDataFailure', () => {
52
+ onWorkoutDataFailure?.();
53
+ });
54
+
55
+ SpikeSdkEvents.addListener('onLog', (data: { log: string }) => {
56
+ onLog?.(data.log);
57
+ });
38
58
 
39
59
  return () => {
40
60
  SpikeSdkEvents.removeAllListeners('onInitialize');
41
61
  SpikeSdkEvents.removeAllListeners('onInitializationFailure');
42
62
  SpikeSdkEvents.removeAllListeners('onDataResult');
43
63
  SpikeSdkEvents.removeAllListeners('onDataFailure');
64
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataResult');
65
+ SpikeSdkEvents.removeAllListeners('onWorkoutDataFailure');
66
+ SpikeSdkEvents.removeAllListeners('onLog');
44
67
  };
45
68
  }, [onInitialize, onInitializationFailure, onDataResult, onDataFailure]);
46
69
  };