| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | var fs = require('fs')var coreif (process.platform === 'win32' || global.TESTING_WINDOWS) {  core = require('./windows.js')} else {  core = require('./mode.js')}module.exports = isexeisexe.sync = syncfunction isexe (path, options, cb) {  if (typeof options === 'function') {    cb = options    options = {}  }  if (!cb) {    if (typeof Promise !== 'function') {      throw new TypeError('callback not provided')    }    return new Promise(function (resolve, reject) {      isexe(path, options || {}, function (er, is) {        if (er) {          reject(er)        } else {          resolve(is)        }      })    })  }  core(path, options || {}, function (er, is) {    // ignore EACCES because that just means we aren't allowed to run it    if (er) {      if (er.code === 'EACCES' || options && options.ignoreErrors) {        er = null        is = false      }    }    cb(er, is)  })}function sync (path, options) {  // my kingdom for a filtered catch  try {    return core.sync(path, options || {})  } catch (er) {    if (options && options.ignoreErrors || er.code === 'EACCES') {      return false    } else {      throw er    }  }}
 |