New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

error-cat

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

error-cat - npm Package Compare versions

Comparing version 1.1.1 to 1.2.0

20

index.js

@@ -45,2 +45,4 @@ 'use strict';

* Factory method that creates and logs new boom errors.
* Does NOT report errors - use createAndReport
* @param {Number} code HTTP error code for the error
* @param {string} message Message describing the error.

@@ -57,2 +59,16 @@ * @param {mixed} data Additional data for the error.

/**
* Factory method to create AND report boom errors.
* Logs with debug AND reports error to rollbar (if able)
* @param {Number} code HTTP error code for the error
* @param {string} message Message describing the error.
* @param {mixed} data Additional data for the error.
* @return {Error} The error object as specified by the parameters.
*/
ErrorCat.prototype.createAndReport = function (code, message, data) {
var err = this.create(code, message, data); // calls this.log
this.report(err);
return err;
};
/**
* Responder that sends error information along with a 500 status code.

@@ -76,5 +92,6 @@ * @param {Error} err Error to use for the response.

};
/* jslint unused:true */
/**
* Logs errors via debug, and reports them to rollbar.
* Logs errors via debug
* @param {Error} err The error to log.

@@ -84,3 +101,2 @@ */

this.debug(err);
this.report(err);
};

@@ -87,0 +103,0 @@

6

package.json
{
"name": "error-cat",
"version": "1.1.1",
"version": "1.2.0",
"description": "A friendly feline companion that helps you create, track, and report errors.",

@@ -12,3 +12,3 @@ "main": "index.js",

"lint": "jshint index.js",
"unit": "lab -v -c -a code test/*",
"unit": "lab -v -c -a code",
"test": "npm run lint && npm run unit"

@@ -37,3 +37,3 @@ },

"dependencies": {
"101": "^0.16.1",
"101": "^0.18.0",
"auto-debug": "^1.0.1",

@@ -40,0 +40,0 @@ "boom": "^2.7.1",

@@ -121,2 +121,3 @@ 'use strict';

sinon.stub(error, 'log');
sinon.stub(error, 'report');
sinon.stub(Boom, 'create');

@@ -128,2 +129,3 @@ done();

error.log.restore();
error.report.restore();
Boom.create.restore();

@@ -151,4 +153,54 @@ done();

});
it('should NOT send the error to rollbar', function(done) {
var err = error.create(400, 'Message', {});
expect(error.report.notCalled).to.be.true();
done();
});
}); // end 'create'
describe('createAndReport', function() {
var error = new ErrorCat();
beforeEach(function (done) {
sinon.stub(error, 'log');
sinon.stub(error, 'report');
sinon.stub(Boom, 'create');
done();
});
afterEach(function (done) {
error.log.restore();
error.report.restore();
Boom.create.restore();
done();
});
it('should create a new boom error', function(done) {
var code = 400;
var message = 'Error Message';
var data = { key: 'value' };
var expected = new Error('Errorz');
Boom.create.returns(expected);
expect(error.createAndReport(code, message, data)).to.equal(expected);
expect(Boom.create.calledOnce).to.be.true();
expect(Boom.create.calledWith(code, message, data)).to.be.true();
done();
});
it('should log the error', function(done) {
var err = error.createAndReport(400, 'Message', {});
expect(error.log.calledOnce).to.be.true();
expect(error.log.calledWith(err)).to.be.true();
done();
});
it('should send the error to rollbar', function(done) {
var err = error.createAndReport(400, 'Message', {});
expect(error.report.calledOnce).to.be.true();
expect(error.report.calledWith(err)).to.be.true();
done();
});
}); // end 'createAndReport'
describe('respond', function() {

@@ -208,7 +260,6 @@ var error = new ErrorCat();

it('should report errors', function(done) {
it('should NOT report errors', function(done) {
var err = new Error('Example');
error.log(err);
expect(error.report.calledOnce).to.be.true();
expect(error.report.calledWith(err)).to.be.true();
expect(error.report.notCalled).to.be.true();
done();

@@ -215,0 +266,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc