UNPKG

webdev-power-kit

Version:

A powerful toolkit that simplifies access to browser features like clipboard, notifications, battery, vibration, and more — perfect for modern web developers.

34 lines (33 loc) 1.02 kB
/** * Returns the battery status using the Navigator API. * @returns Promise that resolves to a BatteryManager object */ export async function getBattery() { if (!("getBattery" in navigator)) { throw new Error("Battery API not supported."); } return await navigator.getBattery(); } /** * Returns current battery level as percentage (0–100). */ export async function getBatteryLevel() { const battery = await getBattery(); return battery.level * 100; } /** * Returns current charging status (true/false). */ export async function isBatteryCharging() { const battery = await getBattery(); return battery.charging; } /** * Subscribes to battery level or charging change events. * @param onChange Callback that runs when battery info updates */ export async function onBatteryChange(onChange) { const battery = await getBattery(); battery.addEventListener("levelchange", () => onChange(battery)); battery.addEventListener("chargingchange", () => onChange(battery)); }