UNPKG

anypay-ts

Version:

TypeScript библиотека для работы с платёжной системой AnyPay

35 lines (34 loc) 1.31 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AnyPayError = void 0; exports.handleAxiosError = handleAxiosError; const axios_1 = __importDefault(require("axios")); class AnyPayError extends Error { constructor(message, code, status) { super(message); this.name = 'AnyPayError'; this.code = code; this.status = status; } } exports.AnyPayError = AnyPayError; function handleAxiosError(err) { if (axios_1.default.isAxiosError(err)) { const axiosErr = err; // Приводим response.data к типу AnyPayErrorResponse const data = axiosErr.response?.data; if (data?.error) { const { code, message } = data.error; throw new AnyPayError(message, code, axiosErr.response?.status); } // Если пришёл HTML или другой текст const status = axiosErr.response?.status; const statusText = axiosErr.response?.statusText || 'Unknown error'; throw new AnyPayError(`HTTP ${status}: ${statusText}`, undefined, status); } // Любые другие ошибки throw err; }