//
//  HeartRateMapper.swift
//  Plugin
//
//  Created by Francisco Guerrero Escamilla on 20/11/25.
//  Copyright © 2025 Max Lynch. All rights reserved.
//

import Foundation

import RookSDK

struct HeartRateMapper {

  private let dateHelper: DateHelper = DateHelper()

  func map(_ data: RookHeartRate) -> [String: Any?] {
    return [
      "hrMaximumBPM" : data.hrMaximumBPM,
      "hrMinimumBPM": data.hrMinimumBPM,
      "hrAverageBPM": data.hrAverageBMP,
      "hrRestingBPM": data.hrRestingBPM,
      "hrvAverageRMSSD": data.hrvAverageRMSSD,
      "hrvAverageSDNN": data.hrvAverageSDNN,
      "hrGranularData": data.hrGranularData?.map({
        [
          "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
          "hrBPM": $0.hrBPM
        ]
      }),
      "hrvSDNNGranularData": data.hrvSDNNGranularData?.map({
        [
          "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
          "hrvSDNN": $0.hrv
        ]
      }),
      "hrvRMSSDGranularData": data.hrvRMSSDGranularData?.map({
        [
          "dateTime": dateHelper.getISO8601StringDate(date: $0.dateTime),
          "hrvRmssd": $0.hrv
        ]
      })
    ]
  }
}
