@testim/testim-cli
Version:
Command line interface for running Testing on you CI
40 lines (33 loc) • 2.51 kB
JavaScript
/**
* executes methods in try/catch block
*/
;
Object.defineProperty(exports, '__esModule', {
value: true
});
var safeExecute = function safeExecute(f, param) {
return function exec() {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var result = undefined;
args = param || args;
if (typeof f !== 'function') {
return args[0];
}
/**
* we need to catch errors here as we would stop the
* execution and the promise (and the test) will never
* finish
*/
try {
result = f.apply(this, args);
} catch (e) {
return e;
}
return result;
};
};
exports['default'] = safeExecute;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oZWxwZXJzL3NhZmVFeGVjdXRlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsSUFBSSxXQUFXLEdBQUcsU0FBZCxXQUFXLENBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRTtBQUNsQyxXQUFPLFNBQVMsSUFBSSxHQUFXOzBDQUFOLElBQUk7QUFBSixnQkFBSTs7O0FBQ3pCLFlBQUksTUFBTSxZQUFBLENBQUE7QUFDVixZQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQTs7QUFFcEIsWUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDekIsbUJBQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ2pCOzs7Ozs7O0FBT0QsWUFBSTtBQUNBLGtCQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7U0FDL0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtBQUNSLG1CQUFPLENBQUMsQ0FBQTtTQUNYOztBQUVELGVBQU8sTUFBTSxDQUFBO0tBQ2hCLENBQUE7Q0FDSixDQUFBOztxQkFFYyxXQUFXIiwiZmlsZSI6InNhZmVFeGVjdXRlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBleGVjdXRlcyBtZXRob2RzIGluIHRyeS9jYXRjaCBibG9ja1xuICovXG5sZXQgc2FmZUV4ZWN1dGUgPSBmdW5jdGlvbiAoZiwgcGFyYW0pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gZXhlYyAoLi4uYXJncykge1xuICAgICAgICBsZXQgcmVzdWx0XG4gICAgICAgIGFyZ3MgPSBwYXJhbSB8fCBhcmdzXG5cbiAgICAgICAgaWYgKHR5cGVvZiBmICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gYXJnc1swXVxuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIHdlIG5lZWQgdG8gY2F0Y2ggZXJyb3JzIGhlcmUgYXMgd2Ugd291bGQgc3RvcCB0aGVcbiAgICAgICAgICogZXhlY3V0aW9uIGFuZCB0aGUgcHJvbWlzZSAoYW5kIHRoZSB0ZXN0KSB3aWxsIG5ldmVyXG4gICAgICAgICAqIGZpbmlzaFxuICAgICAgICAgKi9cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3VsdCA9IGYuYXBwbHkodGhpcywgYXJncylcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGVcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHNhZmVFeGVjdXRlXG4iXX0=