UNPKG

react-native-healthkit-bridge

Version:

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

36 lines (30 loc) 1.31 kB
import { HealthKitRepository } from '../../domain/repositories/HealthKitRepository'; import { HealthKitRepositoryImpl } from '../../data/repositories/HealthKitRepositoryImpl'; import { NativeHealthKitDataSource } from '../../data/datasources/NativeHealthKitDataSource'; import { HealthKitRepositoryConfig } from '../../domain/repositories/HealthKitRepository'; export class HealthKitContainer { private static instance: HealthKitContainer; private repository: HealthKitRepository | null = null; private constructor() {} static getInstance(): HealthKitContainer { if (!HealthKitContainer.instance) { HealthKitContainer.instance = new HealthKitContainer(); } return HealthKitContainer.instance; } getRepository(config?: HealthKitRepositoryConfig): HealthKitRepository { if (!this.repository) { const dataSource = new NativeHealthKitDataSource(); this.repository = new HealthKitRepositoryImpl(dataSource, config); } return this.repository; } // Método para reset (útil para testes) reset(): void { this.repository = null; } } // Factory function para facilitar o uso export function createHealthKitRepository(config?: HealthKitRepositoryConfig): HealthKitRepository { return HealthKitContainer.getInstance().getRepository(config); }