Skip to content

farism/mint-battery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mint Battery

CI

Mint wrapper for the browser BatteryManager API

API

The API is split into two parts, the Battery module and the Provider.Battery provider.

Battery.Provider

The Battery.Provider provides change events to the subscriber. Events will fire when charging, chargingTime, dischargingTime, or level values change.

Example of using the provider

component Main {
  state level = 0

  use Provider.Battery {
    changes:
      (
        isCharging : Bool,
        chargingTime : Number,
        dischargingTime : Number,
        level : Number
      ) : Promise(Void) {
        next { level: level }
      }
  }

  fun render : Html {
    <div>"#{level}"</div>
  }
}

Battery

The Battery module provides direct access to the Battery information.

All functions return a promise, because the underlying browser API to retrieve the BatteryManager with window.navigator.getBattery() returns a promise.

  • get() - Retrieves the underlying BatteryManager

  • isCharging() - Returns whether the device is currently charging

  • chargingTime() - Returns the time left in seconds to fully charge

  • dischargingTime() - Returns the time left in seconds to fully discharge

  • level() - Returns the current battery level

Example using the Battery module

component Main {
  state level = 0

  fun componentDidMount {
    let level =
      await Battery.level()

    next { level: level }
  }

  fun render : Html {
    <div>"#{level}"</div>
  }
}

About

Mint lang wrapper for the BatteryManager API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages