26 lines
517 B
JavaScript
26 lines
517 B
JavaScript
|
'use strict'
|
||
|
|
||
|
const 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]
|
||
|
return null
|
||
|
}
|
||
|
|
||
|
// http://stackoverflow.com/a/62888/10333 contains more accurate
|
||
|
// TODO: expand to include the rest
|
||
|
const INVALID_PATH_CHARS = /[<>:"|?*]/
|
||
|
|
||
|
function invalidWin32Path (p) {
|
||
|
const rp = getRootPath(p)
|
||
|
p = p.replace(rp, '')
|
||
|
return INVALID_PATH_CHARS.test(p)
|
||
|
}
|
||
|
|
||
|
module.exports = {
|
||
|
getRootPath,
|
||
|
invalidWin32Path
|
||
|
}
|