UNPKG

linkup-sdk

Version:
46 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.refineError = exports.concatErrorAndDetails = void 0; const errors_1 = require("../errors"); const concatErrorAndDetails = (e) => { const details = e.error?.details ?? []; const errorMessage = [ e.error?.message ?? 'Unknown error', ...details.map(detail => detail.message), ].join(' '); return errorMessage; }; exports.concatErrorAndDetails = concatErrorAndDetails; const refineError = (e) => { const { statusCode, error } = e; if (!error || typeof error !== 'object') { return new errors_1.LinkupUnknownError(`An unknown error occurred: ${JSON.stringify(e)}`); } const { code, message } = error; switch (statusCode) { case 400: if (code === 'SEARCH_QUERY_NO_RESULT') { return new errors_1.LinkupNoResultError(message); } if (code === 'FETCH_ERROR') { return new errors_1.LinkupFetchError(message); } return new errors_1.LinkupInvalidRequestError((0, exports.concatErrorAndDetails)(e)); case 401: case 403: return new errors_1.LinkupAuthenticationError(message); case 429: switch (code) { case 'INSUFFICIENT_FUNDS_CREDITS': return new errors_1.LinkupInsufficientCreditError(message); case 'TOO_MANY_REQUESTS': return new errors_1.LinkupTooManyRequestsError(message); default: return new errors_1.LinkupUnknownError(`An unknown error occurred: ${error.message}`); } default: return new errors_1.LinkupUnknownError(`An unknown error occurred: ${error.message}`); } }; exports.refineError = refineError; //# sourceMappingURL=refine-error.utils.js.map