25 lines
546 B
JavaScript
25 lines
546 B
JavaScript
|
'use strict'
|
||
|
var path = require('path')
|
||
|
|
||
|
// get drive on windows
|
||
|
function getRootPath (p) {
|
||
|
p = path.normalize(path.resolve(p)).split(path.sep)
|
||
|
if (p.length > 0) return p[0]
|
||
|
else return null
|
||
|
}
|
||
|
|
||
|
// http://stackoverflow.com/a/62888/10333 contains more accurate
|
||
|
// TODO: expand to include the rest
|
||
|
var INVALID_PATH_CHARS = /[<>:"|?*]/
|
||
|
|
||
|
function invalidWin32Path (p) {
|
||
|
var rp = getRootPath(p)
|
||
|
p = p.replace(rp, '')
|
||
|
return INVALID_PATH_CHARS.test(p)
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
getRootPath: getRootPath,
|
||
|
invalidWin32Path: invalidWin32Path
|
||
|
}
|