| 123456789101112131415161718192021222324252627282930313233343536373839404142 | module.exports = isexeisexe.sync = syncvar fs = require('fs')function checkPathExt (path, options) {  var pathext = options.pathExt !== undefined ?    options.pathExt : process.env.PATHEXT  if (!pathext) {    return true  }  pathext = pathext.split(';')  if (pathext.indexOf('') !== -1) {    return true  }  for (var i = 0; i < pathext.length; i++) {    var p = pathext[i].toLowerCase()    if (p && path.substr(-p.length).toLowerCase() === p) {      return true    }  }  return false}function checkStat (stat, path, options) {  if (!stat.isSymbolicLink() && !stat.isFile()) {    return false  }  return checkPathExt(path, options)}function isexe (path, options, cb) {  fs.stat(path, function (er, stat) {    cb(er, er ? false : checkStat(stat, path, options))  })}function sync (path, options) {  return checkStat(fs.statSync(path), path, options)}
 |