From 858aea92f9cbac80de0950b0e88429ce709f57a9 Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Tue, 11 Oct 2022 01:37:33 -0400 Subject: [PATCH] Enable eslint array-callback-return foreach checking --- .eslintrc.js | 2 +- src/components/htmlMediaHelper.js | 8 ++++++-- src/controllers/itemDetails/index.js | 8 ++++++-- src/scripts/multiDownload.js | 3 ++- src/scripts/shell.js | 4 +++- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index abc2cf37a..099a8a92c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -34,7 +34,7 @@ module.exports = { 'plugin:sonarjs/recommended' ], rules: { - 'array-callback-return': ['error'], + 'array-callback-return': ['error', { 'checkForEach': true }], 'block-spacing': ['error'], 'brace-style': ['error', '1tbs', { 'allowSingleLine': true }], 'comma-dangle': ['error', 'never'], diff --git a/src/components/htmlMediaHelper.js b/src/components/htmlMediaHelper.js index 3bb29ca91..f3e074ce0 100644 --- a/src/components/htmlMediaHelper.js +++ b/src/components/htmlMediaHelper.js @@ -159,11 +159,15 @@ import { Events } from 'jellyfin-apiclient'; // (but rewinding cannot happen as the first event with media of non-empty duration) console.debug(`seeking to ${seconds} on ${e.type} event`); setCurrentTimeIfNeeded(element, seconds); - events.forEach(name => element.removeEventListener(name, onMediaChange)); + events.forEach(name => { + element.removeEventListener(name, onMediaChange); + }); if (onMediaReady) onMediaReady(); } }; - events.forEach(name => element.addEventListener(name, onMediaChange)); + events.forEach(name => { + element.addEventListener(name, onMediaChange); + }); } } } diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js index a740e450f..c0e6dc809 100644 --- a/src/controllers/itemDetails/index.js +++ b/src/controllers/itemDetails/index.js @@ -205,8 +205,12 @@ function renderTrackSelections(page, instance, item, forceReload) { }); mediaSources = []; - resolutionNames.forEach(v => mediaSources.push(v)); - sourceNames.forEach(v => mediaSources.push(v)); + resolutionNames.forEach(v => { + mediaSources.push(v); + }); + sourceNames.forEach(v => { + mediaSources.push(v); + }); instance._currentPlaybackMediaSources = mediaSources; diff --git a/src/scripts/multiDownload.js b/src/scripts/multiDownload.js index 54921bf4e..ec3db5201 100644 --- a/src/scripts/multiDownload.js +++ b/src/scripts/multiDownload.js @@ -56,7 +56,8 @@ export default function (urls) { urls.forEach(function (url) { // the download init has to be sequential for firefox if the urls are not on the same domain if (browser.firefox && !sameDomain(url)) { - return setTimeout(download.bind(null, url), 100 * ++delay); + setTimeout(download.bind(null, url), 100 * ++delay); + return; } download(url); diff --git a/src/scripts/shell.js b/src/scripts/shell.js index aba8698cd..b21d658f9 100644 --- a/src/scripts/shell.js +++ b/src/scripts/shell.js @@ -43,7 +43,9 @@ export default { */ downloadFiles(items) { if (window.NativeShell?.downloadFile) { - items.forEach(item => window.NativeShell.downloadFile(item)); + items.forEach(item => { + window.NativeShell.downloadFile(item); + }); return true; } return false;