CoolFace
Apppublic

Pinsave/counterstrike

sourceHugging Faceupdated 3mo agoView on Hugging Face
1likes
os.d.ts497 linesDownload Raw Back to node
1/**2 * The `node:os` module provides operating system-related utility methods and3 * properties. It can be accessed using:4 *5 * ```js6 * import os from 'node:os';7 * ```8 * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/os.js)9 */10declare module "os" {11    interface CpuInfo {12        model: string;13        speed: number;14        times: {15            /** The number of milliseconds the CPU has spent in user mode. */16            user: number;17            /** The number of milliseconds the CPU has spent in nice mode. */18            nice: number;19            /** The number of milliseconds the CPU has spent in sys mode. */20            sys: number;21            /** The number of milliseconds the CPU has spent in idle mode. */22            idle: number;23            /** The number of milliseconds the CPU has spent in irq mode. */24            irq: number;25        };26    }27    interface NetworkInterfaceBase {28        address: string;29        netmask: string;30        mac: string;31        internal: boolean;32        cidr: string | null;33    }34    interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {35        family: "IPv4";36        scopeid?: undefined;37    }38    interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {39        family: "IPv6";40        scopeid: number;41    }42    interface UserInfo<T> {43        username: T;44        uid: number;45        gid: number;46        shell: T | null;47        homedir: T;48    }49    type NetworkInterfaceInfo = NetworkInterfaceInfoIPv4 | NetworkInterfaceInfoIPv6;50    /**51     * Returns the host name of the operating system as a string.52     * @since v0.3.353     */54    function hostname(): string;55    /**56     * Returns an array containing the 1, 5, and 15 minute load averages.57     *58     * The load average is a measure of system activity calculated by the operating59     * system and expressed as a fractional number.60     *61     * The load average is a Unix-specific concept. On Windows, the return value is62     * always `[0, 0, 0]`.63     * @since v0.3.364     */65    function loadavg(): number[];66    /**67     * Returns the system uptime in number of seconds.68     * @since v0.3.369     */70    function uptime(): number;71    /**72     * Returns the amount of free system memory in bytes as an integer.73     * @since v0.3.374     */75    function freemem(): number;76    /**77     * Returns the total amount of system memory in bytes as an integer.78     * @since v0.3.379     */80    function totalmem(): number;81    /**82     * Returns an array of objects containing information about each logical CPU core.83     * The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable.84     *85     * The properties included on each object include:86     *87     * ```js88     * [89     *   {90     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',91     *     speed: 2926,92     *     times: {93     *       user: 252020,94     *       nice: 0,95     *       sys: 30340,96     *       idle: 1070356870,97     *       irq: 0,98     *     },99     *   },100     *   {101     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',102     *     speed: 2926,103     *     times: {104     *       user: 306960,105     *       nice: 0,106     *       sys: 26980,107     *       idle: 1071569080,108     *       irq: 0,109     *     },110     *   },111     *   {112     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',113     *     speed: 2926,114     *     times: {115     *       user: 248450,116     *       nice: 0,117     *       sys: 21750,118     *       idle: 1070919370,119     *       irq: 0,120     *     },121     *   },122     *   {123     *     model: 'Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz',124     *     speed: 2926,125     *     times: {126     *       user: 256880,127     *       nice: 0,128     *       sys: 19430,129     *       idle: 1070905480,130     *       irq: 20,131     *     },132     *   },133     * ]134     * ```135     *136     * `nice` values are POSIX-only. On Windows, the `nice` values of all processors137     * are always 0.138     *139     * `os.cpus().length` should not be used to calculate the amount of parallelism140     * available to an application. Use {@link availableParallelism} for this purpose.141     * @since v0.3.3142     */143    function cpus(): CpuInfo[];144    /**145     * Returns an estimate of the default amount of parallelism a program should use.146     * Always returns a value greater than zero.147     *148     * This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism).149     * @since v19.4.0, v18.14.0150     */151    function availableParallelism(): number;152    /**153     * Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it154     * returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.155     *156     * See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information157     * about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.158     * @since v0.3.3159     */160    function type(): string;161    /**162     * Returns the operating system as a string.163     *164     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See165     * [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.166     * @since v0.3.3167     */168    function release(): string;169    /**170     * Returns an object containing network interfaces that have been assigned a171     * network address.172     *173     * Each key on the returned object identifies a network interface. The associated174     * value is an array of objects that each describe an assigned network address.175     *176     * The properties available on the assigned network address object include:177     *178     * ```js179     * {180     *   lo: [181     *     {182     *       address: '127.0.0.1',183     *       netmask: '255.0.0.0',184     *       family: 'IPv4',185     *       mac: '00:00:00:00:00:00',186     *       internal: true,187     *       cidr: '127.0.0.1/8'188     *     },189     *     {190     *       address: '::1',191     *       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',192     *       family: 'IPv6',193     *       mac: '00:00:00:00:00:00',194     *       scopeid: 0,195     *       internal: true,196     *       cidr: '::1/128'197     *     }198     *   ],199     *   eth0: [200     *     {201     *       address: '192.168.1.108',202     *       netmask: '255.255.255.0',203     *       family: 'IPv4',204     *       mac: '01:02:03:0a:0b:0c',205     *       internal: false,206     *       cidr: '192.168.1.108/24'207     *     },208     *     {209     *       address: 'fe80::a00:27ff:fe4e:66a1',210     *       netmask: 'ffff:ffff:ffff:ffff::',211     *       family: 'IPv6',212     *       mac: '01:02:03:0a:0b:0c',213     *       scopeid: 1,214     *       internal: false,215     *       cidr: 'fe80::a00:27ff:fe4e:66a1/64'216     *     }217     *   ]218     * }219     * ```220     * @since v0.6.0221     */222    function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>;223    /**224     * Returns the string path of the current user's home directory.225     *226     * On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it227     * uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory.228     *229     * On Windows, it uses the `USERPROFILE` environment variable if defined.230     * Otherwise it uses the path to the profile directory of the current user.231     * @since v2.3.0232     */233    function homedir(): string;234    /**235     * Returns information about the currently effective user. On POSIX platforms,236     * this is typically a subset of the password file. The returned object includes237     * the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.238     *239     * The value of `homedir` returned by `os.userInfo()` is provided by the operating240     * system. This differs from the result of `os.homedir()`, which queries241     * environment variables for the home directory before falling back to the242     * operating system response.243     *244     * Throws a [`SystemError`](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.245     * @since v6.0.0246     */247    function userInfo(options: { encoding: "buffer" }): UserInfo<Buffer>;248    function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;249    type SignalConstants = {250        [key in NodeJS.Signals]: number;251    };252    namespace constants {253        const UV_UDP_REUSEADDR: number;254        namespace signals {}255        const signals: SignalConstants;256        namespace errno {257            const E2BIG: number;258            const EACCES: number;259            const EADDRINUSE: number;260            const EADDRNOTAVAIL: number;261            const EAFNOSUPPORT: number;262            const EAGAIN: number;263            const EALREADY: number;264            const EBADF: number;265            const EBADMSG: number;266            const EBUSY: number;267            const ECANCELED: number;268            const ECHILD: number;269            const ECONNABORTED: number;270            const ECONNREFUSED: number;271            const ECONNRESET: number;272            const EDEADLK: number;273            const EDESTADDRREQ: number;274            const EDOM: number;275            const EDQUOT: number;276            const EEXIST: number;277            const EFAULT: number;278            const EFBIG: number;279            const EHOSTUNREACH: number;280            const EIDRM: number;281            const EILSEQ: number;282            const EINPROGRESS: number;283            const EINTR: number;284            const EINVAL: number;285            const EIO: number;286            const EISCONN: number;287            const EISDIR: number;288            const ELOOP: number;289            const EMFILE: number;290            const EMLINK: number;291            const EMSGSIZE: number;292            const EMULTIHOP: number;293            const ENAMETOOLONG: number;294            const ENETDOWN: number;295            const ENETRESET: number;296            const ENETUNREACH: number;297            const ENFILE: number;298            const ENOBUFS: number;299            const ENODATA: number;300            const ENODEV: number;301            const ENOENT: number;302            const ENOEXEC: number;303            const ENOLCK: number;304            const ENOLINK: number;305            const ENOMEM: number;306            const ENOMSG: number;307            const ENOPROTOOPT: number;308            const ENOSPC: number;309            const ENOSR: number;310            const ENOSTR: number;311            const ENOSYS: number;312            const ENOTCONN: number;313            const ENOTDIR: number;314            const ENOTEMPTY: number;315            const ENOTSOCK: number;316            const ENOTSUP: number;317            const ENOTTY: number;318            const ENXIO: number;319            const EOPNOTSUPP: number;320            const EOVERFLOW: number;321            const EPERM: number;322            const EPIPE: number;323            const EPROTO: number;324            const EPROTONOSUPPORT: number;325            const EPROTOTYPE: number;326            const ERANGE: number;327            const EROFS: number;328            const ESPIPE: number;329            const ESRCH: number;330            const ESTALE: number;331            const ETIME: number;332            const ETIMEDOUT: number;333            const ETXTBSY: number;334            const EWOULDBLOCK: number;335            const EXDEV: number;336            const WSAEINTR: number;337            const WSAEBADF: number;338            const WSAEACCES: number;339            const WSAEFAULT: number;340            const WSAEINVAL: number;341            const WSAEMFILE: number;342            const WSAEWOULDBLOCK: number;343            const WSAEINPROGRESS: number;344            const WSAEALREADY: number;345            const WSAENOTSOCK: number;346            const WSAEDESTADDRREQ: number;347            const WSAEMSGSIZE: number;348            const WSAEPROTOTYPE: number;349            const WSAENOPROTOOPT: number;350            const WSAEPROTONOSUPPORT: number;351            const WSAESOCKTNOSUPPORT: number;352            const WSAEOPNOTSUPP: number;353            const WSAEPFNOSUPPORT: number;354            const WSAEAFNOSUPPORT: number;355            const WSAEADDRINUSE: number;356            const WSAEADDRNOTAVAIL: number;357            const WSAENETDOWN: number;358            const WSAENETUNREACH: number;359            const WSAENETRESET: number;360            const WSAECONNABORTED: number;361            const WSAECONNRESET: number;362            const WSAENOBUFS: number;363            const WSAEISCONN: number;364            const WSAENOTCONN: number;365            const WSAESHUTDOWN: number;366            const WSAETOOMANYREFS: number;367            const WSAETIMEDOUT: number;368            const WSAECONNREFUSED: number;369            const WSAELOOP: number;370            const WSAENAMETOOLONG: number;371            const WSAEHOSTDOWN: number;372            const WSAEHOSTUNREACH: number;373            const WSAENOTEMPTY: number;374            const WSAEPROCLIM: number;375            const WSAEUSERS: number;376            const WSAEDQUOT: number;377            const WSAESTALE: number;378            const WSAEREMOTE: number;379            const WSASYSNOTREADY: number;380            const WSAVERNOTSUPPORTED: number;381            const WSANOTINITIALISED: number;382            const WSAEDISCON: number;383            const WSAENOMORE: number;384            const WSAECANCELLED: number;385            const WSAEINVALIDPROCTABLE: number;386            const WSAEINVALIDPROVIDER: number;387            const WSAEPROVIDERFAILEDINIT: number;388            const WSASYSCALLFAILURE: number;389            const WSASERVICE_NOT_FOUND: number;390            const WSATYPE_NOT_FOUND: number;391            const WSA_E_NO_MORE: number;392            const WSA_E_CANCELLED: number;393            const WSAEREFUSED: number;394        }395        namespace dlopen {396            const RTLD_LAZY: number;397            const RTLD_NOW: number;398            const RTLD_GLOBAL: number;399            const RTLD_LOCAL: number;400            const RTLD_DEEPBIND: number;401        }402        namespace priority {403            const PRIORITY_LOW: number;404            const PRIORITY_BELOW_NORMAL: number;405            const PRIORITY_NORMAL: number;406            const PRIORITY_ABOVE_NORMAL: number;407            const PRIORITY_HIGH: number;408            const PRIORITY_HIGHEST: number;409        }410    }411    const devNull: string;412    /**413     * The operating system-specific end-of-line marker.414     * * `\n` on POSIX415     * * `\r\n` on Windows416     */417    const EOL: string;418    /**419     * Returns the operating system CPU architecture for which the Node.js binary was420     * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`,421     * `'mips'`, `'mipsel'`, `'ppc64'`, `'riscv64'`, `'s390x'`, and `'x64'`.422     *423     * The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v24.x/api/process.html#processarch).424     * @since v0.5.0425     */426    function arch(): NodeJS.Architecture;427    /**428     * Returns a string identifying the kernel version.429     *430     * On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not431     * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.432     * @since v13.11.0, v12.17.0433     */434    function version(): string;435    /**436     * Returns a string identifying the operating system platform for which437     * the Node.js binary was compiled. The value is set at compile time.438     * Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.439     *440     * The return value is equivalent to `process.platform`.441     *442     * The value `'android'` may also be returned if Node.js is built on the Android443     * operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).444     * @since v0.5.0445     */446    function platform(): NodeJS.Platform;447    /**448     * Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`,449     * `mips`, `mips64`, `ppc64`, `ppc64le`, `s390x`, `i386`, `i686`, `x86_64`.450     *451     * On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not452     * available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.453     * @since v18.9.0, v16.18.0454     */455    function machine(): string;456    /**457     * Returns the operating system's default directory for temporary files as a458     * string.459     * @since v0.9.9460     */461    function tmpdir(): string;462    /**463     * Returns a string identifying the endianness of the CPU for which the Node.js464     * binary was compiled.465     *466     * Possible values are `'BE'` for big endian and `'LE'` for little endian.467     * @since v0.9.4468     */469    function endianness(): "BE" | "LE";470    /**471     * Returns the scheduling priority for the process specified by `pid`. If `pid` is472     * not provided or is `0`, the priority of the current process is returned.473     * @since v10.10.0474     * @param [pid=0] The process ID to retrieve scheduling priority for.475     */476    function getPriority(pid?: number): number;477    /**478     * Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used.479     *480     * The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows481     * priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range482     * mapping may cause the return value to be slightly different on Windows. To avoid483     * confusion, set `priority` to one of the priority constants.484     *485     * On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user486     * privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`.487     * @since v10.10.0488     * @param [pid=0] The process ID to set scheduling priority for.489     * @param priority The scheduling priority to assign to the process.490     */491    function setPriority(priority: number): void;492    function setPriority(pid: number, priority: number): void;493}494declare module "node:os" {495    export * from "os";496}497