2024-09-27 17:35:50 +02:00

20 lines
508 B
TypeScript

import { CodexError } from "../async";
import type { SafeValue } from "../values/values";
export const Promises = {
async safe<T>(promise: () => Promise<T>): Promise<SafeValue<T>> {
try {
const result = await promise();
return { error: false, data: result };
} catch (e) {
return {
error: true,
data: new CodexError(e instanceof Error ? e.message : "" + e, {
sourceStack: e instanceof Error ? e.stack || null : null,
}),
};
}
},
};