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

chai-bignumber

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chai-bignumber - npm Package Compare versions

Comparing version 2.0.2 to 3.0.0

79

chai-bignumber.js

@@ -1,17 +0,22 @@

module.exports = function(BigNumber){
module.exports = function (BigNumber) {
BigNumber = BigNumber || require('bignumber.js');
var round = BigNumber.prototype.round || BigNumber.prototype.decimalPlaces;
var isEqualTo = BigNumber.prototype.isEqualTo || BigNumber.prototype.equals;
var isGreaterThan = BigNumber.prototype.isGreaterThan || BigNumber.prototype.greaterThan;
var isGreaterThanOrEqualTo = BigNumber.prototype.isGreaterThanOrEqualTo || BigNumber.prototype.greaterThanOrEqualTo;
var isLessThan = BigNumber.prototype.isLessThan || BigNumber.prototype.lessThan;
var isLessThanOrEqualTo = BigNumber.prototype.isLessThanOrEqualTo || BigNumber.prototype.lessThanOrEqualTo;
return function (chai, utils) {
chai.Assertion.addProperty('bignumber', function() {
chai.Assertion.addProperty('bignumber', function () {
utils.flag(this, 'bignumber', true);
});
var isBigNumber = function(object) {
var isBigNumber = function (object) {
return object.isBigNumber ||
object instanceof BigNumber ||
(object.constructor && object.constructor.name === 'BigNumber')
}
object instanceof BigNumber ||
(object.constructor && object.constructor.name === 'BigNumber');
};
var convert = function(value, dp, rm) {
var convert = function (value, dp, rm) {
var number;

@@ -32,3 +37,3 @@

}
number = number.round(dp, rm);
number = round.bind(number)(dp, rm);
}

@@ -39,5 +44,5 @@

var override = function(fn) {
return function (_super) {
return function(value, dp, rm) {
var overwriteMethods = function (names, fn) {
function overwriteMethod(original) {
return function (value, dp, rm) {
if (utils.flag(this, 'bignumber')) {

@@ -48,12 +53,15 @@ var expected = convert(value, dp, rm);

} else {
_super.apply(this, arguments);
original.apply(this, arguments);
}
};
};
}
for (var i = 0; i < names.length; i++) {
chai.Assertion.overwriteMethod(names[i], overwriteMethod);
}
};
// BigNumber.equals
var equals = override(function(expected, actual) {
// BigNumber.isEqualTo
overwriteMethods(['equal', 'equals', 'eq'], function (expected, actual) {
this.assert(
expected.equals(actual),
isEqualTo.bind(expected)(actual),
'expected #{act} to equal #{exp}',

@@ -65,10 +73,7 @@ 'expected #{act} to be different from #{exp}',

});
chai.Assertion.overwriteMethod('equal', equals);
chai.Assertion.overwriteMethod('equals', equals);
chai.Assertion.overwriteMethod('eq', equals);
// BigNumber.greaterThan
var greaterThan = override(function(expected, actual) {
// BigNumber.isGreaterThan
overwriteMethods(['above', 'gt', 'greaterThan'], function (expected, actual) {
this.assert(
actual.greaterThan(expected),
isGreaterThan.bind(actual)(expected),
'expected #{act} to be greater than #{exp}',

@@ -80,10 +85,7 @@ 'expected #{act} to be less than or equal to #{exp}',

});
chai.Assertion.overwriteMethod('above', greaterThan);
chai.Assertion.overwriteMethod('gt', greaterThan);
chai.Assertion.overwriteMethod('greaterThan', greaterThan);
// BigNumber.greaterThanOrEqualTo
var greaterThanOrEqualTo = override(function(expected, actual) {
// BigNumber.isGreaterThanOrEqualTo
overwriteMethods(['least', 'gte'], function (expected, actual) {
this.assert(
actual.greaterThanOrEqualTo(expected),
isGreaterThanOrEqualTo.bind(actual)(expected),
'expected #{act} to be greater than or equal to #{exp}',

@@ -95,9 +97,7 @@ 'expected #{act} to be less than #{exp}',

});
chai.Assertion.overwriteMethod('least', greaterThanOrEqualTo);
chai.Assertion.overwriteMethod('gte', greaterThanOrEqualTo);
// BigNumber.lessThan
var lessThan = override(function(expected, actual) {
// BigNumber.isLessThan
overwriteMethods(['below', 'lt', 'lessThan'], function (expected, actual) {
this.assert(
actual.lessThan(expected),
isLessThan.bind(actual)(expected),
'expected #{act} to be less than #{exp}',

@@ -109,10 +109,7 @@ 'expected #{act} to be greater than or equal to #{exp}',

});
chai.Assertion.overwriteMethod('below', lessThan);
chai.Assertion.overwriteMethod('lt', lessThan);
chai.Assertion.overwriteMethod('lessThan', lessThan);
// BigNumber.lessThanOrEqualTo
var lessThanOrEqualTo = override(function(expected, actual) {
// BigNumber.isLessThanOrEqualTo
overwriteMethods(['most', 'lte'], function (expected, actual) {
this.assert(
actual.lessThanOrEqualTo(expected),
isLessThanOrEqualTo.bind(actual)(expected),
'expected #{act} to be less than or equal to #{exp}',

@@ -124,4 +121,2 @@ 'expected #{act} to be greater than #{exp}',

});
chai.Assertion.overwriteMethod('most', lessThanOrEqualTo);
chai.Assertion.overwriteMethod('lte', lessThanOrEqualTo);

@@ -128,0 +123,0 @@ // BigNumber.isFinite

{
"name": "chai-bignumber",
"version": "2.0.2",
"version": "3.0.0",
"description": "Chai assertions for comparing arbitrary-precision decimals using the bignumber.js library",

@@ -11,6 +11,6 @@ "main": "chai-bignumber.js",

"devDependencies": {
"bignumber.js": "^4.0.2",
"chai": "^3.5.0",
"bignumber.js": "^8.0.1",
"chai": "^4.2.0",
"jshint": "^2.9.2",
"mocha": "^2.5.3"
"mocha": "^5.2.0"
},

@@ -38,3 +38,6 @@ "author": "António Marques <me@antoniomarques.eu>",

"bignumber"
],
"files": [
"chai-bignumber.js"
]
}
}
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