mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-22 01:19:36 +08:00
feat(health-kit): add HealthKit plugin (#1499)
* typo(barcode-scanner): fixe circle lint error * typo(docs): Unified the documentations In some plugins the typescript markup was missing. I also unified the console.log string from console.log("hello") to console.log('Hello') so any plugin page look the same. * Initial commit - added Plugin infos - added methods * Added Interface * Implemented all methods * fixed retun types TODO: Improve Interface Docs * Interface discription Still needs some improvements
This commit is contained in:
parent
c7111a3117
commit
14f38a0e28
309
src/@ionic-native/plugins/health-kit/index.ts
Normal file
309
src/@ionic-native/plugins/health-kit/index.ts
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
export interface HealthKitOptions {
|
||||||
|
/**
|
||||||
|
* HKWorkoutActivityType constant
|
||||||
|
* Read more here: https://developer.apple.com/library/ios/documentation/HealthKit/Reference/HKWorkout_Class/#//apple_ref/c/tdef/HKWorkoutActivityType
|
||||||
|
*/
|
||||||
|
activityType?: string; //
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 'hour', 'week', 'year' or 'day', default 'day'
|
||||||
|
*/
|
||||||
|
aggregation?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
amount?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
correlationType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
date?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
distance?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* probably useful with the former param
|
||||||
|
*/
|
||||||
|
distanceUnit?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* in seconds, optional, use either this or endDate
|
||||||
|
*/
|
||||||
|
duration?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
endDate?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
energy?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* J|cal|kcal
|
||||||
|
*/
|
||||||
|
energyUnit?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
extraData?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
metadata?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
quantityType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
readTypes?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
requestWritePermission?: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
samples?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
sampleType?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
startDate?: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* m|cm|mm|in|ft
|
||||||
|
*/
|
||||||
|
unit?: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
requestReadPermission?: boolean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
writeTypes?: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Health Kit
|
||||||
|
* @description
|
||||||
|
* The HealthKit plugin allows you to read data from and write data to the iOS 8+ HealthKit framework.
|
||||||
|
* Any data saved shows up in the iOS Health app and is available for other iOS apps.
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```typescript
|
||||||
|
* import { HealthKit } from '@ionic-native/health-kit';
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* constructor(private healthKit: HealthKit) { }
|
||||||
|
*
|
||||||
|
* ...
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* @interfaces
|
||||||
|
* HealthKitOptions
|
||||||
|
*/
|
||||||
|
@Plugin({
|
||||||
|
pluginName: 'HealthKit',
|
||||||
|
plugin: 'com.telerik.plugins.healthkit',
|
||||||
|
pluginRef: 'window.plugins.healthkit',
|
||||||
|
repo: 'https://github.com/Telerik-Verified-Plugins/HealthKit',
|
||||||
|
platforms: ['iOS']
|
||||||
|
})
|
||||||
|
@Injectable()
|
||||||
|
export class HealthKit extends IonicNativePlugin {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if HealthKit is supported (iOS8+, not on iPad)
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
available(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass in a type and get back on of undetermined | denied | authorized
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
checkAuthStatus(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ask some or all permissions up front
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
requestAuthorization(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formatted as yyyy-MM-dd
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readDateOfBirth(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output = male|female|other|unknown
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readGender(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output = A+|A-|B+|B-|AB+|AB-|O+|O-|unknown
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readBloodType(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Output = I|II|III|IV|V|VI|unknown
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readFitzpatrickSkinType(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone) and amount
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
saveWeight(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass in unit (g=gram, kg=kilogram, oz=ounce, lb=pound, st=stone)
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readWeight(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot) and amount
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
saveHeight(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass in unit (mm=millimeter, cm=centimeter, m=meter, in=inch, ft=foot)
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
readHeight(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* no params yet, so this will return all workouts ever of any type
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
findWorkouts(): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
saveWorkout(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
querySampleType(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
querySampleTypeAggregated(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
deleteSamples(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
monitorSampleType(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
sumQuantityType(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
saveQuantitySample(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
saveCorrelation(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param options {HealthKitOptions}
|
||||||
|
* @returns {Promise<any>}
|
||||||
|
*/
|
||||||
|
@Cordova()
|
||||||
|
queryCorrelationType(options: HealthKitOptions): Promise<any> { return; }
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user