Source: json/responder.js

import Debug from '../debug/debug';

const debug = new Debug({ debug: false, control: 'Responder' });

/**
 * @function responder
 * @parent Json
 * @description a clean Ajax response handler, optionally logged utilizing the Debug feature.
 *
 * @param {{status: string, statusText: string, message: string, rest: any}} arguments Ajax response information to
 * be logged. Only `message` is required, others are optional.
 * @return {Function} cb optional callback function
 */
const responder = ({
    status = '',
    statusText = '',
    message,
    ...rest
}) => {
    const errorDescriptor = status || statusText ? `${status} ${statusText}` : message;
    const moreInfo = rest.length >= 1 ? rest : 'general error';

    debug.error(errorDescriptor, moreInfo);

    return {
        errorDescriptor,
        moreInfo
    };
};

export default responder;