Merge pull request #30 from ihadeed/add-flashlight

feat(plugin): add flashlight plugin
This commit is contained in:
Tim Lancina 2016-03-10 10:08:46 -06:00
commit 41f134590b

93
src/plugins/flashlight.ts Normal file
View File

@ -0,0 +1,93 @@
import {Plugin, Cordova} from './plugin';
/**
* @name Flashlight
* @description This plugin allows you to switch the flashlight / torch of the device on and off.
*
* Requires Cordova plugin: `cordova-plugin-flashlight`. For more info, please see the [Flashlight plugin docs](https://github.com/EddyVerbruggen/Flashlight-PhoneGap-Plugin).
*
* @usage
* ```js
* ```
*/
@Plugin({
plugin: 'https://github.com/EddyVerbruggen/Flashlight-PhoneGap-Plugin.git',
pluginRef: 'window.plugins.flashlight'
})
export class Flashlight {
/**
* Checks if the flash light is available
* @returns {Promise<boolean>} Returns a promise that resolves with a boolean stating if the flash light is available.
*/
@Cordova()
static available() : Promise<boolean>{
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<boolean>((res,rej)=>{});
}
/**
* Switches the flashlight on
* @returns {Promise<boolean>}
*/
@Cordova()
static switchOn() : Promise<boolean>{
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<boolean>((res,rej)=>{});
}
/**
* Switches the flash light off
* @returns {Promise<boolean>}
*/
@Cordova()
static switchOff() : Promise<boolean>{
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<boolean>((res,rej)=>{});
}
/**
* Toggles the flashlight
* @returns {Promise<any>}
*/
@Cordova()
static toggle() : Promise<any> {
// This Promise is replaced by one from the @Cordova decorator that wraps
// the plugin's callbacks. We provide a dummy one here so TypeScript
// knows that the correct return type is Promise, because there's no way
// for it to know the return type from a decorator.
// See https://github.com/Microsoft/TypeScript/issues/4881
return new Promise<any>((res,rej)=>{});
}
/**
* Checks if the flash light is turned on.
* Returns a boolean
*/
@Cordova({
sync: true
})
static isSwitchedOn() : boolean {
// DUMMY BOOLEAN, @Cordova decorator will replace value.
return true;
}
}