You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
899 B
43 lines
899 B
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' |
|
}
|
|
|