diff --git a/.eslintrc.js b/.eslintrc.js
index 324f3d3e44..cd714d6791 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -59,7 +59,8 @@ module.exports = {
'no-var': ['error'],
'space-before-blocks': ['error'],
'space-infix-ops': 'error',
- 'yoda': 'error'
+ 'yoda': 'error',
+ 'no-void': ['error', { "allowAsStatement": true }]
},
settings: {
react: {
diff --git a/src/components/accessSchedule/accessSchedule.js b/src/components/accessSchedule/accessSchedule.js
index 38f0491850..4253247fa4 100644
--- a/src/components/accessSchedule/accessSchedule.js
+++ b/src/components/accessSchedule/accessSchedule.js
@@ -51,7 +51,8 @@ import template from './accessSchedule.template.html';
};
if (parseFloat(updatedSchedule.StartHour) >= parseFloat(updatedSchedule.EndHour)) {
- return void alert(globalize.translate('ErrorStartHourGreaterThanEnd'));
+ alert(globalize.translate('ErrorStartHourGreaterThanEnd'));
+ return;
}
context.submitted = true;
diff --git a/src/components/groupedcards.js b/src/components/groupedcards.js
index 63cc39f99a..a90423a6b0 100644
--- a/src/components/groupedcards.js
+++ b/src/components/groupedcards.js
@@ -23,7 +23,8 @@ import ServerConnections from './ServerConnections';
if (!actionableParent || actionableParent.classList.contains('cardContent')) {
apiClient.getJSON(apiClient.getUrl('Users/' + userId + '/Items/Latest', options)).then(function (items) {
if (items.length === 1) {
- return void appRouter.showItem(items[0]);
+ appRouter.showItem(items[0]);
+ return;
}
const url = 'details?id=' + itemId + '&serverId=' + serverId;
diff --git a/src/components/libraryoptionseditor/libraryoptionseditor.js b/src/components/libraryoptionseditor/libraryoptionseditor.js
index 59478280a9..597d747840 100644
--- a/src/components/libraryoptionseditor/libraryoptionseditor.js
+++ b/src/components/libraryoptionseditor/libraryoptionseditor.js
@@ -323,7 +323,8 @@ import template from './libraryoptionseditor.template.html';
function onImageFetchersContainerClick(e) {
const btnImageOptionsForType = dom.parentWithClass(e.target, 'btnImageOptionsForType');
if (btnImageOptionsForType) {
- return void showImageOptionsForType(dom.parentWithClass(btnImageOptionsForType, 'imageFetcher').getAttribute('data-type'));
+ showImageOptionsForType(dom.parentWithClass(btnImageOptionsForType, 'imageFetcher').getAttribute('data-type'));
+ return;
}
onSortableContainerClick.call(this, e);
}
diff --git a/src/components/tvproviders/schedulesdirect.js b/src/components/tvproviders/schedulesdirect.js
index a9135ad76c..239831ad8a 100644
--- a/src/components/tvproviders/schedulesdirect.js
+++ b/src/components/tvproviders/schedulesdirect.js
@@ -122,9 +122,10 @@ export default function (page, providerId, options) {
const selectedListingsId = $('#selectListing', page).val();
if (!selectedListingsId) {
- return void Dashboard.alert({
+ Dashboard.alert({
message: globalize.translate('ErrorPleaseSelectLineup')
});
+ return;
}
loading.show();
@@ -168,7 +169,8 @@ export default function (page, providerId, options) {
function refreshListings(value) {
if (!value) {
- return void $('#selectListing', page).html('');
+ $('#selectListing', page).html('');
+ return;
}
loading.show();
diff --git a/src/controllers/dashboard/dashboard.js b/src/controllers/dashboard/dashboard.js
index b3cf1c0cde..a6fe46b295 100644
--- a/src/controllers/dashboard/dashboard.js
+++ b/src/controllers/dashboard/dashboard.js
@@ -175,7 +175,8 @@ import confirm from '../../components/confirm/confirm';
if (!result.Items.length) {
view.querySelector('.activeRecordingsSection').classList.add('hide');
- return void(itemsContainer.innerHTML = '');
+ itemsContainer.innerHTML = '';
+ return;
}
view.querySelector('.activeRecordingsSection').classList.remove('hide');
diff --git a/src/controllers/itemDetails/index.js b/src/controllers/itemDetails/index.js
index 3f9448d5ad..ea01ea74e3 100644
--- a/src/controllers/itemDetails/index.js
+++ b/src/controllers/itemDetails/index.js
@@ -140,7 +140,8 @@ function renderSeriesTimerSchedule(page, apiClient, seriesTimerId) {
function renderTimerEditor(page, item, apiClient, user) {
if (item.Type !== 'Recording' || !user.Policy.EnableLiveTvManagement || !item.TimerId || item.Status !== 'InProgress') {
- return void hideAll(page, 'btnCancelTimer');
+ hideAll(page, 'btnCancelTimer');
+ return;
}
hideAll(page, 'btnCancelTimer', true);
@@ -148,7 +149,8 @@ function renderTimerEditor(page, item, apiClient, user) {
function renderSeriesTimerEditor(page, item, apiClient, user) {
if (item.Type !== 'SeriesTimer') {
- return void hideAll(page, 'btnCancelSeriesTimer');
+ hideAll(page, 'btnCancelSeriesTimer');
+ return;
}
if (user.Policy.EnableLiveTvManagement) {
@@ -160,11 +162,13 @@ function renderSeriesTimerEditor(page, item, apiClient, user) {
page.querySelector('.seriesTimerScheduleSection').classList.remove('hide');
hideAll(page, 'btnCancelSeriesTimer', true);
- return void renderSeriesTimerSchedule(page, apiClient, item.Id);
+ renderSeriesTimerSchedule(page, apiClient, item.Id);
+ return;
}
page.querySelector('.seriesTimerScheduleSection').classList.add('hide');
- return void hideAll(page, 'btnCancelSeriesTimer');
+ hideAll(page, 'btnCancelSeriesTimer');
+ return;
}
function renderTrackSelections(page, instance, item, forceReload) {
@@ -808,7 +812,8 @@ function renderNextUp(page, item, user) {
const section = page.querySelector('.nextUpSection');
if (item.Type != 'Series') {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
ServerConnections.getApiClient(item.ServerId).getNextUpEpisodes({
@@ -1115,7 +1120,8 @@ function renderMoreFromSeason(view, item, apiClient) {
if (section) {
if (item.Type !== 'Episode' || !item.SeasonId || !item.SeriesId) {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
const userId = apiClient.getCurrentUserId();
@@ -1125,7 +1131,8 @@ function renderMoreFromSeason(view, item, apiClient) {
Fields: 'ItemCounts,PrimaryImageAspectRatio,BasicSyncInfo,CanDelete,MediaSourceCount'
}).then(function (result) {
if (result.Items.length < 2) {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
section.classList.remove('hide');
@@ -1160,10 +1167,12 @@ function renderMoreFromArtist(view, item, apiClient) {
if (section) {
if (item.Type === 'MusicArtist') {
if (!apiClient.isMinServerVersion('3.4.1.19')) {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
} else if (item.Type !== 'MusicAlbum' || !item.AlbumArtists || !item.AlbumArtists.length) {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
const query = {
@@ -1182,7 +1191,8 @@ function renderMoreFromArtist(view, item, apiClient) {
apiClient.getItems(apiClient.getCurrentUserId(), query).then(function (result) {
if (!result.Items.length) {
- return void section.classList.add('hide');
+ section.classList.add('hide');
+ return;
}
section.classList.remove('hide');
@@ -1216,7 +1226,8 @@ function renderSimilarItems(page, item, context) {
if (similarCollapsible) {
if (item.Type != 'Movie' && item.Type != 'Trailer' && item.Type != 'Series' && item.Type != 'Program' && item.Type != 'Recording' && item.Type != 'MusicAlbum' && item.Type != 'MusicArtist' && item.Type != 'Playlist') {
- return void similarCollapsible.classList.add('hide');
+ similarCollapsible.classList.add('hide');
+ return;
}
similarCollapsible.classList.remove('hide');
@@ -1233,7 +1244,8 @@ function renderSimilarItems(page, item, context) {
apiClient.getSimilarItems(item.Id, options).then(function (result) {
if (!result.Items.length) {
- return void similarCollapsible.classList.add('hide');
+ similarCollapsible.classList.add('hide');
+ return;
}
similarCollapsible.classList.remove('hide');
@@ -1820,7 +1832,8 @@ function renderCast(page, item) {
});
if (!people.length) {
- return void page.querySelector('#castCollapsible').classList.add('hide');
+ page.querySelector('#castCollapsible').classList.add('hide');
+ return;
}
page.querySelector('#castCollapsible').classList.remove('hide');
@@ -1915,11 +1928,12 @@ export default function (view, params) {
if (item.Type === 'Program') {
const apiClient = ServerConnections.getApiClient(item.ServerId);
- return void apiClient.getLiveTvChannel(item.ChannelId, apiClient.getCurrentUserId()).then(function (channel) {
+ apiClient.getLiveTvChannel(item.ChannelId, apiClient.getCurrentUserId()).then(function (channel) {
playbackManager.play({
items: [channel]
});
});
+ return;
}
playItem(item, item.UserData && mode === 'resume' ? item.UserData.PlaybackPositionTicks : 0);
diff --git a/src/controllers/list.js b/src/controllers/list.js
index fb11a48ae5..b880502828 100644
--- a/src/controllers/list.js
+++ b/src/controllers/list.js
@@ -721,7 +721,7 @@ class ItemsView {
return globalize.translate('Videos');
}
- return void 0;
+ return;
}
function play() {
diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js
index 7b408a566a..a4c29d1268 100644
--- a/src/controllers/playback/video/index.js
+++ b/src/controllers/playback/video/index.js
@@ -55,14 +55,16 @@ import LibraryMenu from '../../../scripts/libraryMenu';
recordingButtonManager = null;
}
- return void view.querySelector('.btnRecord').classList.add('hide');
+ view.querySelector('.btnRecord').classList.add('hide');
+ return;
}
ServerConnections.getApiClient(item.ServerId).getCurrentUser().then(function (user) {
if (user.Policy.EnableLiveTvManagement) {
import('../../../components/recordingcreator/recordingbutton').then(({default: RecordingButton}) => {
if (recordingButtonManager) {
- return void recordingButtonManager.refreshItem(item);
+ recordingButtonManager.refreshItem(item);
+ return;
}
recordingButtonManager = new RecordingButton({
@@ -1450,7 +1452,8 @@ import LibraryMenu from '../../../scripts/libraryMenu';
/* eslint-disable-next-line compat/compat */
dom.addEventListener(view, window.PointerEvent ? 'pointerdown' : 'click', function (e) {
if (dom.parentWithClass(e.target, ['videoOsdBottom', 'upNextContainer'])) {
- return void showOsd();
+ showOsd();
+ return;
}
const pointerType = e.pointerType || (layoutManager.mobile ? 'touch' : 'mouse');
diff --git a/src/controllers/session/forgotPassword/index.js b/src/controllers/session/forgotPassword/index.js
index 344f5c9e1b..208e54d063 100644
--- a/src/controllers/session/forgotPassword/index.js
+++ b/src/controllers/session/forgotPassword/index.js
@@ -5,17 +5,19 @@ import Dashboard from '../../../utils/dashboard';
function processForgotPasswordResult(result) {
if (result.Action == 'ContactAdmin') {
- return void Dashboard.alert({
+ Dashboard.alert({
message: globalize.translate('MessageContactAdminToResetPassword'),
title: globalize.translate('ButtonForgotPassword')
});
+ return;
}
if (result.Action == 'InNetworkRequired') {
- return void Dashboard.alert({
+ Dashboard.alert({
message: globalize.translate('MessageForgotPasswordInNetworkRequired'),
title: globalize.translate('ButtonForgotPassword')
});
+ return;
}
if (result.Action == 'PinCode') {
@@ -26,13 +28,14 @@ import Dashboard from '../../../utils/dashboard';
msg += '
';
msg += result.PinFile;
msg += '
';
- return void Dashboard.alert({
+ Dashboard.alert({
message: msg,
title: globalize.translate('ButtonForgotPassword'),
callback: function () {
Dashboard.navigate('forgotpasswordpin.html');
}
});
+ return;
}
}
diff --git a/src/controllers/session/resetPassword/index.js b/src/controllers/session/resetPassword/index.js
index c954bb4510..ef311ff88c 100644
--- a/src/controllers/session/resetPassword/index.js
+++ b/src/controllers/session/resetPassword/index.js
@@ -9,13 +9,14 @@ import Dashboard from '../../../utils/dashboard';
msg += '
';
msg += '
';
msg += result.UsersReset.join('
');
- return void Dashboard.alert({
+ Dashboard.alert({
message: msg,
title: globalize.translate('HeaderPasswordReset'),
callback: function () {
window.location.href = 'index.html';
}
});
+ return;
}
Dashboard.alert({
diff --git a/src/scripts/libraryMenu.js b/src/scripts/libraryMenu.js
index e33f9f5d1f..f80c1ca30c 100644
--- a/src/scripts/libraryMenu.js
+++ b/src/scripts/libraryMenu.js
@@ -646,7 +646,8 @@ import { getParameterByName } from '../utils/url.ts';
if (!user) {
showBySelector('.libraryMenuDownloads', false);
showBySelector('.lnkSyncToOtherDevices', false);
- return void showBySelector('.userMenuOptions', false);
+ showBySelector('.userMenuOptions', false);
+ return;
}
if (user.Policy.EnableContentDownloading) {
@@ -958,7 +959,8 @@ import { getParameterByName } from '../utils/url.ts';
function setTitle (title) {
if (title == null) {
- return void LibraryMenu.setDefaultTitle();
+ LibraryMenu.setDefaultTitle();
+ return;
}
if (title === '-') {