You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
export interface ErrorMessages {
|
|
LIMIT_PART_COUNT: 'Too many parts'
|
|
LIMIT_FILE_SIZE: 'File too large'
|
|
LIMIT_FILE_COUNT: 'Too many files'
|
|
LIMIT_FIELD_KEY: 'Field name too long'
|
|
LIMIT_FIELD_VALUE: 'Field value too long'
|
|
LIMIT_FIELD_COUNT: 'Too many fields'
|
|
LIMIT_UNEXPECTED_FILE: 'Unexpected field'
|
|
}
|
|
|
|
const errorMessages: ErrorMessages = {
|
|
LIMIT_PART_COUNT: 'Too many parts',
|
|
LIMIT_FILE_SIZE: 'File too large',
|
|
LIMIT_FILE_COUNT: 'Too many files',
|
|
LIMIT_FIELD_KEY: 'Field name too long',
|
|
LIMIT_FIELD_VALUE: 'Field value too long',
|
|
LIMIT_FIELD_COUNT: 'Too many fields',
|
|
LIMIT_UNEXPECTED_FILE: 'Unexpected field',
|
|
}
|
|
|
|
class MulterError extends Error {
|
|
code: string
|
|
field: string | undefined = undefined
|
|
|
|
constructor(code: keyof ErrorMessages, field?: string) {
|
|
super()
|
|
this.name = this.constructor.name
|
|
this.message = errorMessages[code]
|
|
this.code = code
|
|
if (field) {
|
|
this.field = field
|
|
}
|
|
Error.captureStackTrace(this, this.constructor)
|
|
}
|
|
}
|
|
|
|
export default MulterError
|