diff --git a/src/asserts/big-number-assert.js b/src/asserts/big-number-assert.js index 2b88777..c7b3cb7 100644 --- a/src/asserts/big-number-assert.js +++ b/src/asserts/big-number-assert.js @@ -26,8 +26,6 @@ module.exports = function bigNumberAssert({ validateSignificantDigits = true } = throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Class name. */ @@ -39,7 +37,11 @@ module.exports = function bigNumberAssert({ validateSignificantDigits = true } = */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + const number = new BigNumber(value); if (Number.isNaN(number.toNumber())) { @@ -51,6 +53,8 @@ module.exports = function bigNumberAssert({ validateSignificantDigits = true } = } throw new Violation(this, value); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true; diff --git a/src/asserts/big-number-equal-to-assert.js b/src/asserts/big-number-equal-to-assert.js index e9fd4b1..533ecdc 100644 --- a/src/asserts/big-number-equal-to-assert.js +++ b/src/asserts/big-number-equal-to-assert.js @@ -28,8 +28,6 @@ module.exports = function bigNumberEqualToAssert(value, { validateSignificantDig throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Extend `Assert` with `BigNumberAssert`. */ @@ -55,7 +53,11 @@ module.exports = function bigNumberEqualToAssert(value, { validateSignificantDig */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + Assert.bigNumber({ validateSignificantDigits }).validate(value); const number = new BigNumber(value); @@ -72,6 +74,8 @@ module.exports = function bigNumberEqualToAssert(value, { validateSignificantDig } throw new Violation(this, value, context); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true; diff --git a/src/asserts/big-number-greater-than-assert.js b/src/asserts/big-number-greater-than-assert.js index 6913629..1cf3f7f 100644 --- a/src/asserts/big-number-greater-than-assert.js +++ b/src/asserts/big-number-greater-than-assert.js @@ -28,8 +28,6 @@ module.exports = function bigNumberGreaterThanAssert(threshold, { validateSignif throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Extend `Assert` with `BigNumberAssert`. */ @@ -55,7 +53,11 @@ module.exports = function bigNumberGreaterThanAssert(threshold, { validateSignif */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + Assert.bigNumber({ validateSignificantDigits }).validate(value); const number = new BigNumber(value); @@ -72,6 +74,8 @@ module.exports = function bigNumberGreaterThanAssert(threshold, { validateSignif } throw new Violation(this, value, context); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true; diff --git a/src/asserts/big-number-greater-than-or-equal-to-assert.js b/src/asserts/big-number-greater-than-or-equal-to-assert.js index c44d390..e0ff094 100644 --- a/src/asserts/big-number-greater-than-or-equal-to-assert.js +++ b/src/asserts/big-number-greater-than-or-equal-to-assert.js @@ -28,8 +28,6 @@ module.exports = function bigNumberGreaterThanOrEqualToAssert(threshold, { valid throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Extend `Assert` with `BigNumberAssert`. */ @@ -54,7 +52,11 @@ module.exports = function bigNumberGreaterThanOrEqualToAssert(threshold, { valid */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + Assert.bigNumber({ validateSignificantDigits }).validate(value); const number = new BigNumber(value); @@ -71,6 +73,8 @@ module.exports = function bigNumberGreaterThanOrEqualToAssert(threshold, { valid } throw new Violation(this, value, context); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true; diff --git a/src/asserts/big-number-less-than-assert.js b/src/asserts/big-number-less-than-assert.js index bbef1d5..46adec0 100644 --- a/src/asserts/big-number-less-than-assert.js +++ b/src/asserts/big-number-less-than-assert.js @@ -28,8 +28,6 @@ module.exports = function bigNumberLessThan(threshold, { validateSignificantDigi throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Extend `Assert` with `BigNumberAssert`. */ @@ -55,7 +53,11 @@ module.exports = function bigNumberLessThan(threshold, { validateSignificantDigi */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + Assert.bigNumber({ validateSignificantDigits }).validate(value); const number = new BigNumber(value); @@ -72,6 +74,8 @@ module.exports = function bigNumberLessThan(threshold, { validateSignificantDigi } throw new Violation(this, value, context); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true; diff --git a/src/asserts/big-number-less-than-or-equal-to-assert.js b/src/asserts/big-number-less-than-or-equal-to-assert.js index 1dd7276..e5f08e2 100644 --- a/src/asserts/big-number-less-than-or-equal-to-assert.js +++ b/src/asserts/big-number-less-than-or-equal-to-assert.js @@ -28,8 +28,6 @@ module.exports = function bigNumberLessThanOrEqualToAssert(threshold, { validate throw new Error('BigNumber is not installed'); } - BigNumber.DEBUG = !!validateSignificantDigits; - /** * Extend `Assert` with `BigNumberAssert`. */ @@ -55,7 +53,11 @@ module.exports = function bigNumberLessThanOrEqualToAssert(threshold, { validate */ this.validate = value => { + const bigNumberDebug = BigNumber.DEBUG; + try { + BigNumber.DEBUG = !!validateSignificantDigits; + Assert.bigNumber({ validateSignificantDigits }).validate(value); const number = new BigNumber(value); @@ -72,6 +74,8 @@ module.exports = function bigNumberLessThanOrEqualToAssert(threshold, { validate } throw new Violation(this, value, context); + } finally { + BigNumber.DEBUG = bigNumberDebug; } return true;