forked from public/fvtt-cthulhu-eternal
24 lines
813 B
JavaScript
24 lines
813 B
JavaScript
|
const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
|
||
|
import { parse, resolve } from 'path';
|
||
|
export const pathArg = (path) => {
|
||
|
if (/\0/.test(path)) {
|
||
|
// simulate same failure that node raises
|
||
|
throw Object.assign(new TypeError('path must be a string without null bytes'), {
|
||
|
path,
|
||
|
code: 'ERR_INVALID_ARG_VALUE',
|
||
|
});
|
||
|
}
|
||
|
path = resolve(path);
|
||
|
if (platform === 'win32') {
|
||
|
const badWinChars = /[*|"<>?:]/;
|
||
|
const { root } = parse(path);
|
||
|
if (badWinChars.test(path.substring(root.length))) {
|
||
|
throw Object.assign(new Error('Illegal characters in path.'), {
|
||
|
path,
|
||
|
code: 'EINVAL',
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
return path;
|
||
|
};
|
||
|
//# sourceMappingURL=path-arg.js.map
|