@ginden/blinkstick-v2
Version:
Improved Blickstick API for Node.js
32 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findFirst = findFirst;
exports.findFirstAsync = findFirstAsync;
const create_blinkstick_async_1 = require("./create-blinkstick-async");
const find_blink_sticks_1 = require("./find-blink-sticks");
const find_raw_devices_1 = require("./find-raw-devices");
const discovery_filter_1 = require("../discovery-filter");
/**
* Find first attached BlinkStick and create a BlinkStick object.
* Optionally takes a product name to filter by.
* @category Discovery
*/
function findFirst(discoveryFilter = () => true) {
const actualFilter = (0, discovery_filter_1.createDiscoverFilterFn)(discoveryFilter);
return (0, find_blink_sticks_1.findBlinkSticks)(actualFilter)[0] ?? null;
}
/**
* Find first attached BlinkStick asynchronously and create a BlinkStick object.
* @category Discovery
*/
async function findFirstAsync(discoveryFilter = () => true) {
const devices = await (0, find_raw_devices_1.findRawDevicesAsync)();
const actualFilter = (0, discovery_filter_1.createDiscoverFilterFn)(discoveryFilter);
for (const device of devices) {
if (actualFilter(device)) {
return await (0, create_blinkstick_async_1.createBlinkstickAsync)(device);
}
}
return null;
}
//# sourceMappingURL=find-first.js.map