it-tools/src/utils/defaults.ts

18 lines
383 B
TypeScript
Raw Normal View History

2023-03-10 18:16:55 +01:00
export { withDefaultOnError, withDefaultOnErrorAsync };
function withDefaultOnError<A, B>(cb: () => A, defaultValue: B): A | B {
try {
return cb();
} catch (_) {
return defaultValue;
}
}
2023-03-10 18:16:55 +01:00
async function withDefaultOnErrorAsync<A, B>(cb: () => A, defaultValue: B): Promise<Awaited<A> | B> {
try {
return await cb();
} catch (_) {
return defaultValue;
}
}