Urara-Blog/node_modules/.pnpm-store/v3/files/4a/6c0e3004a9eb81f9cdde60e8cef7db1e0b1df273eb75548c3c36ed217606138921194b91117d7a030a0f1055262e56d43689804d66a04a23ddb3655ebff18e
2022-08-14 01:14:53 +08:00

29 lines
730 B
Text

const platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform
const { resolve, parse } = require('path')
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.substr(root.length))) {
throw Object.assign(new Error('Illegal characters in path.'), {
path,
code: 'EINVAL',
})
}
}
return path
}
module.exports = pathArg