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