From c3ad26ea55dbd53ce1ddc1f1f115cfd17e3895bc Mon Sep 17 00:00:00 2001 From: Peter Santos Date: Tue, 25 Jun 2024 00:55:24 -0400 Subject: [PATCH] Use Error instead of literal for promise rejection --- .eslintrc.js | 1 + src/components/actionSheet/actionSheet.ts | 2 +- src/components/playback/playbackmanager.js | 4 ++-- src/components/router/appRouter.js | 2 +- src/plugins/syncPlay/core/Helper.js | 2 +- src/plugins/syncPlay/core/QueueCore.js | 2 +- src/plugins/syncPlay/core/timeSync/TimeSync.js | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index a123939b44..5c142263e8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -79,6 +79,7 @@ module.exports = { 'operator-linebreak': ['error', 'before', { overrides: { '?': 'after', ':': 'after', '=': 'after' } }], 'padded-blocks': ['error', 'never'], 'prefer-const': ['error', { 'destructuring': 'all' }], + 'prefer-promise-reject-errors': ['warn', { 'allowEmptyReject': true }], '@typescript-eslint/prefer-for-of': ['error'], '@typescript-eslint/prefer-optional-chain': ['error'], 'quotes': ['error', 'single', { 'avoidEscape': true, 'allowTemplateLiterals': false }], diff --git a/src/components/actionSheet/actionSheet.ts b/src/components/actionSheet/actionSheet.ts index eacd66f421..c461fee50e 100644 --- a/src/components/actionSheet/actionSheet.ts +++ b/src/components/actionSheet/actionSheet.ts @@ -366,7 +366,7 @@ export function show(options: Options) { resolve(selectedId); } else { - reject('ActionSheet closed without resolving'); + reject(new Error('ActionSheet closed without resolving')); } } }); diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 676d1df1c3..1cf968f0aa 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -2496,7 +2496,7 @@ class PlaybackManager { return Promise.resolve() .then(() => { if (!isServerItem(item) || itemHelper.isLocalItem(item)) { - return Promise.reject('skip bitrate detection'); + return Promise.reject(new Error('skip bitrate detection')); } return apiClient.getEndpointInfo() @@ -2508,7 +2508,7 @@ class PlaybackManager { }); } - return Promise.reject('skip bitrate detection'); + return Promise.reject(new Error('skip bitrate detection')); }); }) .catch(() => getSavedMaxStreamingBitrate(apiClient, mediaType)); diff --git a/src/components/router/appRouter.js b/src/components/router/appRouter.js index 3b07a5571c..f3c6119969 100644 --- a/src/components/router/appRouter.js +++ b/src/components/router/appRouter.js @@ -389,7 +389,7 @@ class AppRouter { if (firstResult.State === ConnectionState.ServerSignIn) { const url = firstResult.ApiClient.serverAddress() + '/System/Info/Public'; fetch(url).then(response => { - if (!response.ok) return Promise.reject('fetch failed'); + if (!response.ok) return Promise.reject(new Error('fetch failed')); return response.json(); }).then(data => { if (data !== null && data.StartupWizardCompleted === false) { diff --git a/src/plugins/syncPlay/core/Helper.js b/src/plugins/syncPlay/core/Helper.js index 1489f1e156..f43bef949f 100644 --- a/src/plugins/syncPlay/core/Helper.js +++ b/src/plugins/syncPlay/core/Helper.js @@ -26,7 +26,7 @@ export function waitForEventOnce(emitter, eventType, timeout, rejectEventTypes) let rejectTimeout; if (timeout) { rejectTimeout = setTimeout(() => { - reject('Timed out.'); + reject(new Error('Timed out.')); }, timeout); } diff --git a/src/plugins/syncPlay/core/QueueCore.js b/src/plugins/syncPlay/core/QueueCore.js index d34f778840..c00937ca85 100644 --- a/src/plugins/syncPlay/core/QueueCore.js +++ b/src/plugins/syncPlay/core/QueueCore.js @@ -123,7 +123,7 @@ class QueueCore { if (!itemIds.length) { if (this.lastPlayQueueUpdate && playQueueUpdate.LastUpdate.getTime() <= this.getLastUpdateTime()) { - return Promise.reject('Trying to apply old update'); + return Promise.reject(new Error('Trying to apply old update')); } this.lastPlayQueueUpdate = playQueueUpdate; diff --git a/src/plugins/syncPlay/core/timeSync/TimeSync.js b/src/plugins/syncPlay/core/timeSync/TimeSync.js index fcde0227fa..3a2f86907b 100644 --- a/src/plugins/syncPlay/core/timeSync/TimeSync.js +++ b/src/plugins/syncPlay/core/timeSync/TimeSync.js @@ -113,7 +113,7 @@ class TimeSync { */ requestPing() { console.warn('SyncPlay TimeSync requestPing: override this method!'); - return Promise.reject('Not implemented.'); + return Promise.reject(new Error('Not implemented.')); } /**