1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 15:50:28 +01:00
metamask-extension/development/lib/parse-port.js
Mark Stacey 3732c5f71e
Add JSDoc ESLint rules (#12112)
ESLint rules have been added to enforce our JSDoc conventions. These
rules were introduced by updating `@metamask/eslint-config` to v9.

Some of the rules have been disabled because the effort to fix all lint
errors was too high. It might be easiest to enable these rules one
directory at a time, or one rule at a time.

Most of the changes in this PR were a result of running
`yarn lint:fix`. There were a handful of manual changes that seemed
obvious and simple to make. Anything beyond that and the rule was left
disabled.
2022-01-07 12:27:33 -03:30

21 lines
616 B
JavaScript

/**
* Parse a string as a port number. Non-integers or invalid ports will
* result in an error being thrown.
*
* @param {string} portString - The string to parse as a port number
* @returns {number} The parsed port number
*/
function parsePort(portString) {
const port = Number(portString);
if (!Number.isInteger(port)) {
throw new Error(`Port '${portString}' is invalid; must be an integer`);
} else if (port < 0 || port > 65535) {
throw new Error(
`Port '${portString}' is out of range; must be between 0 and 65535 inclusive`,
);
}
return port;
}
module.exports = { parsePort };