@ginden/blinkstick-v2
Version:
Improved Blickstick API for Node.js
38 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findBlinkSticks = findBlinkSticks;
exports.findBlinkSticksAsync = findBlinkSticksAsync;
const node_hid_1 = require("node-hid");
const find_raw_devices_1 = require("./find-raw-devices");
const create_blinkstick_async_1 = require("./create-blinkstick-async");
const blinkstick_sync_1 = require("../../core/blinkstick.sync");
/**
* Find BlinkSticks using a filter, using synchronous USB device enumeration.
* @category Discovery
*/
function findBlinkSticks(filter) {
if (!filter) {
filter = () => true;
}
return (0, find_raw_devices_1.findRawDevicesSync)()
.filter(filter)
.map((device) => {
const hidDevice = device.path
? new node_hid_1.HID(device.path)
: new node_hid_1.HID(device.vendorId, device.productId);
return new blinkstick_sync_1.BlinkstickSync(hidDevice);
});
}
/**
* Find BlinkSticks using a filter, using asynchronous USB device enumeration.
* @param filter
* @category Discovery
*/
async function findBlinkSticksAsync(filter) {
if (!filter) {
filter = () => true;
}
const devices = await (0, find_raw_devices_1.findRawDevicesAsync)();
return Promise.all(devices.filter(filter).map(create_blinkstick_async_1.createBlinkstickAsync));
}
//# sourceMappingURL=find-blink-sticks.js.map