iobroker.roborock
Version:
28 lines (24 loc) • 889 B
text/typescript
export function isConnectivityLikeError(error: unknown): boolean {
if (!(error instanceof Error)) return true;
const msg = error.message.toLowerCase();
if (msg.includes("adapter_stopped") || msg.includes("cancelled") || msg.includes("cancelled_by_user")) {
return false;
}
if (
msg.includes("timeout") ||
msg.includes("timed out") ||
msg.includes("econnreset") ||
msg.includes("etimedout") ||
msg.includes("enotfound") ||
msg.includes("econnrefused") ||
msg.includes("ehostunreach") ||
msg.includes("enetunreach") ||
msg.includes("epipe") ||
msg.includes("network") ||
msg.includes("socket hang up")
) {
return true;
}
const code = (error as NodeJS.ErrnoException).code;
return code === "ECONNRESET" || code === "ETIMEDOUT" || code === "ENOTFOUND" || code === "ECONNREFUSED" || code === "EHOSTUNREACH" || code === "ENETUNREACH" || code === "EPIPE";
}