UNPKG

node-op

Version:

Interactive 1Password CLI and installer

43 lines (38 loc) 807 B
'use strict'; var ensureError = require('./chunk-ec31973d.js'); function safeCall(fn) { try { return Promise.resolve(fn()); } catch (exc) { return Promise.reject(exc); } } const catchAsync = async (fn, opts = {}) => { try { const result = await safeCall(fn); return { error: null, result }; } catch (err) { return { error: opts.errorMessage ? new ensureError.AggregateError(opts.errorMessage, ensureError.ensureError(err)) : ensureError.ensureError(err), result: null }; } }; const catchSync = fn => { try { return { error: null, result: fn() }; } catch (err) { return { error: ensureError.ensureError(err), result: null }; } }; exports.catchAsync = catchAsync; exports.catchSync = catchSync;