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.
|
|
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 } } }
|