| import { isPromise } from './is-promise.js'; | |
| export function maybeAsyncResult(getResult, resultHandler, errorHandler = (err) => { | |
| throw err; | |
| }) { | |
| try { | |
| const result = isFunction(getResult) ? getResult() : getResult; | |
| return isPromise(result) | |
| ? result.then((result) => resultHandler(result)) | |
| : resultHandler(result); | |
| } | |
| catch (err) { | |
| return errorHandler(err); | |
| } | |
| } | |
| function isFunction(arg) { | |
| return typeof arg === 'function'; | |
| } | |