'use strict'; // ================================================================================== // utils.js // ---------------------------------------------------------------------------------- // Description: System Information - library // for Node.js // Copyright: (c) 2014 - 2017 // Author: Sebastian Hildebrandt // ---------------------------------------------------------------------------------- // License: MIT // ================================================================================== // 0. helper functions // ---------------------------------------------------------------------------------- const os = require('os'); let _cores = 0; function isFunction(functionToCheck) { let getType = {}; return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; } function unique(obj){ let uniques=[]; let stringify={}; for(let i=0;i y) ? 1 : 0)); }); } function cores() { if (_cores === 0) { _cores = os.cpus().length; } return _cores; } function getValue(lines, property, separator, trimmed) { separator = separator || ':'; property = property.toLowerCase(); trimmed = trimmed || false; for (let i = 0; i < lines.length; i++) { let line = lines[i].toLowerCase(); if (trimmed) { line = line.trim(); } if (line.toLowerCase().startsWith(property)) { const parts = lines[i].split(separator); if (parts.length >= 2) { parts.shift(); return parts.join(':').trim(); } else { return '' } } } return ''; } function decodeEscapeSequence(str, base) { base = base || 16 return str.replace(/\\x([0-9A-Fa-f]{2})/g, function() { return String.fromCharCode(parseInt(arguments[1], base)); }); }; exports.isFunction = isFunction; exports.unique = unique; exports.sortByKey= sortByKey; exports.cores = cores; exports.getValue = getValue; exports.decodeEscapeSequence = decodeEscapeSequence;