/**
* executes methods in try/catch block
*/
'use strict';
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9jaHJpc3RpYW5icm9tYW5uL1NpdGVzL1dlYnByb2pla3RlL3dlYmRyaXZlcmpzL0RFVi9saWIvaGVscGVycy9zYWZlRXhlY3V0ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUksV0FBVyxHQUFHLFNBQWQsV0FBVyxDQUFhLENBQUMsRUFBRSxLQUFLLEVBQUU7QUFDbEMsV0FBTyxTQUFTLElBQUksR0FBVzswQ0FBTixJQUFJO0FBQUosZ0JBQUk7OztBQUN6QixZQUFJLE1BQU0sWUFBQSxDQUFBO0FBQ1YsWUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUE7O0FBRXBCLFlBQUksT0FBTyxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3pCLG1CQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUNqQjs7Ozs7OztBQU9ELFlBQUk7QUFDQSxrQkFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1NBQy9CLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDUixtQkFBTyxDQUFDLENBQUE7U0FDWDs7QUFFRCxlQUFPLE1BQU0sQ0FBQTtLQUNoQixDQUFBO0NBQ0osQ0FBQTs7cUJBRWMsV0FBVyIsImZpbGUiOiIvVXNlcnMvY2hyaXN0aWFuYnJvbWFubi9TaXRlcy9XZWJwcm9qZWt0ZS93ZWJkcml2ZXJqcy9ERVYvbGliL2hlbHBlcnMvc2FmZUV4ZWN1dGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIGV4ZWN1dGVzIG1ldGhvZHMgaW4gdHJ5L2NhdGNoIGJsb2NrXG4gKi9cbmxldCBzYWZlRXhlY3V0ZSA9IGZ1bmN0aW9uIChmLCBwYXJhbSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBleGVjICguLi5hcmdzKSB7XG4gICAgICAgIGxldCByZXN1bHRcbiAgICAgICAgYXJncyA9IHBhcmFtIHx8IGFyZ3NcblxuICAgICAgICBpZiAodHlwZW9mIGYgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmdzWzBdXG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogd2UgbmVlZCB0byBjYXRjaCBlcnJvcnMgaGVyZSBhcyB3ZSB3b3VsZCBzdG9wIHRoZVxuICAgICAgICAgKiBleGVjdXRpb24gYW5kIHRoZSBwcm9taXNlIChhbmQgdGhlIHRlc3QpIHdpbGwgbmV2ZXJcbiAgICAgICAgICogZmluaXNoXG4gICAgICAgICAqL1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZi5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgc2FmZUV4ZWN1dGVcbiJdfQ== |