Skip to content

Commit

Permalink
typings: add JSDoc to os module functions
Browse files Browse the repository at this point in the history
PR-URL: #38197
Reviewed-By: Bradley Farias <bradley.meck@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
  • Loading branch information
xavdid authored and targos committed Apr 18, 2021
1 parent 8acfe5c commit d97787f
Showing 1 changed file with 72 additions and 0 deletions.
72 changes: 72 additions & 0 deletions lib/os.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,17 @@ const {
const getHomeDirectory = getCheckedFunction(_getHomeDirectory);
const getHostname = getCheckedFunction(_getHostname);
const getInterfaceAddresses = getCheckedFunction(_getInterfaceAddresses);
/**
* @returns {string}
*/
const getOSRelease = () => release;
/**
* @returns {string}
*/
const getOSType = () => type;
/**
* @returns {string}
*/
const getOSVersion = () => version;

getFreeMem[SymbolToPrimitive] = () => getFreeMem();
Expand All @@ -97,11 +106,30 @@ const kEndianness = isBigEndian ? 'BE' : 'LE';

const avgValues = new Float64Array(3);

/**
* @returns {[number, number, number]}
*/
function loadavg() {
getLoadAvg(avgValues);
return [avgValues[0], avgValues[1], avgValues[2]];
}

/**
* Returns an array of objects containing information about each
* logical CPU core.
*
* @returns {Array<{
* model: string
* speed: number
* times: {
* user: number
* nice: number
* sys: number
* idle: number
* irq: number
* }
* }>}
*/
function cpus() {
// [] is a bugfix for a regression introduced in 51cea61
const data = getCPUs() || [];
Expand All @@ -123,16 +151,25 @@ function cpus() {
return result;
}

/**
* @returns {string}
*/
function arch() {
return process.arch;
}
arch[SymbolToPrimitive] = () => process.arch;

/**
* @returns {string}
*/
function platform() {
return process.platform;
}
platform[SymbolToPrimitive] = () => process.platform;

/**
* @returns {string}
*/
function tmpdir() {
var path;
if (isWindows) {
Expand All @@ -155,6 +192,9 @@ function tmpdir() {
}
tmpdir[SymbolToPrimitive] = () => tmpdir();

/**
* @returns {'BE' | 'LE'}
*/
function endianness() {
return kEndianness;
}
Expand Down Expand Up @@ -204,6 +244,17 @@ function getCIDR(address, netmask, family) {
return `${address}/${ones}`;
}

/**
* @returns {Record<string, Array<{
* address: string
* netmask: string
* family: 'IPv4' | 'IPv6'
* mac: string
* internal: boolean
* scopeid: number
* cidr: string | null
* }>>}
*/
function networkInterfaces() {
const data = getInterfaceAddresses();
const result = {};
Expand Down Expand Up @@ -234,6 +285,11 @@ function networkInterfaces() {
return result;
}

/**
* @param {number} pid
* @param {number} priority
* @returns {void}
*/
function setPriority(pid, priority) {
if (priority === undefined) {
priority = pid;
Expand All @@ -249,6 +305,10 @@ function setPriority(pid, priority) {
throw new ERR_SYSTEM_ERROR(ctx);
}

/**
* @param {number} pid
* @returns {number}
*/
function getPriority(pid) {
if (pid === undefined)
pid = 0;
Expand All @@ -264,6 +324,18 @@ function getPriority(pid) {
return priority;
}

/**
* @param {{ encoding?: string }} options If `encoding` is set to `'buffer'`,
* the `username`, `shell`, and `homedir` values will be `Buffer` instances.
* Default: `'utf8'`
* @returns {{
* uid: number
* gid: number
* username: string
* homedir: string
* shell: string | null
* }}
*/
function userInfo(options) {
if (typeof options !== 'object')
options = null;
Expand Down

0 comments on commit d97787f

Please sign in to comment.