UNPKG

@kingstinct/react-native-healthkit

Version:
132 lines (120 loc) 4.29 kB
import type { AnyMap } from 'react-native-nitro-modules' import type { CategoryTypeIdentifier, CategoryTypeIdentifierWriteable, } from './CategoryTypeIdentifier' import type { CharacteristicTypeIdentifier } from './Characteristics' import type { ActivitySummaryTypeIdentifier, AudiogramTypeIdentifier, ElectrocardiogramTypeIdentifier, HeartbeatSeriesTypeIdentifier, HKVisionPrescriptionTypeIdentifier, StateOfMindTypeIdentifier, UserAnnotatedMedicationTypeIdentifier, WorkoutRouteTypeIdentifier, WorkoutTypeIdentifier, } from './Constants' import type { CorrelationTypeIdentifier } from './CorrelationType' import type { Device } from './Device' import type { HeartRateMotionContext, InsulinDeliveryReason, Quantity, } from './QuantityType' import type { QuantityTypeIdentifier, QuantityTypeIdentifierWriteable, } from './QuantityTypeIdentifier' import type { SourceRevision } from './Source' import type { WeatherCondition } from './WeatherCondition' export interface DeletedSample { readonly uuid: string readonly metadata?: AnyMap } export type ObjectTypeIdentifier = | CharacteristicTypeIdentifier | SampleTypeIdentifier | typeof ActivitySummaryTypeIdentifier export type PerObjectTypeIdentifier = | typeof HKVisionPrescriptionTypeIdentifier | typeof UserAnnotatedMedicationTypeIdentifier export type SampleTypeIdentifier = | CategoryTypeIdentifier | CorrelationTypeIdentifier | QuantityTypeIdentifier | typeof StateOfMindTypeIdentifier | typeof AudiogramTypeIdentifier | typeof HeartbeatSeriesTypeIdentifier | typeof WorkoutRouteTypeIdentifier | typeof WorkoutTypeIdentifier | typeof ElectrocardiogramTypeIdentifier export type SampleTypeIdentifierWriteable = | CategoryTypeIdentifierWriteable | CorrelationTypeIdentifier | QuantityTypeIdentifierWriteable | typeof StateOfMindTypeIdentifier | typeof AudiogramTypeIdentifier | typeof HeartbeatSeriesTypeIdentifier | typeof WorkoutRouteTypeIdentifier | typeof WorkoutTypeIdentifier export interface GenericMetadata { readonly HKExternalUUID?: string readonly HKTimeZone?: string readonly HKWasUserEntered?: boolean readonly HKDeviceSerialNumber?: string readonly HKUDIDeviceIdentifier?: string readonly HKUDIProductionIdentifier?: string readonly HKDigitalSignature?: string readonly HKDeviceName?: string readonly HKDeviceManufacturerName?: string readonly HKSyncIdentifier?: string readonly HKSyncVersion?: number readonly HKWasTakenInLab?: boolean readonly HKReferenceRangeLowerLimit?: number readonly HKReferenceRangeUpperLimit?: number } export interface BaseObject { readonly uuid: string readonly sourceRevision: SourceRevision readonly device?: Device readonly metadata: AnyMap // metadata readonly metadataExternalUUID?: string readonly metadataTimeZone?: string readonly metadataWasUserEntered?: boolean readonly metadataDeviceSerialNumber?: string readonly metadataUdiDeviceIdentifier?: string readonly metadataUdiProductionIdentifier?: string readonly metadataDigitalSignature?: string readonly metadataDeviceName?: string readonly metadataDeviceManufacturerName?: string readonly metadataSyncIdentifier?: string readonly metadataSyncVersion?: number readonly metadataWasTakenInLab?: boolean readonly metadataReferenceRangeLowerLimit?: number readonly metadataReferenceRangeUpperLimit?: number readonly metadataAlgorithmVersion?: number } export interface SampleType { identifier: string allowsRecalibrationForEstimates: boolean isMinimumDurationRestricted: boolean isMaximumDurationRestricted: boolean } export interface BaseSample extends BaseObject { readonly sampleType: SampleType readonly startDate: Date readonly endDate: Date readonly hasUndeterminedDuration: boolean // metadata readonly metadataWeatherCondition?: WeatherCondition readonly metadataWeatherHumidity?: Quantity readonly metadataWeatherTemperature?: Quantity readonly metadataInsulinDeliveryReason?: InsulinDeliveryReason /** * postprandial or preprandial (https://developer.apple.com/documentation/healthkit/hkbloodglucosemealtime) */ // readonly metadataBloodGlucoseMealTime?: number readonly metadataHeartRateMotionContext?: HeartRateMotionContext }