UNPKG

react-native-healthkit-bridge

Version:

A comprehensive React Native bridge for Apple HealthKit with TypeScript support, advanced authorization, and flexible data queries

31 lines (30 loc) 1.44 kB
import { HealthKitIdentifier, HealthKitUnit, DateRange } from '../value-objects/HealthKitIdentifier'; export class GetQuantitySamplesUseCase { constructor(healthKitRepository) { this.healthKitRepository = healthKitRepository; } async execute(identifier, unit, dateRange) { try { const healthKitIdentifier = HealthKitIdentifier.create(identifier); const healthKitUnit = HealthKitUnit.create(unit); const range = new DateRange(dateRange.startDate, dateRange.endDate); return await this.healthKitRepository.getQuantitySamples(healthKitIdentifier, healthKitUnit, range); } catch (error) { throw new Error(`Failed to get quantity samples: ${error instanceof Error ? error.message : 'Unknown error'}`); } } async executeForDays(identifier, unit, days) { try { const healthKitIdentifier = HealthKitIdentifier.create(identifier); const healthKitUnit = HealthKitUnit.create(unit); if (days <= 0) { throw new Error('Days must be greater than 0'); } return await this.healthKitRepository.getQuantitySamplesForDays(healthKitIdentifier, healthKitUnit, days); } catch (error) { throw new Error(`Failed to get quantity samples for days: ${error instanceof Error ? error.message : 'Unknown error'}`); } } }