PromoCursed/node_modules/default-gateway/index.js
2024-08-20 23:25:37 +04:00

36 lines
867 B
JavaScript

"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; };
}