UNPKG

@ginden/blinkstick-v2

Version:
25 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findAll = findAll; const discovery_filter_1 = require("../discovery-filter"); const get_lib_usb_1 = require("./get-lib-usb"); const lib_usb_transport_1 = require("../../transport/lib-usb-transport"); const create_blinkstick_libusb_1 = require("./create-blinkstick-libusb"); /** * @summary Finds all BlinkStick devices using libusb. * @category Discovery */ async function findAll(filter = () => true) { const actualFilter = (0, discovery_filter_1.createDiscoverFilterFn)(filter); const libUsb = (0, get_lib_usb_1.getLibUsb)(); const devices = libUsb.getDeviceList(); const devicesRaw = await Promise.all(devices.map(async (device) => { const deviceInfo = await lib_usb_transport_1.LibUsbTransport.calculateMinimalDeviceInfo(device); if (!actualFilter(deviceInfo)) { return null; } return (0, create_blinkstick_libusb_1.createBlinkstickLibUsb)(device); })); return devicesRaw.filter((device) => device !== null); } //# sourceMappingURL=find-all.js.map