21 lines
		
	
	
		
			611 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			611 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| function posix(path) {
 | |
| 	return path.charAt(0) === '/';
 | |
| }
 | |
| 
 | |
| function win32(path) {
 | |
| 	// https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56
 | |
| 	var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
 | |
| 	var result = splitDeviceRe.exec(path);
 | |
| 	var device = result[1] || '';
 | |
| 	var isUnc = Boolean(device && device.charAt(1) !== ':');
 | |
| 
 | |
| 	// UNC paths are always absolute
 | |
| 	return Boolean(result[2] || isUnc);
 | |
| }
 | |
| 
 | |
| module.exports = process.platform === 'win32' ? win32 : posix;
 | |
| module.exports.posix = posix;
 | |
| module.exports.win32 = win32;
 |