Files
react-native-devtools-frontend/node_modules/yargs/build/lib/utils/maybe-async-result.js
T
Tim van der Lippe b693eb34d5 Update remaining NPM dependencies
DISABLE_THIRD_PARTY_CHECK=NPM fix
R=jacktfranklin@chromium.org

Bug: none
Change-Id: I41baa3294f88b7e4463fdc580c050932c5abe40e
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3372932
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Tim Van der Lippe <tvanderlippe@chromium.org>
2022-01-07 14:42:53 +00:00

18 lines
496 B
JavaScript

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';
}