diff --git a/lib/cpu.js b/lib/cpu.js index 4101afa..420c742 100644 --- a/lib/cpu.js +++ b/lib/cpu.js @@ -29,7 +29,7 @@ const _openbsd = (_platform === 'openbsd'); const _netbsd = (_platform === 'netbsd'); const _sunos = (_platform === 'sunos'); -let _cpu_speed = '0.00'; +let _cpu_speed = 0; let _current_cpu = { user: 0, nice: 0, @@ -500,7 +500,7 @@ function cpuBrandManufacturer(res) { } function getAMDSpeed(brand) { - let result = '0.00'; + let result = '0'; for (let key in AMDBaseFrequencies) { if ({}.hasOwnProperty.call(AMDBaseFrequencies, key)) { let parts = key.split('|'); @@ -515,7 +515,7 @@ function getAMDSpeed(brand) { } } } - return result; + return parseFloat(result); } // -------------------------- @@ -535,9 +535,9 @@ function getCpu() { stepping: '', revision: '', voltage: '', - speed: '0.00', - speedmin: '', - speedmax: '', + speed: 0, + speedMin: 0, + speedMax: 0, governor: '', cores: util.cores(), physicalCores: util.cores(), @@ -556,16 +556,16 @@ function getCpu() { const modelline = util.getValue(lines, 'machdep.cpu.brand_string'); const modellineParts = modelline.split('@'); result.brand = modellineParts[0].trim(); - result.speed = modellineParts[1] ? modellineParts[1].trim() : '0'; - result.speed = parseFloat(result.speed.replace(/GHz+/g, '')).toFixed(2); + const speed = modellineParts[1] ? modellineParts[1].trim() : '0'; + result.speed = parseFloat(speed.replace(/GHz+/g, '')); let tbFrequency = util.getValue(lines, 'hw.tbfrequency') / 1000000000.0; tbFrequency = tbFrequency < 0.1 ? tbFrequency * 100 : tbFrequency; - result.speed = result.speed === '0.00' ? tbFrequency.toFixed(2) : result.speed; + result.speed = result.speed === 0 ? tbFrequency : result.speed; _cpu_speed = result.speed; result = cpuBrandManufacturer(result); - result.speedmin = util.getValue(lines, 'hw.cpufrequency_min') ? (util.getValue(lines, 'hw.cpufrequency_min') / 1000000000.0).toFixed(2) : result.speed; - result.speedmax = util.getValue(lines, 'hw.cpufrequency_max') ? (util.getValue(lines, 'hw.cpufrequency_max') / 1000000000.0).toFixed(2) : result.speed; + result.speedMin = util.getValue(lines, 'hw.cpufrequency_min') ? (util.getValue(lines, 'hw.cpufrequency_min') / 1000000000.0) : result.speed; + result.speedMax = util.getValue(lines, 'hw.cpufrequency_max') ? (util.getValue(lines, 'hw.cpufrequency_max') / 1000000000.0) : result.speed; result.vendor = util.getValue(lines, 'machdep.cpu.vendor') || 'Apple'; result.family = util.getValue(lines, 'machdep.cpu.family') || util.getValue(lines, 'hw.cpufamily'); result.model = util.getValue(lines, 'machdep.cpu.model'); @@ -605,19 +605,17 @@ function getCpu() { modelline = util.getValue(lines, 'model name') || modelline; const modellineParts = modelline.split('@'); result.brand = modellineParts[0].trim(); - result.speed = modellineParts[1] ? parseFloat(modellineParts[1].trim()).toFixed(2) : '0.00'; - if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { + result.speed = modellineParts[1] ? parseFloat(modellineParts[1].trim()) : 0; + if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { result.speed = getAMDSpeed(result.brand); } - if (result.speed === '0.00') { - let current = getCpuCurrentSpeedSync(); - if (current.avg !== 0) result.speed = current.avg.toFixed(2); + if (result.speed === 0) { + const current = getCpuCurrentSpeedSync(); + if (current.avg !== 0) result.speed = current.avg; } _cpu_speed = result.speed; - result.speedmin = Math.round(parseFloat(util.getValue(lines, 'cpu min mhz').replace(/,/g, '.')) / 10.0) / 100; - result.speedmin = result.speedmin ? parseFloat(result.speedmin).toFixed(2) : ''; - result.speedmax = Math.round(parseFloat(util.getValue(lines, 'cpu max mhz').replace(/,/g, '.')) / 10.0) / 100; - result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : ''; + result.speedMin = Math.round(parseFloat(util.getValue(lines, 'cpu min mhz').replace(/,/g, '.')) / 10.0) / 100; + result.speedMax = Math.round(parseFloat(util.getValue(lines, 'cpu max mhz').replace(/,/g, '.')) / 10.0) / 100; result = cpuBrandManufacturer(result); result.vendor = util.getValue(lines, 'vendor id'); @@ -685,18 +683,17 @@ function getCpu() { lines = processor.split('\n'); } result.brand = modelline.split('@')[0].trim(); - result.speed = modelline.split('@')[1] ? parseFloat(modelline.split('@')[1].trim()).toFixed(2) : '0.00'; - if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { + result.speed = modelline.split('@')[1] ? parseFloat(modelline.split('@')[1].trim()) : 0; + if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { result.speed = getAMDSpeed(result.brand); } - if (result.speed === '0.00') { - let current = getCpuCurrentSpeedSync(); - if (current.avg !== 0) result.speed = current.avg.toFixed(2); + if (result.speed === 0) { + const current = getCpuCurrentSpeedSync(); + if (current.avg !== 0) result.speed = current.avg; } _cpu_speed = result.speed; - result.speedmin = ''; - result.speedmax = Math.round(parseFloat(util.getValue(lines, 'max speed').replace(/Mhz/g, '')) / 10.0) / 100; - result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : ''; + result.speedMin = result.speed; + result.speedMax = Math.round(parseFloat(util.getValue(lines, 'max speed').replace(/Mhz/g, '')) / 10.0) / 100; result = cpuBrandManufacturer(result); result.vendor = util.getValue(lines, 'manufacturer'); @@ -751,11 +748,11 @@ function getCpu() { let name = util.getValue(lines, 'name', '=') || ''; if (name.indexOf('@') >= 0) { result.brand = name.split('@')[0].trim(); - result.speed = name.split('@')[1] ? parseFloat(name.split('@')[1].trim()).toFixed(2) : '0.00'; + result.speed = name.split('@')[1] ? parseFloat(name.split('@')[1].trim()) : 0; _cpu_speed = result.speed; } else { result.brand = name.trim(); - result.speed = '0.00'; + result.speed = 0; } result = cpuBrandManufacturer(result); result.revision = util.getValue(lines, 'revision', '='); @@ -766,14 +763,14 @@ function getCpu() { if (result.cache.l2) { result.cache.l2 = parseInt(result.cache.l2, 10) * 1024; } if (result.cache.l3) { result.cache.l3 = parseInt(result.cache.l3, 10) * 1024; } result.vendor = util.getValue(lines, 'manufacturer', '='); - result.speedmax = Math.round(parseFloat(util.getValue(lines, 'maxclockspeed', '=').replace(/,/g, '.')) / 10.0) / 100; - result.speedmax = result.speedmax ? parseFloat(result.speedmax).toFixed(2) : ''; - if (result.speed === '0.00' && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { + result.speedMax = Math.round(parseFloat(util.getValue(lines, 'maxclockspeed', '=').replace(/,/g, '.')) / 10.0) / 100; + if (result.speed === 0 && (result.brand.indexOf('AMD') > -1 || result.brand.toLowerCase().indexOf('ryzen') > -1)) { result.speed = getAMDSpeed(result.brand); } - if (result.speed === '0.00') { - result.speed = result.speedmax; + if (result.speed === 0) { + result.speed = result.speedMax; } + result.speedMin = result.speed; let description = util.getValue(lines, 'description', '=').split(' '); for (let i = 0; i < description.length; i++) { @@ -897,7 +894,7 @@ function cpuCurrentspeed(callback) { return new Promise((resolve) => { process.nextTick(() => { let result = getCpuCurrentSpeedSync(); - if (result.avg === 0 && _cpu_speed !== '0.00') { + if (result.avg === 0 && _cpu_speed !== 0) { const currCpuSpeed = parseFloat(_cpu_speed); result = { min: currCpuSpeed, diff --git a/lib/index.d.ts b/lib/index.d.ts index d48b44f..0e5d206 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -69,9 +69,9 @@ export namespace Systeminformation { stepping: string; revision: string; voltage: string; - speed: string; - speedmin: string; - speedmax: string; + speed: number; + speedMin: number; + speedMax: number; governor: string; cores: number; physicalCores: number;