UNPKG

@ingeze/api-error

Version:

A TypeScript library for handling HTTP errors in Express, NestJS, and Fastify APIs.

282 lines 8.59 kB
/** * Defines custom error classes for handling various bad request scenarios. * * Each class extends `BadRequestError`, which itself extends `ErrorHandler`. * These errors represent specific client-side validation failures and provide * descriptive messages and error types for easier error handling and debugging. * * @module errors/bad-request-error * * Response for BadRequestError: * ```json * { * "success": false, * "message": "Bad request", * "statusCode": 400, * "type": "BAD_REQUEST", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional error context, set by the user when throwing the error. */ import type { BadRequestErrorType } from '../types/index.js'; import { ErrorHandler } from './error-handler.js'; /** * Represents a generic bad request error (HTTP 400). * * @extends ErrorHandler * * Response: * ```json * { * "success": false, * "message": "Bad request", * "statusCode": 400, * "type": "BAD_REQUEST", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional error context, set by the user when throwing the error. */ export declare class BadRequestError extends ErrorHandler { /** * Creates a new BadRequestError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); /** * Creates a new BadRequestError instance with a message and type. * * @param {string=} message - Error message. * @param {BadRequestErrorType=} type - Specific bad request error type. * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(message?: string, type?: BadRequestErrorType, details?: Record<string, unknown>); } /** * Error for missing or invalid user data in the request. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Missing required user information in the request", * "statusCode": 400, * "type": "INVALID_USER_DATA", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the missing or invalid user data, set by the user. */ export declare class InvalidUserDataError extends BadRequestError { /** * Creates a new InvalidUserDataError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing email field. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid email format or missing email field", * "statusCode": 400, * "type": "INVALID_EMAIL", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the email validation error, set by the user. */ export declare class InvalidEmailError extends BadRequestError { /** * Creates a new InvalidEmailError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing product data. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing product details", * "statusCode": 400, * "type": "INVALID_PRODUCT_DATA", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the product data error, set by the user. */ export declare class InvalidProductDataError extends BadRequestError { /** * Creates a new InvalidProductDataError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing post data. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing post data", * "statusCode": 400, * "type": "INVALID_POST_DATA", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the post data error, set by the user. */ export declare class InvalidPostData extends BadRequestError { /** * Creates a new InvalidPostData instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing comment data. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing comment data", * "statusCode": 400, * "type": "INVALID_COMMENT_DATA", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the comment data error, set by the user. */ export declare class InvalidCommentDataError extends BadRequestError { /** * Creates a new InvalidCommentDataError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing category information. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing category information", * "statusCode": 400, * "type": "INVALID_CATEGORY_DATA", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the category data error, set by the user. */ export declare class InvalidCategoryDataError extends BadRequestError { /** * Creates a new InvalidCategoryDataError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing file in the request. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing file in the request", * "statusCode": 400, * "type": "INVALID_FILE", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the file error, set by the user. */ export declare class InvalidFileError extends BadRequestError { /** * Creates a new InvalidFileError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing image data. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing image data", * "statusCode": 400, * "type": "INVALID_IMAGE", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the image data error, set by the user. */ export declare class InvalidImageError extends BadRequestError { /** * Creates a new InvalidImageError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } /** * Error for invalid or missing address information. * * @extends BadRequestError * * Response: * ```json * { * "success": false, * "message": "Invalid or missing address information", * "statusCode": 400, * "type": "INVALID_ADDRESS", * "details": {} // Optional, provided by the user with extra error context * } * ``` * - `details`: Optional object with additional information about the address error, set by the user. */ export declare class InvalidAddressError extends BadRequestError { /** * Creates a new InvalidAddressError instance. * * @param {Record<string, unknown>=} details - Optional additional error details. */ constructor(details?: Record<string, unknown>); } //# sourceMappingURL=bad-request-error.d.ts.map