You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							730 B
						
					
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							730 B
						
					
					
				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
 |