guardz-axios
Version:
Type-safe HTTP client built on top of Axios with runtime validation using guardz. Part of the guardz ecosystem for comprehensive TypeScript type safety.
25 lines • 973 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isRetryableError = isRetryableError;
const axios_error_guards_1 = require("../../guards/axios-error-guards");
/**
* Determines if an error is retryable
*/
function isRetryableError(error) {
if ((0, axios_error_guards_1.isAxiosError)(error)) {
const categorized = (0, axios_error_guards_1.categorizeAxiosError)(error);
return (categorized.category === "network" ||
categorized.category === "timeout" ||
(typeof categorized.statusCode === "number" &&
categorized.statusCode >= 500));
}
// Handle regular Error objects (for testing)
if (error instanceof Error) {
const message = error.message.toLowerCase();
return (message.includes("network") ||
message.includes("timeout") ||
message.includes("server"));
}
return false;
}
//# sourceMappingURL=isRetryableError.js.map