@ginden/blinkstick-v2
Version:
Improved Blickstick API for Node.js
33 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findBlinkSticksSync = findBlinkSticksSync;
exports.findBlinkSticks = findBlinkSticksSync;
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/create-blinkstick-async");
const blinkstick_sync_1 = require("../../../core/versions/blinkstick.sync");
/**
* @summary Find BlinkSticks using a filter, using synchronous USB device enumeration.
* @category Discovery
*/
function findBlinkSticksSync(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);
});
}
/**
* @summary Find BlinkSticks using a filter, using asynchronous USB device enumeration.
* @param filter
* @category Discovery
*/
async function findBlinkSticksAsync(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