api-res-formatter
Version:
A standardized API response formatter built to ensure consistency and clarity in application responses. This formatter wraps success and error responses in a predictable structure, making it easier for clients and developers to handle API interactions eff
51 lines (47 loc) • 1.68 kB
JavaScript
/**
* Formats a success response.
* @param {object} data - The data to be returned in the success response.
* @param {string} [message='Request was successful'] - Optional success message.
* @returns {object} - The formatted success response.
*/
function success(data = {}, message = 'Request was successful') {
return {
status: 'success',
message,
data
};
}
/**
* Formats an error response.
* @param {string} message - Error message to be returned.
* @param {number} [statusCode=400] - HTTP status code for the error.
* @param {object|null} [errors=null] - Optional field to return validation errors or additional info.
* @returns {object} - The formatted error response.
*/
function error(message = 'An error occurred', statusCode = 400, errors = null) {
return {
status: 'error',
message,
code: statusCode,
errors: errors || {}
};
}
/**
* Formats a general API response.
* @param {boolean} isSuccess - Whether the response is a success or an error.
* @param {object} data - Data to return for success.
* @param {string} message - Message to include in the response.
* @param {number} [statusCode=200] - HTTP status code.
* @param {object|null} [errors=null] - Optional field for error details.
* @returns {object} - The formatted API response.
*/
function formatResponse(isSuccess, data, message, statusCode = 200, errors = null) {
return isSuccess
? success(data, message)
: error(message, statusCode, errors);
}
module.exports = {
success,
error,
formatResponse
};