scripts/node_modules/arch/browser.js

44 lines
899 B
JavaScript

module.exports = function arch () {
/**
* User agent strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/13709431/292185
*/
var userAgent = navigator.userAgent
if ([
'x86_64',
'x86-64',
'Win64',
'x64;',
'amd64',
'AMD64',
'WOW64',
'x64_64'
].some(function (str) {
return userAgent.indexOf(str) > -1
})) {
return 'x64'
}
/**
* Platform strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/19883965/292185
*/
var platform = navigator.platform
if (platform === 'MacIntel' || platform === 'Linux x86_64') {
return 'x64'
}
/**
* CPU class strings that indicate a 64-bit OS.
* See: http://stackoverflow.com/a/6267019/292185
*/
if (navigator.cpuClass === 'x64') {
return 'x64'
}
/**
* If none of the above, assume the architecture is 32-bit.
*/
return 'x86'
}