INNER CODE UNIT · TypeScript
availableDeviceSerial
SimonAKing/scrcpy-gui · src/main/main.ts:419
function availableDeviceSerial(value: unknown): string {
return availableDeviceSerials([value])[0]
}
function optionalUsbSerial(value: unknown): string {
const serial = boundedString(value, 'OTG USB serial', 512, true).trim()
if (serial && !/^[A-Za-z0-9._:-]+$/.test(serial)) throw new TypeError('OTG USB serial contains unsupported characters.')
return serial
}
function availableDeviceSerials(value: unknown): string[] {
const serials = deviceSerials(value)
const available = new Set(listTrackedDevices().filter((device) => device.state === 'device').map((device) => device.serial))
const missing = serials.filter((serial) => !available.has(serial))
if (missing.length) throw new TypeError(`Device is no longer available: ${missing.join(', ')}.`)
return serials
}