UNPKG

isolate-package

Version:

Isolate monorepo packages to form a self-contained deployable unit

26 lines (21 loc) 665 B
type ErrorWithMessage = { message: string; }; export function getErrorMessage(error: unknown) { return toErrorWithMessage(error).message; } function isErrorWithMessage(error: unknown): error is ErrorWithMessage { return typeof error === "object" && error !== null && "message" in error; } function toErrorWithMessage(maybeError: unknown): ErrorWithMessage { if (isErrorWithMessage(maybeError)) return maybeError; try { return new Error(JSON.stringify(maybeError)); } catch { /** * Fallback in case there’s an error in stringify which can happen with * circular references. */ return new Error(String(maybeError)); } }