|                                          |  | module.exports = isexeisexe.sync = sync
var 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)}
 |