Newer
Older
vue-indexer / node_modules / yargs / build / lib / utils / maybe-async-result.js
@eugene-sukhodolskiy eugene-sukhodolskiy on 24 Sep 496 bytes v1.0
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';
}