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.
44 lines
899 B
44 lines
899 B
4 years ago
|
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'
|
||
|
}
|