UNPKG

@ginden/blinkstick-v2

Version:
32 lines 1.33 kB
"use strict"; 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