1234567891011121314151617181920212223242526272829303132333435 |
- "use strict";
- const {platform, type} = require("os");
- const supportedPlatforms = new Set([
- "aix",
- "android",
- "darwin",
- "freebsd",
- "linux",
- "openbsd",
- "sunos",
- "win32"
- ]);
- const plat = platform();
- if (supportedPlatforms.has(plat)) {
- let file = plat;
- if (plat === "aix") {
- file = type() === "OS400" ? "ibmi" : "sunos"; // AIX `netstat` output is compatible with Solaris
- }
- const m = require(`./${file}.js`);
- module.exports.v4 = () => m.v4();
- module.exports.v6 = () => m.v6();
- module.exports.v4.sync = () => m.v4.sync();
- module.exports.v6.sync = () => m.v6.sync();
- } else {
- const err = new Error(`Unsupported Platform: ${plat}`);
- module.exports.v4 = () => Promise.reject(err);
- module.exports.v6 = () => Promise.reject(err);
- module.exports.v4.sync = () => { throw err; };
- module.exports.v6.sync = () => { throw err; };
- }
|