summaryrefslogtreecommitdiff
path: root/ext/js/display
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2024-02-14 22:26:29 -0500
committerGitHub <noreply@github.com>2024-02-15 03:26:29 +0000
commit6bf7b0055765c4f2011c9614753d6714dc09be65 (patch)
tree0e782ae66556eaa61a34d9f32d77c831b2443ce5 /ext/js/display
parent7a4096240ce4faf70a785d047945388baa0daab3 (diff)
Eslint rule updates (#673)
* Install unicorn * Add rules * Fix issues * Install sonarjs * Set up rules * Fix issues * Install eslint-plugin-import and fix import extensions * Simplify permitted error names
Diffstat (limited to 'ext/js/display')
-rw-r--r--ext/js/display/display-anki.js2
-rw-r--r--ext/js/display/display-audio.js6
-rw-r--r--ext/js/display/display.js17
-rw-r--r--ext/js/display/element-overflow-controller.js10
-rw-r--r--ext/js/display/sandbox/structured-content-generator.js2
-rw-r--r--ext/js/display/search-display-controller.js5
6 files changed, 21 insertions, 21 deletions
diff --git a/ext/js/display/display-anki.js b/ext/js/display/display-anki.js
index 4766f1ae..d37efa85 100644
--- a/ext/js/display/display-anki.js
+++ b/ext/js/display/display-anki.js
@@ -953,6 +953,8 @@ class DisplayAnkiError extends Error {
*/
constructor(message) {
super(message);
+ /** @type {string} */
+ this.name = 'DisplayAnkiError';
/** @type {?import('anki-note-builder').Requirement[]} */
this._requirements = null;
/** @type {?import('anki-note-builder').Requirement[]} */
diff --git a/ext/js/display/display-audio.js b/ext/js/display/display-audio.js
index 7d75d6b0..5f4131d0 100644
--- a/ext/js/display/display-audio.js
+++ b/ext/js/display/display-audio.js
@@ -33,7 +33,7 @@ export class DisplayAudio {
/** @type {AudioSystem} */
this._audioSystem = new AudioSystem();
/** @type {number} */
- this._playbackVolume = 1.0;
+ this._playbackVolume = 1;
/** @type {boolean} */
this._autoPlay = false;
/** @type {?import('core').Timeout} */
@@ -166,7 +166,7 @@ export class DisplayAudio {
_onOptionsUpdated({options}) {
const {enabled, autoPlay, volume, sources} = options.audio;
this._autoPlay = enabled && autoPlay;
- this._playbackVolume = Number.isFinite(volume) ? Math.max(0.0, Math.min(1.0, volume / 100.0)) : 1.0;
+ this._playbackVolume = Number.isFinite(volume) ? Math.max(0, Math.min(1, volume / 100)) : 1;
/** @type {Set<import('settings').AudioSourceType>} */
const requiredAudioSources = new Set([
@@ -534,7 +534,7 @@ export class DisplayAudio {
if (headwordNode !== null) {
const {index} = headwordNode.dataset;
if (typeof index === 'string') {
- const headwordIndex = parseInt(index, 10);
+ const headwordIndex = Number.parseInt(index, 10);
if (Number.isFinite(headwordIndex)) { return headwordIndex; }
}
}
diff --git a/ext/js/display/display.js b/ext/js/display/display.js
index a5dad2d1..d30ed8a0 100644
--- a/ext/js/display/display.js
+++ b/ext/js/display/display.js
@@ -619,7 +619,7 @@ export class Display extends EventDispatcher {
if (node === null) { return -1; }
const {index} = node.dataset;
if (typeof index !== 'string') { return -1; }
- const indexNumber = parseInt(index, 10);
+ const indexNumber = Number.parseInt(index, 10);
return Number.isFinite(indexNumber) ? indexNumber : -1;
}
@@ -1020,7 +1020,7 @@ export class Display extends EventDispatcher {
const node = /** @type {HTMLElement} */ (e.currentTarget);
const {index} = node.dataset;
if (typeof index !== 'string') { return; }
- const indexNumber = parseInt(index, 10);
+ const indexNumber = Number.parseInt(index, 10);
if (!Number.isFinite(indexNumber)) { return; }
this._entrySetCurrent(indexNumber);
}
@@ -1146,8 +1146,7 @@ export class Display extends EventDispatcher {
*/
async _findDictionaryEntries(isKanji, source, wildcardsEnabled, optionsContext) {
if (isKanji) {
- const dictionaryEntries = await this._application.api.kanjiFind(source, optionsContext);
- return dictionaryEntries;
+ return await this._application.api.kanjiFind(source, optionsContext);
} else {
/** @type {import('api').FindTermsDetails} */
const findDetails = {};
@@ -1555,11 +1554,11 @@ export class Display extends EventDispatcher {
* @returns {boolean}
*/
_relativeTermView(next) {
- if (next) {
- return this._history.hasNext() && this._history.forward();
- } else {
- return this._history.hasPrevious() && this._history.back();
- }
+ return (
+ next ?
+ this._history.hasNext() && this._history.forward() :
+ this._history.hasPrevious() && this._history.back()
+ );
}
/**
diff --git a/ext/js/display/element-overflow-controller.js b/ext/js/display/element-overflow-controller.js
index e0b9035e..eb83dda4 100644
--- a/ext/js/display/element-overflow-controller.js
+++ b/ext/js/display/element-overflow-controller.js
@@ -157,11 +157,11 @@ export class ElementOverflowController {
* @returns {number|import('core').Timeout}
*/
_requestIdleCallback(callback, timeout) {
- if (typeof requestIdleCallback === 'function') {
- return requestIdleCallback(callback, {timeout});
- } else {
- return setTimeout(callback, timeout);
- }
+ return (
+ typeof requestIdleCallback === 'function' ?
+ requestIdleCallback(callback, {timeout}) :
+ setTimeout(callback, timeout)
+ );
}
/**
diff --git a/ext/js/display/sandbox/structured-content-generator.js b/ext/js/display/sandbox/structured-content-generator.js
index a04feaf2..1dfde39b 100644
--- a/ext/js/display/sandbox/structured-content-generator.js
+++ b/ext/js/display/sandbox/structured-content-generator.js
@@ -137,7 +137,7 @@ export class StructuredContentGenerator {
imageContainer.title = title;
}
- aspectRatioSizer.style.paddingTop = `${invAspectRatio * 100.0}%`;
+ aspectRatioSizer.style.paddingTop = `${invAspectRatio * 100}%`;
if (this._contentManager !== null) {
this._contentManager.loadMedia(
diff --git a/ext/js/display/search-display-controller.js b/ext/js/display/search-display-controller.js
index ed2061e2..6767dce7 100644
--- a/ext/js/display/search-display-controller.js
+++ b/ext/js/display/search-display-controller.js
@@ -322,7 +322,7 @@ export class SearchDisplayController {
*/
async _onProfileSelectChange(event) {
const node = /** @type {HTMLInputElement} */ (event.currentTarget);
- const value = parseInt(node.value, 10);
+ const value = Number.parseInt(node.value, 10);
const optionsFull = await this._display.application.api.optionsGetFull();
if (typeof value === 'number' && Number.isFinite(value) && value >= 0 && value <= optionsFull.profiles.length) {
this._setPrimaryProfileIndex(value);
@@ -574,8 +574,7 @@ export class SearchDisplayController {
case 'select':
return true;
}
- if (element instanceof HTMLElement && element.isContentEditable) { return true; }
- return false;
+ return element instanceof HTMLElement && !!element.isContentEditable;
}
/**