UNPKG

@wener/console

Version:
99 lines (98 loc) 4.01 kB
function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return !!right[Symbol.hasInstance](left); } else { return left instanceof right; } } function _type_of(obj) { "@swc/helpers - typeof"; return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; } import { getHttpStatusText } from '@wener/utils'; export function resolveErrorMessage(error) { if (!error) { return; } if (!_instanceof(error, Error)) { if (error && (typeof error === "undefined" ? "undefined" : _type_of(error)) === 'object') { if ('message' in error) { return error.message; } if ('detail' in error) { return error.detail; } } return String(error); } try { if (isZodError(error)) { return error.issues.map(function(v) { return "".concat(v.path.join('.'), ": ").concat(v.message); }).join(';'); } if (isTypeBoxError(error)) { var _error_error = error.error, path = _error_error.path, type = _error_error.type, message = _error_error.message; return "".concat(path, ": ").concat(message, " (").concat(type, ")"); } if (URQLError.is(error)) { return error.response.errors.map(function(v) { return v.message; }).join(';'); } var buildGraphQLError = function() { var errors = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []; return errors.map(function(v) { return "".concat(v.message); }).join(';'); }; var buildGraphQLResponseError = function(param) { var response = param.response; var s = [ '' ]; var status = response.status; if (status !== 200) { s.push("".concat(status, " ").concat(getHttpStatusText(status))); } if (response.errors) { s.push(buildGraphQLError(response.errors)); } return s.join(' '); }; if (GraphQL.isClientError(error)) { return buildGraphQLResponseError(error); } if ((typeof error === "undefined" ? "undefined" : _type_of(error)) === 'object' && 'message' in error) { return error.message; } } catch (e) { console.error('resolveErrorMessage', e); } return String(error); } (function(GraphQL) { function isClientError(error) { // graphql-client _ClientError // https://github.com/graffle-js/graffle/blob/graphql-request/src/legacy/classes/ClientError.ts return _type_of(error.response) === 'object' && _type_of(error.request) === 'object' && typeof error.response.status === 'number' && typeof error.request.query === 'string' && (error.response.errors === undefined || error.response.errors === null || Array.isArray(error.response.errors)); } GraphQL.isClientError = isClientError; })(GraphQL || (GraphQL = {})); function isTypeBoxError(error) { var _error_error; return ((_error_error = error.error) === null || _error_error === void 0 ? void 0 : _error_error.path) && error.error.type && error.error.message && _instanceof(error, Error); } function isZodError(error) { return _instanceof(error, Error) && Array.isArray(error.issues); } // https://commerce.nearform.com/open-source/urql/docs/basics/errors/ // https://github.com/urql-graphql/urql/blob/main/packages/core/src/utils/error.ts // urql CombinedError (function(URQLError) { function is(error) { return Array.isArray(error === null || error === void 0 ? void 0 : error.graphQLErrors) && error.name === 'CombinedError' && _instanceof(error, Error); } URQLError.is = is; })(URQLError || (URQLError = {})); var GraphQL, URQLError;