Optionaloptions: SerialClientOptionsOptional SerialClientOptions containing filter configuration
SerialPortRequestOptions object with validated filters, or undefined if no filters are provided
SerialError with code SerialErrorCode.INVALID_FILTER_OPTIONS if filter validation fails
// With filters
const options = {
baudRate: 9600,
filters: [
{ usbVendorId: 0x1234 },
{ usbVendorId: 0x5678, usbProductId: 0x9abc },
],
};
const requestOptions = buildRequestOptions(options);
// Returns: { filters: [...] }
// Without filters
const requestOptions = buildRequestOptions({ baudRate: 9600 });
// Returns: undefined
// Invalid filter (will throw)
try {
buildRequestOptions({ filters: [{ usbVendorId: -1 }] });
} catch (error) {
// SerialError with code INVALID_FILTER_OPTIONS
}
Build SerialPortRequestOptions from SerialClientOptions.
This utility function converts filter options from SerialClientOptions into the format expected by the Web Serial API's
navigator.serial.requestPort()method. It validates the filter options to ensure they are valid before returning them.If no filters are provided in the options, this function returns
undefined, which allows the port selection dialog to show all available ports.