From a8f69c6defd62674e5421fc3a5a7b90575550a66 Mon Sep 17 00:00:00 2001 From: Philzen Date: Mon, 13 Jan 2025 15:36:27 +0100 Subject: [PATCH 1/2] Apply early-return-pattern to reduce nesting & cognitive complexity --- src/room/errors.ts | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/room/errors.ts b/src/room/errors.ts index 14bb30d92e..79dc8224b4 100644 --- a/src/room/errors.ts +++ b/src/room/errors.ts @@ -98,17 +98,20 @@ 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 (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; } } From 3dad2bc8110b0a2ef973bfeefb4ef459e4f9daef Mon Sep 17 00:00:00 2001 From: Philzen Date: Mon, 13 Jan 2025 15:39:02 +0100 Subject: [PATCH 2/2] =?UTF-8?q?Replace=20repetitive=20comparisons=20with?= =?UTF-8?q?=20[=E2=80=A6].includes()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/room/errors.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/room/errors.ts b/src/room/errors.ts index 79dc8224b4..3c943f9ede 100644 --- a/src/room/errors.ts +++ b/src/room/errors.ts @@ -102,13 +102,15 @@ export namespace MediaDeviceFailure { return undefined; } - if (error.name === 'NotFoundError' || error.name === 'DevicesNotFoundError') { + if (['NotFoundError', 'DevicesNotFoundError'].includes(error.name)) { return MediaDeviceFailure.NotFound; } - if (error.name === 'NotAllowedError' || error.name === 'PermissionDeniedError') { + + if (['NotAllowedError', 'PermissionDeniedError'].includes(error.name)) { return MediaDeviceFailure.PermissionDenied; } - if (error.name === 'NotReadableError' || error.name === 'TrackStartError') { + + if (['NotReadableError', 'TrackStartError'].includes(error.name)) { return MediaDeviceFailure.DeviceInUse; }