extractData<TData extends SpikeData<SpikeEntry>> method

Future<TData> extractData<TData extends SpikeData<SpikeEntry>>(
  1. SpikeDataType<TData> type, {
  2. DateTime? from,
  3. DateTime? to,
})

Implementation

Future<TData> extractData<TData extends SpikeData>(
  SpikeDataType<TData> type, {
  DateTime? from,
  DateTime? to,
}) async {
  if (!Platform.isIOS && type == SpikeDataType.ecg) {
    return emptyEcgData(from, to);
  }

  await ensurePermissionsAreGranted(types: [type]);

  final result = await NativeSDKBridge.extractData(
    connectionId: connectionId,
    dataType: type.toNativeDataType(),
    from: from,
    to: to,
  );

  ExceptionHandler.checkException(result);

  final object = jsonDecode(result);
  final spikeData = _convertToSpikeData(type, object) as TData;

  return spikeData;
}