diff --git a/src/room/errors.ts b/src/room/errors.ts index 14bb30d92e..3c943f9ede 100644 --- a/src/room/errors.ts +++ b/src/room/errors.ts @@ -98,17 +98,22 @@ export enum MediaDeviceFailure { export namespace MediaDeviceFailure { export function getFailure(error: any): MediaDeviceFailure | undefined { - if (error && 'name' in error) { - if (error.name === 'NotFoundError' || error.name === 'DevicesNotFoundError') { - return MediaDeviceFailure.NotFound; - } - if (error.name === 'NotAllowedError' || error.name === 'PermissionDeniedError') { - return MediaDeviceFailure.PermissionDenied; - } - if (error.name === 'NotReadableError' || error.name === 'TrackStartError') { - return MediaDeviceFailure.DeviceInUse; - } - return MediaDeviceFailure.Other; + if (!error || !('name' in error)) { + return undefined; } + + if (['NotFoundError', 'DevicesNotFoundError'].includes(error.name)) { + return MediaDeviceFailure.NotFound; + } + + if (['NotAllowedError', 'PermissionDeniedError'].includes(error.name)) { + return MediaDeviceFailure.PermissionDenied; + } + + if (['NotReadableError', 'TrackStartError'].includes(error.name)) { + return MediaDeviceFailure.DeviceInUse; + } + + return MediaDeviceFailure.Other; } }