Skip to content

Commit

Permalink
feat(plugin): add flashlight plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
ihadeed committed Mar 6, 2016
1 parent ce6adcc commit 3ec25fa
Showing 1 changed file with 90 additions and 0 deletions.
90 changes: 90 additions & 0 deletions src/plugins/flashlight.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
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() {}

}

0 comments on commit 3ec25fa

Please sign in to comment.