@ginden/blinkstick-v2
Version:
Improved Blickstick API for Node.js
23 lines • 1.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findFirst = findFirst;
const discovery_filter_1 = require("../discovery-filter");
const find_raw_devices_1 = require("./find-raw-devices");
const lib_usb_transport_1 = require("../../transport/lib-usb-transport");
const create_blinkstick_libusb_1 = require("./create-blinkstick-libusb");
/**
* Find first attached BlinkStick using libusb and create a BlinkStick object.
* @category Discovery
*/
async function findFirst(filter = () => true) {
const actualFilter = (0, discovery_filter_1.createDiscoverFilterFn)(filter);
const rawDevices = (0, find_raw_devices_1.findRawDevices)();
for (const rawDevice of rawDevices) {
const blinkStick = await lib_usb_transport_1.LibUsbTransport.calculateMinimalDeviceInfo(rawDevice);
if (actualFilter(blinkStick)) {
return (0, create_blinkstick_libusb_1.createBlinkstickLibUsb)(rawDevice);
}
}
throw new Error('No BlinkStick found');
}
//# sourceMappingURL=find-first.js.map