UNPKG

vormiaqueryjs

Version:

Vormia Query Js - A npm package for query management with VormiaPHP laravel Backend application

1 lines 4.25 kB
{"version":3,"file":"VormiaError.mjs","sources":["../../../../src/client/utils/VormiaError.js"],"sourcesContent":["/**\n * Custom error class for Vormia API errors\n * @class\n * @extends Error\n */\nexport class VormiaError extends Error {\n /**\n * Create a VormiaError\n * @param {string} message - The error message\n * @param {number} [status] - HTTP status code\n * @param {Object} [response] - The response object\n * @param {string} [code] - Error code\n */\n constructor(message, status, response, code) {\n super(message);\n this.name = 'VormiaError';\n this.status = status || (response && response.status);\n this.response = response;\n this.code = code;\n this.data = response && response.data;\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, VormiaError);\n }\n }\n\n /**\n * Check if the error is a network error\n * @returns {boolean}\n */\n isNetworkError() {\n return this.code === 'NETWORK_ERROR' || !this.status;\n }\n\n /**\n * Check if the error is a server error (5xx)\n * @returns {boolean}\n */\n isServerError() {\n return !!(this.status && this.status >= 500);\n }\n\n /**\n * Check if the error is a client error (4xx)\n * @returns {boolean}\n */\n isClientError() {\n return !!(this.status && this.status >= 400 && this.status < 500);\n }\n\n /**\n * Check if the error is an authentication error (401)\n * @returns {boolean}\n */\n isUnauthenticated() {\n return this.status === 401;\n }\n\n /**\n * Check if the error is an authorization error (403)\n * @returns {boolean}\n */\n isUnauthorized() {\n return this.status === 403;\n }\n\n /**\n * Check if the error is a not found error (404)\n * @returns {boolean}\n */\n isNotFound() {\n return this.status === 404;\n }\n\n /**\n * Check if the error is a validation error (422)\n * @returns {boolean}\n */\n isValidationError() {\n return this.status === 422;\n }\n\n /**\n * Get the error message from the response data\n * @returns {string} The error message\n */\n getErrorMessage() {\n if (this.data) {\n if (typeof this.data === 'string') return this.data;\n if (this.data.message) return this.data.message;\n if (this.data.error) return this.data.error;\n if (Array.isArray(this.data.errors)) return this.data.errors[0]?.message || this.message;\n }\n return this.message || 'An unknown error occurred';\n }\n\n /**\n * Get validation errors if this is a validation error\n * @returns {Object|null} Validation errors or null if not a validation error\n */\n getValidationErrors() {\n if (this.status === 422 && this.data && typeof this.data === 'object') {\n return this.data.errors || this.data;\n }\n return null;\n }\n}\n"],"names":[],"mappings":"AAKO,MAAM,oBAAoB,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrC,YAAY,SAAS,QAAQ,UAAU,MAAM;AAC3C,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,SAAS,UAAW,YAAY,SAAS;AAC9C,SAAK,WAAW;AAChB,SAAK,OAAO;AACZ,SAAK,OAAO,YAAY,SAAS;AAGjC,QAAI,MAAM,mBAAmB;AAC3B,YAAM,kBAAkB,MAAM,WAAW;AAAA,IAC/C;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,iBAAiB;AACf,WAAO,KAAK,SAAS,mBAAmB,CAAC,KAAK;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,gBAAgB;AACd,WAAO,CAAC,EAAE,KAAK,UAAU,KAAK,UAAU;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,gBAAgB;AACd,WAAO,CAAC,EAAE,KAAK,UAAU,KAAK,UAAU,OAAO,KAAK,SAAS;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,oBAAoB;AAClB,WAAO,KAAK,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,iBAAiB;AACf,WAAO,KAAK,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,aAAa;AACX,WAAO,KAAK,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,oBAAoB;AAClB,WAAO,KAAK,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,kBAAkB;AAvFpB;AAwFI,QAAI,KAAK,MAAM;AACb,UAAI,OAAO,KAAK,SAAS,SAAU,QAAO,KAAK;AAC/C,UAAI,KAAK,KAAK,QAAS,QAAO,KAAK,KAAK;AACxC,UAAI,KAAK,KAAK,MAAO,QAAO,KAAK,KAAK;AACtC,UAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,EAAG,UAAO,UAAK,KAAK,OAAO,CAAC,MAAlB,mBAAqB,YAAW,KAAK;AAAA,IACvF;AACI,WAAO,KAAK,WAAW;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAME,sBAAsB;AACpB,QAAI,KAAK,WAAW,OAAO,KAAK,QAAQ,OAAO,KAAK,SAAS,UAAU;AACrE,aAAO,KAAK,KAAK,UAAU,KAAK;AAAA,IACtC;AACI,WAAO;AAAA,EACX;AACA;"}