UNPKG

dualsense-ts

Version:

The natural interface for your DualSense and DualSense Access controllers, with Typescript

49 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Battery = exports.BatteryStatus = exports.BatteryLevel = void 0; const input_1 = require("../input"); const battery_state_1 = require("../hid/battery_state"); /** Tracks the controller's battery charge level as a 0–1 intensity */ class BatteryLevel extends input_1.Input { constructor() { super(...arguments); this.state = 0; } get active() { return this.state > 0; } } exports.BatteryLevel = BatteryLevel; /** Tracks the controller's charging status */ class BatteryStatus extends input_1.Input { constructor() { super(...arguments); this.state = battery_state_1.ChargeStatus.Discharging; } get active() { return this.state === battery_state_1.ChargeStatus.Charging; } } exports.BatteryStatus = BatteryStatus; /** Groups battery level and charging status */ class Battery extends input_1.Input { get active() { return this.level.active || this.status.active; } constructor(params = {}) { super(params); this.state = this; this.level = new BatteryLevel({ icon: "🔋", name: "BatteryLevel", ...(params.level ?? {}), }); this.status = new BatteryStatus({ icon: "🔌", name: "BatteryStatus", ...(params.status ?? {}), }); } } exports.Battery = Battery; //# sourceMappingURL=battery.js.map