@appeeky/expo-healthkit 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.releaserc.json +22 -0
- package/CHANGELOG.md +15 -1
- package/README.md +30 -6
- package/android/src/main/java/expo/modules/healthkit/ExpoHealthKitModule.kt +8 -0
- package/android/src/main/java/expo/modules/healthkit/HealthConnectService.kt +39 -10
- package/build/ExpoHealthKitModule.d.ts +2 -0
- package/build/ExpoHealthKitModule.d.ts.map +1 -1
- package/build/ExpoHealthKitModule.js.map +1 -1
- package/build/ExpoHealthKitModule.web.d.ts +2 -0
- package/build/ExpoHealthKitModule.web.d.ts.map +1 -1
- package/build/ExpoHealthKitModule.web.js +4 -0
- package/build/ExpoHealthKitModule.web.js.map +1 -1
- package/build/index.d.ts +13 -5
- package/build/index.d.ts.map +1 -1
- package/build/index.js +61 -3
- package/build/index.js.map +1 -1
- package/build/types.d.ts +11 -1
- package/build/types.d.ts.map +1 -1
- package/build/types.js.map +1 -1
- package/expo-module.config.json +2 -1
- package/ios/ExpoHealthKitModule.swift +22 -9
- package/ios/HealthKitAppDelegateSubscriber.swift +14 -0
- package/ios/HealthKitObserverCenter.swift +199 -0
- package/ios/HealthKitService.swift +0 -28
- package/package.json +5 -1
- package/src/ExpoHealthKitModule.ts +2 -1
- package/src/ExpoHealthKitModule.web.ts +6 -0
- package/src/index.ts +72 -5
- package/src/types.ts +13 -1
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEvent } from 'expo';\nimport { Platform } from 'react-native';\n\nimport ExpoHealthKitModule from './ExpoHealthKitModule';\nimport { fromIso, resolveEndDate, toIso, toOptionalIso } from './dates';\nimport { HealthKitUnavailableError } from './errors';\nimport {\n AuthorizationRequestStatus,\n AuthorizationStatus,\n BiologicalSex,\n BloodType,\n CategoryType,\n CharacteristicType,\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ElectrocardiogramType,\n AudiogramType,\n ActivitySummaryType,\n SeriesType,\n FitzpatrickSkinType,\n QuantityType,\n SleepAnalysisValue,\n StatisticsOption,\n Unit,\n UpdateFrequency,\n WheelchairUse,\n WorkoutActivityType,\n WorkoutType,\n} from './identifiers';\nimport type {\n AnchoredQueryOptions,\n AnchoredQueryResult,\n AuthorizationOptions,\n CategorySample,\n CategorySampleInput,\n ClinicalRecord,\n ClinicalRecordQueryOptions,\n Correlation,\n CorrelationInput,\n CorrelationQueryOptions,\n DeleteObjectsOptions,\n ElectrocardiogramQueryOptions,\n ElectrocardiogramSample,\n ActivitySummary,\n ActivitySummaryQueryOptions,\n AudiogramSample,\n DateRangeQueryOptions,\n HeartbeatSeriesQueryOptions,\n HeartbeatSeriesSample,\n QuantityQueryOptions,\n QuantitySample,\n SampleQueryOptions,\n QuantitySampleInput,\n Statistics,\n StatisticsCollectionQueryOptions,\n StatisticsQueryOptions,\n WorkoutInput,\n WorkoutQueryOptions,\n WorkoutRoute,\n WorkoutRouteQueryOptions,\n WorkoutSample,\n} from './types';\n\nexport * from './identifiers';\nexport * from './errors';\nexport type * from './types';\n\nconst HK_UNLIMITED = 0;\n\nfunction isHealthPlatform(): boolean {\n return Platform.OS === 'ios' || Platform.OS === 'android';\n}\n\nfunction assertAvailable(): void {\n if (!isHealthPlatform() || !ExpoHealthKitModule.isHealthDataAvailable()) {\n throw new HealthKitUnavailableError();\n }\n}\n\nexport function isAvailable(): boolean {\n return isHealthPlatform() && ExpoHealthKitModule.isHealthDataAvailable();\n}\n\nexport async function requestAuthorization(options: AuthorizationOptions = {}): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.requestAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n });\n}\n\nexport async function getAuthorizationStatus(type: string): Promise<AuthorizationStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getAuthorizationStatus(type)) as AuthorizationStatus;\n}\n\nexport async function getRequestStatusForAuthorization(\n options: AuthorizationOptions = {}\n): Promise<AuthorizationRequestStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getRequestStatusForAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n })) as AuthorizationRequestStatus;\n}\n\nexport async function queryQuantitySamples(\n options: QuantityQueryOptions\n): Promise<QuantitySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryQuantitySamples({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryCategorySamples(options: SampleQueryOptions): Promise<CategorySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCategorySamples({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkouts(options: WorkoutQueryOptions = {}): Promise<WorkoutSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryWorkouts({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n activityType: options.activityType,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n workoutActivityType: sample.workoutActivityType as WorkoutSample['workoutActivityType'],\n }));\n}\n\nexport async function queryElectrocardiograms(\n options: ElectrocardiogramQueryOptions = {}\n): Promise<ElectrocardiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryElectrocardiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeVoltage: options.includeVoltage ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n classification: sample.classification as ElectrocardiogramSample['classification'],\n symptomsStatus: sample.symptomsStatus as ElectrocardiogramSample['symptomsStatus'],\n }));\n}\n\nexport async function queryActivitySummaries(\n options: ActivitySummaryQueryOptions = {}\n): Promise<ActivitySummary[]> {\n assertAvailable();\n return ExpoHealthKitModule.queryActivitySummaries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function queryClinicalRecords(\n options: ClinicalRecordQueryOptions\n): Promise<ClinicalRecord[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryClinicalRecords({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryAudiograms(\n options: DateRangeQueryOptions = {}\n): Promise<AudiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryAudiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkoutRoute(\n options: WorkoutRouteQueryOptions\n): Promise<WorkoutRoute[]> {\n assertAvailable();\n const routes = await ExpoHealthKitModule.queryWorkoutRoute({\n workoutUUID: options.workoutUUID,\n });\n\n return routes.map((route) => ({\n ...route,\n startDate: fromIso(route.startDate),\n endDate: fromIso(route.endDate),\n locations: route.locations.map((location) => ({\n ...location,\n timestamp: fromIso(location.timestamp),\n })),\n }));\n}\n\nfunction mapQuantitySample(sample: {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}) {\n return {\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n };\n}\n\nexport async function queryCorrelations(options: CorrelationQueryOptions): Promise<Correlation[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCorrelations({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n objects: sample.objects.map(mapQuantitySample),\n }));\n}\n\nexport async function queryHeartbeatSeries(\n options: HeartbeatSeriesQueryOptions = {}\n): Promise<HeartbeatSeriesSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryHeartbeatSeries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeBeats: options.includeBeats ?? true,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryStatistics(options: StatisticsQueryOptions): Promise<Statistics> {\n assertAvailable();\n const stats = await ExpoHealthKitModule.queryStatistics({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n });\n\n return {\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n };\n}\n\nexport async function queryStatisticsCollection(\n options: StatisticsCollectionQueryOptions\n): Promise<Statistics[]> {\n assertAvailable();\n const interval = options.interval ?? { day: 1 };\n const results = await ExpoHealthKitModule.queryStatisticsCollection({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n year: interval.year ?? 0,\n month: interval.month ?? 0,\n day: interval.day ?? 0,\n hour: interval.hour ?? 0,\n minute: interval.minute ?? 0,\n second: interval.second ?? 0,\n });\n\n return results.map((stats) => ({\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n }));\n}\n\nexport async function queryAnchored(options: AnchoredQueryOptions): Promise<AnchoredQueryResult> {\n assertAvailable();\n const result = await ExpoHealthKitModule.queryAnchored({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n anchor: options.anchor ?? undefined,\n });\n\n return {\n added: result.added.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n })),\n deleted: result.deleted,\n anchor: result.anchor ?? null,\n };\n}\n\nexport async function saveQuantitySample(sample: QuantitySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveQuantitySample({\n type: sample.type,\n unit: sample.unit,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveCategorySample(sample: CategorySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveCategorySample({\n type: sample.type,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveWorkout(workout: WorkoutInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveWorkout({\n activityType: workout.activityType,\n startDate: toIso(workout.startDate),\n endDate: toIso(workout.endDate),\n energyBurned: workout.energyBurned,\n energyBurnedUnit: workout.energyBurnedUnit,\n distance: workout.distance,\n distanceUnit: workout.distanceUnit,\n metadata: workout.metadata,\n });\n}\n\nexport async function saveCorrelation(correlation: CorrelationInput): Promise<string> {\n assertAvailable();\n const startDate = toIso(correlation.startDate);\n const endDate = resolveEndDate(correlation.startDate, correlation.endDate);\n return ExpoHealthKitModule.saveCorrelation({\n type: correlation.type,\n startDate,\n endDate,\n objects: correlation.objects.map((object) => ({\n type: object.type,\n unit: object.unit,\n value: object.value,\n startDate: toIso(object.startDate ?? correlation.startDate),\n endDate: resolveEndDate(\n object.endDate ?? object.startDate ?? correlation.startDate,\n object.endDate ?? correlation.endDate\n ),\n metadata: object.metadata,\n })),\n metadata: correlation.metadata,\n });\n}\n\nexport async function deleteObjects(options: DeleteObjectsOptions): Promise<number> {\n assertAvailable();\n return ExpoHealthKitModule.deleteObjects({\n uuid: options.uuid,\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function getBiologicalSex(): Promise<BiologicalSex> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBiologicalSex()) as BiologicalSex;\n}\n\nexport async function getBloodType(): Promise<BloodType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBloodType()) as BloodType;\n}\n\nexport async function getDateOfBirth(): Promise<Date | null> {\n assertAvailable();\n const value = await ExpoHealthKitModule.getDateOfBirth();\n return value ? fromIso(value) : null;\n}\n\nexport async function getFitzpatrickSkinType(): Promise<FitzpatrickSkinType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getFitzpatrickSkinType()) as FitzpatrickSkinType;\n}\n\nexport async function getWheelchairUse(): Promise<WheelchairUse> {\n assertAvailable();\n return (await ExpoHealthKitModule.getWheelchairUse()) as WheelchairUse;\n}\n\nexport async function enableBackgroundDelivery(\n type: string,\n frequency: UpdateFrequency\n): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.enableBackgroundDelivery(type, frequency);\n}\n\nexport async function disableBackgroundDelivery(type: string): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableBackgroundDelivery(type);\n}\n\nexport async function disableAllBackgroundDelivery(): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableAllBackgroundDelivery();\n}\n\nexport async function observe(types: readonly string[]): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.observeTypes([...types]);\n}\n\nexport async function clearObservers(): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.clearObserverQueries();\n}\n\nexport function addUpdateListener(listener: (event: { type: string }) => void): { remove(): void } {\n return ExpoHealthKitModule.addListener('onUpdate', listener);\n}\n\nexport function useHealthKitUpdates() {\n return useEvent(ExpoHealthKitModule, 'onUpdate');\n}\n\nconst HealthKit = {\n isAvailable,\n requestAuthorization,\n getAuthorizationStatus,\n getRequestStatusForAuthorization,\n queryQuantitySamples,\n queryCategorySamples,\n queryWorkouts,\n queryElectrocardiograms,\n queryActivitySummaries,\n queryClinicalRecords,\n queryAudiograms,\n queryWorkoutRoute,\n queryCorrelations,\n queryHeartbeatSeries,\n queryStatistics,\n queryStatisticsCollection,\n queryAnchored,\n saveQuantitySample,\n saveCategorySample,\n saveWorkout,\n saveCorrelation,\n deleteObjects,\n getBiologicalSex,\n getBloodType,\n getDateOfBirth,\n getFitzpatrickSkinType,\n getWheelchairUse,\n enableBackgroundDelivery,\n disableBackgroundDelivery,\n disableAllBackgroundDelivery,\n observe,\n clearObservers,\n addUpdateListener,\n useHealthKitUpdates,\n QuantityType,\n CategoryType,\n CharacteristicType,\n CorrelationType,\n WorkoutType,\n ElectrocardiogramType,\n AudiogramType,\n SeriesType,\n ActivitySummaryType,\n ClinicalType,\n Unit,\n WorkoutActivityType,\n SleepAnalysisValue,\n UpdateFrequency,\n StatisticsOption,\n AuthorizationStatus,\n AuthorizationRequestStatus,\n BiologicalSex,\n BloodType,\n FitzpatrickSkinType,\n WheelchairUse,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n};\n\nexport default HealthKit;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useState } from 'react';\nimport { Platform } from 'react-native';\n\nimport ExpoHealthKitModule from './ExpoHealthKitModule';\nimport { fromIso, resolveEndDate, toIso, toOptionalIso } from './dates';\nimport { HealthKitUnavailableError } from './errors';\nimport {\n AuthorizationRequestStatus,\n AuthorizationStatus,\n BiologicalSex,\n BloodType,\n CategoryType,\n CharacteristicType,\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ElectrocardiogramType,\n AudiogramType,\n ActivitySummaryType,\n SeriesType,\n FitzpatrickSkinType,\n QuantityType,\n SleepAnalysisValue,\n StatisticsOption,\n Unit,\n UpdateFrequency,\n WheelchairUse,\n WorkoutActivityType,\n WorkoutType,\n} from './identifiers';\nimport type {\n AnchoredQueryOptions,\n AnchoredQueryResult,\n AuthorizationOptions,\n CategorySample,\n CategorySampleInput,\n ClinicalRecord,\n ClinicalRecordQueryOptions,\n Correlation,\n CorrelationInput,\n CorrelationQueryOptions,\n DeleteObjectsOptions,\n ElectrocardiogramQueryOptions,\n ElectrocardiogramSample,\n ActivitySummary,\n ActivitySummaryQueryOptions,\n AudiogramSample,\n DateRangeQueryOptions,\n HealthUpdateEvent,\n HealthUpdateListener,\n HeartbeatSeriesQueryOptions,\n HeartbeatSeriesSample,\n NativeHealthUpdateEvent,\n QuantityQueryOptions,\n QuantitySample,\n SampleQueryOptions,\n QuantitySampleInput,\n Statistics,\n StatisticsCollectionQueryOptions,\n StatisticsQueryOptions,\n WorkoutInput,\n WorkoutQueryOptions,\n WorkoutRoute,\n WorkoutRouteQueryOptions,\n WorkoutSample,\n} from './types';\n\nexport * from './identifiers';\nexport * from './errors';\nexport type * from './types';\n\nconst HK_UNLIMITED = 0;\n\nfunction isHealthPlatform(): boolean {\n return Platform.OS === 'ios' || Platform.OS === 'android';\n}\n\nfunction assertAvailable(): void {\n if (!isHealthPlatform() || !ExpoHealthKitModule.isHealthDataAvailable()) {\n throw new HealthKitUnavailableError();\n }\n}\n\nexport function isAvailable(): boolean {\n return isHealthPlatform() && ExpoHealthKitModule.isHealthDataAvailable();\n}\n\nexport async function requestAuthorization(options: AuthorizationOptions = {}): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.requestAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n });\n}\n\nexport async function getAuthorizationStatus(type: string): Promise<AuthorizationStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getAuthorizationStatus(type)) as AuthorizationStatus;\n}\n\nexport async function getRequestStatusForAuthorization(\n options: AuthorizationOptions = {}\n): Promise<AuthorizationRequestStatus> {\n assertAvailable();\n return (await ExpoHealthKitModule.getRequestStatusForAuthorization({\n toRead: [...(options.toRead ?? [])],\n toShare: [...(options.toShare ?? [])],\n })) as AuthorizationRequestStatus;\n}\n\nexport async function queryQuantitySamples(\n options: QuantityQueryOptions\n): Promise<QuantitySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryQuantitySamples({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryCategorySamples(options: SampleQueryOptions): Promise<CategorySample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCategorySamples({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkouts(options: WorkoutQueryOptions = {}): Promise<WorkoutSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryWorkouts({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n activityType: options.activityType,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n workoutActivityType: sample.workoutActivityType as WorkoutSample['workoutActivityType'],\n }));\n}\n\nexport async function queryElectrocardiograms(\n options: ElectrocardiogramQueryOptions = {}\n): Promise<ElectrocardiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryElectrocardiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeVoltage: options.includeVoltage ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n classification: sample.classification as ElectrocardiogramSample['classification'],\n symptomsStatus: sample.symptomsStatus as ElectrocardiogramSample['symptomsStatus'],\n }));\n}\n\nexport async function queryActivitySummaries(\n options: ActivitySummaryQueryOptions = {}\n): Promise<ActivitySummary[]> {\n assertAvailable();\n return ExpoHealthKitModule.queryActivitySummaries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function queryClinicalRecords(\n options: ClinicalRecordQueryOptions\n): Promise<ClinicalRecord[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryClinicalRecords({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryAudiograms(\n options: DateRangeQueryOptions = {}\n): Promise<AudiogramSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryAudiograms({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryWorkoutRoute(\n options: WorkoutRouteQueryOptions\n): Promise<WorkoutRoute[]> {\n assertAvailable();\n const routes = await ExpoHealthKitModule.queryWorkoutRoute({\n workoutUUID: options.workoutUUID,\n });\n\n return routes.map((route) => ({\n ...route,\n startDate: fromIso(route.startDate),\n endDate: fromIso(route.endDate),\n locations: route.locations.map((location) => ({\n ...location,\n timestamp: fromIso(location.timestamp),\n })),\n }));\n}\n\nfunction mapQuantitySample(sample: {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}) {\n return {\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n };\n}\n\nexport async function queryCorrelations(options: CorrelationQueryOptions): Promise<Correlation[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryCorrelations({\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n objects: sample.objects.map(mapQuantitySample),\n }));\n}\n\nexport async function queryHeartbeatSeries(\n options: HeartbeatSeriesQueryOptions = {}\n): Promise<HeartbeatSeriesSample[]> {\n assertAvailable();\n const samples = await ExpoHealthKitModule.queryHeartbeatSeries({\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n ascending: options.ascending ?? false,\n includeBeats: options.includeBeats ?? true,\n });\n\n return samples.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n }));\n}\n\nexport async function queryStatistics(options: StatisticsQueryOptions): Promise<Statistics> {\n assertAvailable();\n const stats = await ExpoHealthKitModule.queryStatistics({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n });\n\n return {\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n };\n}\n\nexport async function queryStatisticsCollection(\n options: StatisticsCollectionQueryOptions\n): Promise<Statistics[]> {\n assertAvailable();\n const interval = options.interval ?? { day: 1 };\n const results = await ExpoHealthKitModule.queryStatisticsCollection({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n options: options.options ?? 0,\n year: interval.year ?? 0,\n month: interval.month ?? 0,\n day: interval.day ?? 0,\n hour: interval.hour ?? 0,\n minute: interval.minute ?? 0,\n second: interval.second ?? 0,\n });\n\n return results.map((stats) => ({\n ...stats,\n startDate: fromIso(stats.startDate),\n endDate: fromIso(stats.endDate),\n }));\n}\n\nexport async function queryAnchored(options: AnchoredQueryOptions): Promise<AnchoredQueryResult> {\n assertAvailable();\n const result = await ExpoHealthKitModule.queryAnchored({\n type: options.type,\n unit: options.unit,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n limit: options.limit ?? HK_UNLIMITED,\n anchor: options.anchor ?? undefined,\n });\n\n return {\n added: result.added.map((sample) => ({\n ...sample,\n startDate: fromIso(sample.startDate),\n endDate: fromIso(sample.endDate),\n })),\n deleted: result.deleted,\n anchor: result.anchor ?? null,\n };\n}\n\nexport async function saveQuantitySample(sample: QuantitySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveQuantitySample({\n type: sample.type,\n unit: sample.unit,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveCategorySample(sample: CategorySampleInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveCategorySample({\n type: sample.type,\n value: sample.value,\n startDate: toIso(sample.startDate),\n endDate: resolveEndDate(sample.startDate, sample.endDate),\n metadata: sample.metadata,\n });\n}\n\nexport async function saveWorkout(workout: WorkoutInput): Promise<string> {\n assertAvailable();\n return ExpoHealthKitModule.saveWorkout({\n activityType: workout.activityType,\n startDate: toIso(workout.startDate),\n endDate: toIso(workout.endDate),\n energyBurned: workout.energyBurned,\n energyBurnedUnit: workout.energyBurnedUnit,\n distance: workout.distance,\n distanceUnit: workout.distanceUnit,\n metadata: workout.metadata,\n });\n}\n\nexport async function saveCorrelation(correlation: CorrelationInput): Promise<string> {\n assertAvailable();\n const startDate = toIso(correlation.startDate);\n const endDate = resolveEndDate(correlation.startDate, correlation.endDate);\n return ExpoHealthKitModule.saveCorrelation({\n type: correlation.type,\n startDate,\n endDate,\n objects: correlation.objects.map((object) => ({\n type: object.type,\n unit: object.unit,\n value: object.value,\n startDate: toIso(object.startDate ?? correlation.startDate),\n endDate: resolveEndDate(\n object.endDate ?? object.startDate ?? correlation.startDate,\n object.endDate ?? correlation.endDate\n ),\n metadata: object.metadata,\n })),\n metadata: correlation.metadata,\n });\n}\n\nexport async function deleteObjects(options: DeleteObjectsOptions): Promise<number> {\n assertAvailable();\n return ExpoHealthKitModule.deleteObjects({\n uuid: options.uuid,\n type: options.type,\n from: toOptionalIso(options.from),\n to: toOptionalIso(options.to),\n });\n}\n\nexport async function getBiologicalSex(): Promise<BiologicalSex> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBiologicalSex()) as BiologicalSex;\n}\n\nexport async function getBloodType(): Promise<BloodType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getBloodType()) as BloodType;\n}\n\nexport async function getDateOfBirth(): Promise<Date | null> {\n assertAvailable();\n const value = await ExpoHealthKitModule.getDateOfBirth();\n return value ? fromIso(value) : null;\n}\n\nexport async function getFitzpatrickSkinType(): Promise<FitzpatrickSkinType> {\n assertAvailable();\n return (await ExpoHealthKitModule.getFitzpatrickSkinType()) as FitzpatrickSkinType;\n}\n\nexport async function getWheelchairUse(): Promise<WheelchairUse> {\n assertAvailable();\n return (await ExpoHealthKitModule.getWheelchairUse()) as WheelchairUse;\n}\n\nexport async function enableBackgroundDelivery(\n type: string,\n frequency: UpdateFrequency\n): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.enableBackgroundDelivery(type, frequency);\n}\n\nexport async function disableBackgroundDelivery(type: string): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableBackgroundDelivery(type);\n}\n\nexport async function disableAllBackgroundDelivery(): Promise<boolean> {\n assertAvailable();\n return ExpoHealthKitModule.disableAllBackgroundDelivery();\n}\n\nexport async function observe(types: readonly string[]): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.observeTypes([...types]);\n}\n\nexport async function clearObservers(): Promise<void> {\n assertAvailable();\n await ExpoHealthKitModule.clearObserverQueries();\n}\n\n/**\n * Types currently registered with `observe`. Persisted natively on iOS, so it\n * reflects observers re-registered at cold launch too.\n */\nexport async function getObservedTypes(): Promise<string[]> {\n if (!isAvailable()) return [];\n return ExpoHealthKitModule.getObservedTypes();\n}\n\nconst updateListeners = new Set<HealthUpdateListener>();\nlet nativeUpdateSubscription: { remove(): void } | null = null;\n\nfunction runListener(listener: HealthUpdateListener, event: HealthUpdateEvent): Promise<void> {\n try {\n return Promise.resolve(listener(event));\n } catch (error) {\n return Promise.reject(error);\n }\n}\n\nfunction handleNativeUpdate(nativeEvent: NativeHealthUpdateEvent): void {\n const { token, type } = nativeEvent;\n const event: HealthUpdateEvent = { type };\n const results = [...updateListeners].map((listener) => runListener(listener, event));\n\n Promise.allSettled(results).then((settled) => {\n if (__DEV__) {\n for (const result of settled) {\n if (result.status === 'rejected') {\n console.warn('[expo-healthkit] update listener threw', result.reason);\n }\n }\n }\n if (token) {\n ExpoHealthKitModule.completeUpdate(token).catch(() => {});\n }\n });\n}\n\n/**\n * Subscribe to observer / background-delivery updates. Return a promise from the\n * listener to hold the iOS completion handler until your async work is done.\n */\nexport function addUpdateListener(listener: HealthUpdateListener): { remove(): void } {\n updateListeners.add(listener);\n if (!nativeUpdateSubscription) {\n nativeUpdateSubscription = ExpoHealthKitModule.addListener('onUpdate', handleNativeUpdate);\n }\n\n return {\n remove() {\n updateListeners.delete(listener);\n if (updateListeners.size === 0 && nativeUpdateSubscription) {\n nativeUpdateSubscription.remove();\n nativeUpdateSubscription = null;\n }\n },\n };\n}\n\nexport function useHealthKitUpdates(): HealthUpdateEvent | null {\n const [event, setEvent] = useState<HealthUpdateEvent | null>(null);\n\n useEffect(() => {\n const subscription = addUpdateListener((next) => setEvent(next));\n return () => subscription.remove();\n }, []);\n\n return event;\n}\n\nconst HealthKit = {\n isAvailable,\n requestAuthorization,\n getAuthorizationStatus,\n getRequestStatusForAuthorization,\n queryQuantitySamples,\n queryCategorySamples,\n queryWorkouts,\n queryElectrocardiograms,\n queryActivitySummaries,\n queryClinicalRecords,\n queryAudiograms,\n queryWorkoutRoute,\n queryCorrelations,\n queryHeartbeatSeries,\n queryStatistics,\n queryStatisticsCollection,\n queryAnchored,\n saveQuantitySample,\n saveCategorySample,\n saveWorkout,\n saveCorrelation,\n deleteObjects,\n getBiologicalSex,\n getBloodType,\n getDateOfBirth,\n getFitzpatrickSkinType,\n getWheelchairUse,\n enableBackgroundDelivery,\n disableBackgroundDelivery,\n disableAllBackgroundDelivery,\n observe,\n clearObservers,\n getObservedTypes,\n addUpdateListener,\n useHealthKitUpdates,\n QuantityType,\n CategoryType,\n CharacteristicType,\n CorrelationType,\n WorkoutType,\n ElectrocardiogramType,\n AudiogramType,\n SeriesType,\n ActivitySummaryType,\n ClinicalType,\n Unit,\n WorkoutActivityType,\n SleepAnalysisValue,\n UpdateFrequency,\n StatisticsOption,\n AuthorizationStatus,\n AuthorizationRequestStatus,\n BiologicalSex,\n BloodType,\n FitzpatrickSkinType,\n WheelchairUse,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n};\n\nexport default HealthKit;\n"]}
|
package/build/types.d.ts
CHANGED
|
@@ -272,8 +272,18 @@ export interface AnchoredQueryResult {
|
|
|
272
272
|
export interface HealthUpdateEvent {
|
|
273
273
|
type: string;
|
|
274
274
|
}
|
|
275
|
+
/**
|
|
276
|
+
* Return a promise to keep the app alive (and the HealthKit completion handler
|
|
277
|
+
* pending) until your async work finishes. Resolves are awaited across all
|
|
278
|
+
* listeners; native times out after ~25s regardless.
|
|
279
|
+
*/
|
|
280
|
+
export type HealthUpdateListener = (event: HealthUpdateEvent) => void | Promise<void>;
|
|
281
|
+
export interface NativeHealthUpdateEvent extends HealthUpdateEvent {
|
|
282
|
+
/** Present on iOS. Passed back via `completeUpdate` once listeners finish. */
|
|
283
|
+
token?: string;
|
|
284
|
+
}
|
|
275
285
|
export type ExpoHealthKitModuleEvents = {
|
|
276
|
-
onUpdate: (event:
|
|
286
|
+
onUpdate: (event: NativeHealthUpdateEvent) => void;
|
|
277
287
|
};
|
|
278
288
|
export interface NativeAuthorizationOptions {
|
|
279
289
|
toRead: string[];
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,+BAA+B,EAC/B,+BAA+B,EAC/B,UAAU,EACV,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC9E,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,mBAAmB,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;CAChB;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,IAAI,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,eAAe,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,SAAS;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mCAAmC;IAClD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,+BAA+B,CAAC;IAChD,cAAc,EAAE,+BAA+B,CAAC;IAChD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,mCAAmC,EAAE,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE,yBAAyB,EAAE,CAAC;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sCAAuC,SAAQ,4BAA4B;IAC1F,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mCAAoC,SAAQ,2BAA2B;IACtF,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,iCAAiC;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,yCAAyC,EAAE,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,+BAA+B,EAAE,CAAC;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,0BAA0B,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,6BAA8B,SAAQ,2BAA2B;IAChF,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,yBAAyB,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,iCAAkC,SAAQ,2BAA2B;IACpF,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ObjectType,\n WorkoutActivityType,\n} from './identifiers';\n\nexport type DateInput = Date | string;\n\nexport interface AuthorizationOptions {\n toRead?: readonly ObjectType[];\n toShare?: readonly ObjectType[];\n}\n\nexport interface SampleQueryOptions {\n type: ObjectType;\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface QuantityQueryOptions extends SampleQueryOptions {\n unit: string;\n}\n\nexport interface WorkoutQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n activityType?: WorkoutActivityType;\n}\n\nexport interface StatisticsQueryOptions {\n type: ObjectType;\n unit: string;\n from?: DateInput;\n to?: DateInput;\n /** Bitmask of `StatisticsOption` values. Combine with bitwise OR. */\n options?: number;\n}\n\nexport interface DateInterval {\n year?: number;\n month?: number;\n day?: number;\n hour?: number;\n minute?: number;\n second?: number;\n}\n\nexport interface StatisticsCollectionQueryOptions extends StatisticsQueryOptions {\n interval?: DateInterval;\n}\n\nexport interface AnchoredQueryOptions extends SampleQueryOptions {\n unit?: string;\n /** Opaque token returned by a previous anchored query. */\n anchor?: string | null;\n}\n\nexport interface QuantitySampleInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySampleInput {\n type: ObjectType;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutInput {\n activityType: WorkoutActivityType;\n startDate: DateInput;\n endDate: DateInput;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface DeleteObjectsOptions {\n uuid?: string;\n type?: ObjectType;\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface DateRangeQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface ElectrocardiogramQueryOptions extends DateRangeQueryOptions {\n includeVoltage?: boolean;\n}\n\nexport interface ActivitySummaryQueryOptions {\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface ClinicalRecordQueryOptions extends DateRangeQueryOptions {\n type: ClinicalType | (string & {});\n}\n\nexport interface WorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface CorrelationQueryOptions extends DateRangeQueryOptions {\n type: CorrelationType | (string & {});\n}\n\nexport interface CorrelationObjectInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate?: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CorrelationInput {\n type: CorrelationType | (string & {});\n startDate: DateInput;\n endDate?: DateInput;\n objects: readonly CorrelationObjectInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface HeartbeatSeriesQueryOptions extends DateRangeQueryOptions {\n /** Default `true`. `false` returns series metadata without beat timestamps. */\n includeBeats?: boolean;\n}\n\nexport interface Correlation {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n objects: QuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface Heartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface HeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n count: number;\n beats?: Heartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface QuantitySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n duration: number;\n workoutActivityType: WorkoutActivityType;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface ElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n classification: ElectrocardiogramClassification;\n symptomsStatus: ElectrocardiogramSymptomsStatus;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: ElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface AudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface AudiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n sensitivityPoints: AudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface ClinicalRecord {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface WorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: Date;\n speed?: number;\n course?: number;\n}\n\nexport interface WorkoutRoute {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n locations: WorkoutRouteLocation[];\n}\n\nexport interface DeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface Statistics {\n startDate: Date;\n endDate: Date;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface AnchoredQueryResult {\n added: QuantitySample[];\n deleted: DeletedSample[];\n anchor: string | null;\n}\n\nexport interface HealthUpdateEvent {\n type: string;\n}\n\nexport type ExpoHealthKitModuleEvents = {\n onUpdate: (event: HealthUpdateEvent) => void;\n};\n\nexport interface NativeAuthorizationOptions {\n toRead: string[];\n toShare: string[];\n}\n\nexport interface NativeQuantityQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeCategoryQueryOptions {\n type: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeWorkoutQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n activityType?: number;\n}\n\nexport interface NativeStatisticsQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n options: number;\n}\n\nexport interface NativeStatisticsCollectionQueryOptions extends NativeStatisticsQueryOptions {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nexport interface NativeAnchoredQueryOptions {\n type: string;\n unit?: string;\n from?: string;\n to?: string;\n limit: number;\n anchor?: string;\n}\n\nexport interface NativeQuantitySampleInput {\n type: string;\n unit: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySampleInput {\n type: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutInput {\n activityType: number;\n startDate: string;\n endDate: string;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeleteObjectsOptions {\n uuid?: string;\n type?: string;\n from?: string;\n to?: string;\n}\n\nexport interface NativeQuantitySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n duration: number;\n workoutActivityType: number;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface NativeStatistics {\n startDate: string;\n endDate: string;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface NativeAnchoredQueryResult {\n added: NativeQuantitySample[];\n deleted: NativeDeletedSample[];\n anchor?: string;\n}\n\nexport interface NativeDateRangeQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeElectrocardiogramQueryOptions extends NativeDateRangeQueryOptions {\n includeVoltage: boolean;\n}\n\nexport interface NativeActivitySummaryQueryOptions {\n from?: string;\n to?: string;\n}\n\nexport interface NativeClinicalRecordQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeWorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface NativeElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface NativeElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n classification: number;\n symptomsStatus: number;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: NativeElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeAudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface NativeAudiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n sensitivityPoints: NativeAudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface NativeClinicalRecord {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface NativeWorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: string;\n speed?: number;\n course?: number;\n}\n\nexport interface NativeWorkoutRoute {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n locations: NativeWorkoutRouteLocation[];\n}\n\nexport interface NativeCorrelationQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeCorrelationInput {\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySampleInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeatSeriesQueryOptions extends NativeDateRangeQueryOptions {\n includeBeats: boolean;\n}\n\nexport interface NativeCorrelation {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface NativeHeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n count: number;\n beats?: NativeHeartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n ClinicalType,\n CorrelationType,\n ElectrocardiogramClassification,\n ElectrocardiogramSymptomsStatus,\n ObjectType,\n WorkoutActivityType,\n} from './identifiers';\n\nexport type DateInput = Date | string;\n\nexport interface AuthorizationOptions {\n toRead?: readonly ObjectType[];\n toShare?: readonly ObjectType[];\n}\n\nexport interface SampleQueryOptions {\n type: ObjectType;\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface QuantityQueryOptions extends SampleQueryOptions {\n unit: string;\n}\n\nexport interface WorkoutQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n activityType?: WorkoutActivityType;\n}\n\nexport interface StatisticsQueryOptions {\n type: ObjectType;\n unit: string;\n from?: DateInput;\n to?: DateInput;\n /** Bitmask of `StatisticsOption` values. Combine with bitwise OR. */\n options?: number;\n}\n\nexport interface DateInterval {\n year?: number;\n month?: number;\n day?: number;\n hour?: number;\n minute?: number;\n second?: number;\n}\n\nexport interface StatisticsCollectionQueryOptions extends StatisticsQueryOptions {\n interval?: DateInterval;\n}\n\nexport interface AnchoredQueryOptions extends SampleQueryOptions {\n unit?: string;\n /** Opaque token returned by a previous anchored query. */\n anchor?: string | null;\n}\n\nexport interface QuantitySampleInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySampleInput {\n type: ObjectType;\n value: number;\n startDate: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutInput {\n activityType: WorkoutActivityType;\n startDate: DateInput;\n endDate: DateInput;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface DeleteObjectsOptions {\n uuid?: string;\n type?: ObjectType;\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface DateRangeQueryOptions {\n from?: DateInput;\n to?: DateInput;\n limit?: number;\n ascending?: boolean;\n}\n\nexport interface ElectrocardiogramQueryOptions extends DateRangeQueryOptions {\n includeVoltage?: boolean;\n}\n\nexport interface ActivitySummaryQueryOptions {\n from?: DateInput;\n to?: DateInput;\n}\n\nexport interface ClinicalRecordQueryOptions extends DateRangeQueryOptions {\n type: ClinicalType | (string & {});\n}\n\nexport interface WorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface CorrelationQueryOptions extends DateRangeQueryOptions {\n type: CorrelationType | (string & {});\n}\n\nexport interface CorrelationObjectInput {\n type: ObjectType;\n unit: string;\n value: number;\n startDate?: DateInput;\n endDate?: DateInput;\n metadata?: Record<string, string>;\n}\n\nexport interface CorrelationInput {\n type: CorrelationType | (string & {});\n startDate: DateInput;\n endDate?: DateInput;\n objects: readonly CorrelationObjectInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface HeartbeatSeriesQueryOptions extends DateRangeQueryOptions {\n /** Default `true`. `false` returns series metadata without beat timestamps. */\n includeBeats?: boolean;\n}\n\nexport interface Correlation {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n objects: QuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface Heartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface HeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n count: number;\n beats?: Heartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface QuantitySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface CategorySample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface WorkoutSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n duration: number;\n workoutActivityType: WorkoutActivityType;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface ElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n classification: ElectrocardiogramClassification;\n symptomsStatus: ElectrocardiogramSymptomsStatus;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: ElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface AudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface AudiogramSample {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n sensitivityPoints: AudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface ActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface ClinicalRecord {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface WorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: Date;\n speed?: number;\n course?: number;\n}\n\nexport interface WorkoutRoute {\n uuid: string;\n type: string;\n startDate: Date;\n endDate: Date;\n locations: WorkoutRouteLocation[];\n}\n\nexport interface DeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface Statistics {\n startDate: Date;\n endDate: Date;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface AnchoredQueryResult {\n added: QuantitySample[];\n deleted: DeletedSample[];\n anchor: string | null;\n}\n\nexport interface HealthUpdateEvent {\n type: string;\n}\n\n/**\n * Return a promise to keep the app alive (and the HealthKit completion handler\n * pending) until your async work finishes. Resolves are awaited across all\n * listeners; native times out after ~25s regardless.\n */\nexport type HealthUpdateListener = (event: HealthUpdateEvent) => void | Promise<void>;\n\nexport interface NativeHealthUpdateEvent extends HealthUpdateEvent {\n /** Present on iOS. Passed back via `completeUpdate` once listeners finish. */\n token?: string;\n}\n\nexport type ExpoHealthKitModuleEvents = {\n onUpdate: (event: NativeHealthUpdateEvent) => void;\n};\n\nexport interface NativeAuthorizationOptions {\n toRead: string[];\n toShare: string[];\n}\n\nexport interface NativeQuantityQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeCategoryQueryOptions {\n type: string;\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeWorkoutQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n activityType?: number;\n}\n\nexport interface NativeStatisticsQueryOptions {\n type: string;\n unit: string;\n from?: string;\n to?: string;\n options: number;\n}\n\nexport interface NativeStatisticsCollectionQueryOptions extends NativeStatisticsQueryOptions {\n year: number;\n month: number;\n day: number;\n hour: number;\n minute: number;\n second: number;\n}\n\nexport interface NativeAnchoredQueryOptions {\n type: string;\n unit?: string;\n from?: string;\n to?: string;\n limit: number;\n anchor?: string;\n}\n\nexport interface NativeQuantitySampleInput {\n type: string;\n unit: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySampleInput {\n type: string;\n value: number;\n startDate: string;\n endDate: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutInput {\n activityType: number;\n startDate: string;\n endDate: string;\n energyBurned?: number;\n energyBurnedUnit?: string;\n distance?: number;\n distanceUnit?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeleteObjectsOptions {\n uuid?: string;\n type?: string;\n from?: string;\n to?: string;\n}\n\nexport interface NativeQuantitySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n unit: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeCategorySample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n value: number;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeWorkoutSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n duration: number;\n workoutActivityType: number;\n totalEnergyBurned?: number;\n totalEnergyBurnedUnit?: string;\n totalDistance?: number;\n totalDistanceUnit?: string;\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeDeletedSample {\n uuid: string;\n type?: string;\n}\n\nexport interface NativeStatistics {\n startDate: string;\n endDate: string;\n unit: string;\n sum?: number;\n min?: number;\n max?: number;\n average?: number;\n mostRecent?: number;\n}\n\nexport interface NativeAnchoredQueryResult {\n added: NativeQuantitySample[];\n deleted: NativeDeletedSample[];\n anchor?: string;\n}\n\nexport interface NativeDateRangeQueryOptions {\n from?: string;\n to?: string;\n limit: number;\n ascending: boolean;\n}\n\nexport interface NativeElectrocardiogramQueryOptions extends NativeDateRangeQueryOptions {\n includeVoltage: boolean;\n}\n\nexport interface NativeActivitySummaryQueryOptions {\n from?: string;\n to?: string;\n}\n\nexport interface NativeClinicalRecordQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeWorkoutRouteQueryOptions {\n workoutUUID: string;\n}\n\nexport interface NativeElectrocardiogramVoltageMeasurement {\n timeSinceSampleStart: number;\n voltage: number;\n unit: string;\n}\n\nexport interface NativeElectrocardiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n classification: number;\n symptomsStatus: number;\n averageHeartRate?: number;\n samplingFrequency?: number;\n numberOfVoltageMeasurements: number;\n voltageMeasurements?: NativeElectrocardiogramVoltageMeasurement[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeAudiogramSensitivityPoint {\n frequency: number;\n leftEarSensitivity?: number;\n rightEarSensitivity?: number;\n}\n\nexport interface NativeAudiogramSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n sensitivityPoints: NativeAudiogramSensitivityPoint[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeActivitySummary {\n date: string;\n activeEnergyBurned: number;\n appleExerciseTime: number;\n appleStandHours: number;\n activeEnergyBurnedGoal: number;\n appleExerciseTimeGoal: number;\n appleStandHoursGoal: number;\n appleMoveTime?: number;\n appleMoveTimeGoal?: number;\n}\n\nexport interface NativeClinicalRecord {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n displayName: string;\n fhirResourceType?: string;\n fhirJson?: string;\n sourceName?: string;\n sourceId?: string;\n}\n\nexport interface NativeWorkoutRouteLocation {\n latitude: number;\n longitude: number;\n altitude?: number;\n timestamp: string;\n speed?: number;\n course?: number;\n}\n\nexport interface NativeWorkoutRoute {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n locations: NativeWorkoutRouteLocation[];\n}\n\nexport interface NativeCorrelationQueryOptions extends NativeDateRangeQueryOptions {\n type: string;\n}\n\nexport interface NativeCorrelationInput {\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySampleInput[];\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeatSeriesQueryOptions extends NativeDateRangeQueryOptions {\n includeBeats: boolean;\n}\n\nexport interface NativeCorrelation {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n objects: NativeQuantitySample[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n\nexport interface NativeHeartbeat {\n timeSinceSeriesStart: number;\n precededByGap: boolean;\n}\n\nexport interface NativeHeartbeatSeriesSample {\n uuid: string;\n type: string;\n startDate: string;\n endDate: string;\n count: number;\n beats?: NativeHeartbeat[];\n sourceName?: string;\n sourceId?: string;\n metadata?: Record<string, string>;\n}\n"]}
|
package/expo-module.config.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"platforms": ["apple", "android"],
|
|
3
3
|
"apple": {
|
|
4
|
-
"modules": ["ExpoHealthKitModule"]
|
|
4
|
+
"modules": ["ExpoHealthKitModule"],
|
|
5
|
+
"appDelegateSubscribers": ["HealthKitAppDelegateSubscriber"]
|
|
5
6
|
},
|
|
6
7
|
"android": {
|
|
7
8
|
"modules": ["expo.modules.healthkit.ExpoHealthKitModule"]
|
|
@@ -9,15 +9,13 @@ public class ExpoHealthKitModule: Module {
|
|
|
9
9
|
Events("onUpdate")
|
|
10
10
|
|
|
11
11
|
OnCreate {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"type": type
|
|
15
|
-
])
|
|
16
|
-
}
|
|
12
|
+
// Fallback for apps that don't run the Expo AppDelegate subscriber.
|
|
13
|
+
HealthKitObserverCenter.shared.restore()
|
|
17
14
|
}
|
|
18
15
|
|
|
19
16
|
OnDestroy {
|
|
20
|
-
|
|
17
|
+
// Observer queries intentionally survive module teardown (JS reload).
|
|
18
|
+
HealthKitObserverCenter.shared.setEmitter(nil)
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
Function("isHealthDataAvailable") {
|
|
@@ -141,15 +139,30 @@ public class ExpoHealthKitModule: Module {
|
|
|
141
139
|
}
|
|
142
140
|
|
|
143
141
|
AsyncFunction("observeTypes") { (types: [String]) in
|
|
144
|
-
try
|
|
142
|
+
try HealthKitObserverCenter.shared.observe(types)
|
|
145
143
|
}
|
|
146
144
|
|
|
147
145
|
AsyncFunction("clearObserverQueries") {
|
|
148
|
-
|
|
146
|
+
HealthKitObserverCenter.shared.clear()
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
AsyncFunction("getObservedTypes") {
|
|
150
|
+
HealthKitObserverCenter.shared.observedTypes()
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
AsyncFunction("completeUpdate") { (token: String) in
|
|
154
|
+
HealthKitObserverCenter.shared.completeUpdate(token: token)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
OnStartObserving("onUpdate") {
|
|
158
|
+
HealthKitObserverCenter.shared.setEmitter { [weak self] event in
|
|
159
|
+
self?.sendEvent("onUpdate", event)
|
|
160
|
+
}
|
|
149
161
|
}
|
|
150
162
|
|
|
151
163
|
OnStopObserving("onUpdate") {
|
|
152
|
-
|
|
164
|
+
// Keep queries alive; only detach the JS sink so deliveries queue again.
|
|
165
|
+
HealthKitObserverCenter.shared.setEmitter(nil)
|
|
153
166
|
}
|
|
154
167
|
}
|
|
155
168
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import ExpoModulesCore
|
|
2
|
+
|
|
3
|
+
/// Re-registers persisted HealthKit observer queries as soon as the app process
|
|
4
|
+
/// starts, before the JS runtime boots. Required for background delivery to work
|
|
5
|
+
/// when iOS relaunches a killed app.
|
|
6
|
+
public final class HealthKitAppDelegateSubscriber: ExpoAppDelegateSubscriber {
|
|
7
|
+
public func application(
|
|
8
|
+
_ application: UIApplication,
|
|
9
|
+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
|
|
10
|
+
) -> Bool {
|
|
11
|
+
HealthKitObserverCenter.shared.restore()
|
|
12
|
+
return true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import HealthKit
|
|
2
|
+
import OSLog
|
|
3
|
+
import UIKit
|
|
4
|
+
|
|
5
|
+
private let observerLog = Logger(subsystem: "expo-healthkit", category: "observer")
|
|
6
|
+
|
|
7
|
+
/// Process-wide owner of `HKObserverQuery`s.
|
|
8
|
+
///
|
|
9
|
+
/// Lives outside the Expo module instance so observers survive JS reloads and can be
|
|
10
|
+
/// re-registered from `application(_:didFinishLaunchingWithOptions:)` before the
|
|
11
|
+
/// JS runtime exists. Apple requires observer queries to be running at launch for
|
|
12
|
+
/// background delivery to wake a killed app.
|
|
13
|
+
///
|
|
14
|
+
/// Each delivery is handed to JS as `{ type, token }`. The HealthKit completion handler
|
|
15
|
+
/// (plus a `UIBackgroundTask`) is held until JS calls `completeUpdate(token)` or the
|
|
16
|
+
/// timeout fires. Events that arrive before JS subscribes are queued and flushed when
|
|
17
|
+
/// the module starts observing `onUpdate`.
|
|
18
|
+
internal final class HealthKitObserverCenter {
|
|
19
|
+
static let shared = HealthKitObserverCenter()
|
|
20
|
+
|
|
21
|
+
private static let observedTypesKey = "expo.healthkit.observedTypes"
|
|
22
|
+
/// iOS grants roughly 30 seconds of background execution per delivery.
|
|
23
|
+
private static let completionTimeout: TimeInterval = 25
|
|
24
|
+
private static let maxQueuedEvents = 64
|
|
25
|
+
|
|
26
|
+
private struct PendingUpdate {
|
|
27
|
+
let handler: HKObserverQueryCompletionHandler
|
|
28
|
+
let backgroundTask: UIBackgroundTaskIdentifier
|
|
29
|
+
let timeout: DispatchWorkItem
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
private let store = HKHealthStore()
|
|
33
|
+
private let queue = DispatchQueue(label: "expo.healthkit.observer-center")
|
|
34
|
+
|
|
35
|
+
private var queries: [String: HKObserverQuery] = [:]
|
|
36
|
+
private var pending: [String: PendingUpdate] = [:]
|
|
37
|
+
private var queuedEvents: [[String: Any]] = []
|
|
38
|
+
private var emitter: (([String: Any]) -> Void)?
|
|
39
|
+
|
|
40
|
+
private init() {}
|
|
41
|
+
|
|
42
|
+
// MARK: - Public API
|
|
43
|
+
|
|
44
|
+
/// Replaces the observed set, persists it, and (re)starts queries.
|
|
45
|
+
func observe(_ identifiers: [String]) throws {
|
|
46
|
+
guard HKHealthStore.isHealthDataAvailable() else {
|
|
47
|
+
throw HealthUnavailableException()
|
|
48
|
+
}
|
|
49
|
+
let sampleTypes = try identifiers.map { ($0, try HealthKitIdentifiers.sampleType(for: $0)) }
|
|
50
|
+
|
|
51
|
+
queue.sync {
|
|
52
|
+
UserDefaults.standard.set(identifiers, forKey: Self.observedTypesKey)
|
|
53
|
+
// Same set already running (e.g. restored at launch): don't tear down and
|
|
54
|
+
// re-execute, which would make HealthKit fire every observer again.
|
|
55
|
+
if Set(identifiers) == Set(queries.keys) {
|
|
56
|
+
observerLog.notice("observe: \(identifiers.count) type(s) already running, skipping restart")
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
stopAllQueriesLocked()
|
|
60
|
+
for (identifier, sampleType) in sampleTypes {
|
|
61
|
+
startQueryLocked(identifier: identifier, sampleType: sampleType)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/// Stops all queries and forgets the persisted set.
|
|
67
|
+
func clear() {
|
|
68
|
+
queue.sync {
|
|
69
|
+
stopAllQueriesLocked()
|
|
70
|
+
UserDefaults.standard.removeObject(forKey: Self.observedTypesKey)
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
func observedTypes() -> [String] {
|
|
75
|
+
UserDefaults.standard.stringArray(forKey: Self.observedTypesKey) ?? []
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// Re-registers persisted observers. Safe to call repeatedly; already-running
|
|
79
|
+
/// queries are left alone. Called from the AppDelegate subscriber at launch and
|
|
80
|
+
/// from the module's `OnCreate` as a fallback.
|
|
81
|
+
func restore() {
|
|
82
|
+
guard HKHealthStore.isHealthDataAvailable() else {
|
|
83
|
+
return
|
|
84
|
+
}
|
|
85
|
+
let identifiers = observedTypes()
|
|
86
|
+
guard !identifiers.isEmpty else {
|
|
87
|
+
return
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
queue.sync {
|
|
91
|
+
var restored = 0
|
|
92
|
+
for identifier in identifiers where queries[identifier] == nil {
|
|
93
|
+
guard let sampleType = try? HealthKitIdentifiers.sampleType(for: identifier) else {
|
|
94
|
+
continue
|
|
95
|
+
}
|
|
96
|
+
startQueryLocked(identifier: identifier, sampleType: sampleType)
|
|
97
|
+
restored += 1
|
|
98
|
+
}
|
|
99
|
+
observerLog.notice("restore: re-registered \(restored) observer(s), emitter=\(self.emitter != nil)")
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/// Called by JS once its listeners have finished processing a delivery.
|
|
104
|
+
/// Unknown or already-completed tokens are ignored.
|
|
105
|
+
func completeUpdate(token: String) {
|
|
106
|
+
queue.sync {
|
|
107
|
+
finishLocked(token: token, reason: "js")
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/// Wires (or unwires) the JS event sink. Setting a non-nil emitter flushes
|
|
112
|
+
/// any deliveries queued while JS was not listening.
|
|
113
|
+
func setEmitter(_ emitter: (([String: Any]) -> Void)?) {
|
|
114
|
+
queue.sync {
|
|
115
|
+
self.emitter = emitter
|
|
116
|
+
guard let emitter else {
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
let events = queuedEvents
|
|
120
|
+
queuedEvents.removeAll()
|
|
121
|
+
observerLog.notice("emitter attached, flushing \(events.count) queued event(s)")
|
|
122
|
+
for event in events {
|
|
123
|
+
emitter(event)
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// MARK: - Internals (must run on `queue`)
|
|
129
|
+
|
|
130
|
+
private func startQueryLocked(identifier: String, sampleType: HKSampleType) {
|
|
131
|
+
let query = HKObserverQuery(sampleType: sampleType, predicate: nil) { [weak self] _, completionHandler, error in
|
|
132
|
+
guard let self else {
|
|
133
|
+
completionHandler()
|
|
134
|
+
return
|
|
135
|
+
}
|
|
136
|
+
if error != nil {
|
|
137
|
+
completionHandler()
|
|
138
|
+
return
|
|
139
|
+
}
|
|
140
|
+
self.handleDelivery(identifier: identifier, completionHandler: completionHandler)
|
|
141
|
+
}
|
|
142
|
+
queries[identifier] = query
|
|
143
|
+
store.execute(query)
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
private func stopAllQueriesLocked() {
|
|
147
|
+
for query in queries.values {
|
|
148
|
+
store.stop(query)
|
|
149
|
+
}
|
|
150
|
+
queries.removeAll()
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
private func handleDelivery(identifier: String, completionHandler: @escaping HKObserverQueryCompletionHandler) {
|
|
154
|
+
let token = UUID().uuidString
|
|
155
|
+
|
|
156
|
+
let backgroundTask = UIApplication.shared.beginBackgroundTask(withName: "expo-healthkit.\(identifier)") { [weak self] in
|
|
157
|
+
self?.queue.async {
|
|
158
|
+
self?.finishLocked(token: token, reason: "background-task-expired")
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
let timeout = DispatchWorkItem { [weak self] in
|
|
163
|
+
self?.finishLocked(token: token, reason: "timeout")
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
queue.async {
|
|
167
|
+
self.pending[token] = PendingUpdate(
|
|
168
|
+
handler: completionHandler,
|
|
169
|
+
backgroundTask: backgroundTask,
|
|
170
|
+
timeout: timeout
|
|
171
|
+
)
|
|
172
|
+
self.queue.asyncAfter(deadline: .now() + Self.completionTimeout, execute: timeout)
|
|
173
|
+
|
|
174
|
+
let event: [String: Any] = ["type": identifier, "token": token]
|
|
175
|
+
let appState = UIApplication.shared.applicationState.rawValue
|
|
176
|
+
observerLog.notice("delivery \(token, privacy: .public) for \(identifier, privacy: .public) appState=\(appState) emitter=\(self.emitter != nil)")
|
|
177
|
+
if let emitter = self.emitter {
|
|
178
|
+
emitter(event)
|
|
179
|
+
} else {
|
|
180
|
+
if self.queuedEvents.count >= Self.maxQueuedEvents {
|
|
181
|
+
self.queuedEvents.removeFirst()
|
|
182
|
+
}
|
|
183
|
+
self.queuedEvents.append(event)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
private func finishLocked(token: String, reason: String) {
|
|
189
|
+
guard let update = pending.removeValue(forKey: token) else {
|
|
190
|
+
return
|
|
191
|
+
}
|
|
192
|
+
observerLog.notice("complete \(token, privacy: .public) reason=\(reason, privacy: .public)")
|
|
193
|
+
update.timeout.cancel()
|
|
194
|
+
update.handler()
|
|
195
|
+
if update.backgroundTask != .invalid {
|
|
196
|
+
UIApplication.shared.endBackgroundTask(update.backgroundTask)
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -2,9 +2,6 @@ import HealthKit
|
|
|
2
2
|
|
|
3
3
|
internal final class HealthKitService {
|
|
4
4
|
let store = HKHealthStore()
|
|
5
|
-
var onUpdate: ((String) -> Void)?
|
|
6
|
-
|
|
7
|
-
private var observerQueries: [String: HKObserverQuery] = [:]
|
|
8
5
|
|
|
9
6
|
func executeQuery(_ query: HKQuery) throws {
|
|
10
7
|
try catchingHealthKit {
|
|
@@ -432,31 +429,6 @@ internal final class HealthKitService {
|
|
|
432
429
|
}
|
|
433
430
|
}
|
|
434
431
|
|
|
435
|
-
func startObserving(_ identifiers: [String]) throws {
|
|
436
|
-
try ensureAvailable()
|
|
437
|
-
stopObserving()
|
|
438
|
-
|
|
439
|
-
for identifier in identifiers {
|
|
440
|
-
let sampleType = try HealthKitIdentifiers.sampleType(for: identifier)
|
|
441
|
-
let query = HKObserverQuery(sampleType: sampleType, predicate: nil) { [weak self] _, completionHandler, error in
|
|
442
|
-
defer { completionHandler() }
|
|
443
|
-
guard error == nil else {
|
|
444
|
-
return
|
|
445
|
-
}
|
|
446
|
-
self?.onUpdate?(identifier)
|
|
447
|
-
}
|
|
448
|
-
observerQueries[identifier] = query
|
|
449
|
-
try executeQuery(query)
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
func stopObserving() {
|
|
454
|
-
for query in observerQueries.values {
|
|
455
|
-
store.stop(query)
|
|
456
|
-
}
|
|
457
|
-
observerQueries.removeAll()
|
|
458
|
-
}
|
|
459
|
-
|
|
460
432
|
func ensureAvailable() throws {
|
|
461
433
|
if !isAvailable() {
|
|
462
434
|
throw HealthUnavailableException()
|