lib/error/index.js
function report(error, additionalTags, extra) {
    let sentTags = tags ? [].concat(tags) : [];

    if (additionalTags) {
        sentTags = sentTags.concat(additionalTags);
    }

    return Promise.resolve(sentTags).then(function(t) {
        // Need this wrapping so that our internal implementation can safely throw errors
        return new Promise(function(resolve) {
            const sentError = error.nativeError ? error.nativeError : error;

            Raygun.send(sentError, _.merge(extra || {}, error.extra), function(res) {
                // No response === stubbed Raygun
                if (res) {
                    if (res.statusCode !== 202) {
                        console.log('Failed to report error to Raygun', res); //eslint-disable-line no-console
                    } else {
                        console.log('Reported error to Raygun', error); //eslint-disable-line no-console
                    }
                }

                // Resolve with the error, so that our caller can finish deal
                // with it further
                resolve(error);
            }, error.request, t);
        });
    }).catch(function(err) {
        // Return the same error that we were supposed to report
        // and simply log out the error that actually occurred during reporting
        console.error(err); //eslint-disable-line no-console
        return error;
    });
}
function report(error, additionalTags, extra) {
    let sentTags = tags ? [].concat(tags) : [];

    if (additionalTags) {
        sentTags = sentTags.concat(additionalTags);
    }

    return Promise.resolve(sentTags).then(function(t) {
        // Need this wrapping so that our internal implementation can safely throw errors
        return new Promise(function(resolve) {
            const sentError = error.nativeError ? error.nativeError : error;

            Raygun.send(sentError, _.merge(extra || {}, error.extra), function(res) {
                // No response === stubbed Raygun
                if (res) {
                    if (res.statusCode !== 202) {
                        console.log('Failed to report error to Raygun', res); //eslint-disable-line no-console
                    } else {
                        console.log('Reported error to Raygun', error); //eslint-disable-line no-console
                    }
                }

                // Resolve with the error, so that our caller can finish deal
                // with it further
                resolve(error);
            }, error.request, t);
        });
    }).catch(function(err) {
        // Return the same error that we were supposed to report
        // and simply log out the error that actually occurred during reporting
        console.error(err); //eslint-disable-line no-console
        return error;
    });
}
function report ( error , additionalTags , extra ) { let sentTags = tags ? [ ] . concat ( tags ) : [ ] ; if ( additionalTags ) { sentTags = sentTags . concat ( additionalTags ) ; } return Promise . resolve ( sentTags ) . then ( function ( t ) { // Need this wrapping so that our internal implementation can safely throw errors return new Promise ( function ( resolve ) { const sentError = error . nativeError ? error . nativeError : error ; Raygun . send ( sentError , _ . merge ( extra || { } , error . extra ) , function ( res ) { // No response === stubbed Raygun if ( res ) { if ( res . statusCode !== 202 ) { console . log ( 'Failed to report error to Raygun' , res ) ; //eslint-disable-line no-console } else { console . log ( 'Reported error to Raygun' , error ) ; //eslint-disable-line no-console } } // Resolve with the error, so that our caller can finish deal // with it further resolve ( error ) ; } , error . request , t ) ; } ) ; } ) . catch ( function ( err ) { // Return the same error that we were supposed to report // and simply log out the error that actually occurred during reporting console . error ( err ) ; //eslint-disable-line no-console return error ; } ) ; }
Report an error, with optional additional tags

@param error - error to report
@param additionalTags - optional additional tags to report, along with the
default set of tags set on the module
@param extra - optional extra metadata to include in the error report
@returns promise which resolves into the passed in error
Report an error with optional additional tags