| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- var fs = require('fs')
 
- var core
 
- if (process.platform === 'win32' || global.TESTING_WINDOWS) {
 
-   core = require('./windows.js')
 
- } else {
 
-   core = require('./mode.js')
 
- }
 
- module.exports = isexe
 
- isexe.sync = sync
 
- function 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
 
-     }
 
-   }
 
- }
 
 
  |