diff --git a/packages/optimizely-sdk/lib/utils/fns/index.js b/packages/optimizely-sdk/lib/utils/fns/index.js index d066c229d..78912481a 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.js @@ -34,5 +34,7 @@ module.exports = { return uuid.v4(); }, values: require('lodash/values'), - isNumber: require('lodash/isNumber'), + isNumber: function(value) { + return typeof value === 'number'; + }, }; diff --git a/packages/optimizely-sdk/lib/utils/fns/index.tests.js b/packages/optimizely-sdk/lib/utils/fns/index.tests.js index b5aaa66c8..735935794 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.tests.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.tests.js @@ -37,5 +37,22 @@ describe('lib/utils/fns', function() { assert.isTrue(fns.isFinite(-Math.pow(2, 53))); }); }); + describe('isNumber', function() { + it('should return true in case of number', function() { + assert.isTrue(fns.isNumber(3)); + }); + it('should return true in case of value from Number object ', function() { + assert.isTrue(fns.isNumber(Number.MIN_VALUE)); + }); + it('should return true in case of Infinity ', function() { + assert.isTrue(fns.isNumber(Infinity)); + }); + it('should return false in case of string', function() { + assert.isFalse(fns.isNumber('3')); + }); + it('should return false in case of null', function() { + assert.isFalse(fns.isNumber(null)); + }); + }); }); });