-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
90 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() {} | ||
|
||
} |