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.`); } }