feat: update typings (#72)
this is part of https://github.com/apache/cordova/issues/39
<!--
Please make sure the checklist boxes are all checked before submitting the PR. The checklist is intended as a quick reference, for complete details please see our Contributor Guidelines:
http://cordova.apache.org/contribute/contribute_guidelines.html
Thanks!
-->
### Platforms affected
n/a - development with TypeScript
### Motivation and Context
<!-- Why is this change required? What problem does it solve? -->
<!-- If it fixes an open issue, please link to the issue here. -->
updates typings as discussed in apache/cordova#39
### Description
Updates type definition header, simplifies event types and correctly format the TSDoc.
### Testing
Manual testing via development in VSCode.
### Checklist
- [ ] I've run the tests to see all new and existing tests pass
- [ ] I added automated test coverage as appropriate for this change
- [ ] Commit is prefixed with `(platform)` if this change only applies to one platform (e.g. `(android)`)
- [ ] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct [keyword to close issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
- [ ] I've updated the documentation if necessary
diff --git a/README.md b/README.md
index f8f9eda..e534833 100644
--- a/README.md
+++ b/README.md
@@ -108,5 +108,5 @@
- Browser (Chrome, Firefox, Opera)
-[w3c_spec]: http://www.w3.org/TR/2011/WD-battery-status-20110915/
+[w3c_spec]: https://www.w3.org/TR/battery-status/
[status_object]: #status-object
diff --git a/types/index.d.ts b/types/index.d.ts
index 9baedc8..6612fc8 100644
--- a/types/index.d.ts
+++ b/types/index.d.ts
@@ -1,10 +1,10 @@
-// Type definitions for Apache Cordova BatteryStatus plugin
+// Type definitions for cordova-plugin-battery-status 2.0
// Project: https://github.com/apache/cordova-plugin-battery-status
// Definitions by: Microsoft Open Technologies Inc <http://msopentech.com>
+// Tim Brust <https://github.com/timbru31>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-//
-// Copyright (c) Microsoft Open Technologies Inc
-// Licensed under the MIT license.
+
+type batteryEvent = 'batterystatus' | 'batterycritical' | 'batterylow';
interface Window {
onbatterystatus: (type: BatteryStatusEvent) => void;
@@ -12,114 +12,35 @@
onbatterylow: (type: BatteryStatusEvent) => void;
/**
* Adds a listener for an event from the BatteryStatus plugin.
- * @param type the event to listen for
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param listener the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
+ * @param type - The event to listen for.
+ *
+ * `batterystatus`: event fires when the percentage of battery charge changes by at least 1 percent, or if the device is plugged in or unplugged.
+ *
+ * `batterycritical`: event fires when the percentage of battery charge has reached the critical battery threshold. The value is device-specific.
+ *
+ * `batterylow`: event fires when the percentage of battery charge has reached the low battery threshold, device-specific value.
+ * @param listener - The function that executes when the event fires. The function is passed an BatteryStatusEvent object as a parameter.
+ * @param useCapture - A Boolean indicating whether events of this type will be dispatched to the registered listener before being dispatched to any EventTarget beneath it in the DOM tree.
*/
- addEventListener(type: "batterystatus", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Adds a listener for an event from the BatteryStatus plugin.
- * @param type the event to listen for
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param listener the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- addEventListener(type: "batterycritical", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Adds a listener for an event from the BatteryStatus plugin.
- * @param type the event to listen for
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param listener the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- addEventListener(type: "batterylow", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Adds a listener for an event from the BatteryStatus plugin.
- * @param type the event to listen for
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param listener the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- addEventListener(type: string, listener: (ev: Event) => any, useCapture?: boolean): void;
+ addEventListener(type: batteryEvent, listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
/**
* Removes a listener for an event from the BatteryStatus plugin.
- * @param type The event to stop listening for.
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param callback the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
+ * @param Atype - The event to stop listening for.
+ *
+ * `batterystatus`: event fires when the percentage of battery charge changes by at least 1 percent, or if the device is plugged in or unplugged.
+ *
+ * `batterycritical`: event fires when the percentage of battery charge has reached the critical battery threshold. The value is device-specific.
+ *
+ * `batterylow`: event fires when the percentage of battery charge has reached the low battery threshold, device-specific value.
+ * @param callback - The function that executes when the event fires. The function is passed an BatteryStatusEvent object as a parameter.
+ * @param useCapture - A Boolean indicating whether events of this type will be dispatched to the registered listener before being dispatched to any EventTarget beneath it in the DOM tree.
*/
- removeEventListener(type: "batterystatus", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Removes a listener for an event from the BatteryStatus plugin.
- * @param type The event to stop listening for.
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param callback the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- removeEventListener(type: "batterycritical", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Removes a listener for an event from the BatteryStatus plugin.
- * @param type The event to stop listening for.
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param callback the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- removeEventListener(type: "batterylow", listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
- /**
- * Removes a listener for an event from the BatteryStatus plugin.
- * @param type The event to stop listening for.
- * batterystatus: event fires when the percentage of battery charge
- * changes by at least 1 percent, or if the device is plugged in or unplugged.
- * batterycritical: event fires when the percentage of battery charge has reached
- * the critical battery threshold. The value is device-specific.
- * batterylow: event fires when the percentage of battery charge has
- * reached the low battery threshold, device-specific value.
- * @param callback the function that executes when the event fires. The function is
- * passed an BatteryStatusEvent object as a parameter.
- */
- removeEventListener(type: string, listener: (ev: Event) => any, useCapture?: boolean): void;
+ removeEventListener(type: batteryEvent, listener: (ev: BatteryStatusEvent) => any, useCapture?: boolean): void;
}
-/** Object, that passed into battery event listener */
interface BatteryStatusEvent extends Event {
/* The percentage of battery charge (0-100). */
level: number;
/* A boolean that indicates whether the device is plugged in. */
isPlugged: boolean;
-}
\ No newline at end of file
+}