40 lines
873 B
JavaScript
40 lines
873 B
JavaScript
/**
|
|
* @typedef MedusaErrorType
|
|
*
|
|
*/
|
|
export const MedusaErrorTypes = {
|
|
/** Errors stemming from the database */
|
|
DB_ERROR: "database_error",
|
|
INVALID_ARGUMENT: "invalid_argument",
|
|
INVALID_DATA: "invalid_data",
|
|
NOT_FOUND: "not_found",
|
|
NOT_ALLOWED: "not_allowed"
|
|
}
|
|
|
|
/**
|
|
* Standardized error to be used across Medusa project.
|
|
* @extends Error
|
|
*/
|
|
class MedusaError extends Error {
|
|
/**
|
|
* Creates a standardized error to be used across Medusa project.
|
|
* @param type {MedusaErrorType} - the type of error.
|
|
* @param params {Array} - Error params.
|
|
*/
|
|
constructor(name, message, ...params) {
|
|
super(...params)
|
|
|
|
if (Error.captureStackTrace) {
|
|
Error.captureStackTrace(this, MedusaError)
|
|
}
|
|
|
|
this.name = name
|
|
this.message = message
|
|
this.date = new Date()
|
|
}
|
|
}
|
|
|
|
MedusaError.Types = MedusaErrorTypes
|
|
|
|
export default MedusaError
|