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.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							1.1 KiB
						
					
					
				/*! | 
						|
 * is-directory <https://github.com/jonschlinkert/is-directory> | 
						|
 * | 
						|
 * Copyright (c) 2014-2015, Jon Schlinkert. | 
						|
 * Licensed under the MIT License. | 
						|
 */ | 
						|
 | 
						|
'use strict'; | 
						|
 | 
						|
var fs = require('fs'); | 
						|
 | 
						|
/** | 
						|
 * async | 
						|
 */ | 
						|
 | 
						|
function isDirectory(filepath, cb) { | 
						|
  if (typeof cb !== 'function') { | 
						|
    throw new Error('expected a callback function'); | 
						|
  } | 
						|
 | 
						|
  if (typeof filepath !== 'string') { | 
						|
    cb(new Error('expected filepath to be a string')); | 
						|
    return; | 
						|
  } | 
						|
 | 
						|
  fs.stat(filepath, function(err, stats) { | 
						|
    if (err) { | 
						|
      if (err.code === 'ENOENT') { | 
						|
        cb(null, false); | 
						|
        return; | 
						|
      } | 
						|
      cb(err); | 
						|
      return; | 
						|
    } | 
						|
    cb(null, stats.isDirectory()); | 
						|
  }); | 
						|
} | 
						|
 | 
						|
/** | 
						|
 * sync | 
						|
 */ | 
						|
 | 
						|
isDirectory.sync = function isDirectorySync(filepath) { | 
						|
  if (typeof filepath !== 'string') { | 
						|
    throw new Error('expected filepath to be a string'); | 
						|
  } | 
						|
 | 
						|
  try { | 
						|
    var stat = fs.statSync(filepath); | 
						|
    return stat.isDirectory(); | 
						|
  } catch (err) { | 
						|
    if (err.code === 'ENOENT') { | 
						|
      return false; | 
						|
    } else { | 
						|
      throw err; | 
						|
    } | 
						|
  } | 
						|
  return false; | 
						|
}; | 
						|
 | 
						|
/** | 
						|
 * Expose `isDirectory` | 
						|
 */ | 
						|
 | 
						|
module.exports = isDirectory;
 | 
						|
 |