mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 18:31:52 +00:00
18 lines
489 B
TypeScript
18 lines
489 B
TypeScript
/**
|
|
* Converts an unknown thrown value into an Error instance.
|
|
* If `e` is already an Error, wraps it; if a string, uses it as the message;
|
|
* otherwise JSON-serializes it as the error message.
|
|
*
|
|
* @param e - The unknown value to convert
|
|
* @returns An Error instance
|
|
*/
|
|
export const asError = (e: unknown) => {
|
|
if (e instanceof Error) {
|
|
return new Error(e as any)
|
|
}
|
|
if (typeof e === 'string') {
|
|
return new Error(`${e}`)
|
|
}
|
|
return new Error(`${JSON.stringify(e)}`)
|
|
}
|