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.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							765 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							765 B
						
					
					
				| 'use strict';
 | |
| var os = require('os');
 | |
| var semver = require('semver');
 | |
| 
 | |
| var nameMap = {
 | |
| 	'10.0': '10',
 | |
| 	'6.3': '8.1',
 | |
| 	'6.2': '8',
 | |
| 	'6.1': '7',
 | |
| 	'6.0': 'Vista',
 | |
| 	'5.1': 'XP',
 | |
| 	'5.0': '2000',
 | |
| 	'4.9': 'ME',
 | |
| 	'4.1': '98',
 | |
| 	'4.0': '95'
 | |
| };
 | |
| 
 | |
| module.exports = function (release) {
 | |
| 	var verRe = /\d+\.\d+/;
 | |
| 	var version = verRe.exec(release || os.release());
 | |
| 
 | |
| 	// workaround for Windows 10 on node < 3.1.0
 | |
| 	if (!release && process.platform === 'win32' &&
 | |
| 		semver.satisfies(process.version, '>=0.12.0 <3.1.0')) {
 | |
| 		try {
 | |
| 			version = verRe.exec(String(require('child_process').execSync('ver.exe', {timeout: 2000})));
 | |
| 		} catch (err) {}
 | |
| 	}
 | |
| 
 | |
| 	if (release && !version) {
 | |
| 		throw new Error('`release` argument doesn\'t match `n.n`');
 | |
| 	}
 | |
| 
 | |
| 	return nameMap[(version || [])[0]];
 | |
| };
 |