You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
611 B
JavaScript
21 lines
611 B
JavaScript
6 years ago
|
'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;
|