modern-api.battery
Version:
get battery info
29 lines (27 loc) • 1.02 kB
TypeScript
interface BatteryManager {
readonly charging: boolean;
readonly chargingTime: number;
readonly dischargingTime: number;
readonly level: number;
}
declare type BatteryEvent = 'chargingchange' | 'chargingtimechange' | 'dischargingtimechange' | 'levelchange';
/**
* whether battery APIs is supported
*/
declare const batterySupported: boolean;
/**
* get BatteryManager instance
* @see https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
*
* @typedef {Object} BatteryResult
* @property {BatteryManager | null} BatteryResult.battery - will be null if not support
* @property {(event: BatteryEvent) => void} BatteryResult.stop - stop battery event listener
*
* @param {Record<BatteryEvent, () => void} listeners- battery event listener
* @returns {Promise<BatteryResult>}
*/
declare const getBattery: (listeners?: Record<BatteryEvent, () => void>) => Promise<{
battery: BatteryManager | null;
stop: (event: BatteryEvent) => void;
}>;
export { batterySupported, getBattery };