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.
		
		
		
		
		
			
		
			
				
					33 lines
				
				723 B
			
		
		
			
		
	
	
					33 lines
				
				723 B
			| 
								 
											3 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								var os = require('os');
							 | 
						||
| 
								 | 
							
								var osxRelease = require('osx-release');
							 | 
						||
| 
								 | 
							
								var winRelease = require('win-release');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = function (platform, release) {
							 | 
						||
| 
								 | 
							
									if (!platform && release) {
							 | 
						||
| 
								 | 
							
										throw new Error('You can\'t specify a `release` without specfying `platform`');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									platform = platform || os.platform();
							 | 
						||
| 
								 | 
							
									release = release || os.release();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var id;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'darwin') {
							 | 
						||
| 
								 | 
							
										id = osxRelease(release).name;
							 | 
						||
| 
								 | 
							
										return 'OS X' + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'linux') {
							 | 
						||
| 
								 | 
							
										id = release.replace(/^(\d+\.\d+).*/, '$1');
							 | 
						||
| 
								 | 
							
										return 'Linux' + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (platform === 'win32') {
							 | 
						||
| 
								 | 
							
										id = winRelease(release);
							 | 
						||
| 
								 | 
							
										return 'Windows' + (id ? ' ' + id : '');
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return platform;
							 | 
						||
| 
								 | 
							
								};
							 |