'use strict'; var os = require('os'); var platformToMethod = { darwin: 'ps', sunos: 'ps', freebsd: 'ps', netbsd: 'ps', win: 'wmic', linux: 'ps', aix: 'ps', }; var methodToRequireFn = { ps: () => require("./ps"), wmic: () => require("./wmic") }; var platform = os.platform(); if (platform.startsWith('win')) { platform = 'win'; } var method = platformToMethod[platform]; /** * Gets the list of all the pids of the system. * @param {Function} callback Called when the list is ready. */ function get(callback) { if (method === undefined) { callback( new Error( os.platform() + ' is not supported yet, please open an issue (https://github.com/simonepri/pidtree)' ) ); } var list = methodToRequireFn[method](); list(callback); } module.exports = get;