cloudcmd/lib/server/tryRequire.js
2014-11-20 06:34:27 -05:00

40 lines
842 B
JavaScript

(function() {
'use strict';
module.exports = function tryRequire(name, options) {
var module,
o = options || {},
error = tryCatch(function() {
module = require(name);
});
if (error) {
if (o.log)
console.error(error.message);
else if (o.callback)
module = exec.bind(null, error);
if (o.exit)
process.exit(1);
}
return module;
};
function exec(error, callback) {
callback(error);
}
function tryCatch(fn) {
var ret, error;
try {
ret = fn();
} catch(err) {
error = err;
}
return ret;
}
})();