mirror of
https://github.com/nodejs/node.git
synced 2025-05-08 14:27:07 +00:00

The require('constants') module is currently undocumented and mashes together unrelated constants. This refactors the require('constants') in favor of distinct os.constants, fs.constants, and crypto.constants that are specific to the modules for which they are relevant. The next step is to document those within the specific modules. PR-URL: https://github.com/nodejs/node/pull/6534 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const binding = process.binding('os');
|
|
const constants = process.binding('constants').os;
|
|
const internalUtil = require('internal/util');
|
|
const isWindows = process.platform === 'win32';
|
|
|
|
exports.hostname = binding.getHostname;
|
|
exports.loadavg = binding.getLoadAvg;
|
|
exports.uptime = binding.getUptime;
|
|
exports.freemem = binding.getFreeMem;
|
|
exports.totalmem = binding.getTotalMem;
|
|
exports.cpus = binding.getCPUs;
|
|
exports.type = binding.getOSType;
|
|
exports.release = binding.getOSRelease;
|
|
exports.networkInterfaces = binding.getInterfaceAddresses;
|
|
exports.homedir = binding.getHomeDirectory;
|
|
exports.userInfo = binding.getUserInfo;
|
|
|
|
Object.defineProperty(exports, 'constants', {
|
|
configurable: false,
|
|
enumerable: true,
|
|
value: constants
|
|
});
|
|
|
|
exports.arch = function() {
|
|
return process.arch;
|
|
};
|
|
|
|
exports.platform = function() {
|
|
return process.platform;
|
|
};
|
|
|
|
exports.tmpdir = function() {
|
|
var path;
|
|
if (isWindows) {
|
|
path = process.env.TEMP ||
|
|
process.env.TMP ||
|
|
(process.env.SystemRoot || process.env.windir) + '\\temp';
|
|
if (path.length > 1 && path.endsWith('\\') && !path.endsWith(':\\'))
|
|
path = path.slice(0, -1);
|
|
} else {
|
|
path = process.env.TMPDIR ||
|
|
process.env.TMP ||
|
|
process.env.TEMP ||
|
|
'/tmp';
|
|
if (path.length > 1 && path.endsWith('/'))
|
|
path = path.slice(0, -1);
|
|
}
|
|
|
|
return path;
|
|
};
|
|
|
|
exports.tmpDir = exports.tmpdir;
|
|
|
|
exports.getNetworkInterfaces = internalUtil.deprecate(function() {
|
|
return exports.networkInterfaces();
|
|
}, 'os.getNetworkInterfaces is deprecated. ' +
|
|
'Use os.networkInterfaces instead.');
|
|
|
|
exports.EOL = isWindows ? '\r\n' : '\n';
|
|
|
|
if (binding.isBigEndian)
|
|
exports.endianness = function() { return 'BE'; };
|
|
else
|
|
exports.endianness = function() { return 'LE'; };
|