44 lines
		
	
	
		
			899 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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'
 | 
						|
}
 |