Skip to content

Capacitor Apple HealthKit implementation optimized for Swimified.

Notifications You must be signed in to change notification settings

kyllerss/swimified-apple-healthkit

Repository files navigation

swimified-apple-healthkit

Swimified-specific Capacitor plugin for accessing Apple HealthKit workout data.

Install

npm install swimified-apple-healthkit
npx cap sync

API

request_permissions()

request_permissions() => Promise<void>

is_available()

is_available() => Promise<void>

fetch_workouts(...)

fetch_workouts(opts: { start_date: Date; end_date: Date; }) => Promise<WorkoutResults>
Param Type
opts { start_date: Date; end_date: Date; }

Returns: Promise<WorkoutResults>


Interfaces

WorkoutResults

Prop Type
count number
results WorkoutResult[]

WorkoutResult

Prop Type
uuid string
start_date Date
end_date Date
source string
source_bundle_id string
device DeviceInformation
HKWorkoutActivityId number
HKWorkoutActivities HKWorkoutActivity[]
CLLocations CLLocation[]

Date

Enables basic storage and retrieval of dates and times.

Method Signature Description
toString () => string Returns a string representation of a date. The format of the string depends on the locale.
toDateString () => string Returns a date as a string value.
toTimeString () => string Returns a time as a string value.
toLocaleString () => string Returns a value as a string value appropriate to the host environment's current locale.
toLocaleDateString () => string Returns a date as a string value appropriate to the host environment's current locale.
toLocaleTimeString () => string Returns a time as a string value appropriate to the host environment's current locale.
valueOf () => number Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC.
getTime () => number Gets the time value in milliseconds.
getFullYear () => number Gets the year, using local time.
getUTCFullYear () => number Gets the year using Universal Coordinated Time (UTC).
getMonth () => number Gets the month, using local time.
getUTCMonth () => number Gets the month of a Date object using Universal Coordinated Time (UTC).
getDate () => number Gets the day-of-the-month, using local time.
getUTCDate () => number Gets the day-of-the-month, using Universal Coordinated Time (UTC).
getDay () => number Gets the day of the week, using local time.
getUTCDay () => number Gets the day of the week using Universal Coordinated Time (UTC).
getHours () => number Gets the hours in a date, using local time.
getUTCHours () => number Gets the hours value in a Date object using Universal Coordinated Time (UTC).
getMinutes () => number Gets the minutes of a Date object, using local time.
getUTCMinutes () => number Gets the minutes of a Date object using Universal Coordinated Time (UTC).
getSeconds () => number Gets the seconds of a Date object, using local time.
getUTCSeconds () => number Gets the seconds of a Date object using Universal Coordinated Time (UTC).
getMilliseconds () => number Gets the milliseconds of a Date, using local time.
getUTCMilliseconds () => number Gets the milliseconds of a Date object using Universal Coordinated Time (UTC).
getTimezoneOffset () => number Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC).
setTime (time: number) => number Sets the date and time value in the Date object.
setMilliseconds (ms: number) => number Sets the milliseconds value in the Date object using local time.
setUTCMilliseconds (ms: number) => number Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC).
setSeconds (sec: number, ms?: number | undefined) => number Sets the seconds value in the Date object using local time.
setUTCSeconds (sec: number, ms?: number | undefined) => number Sets the seconds value in the Date object using Universal Coordinated Time (UTC).
setMinutes (min: number, sec?: number | undefined, ms?: number | undefined) => number Sets the minutes value in the Date object using local time.
setUTCMinutes (min: number, sec?: number | undefined, ms?: number | undefined) => number Sets the minutes value in the Date object using Universal Coordinated Time (UTC).
setHours (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number Sets the hour value in the Date object using local time.
setUTCHours (hours: number, min?: number | undefined, sec?: number | undefined, ms?: number | undefined) => number Sets the hours value in the Date object using Universal Coordinated Time (UTC).
setDate (date: number) => number Sets the numeric day-of-the-month value of the Date object using local time.
setUTCDate (date: number) => number Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC).
setMonth (month: number, date?: number | undefined) => number Sets the month value in the Date object using local time.
setUTCMonth (month: number, date?: number | undefined) => number Sets the month value in the Date object using Universal Coordinated Time (UTC).
setFullYear (year: number, month?: number | undefined, date?: number | undefined) => number Sets the year of the Date object using local time.
setUTCFullYear (year: number, month?: number | undefined, date?: number | undefined) => number Sets the year value in the Date object using Universal Coordinated Time (UTC).
toUTCString () => string Returns a date converted to a string using Universal Coordinated Time (UTC).
toISOString () => string Returns a date as a string value in ISO format.
toJSON (key?: any) => string Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization.

DeviceInformation

Prop Type
name string
model string
manufacturer string
hardware_version string
software_version string

HKWorkoutActivity

Prop Type
uuid string
start_date Date
end_date Date
HKWorkoutEvents HKWorkoutEvent[]
HKLapLength number
HKSwimLocationType number
HKWorkoutActivityType number
heart_rate_data HeartRateData[]
stroke_count_data StrokeCountData[]
vo2max_data VO2MaxData[]

HKWorkoutEvent

Prop Type
type number
start_timestamp Date
end_timestamp Date
stroke_style number
swolf string

HeartRateData

Prop Type
start_date Date
end_date Date
motion_context number
heart_rate string

StrokeCountData

Prop Type
start_time Date
end_time Date
count number

VO2MaxData

Prop Type
start_time Date
end_time Date
vo2max_ml_kg_div_min number
vo2max_ml_kg_times_min number

CLLocation

Prop Type
timestamp Date
latitude number
longitude number
altitude number

About

Capacitor Apple HealthKit implementation optimized for Swimified.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published