forked from Speedup-lib/nodejs-standard-error-lib
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidation_error.ts
More file actions
35 lines (31 loc) · 917 Bytes
/
validation_error.ts
File metadata and controls
35 lines (31 loc) · 917 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import {
BadRequestError,
BadRequestErrorConstructorOptions,
} from './bad_request_error';
export interface ValidationErrorConstructorOptions<
TCauseError extends Error = Error,
> extends BadRequestErrorConstructorOptions<TCauseError> {}
export class ValidationError<
TValidationError = any,
TCause extends Error = Error,
> extends BadRequestError<TCause> {
/**
*
* @param validationError Validation error
* @param message Custom error message
* @param opts Extra options
*/
constructor(
readonly validationError: TValidationError,
message?: string,
opts?: ValidationErrorConstructorOptions<TCause>,
) {
message = message ?? 'ValidationError';
super(message, {
cause: opts?.cause,
code: opts?.code ?? 'E_VALIDATION_FAILED',
});
Error.captureStackTrace(this, ValidationError);
Object.setPrototypeOf(this, ValidationError.prototype);
}
}