From 30b7a0f093d87d6e024332cb6cbb72f39c5e362b Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 3 Sep 2017 13:08:50 +0200 Subject: [PATCH] Replace `value === (value | 0)` checks with `Number.isInteger(value)` in the `web/` folder Rather than doing what (at first) may seem like a fairly obscure comparison, using `Number.isInteger` will clearly indicate the intent of the code. --- web/pdf_link_service.js | 7 +++---- web/pdf_viewer.js | 2 +- web/preferences.js | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/web/pdf_link_service.js b/web/pdf_link_service.js index e024f6992..d93e20c87 100644 --- a/web/pdf_link_service.js +++ b/web/pdf_link_service.js @@ -98,7 +98,7 @@ class PDFLinkService { }); return; } - } else if ((destRef | 0) === destRef) { // Integer + } else if (Number.isInteger(destRef)) { pageNumber = destRef + 1; } else { console.error(`PDFLinkService.navigateTo: "${destRef}" is not ` + @@ -359,9 +359,8 @@ function isValidExplicitDestination(dest) { } let page = dest[0]; if (!(typeof page === 'object' && - typeof page.num === 'number' && (page.num | 0) === page.num && - typeof page.gen === 'number' && (page.gen | 0) === page.gen) && - !(typeof page === 'number' && (page | 0) === page && page >= 0)) { + Number.isInteger(page.num) && Number.isInteger(page.gen)) && + !(Number.isInteger(page) && page >= 0)) { return false; } let zoom = dest[1]; diff --git a/web/pdf_viewer.js b/web/pdf_viewer.js index f58652726..452e7dd3e 100644 --- a/web/pdf_viewer.js +++ b/web/pdf_viewer.js @@ -159,7 +159,7 @@ class PDFViewer { * @param {number} val - The page number. */ set currentPageNumber(val) { - if ((val | 0) !== val) { // Ensure that `val` is an integer. + if (!Number.isInteger(val)) { throw new Error('Invalid page number.'); } if (!this.pdfDocument) { diff --git a/web/preferences.js b/web/preferences.js index a47ac5fad..8f537e0a4 100644 --- a/web/preferences.js +++ b/web/preferences.js @@ -141,7 +141,7 @@ class BasePreferences { `expected a ${defaultType}.`); } } else { - if (valueType === 'number' && (value | 0) !== value) { + if (valueType === 'number' && !Number.isInteger(value)) { throw new Error(`Set preference: "${value}" must be an integer.`); } }