Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped
24 lines
476 B
JavaScript
24 lines
476 B
JavaScript
//#region src/index.ts
|
|
/**
|
|
* Gracefully handles a callback that returns a promise.
|
|
*
|
|
* @example
|
|
* await until(() => Promise.resolve(123))
|
|
* // [null, 123]
|
|
*
|
|
* await until(() => Promise.reject(new Error('Oops!')))
|
|
* // [new Error('Oops!'), null]
|
|
*/
|
|
async function until(callback) {
|
|
try {
|
|
return [null, await callback().catch((error) => {
|
|
throw error;
|
|
})];
|
|
} catch (error) {
|
|
return [error, null];
|
|
}
|
|
}
|
|
|
|
//#endregion
|
|
export { until };
|
|
//# sourceMappingURL=index.js.map
|