8000 refactor: Removed dependency on lodash.isNumber (#407) · github/optimizely-javascript-sdk@31b5a4d · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 31b5a4d

Browse files
authored
refactor: Removed dependency on lodash.isNumber (optimizely#407)
Summary To reduce package size, we are trying to gradually get rid of lodash library. This PR replaces isNumber function with simple implementation. Test plan: Added unit tests
1 parent ee5a24d commit 31b5a4d

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

packages/optimizely-sdk/lib/utils/fns/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,7 @@ module.exports = {
3434
return uuid.v4();
3535
},
3636
values: require('lodash/values'),
37-
isNumber: require('lodash/isNumber'),
37+
isNumber: function(value) {
38+
return typeof value === 'number';
39+
},
3840
};

packages/optimizely-sdk/lib/utils/fns/index.tests.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,22 @@ describe('lib/utils/fns', function() {
3737
assert.isTrue(fns.isFinite(-Math.pow(2, 53)));
3838
});
3939
});
40+
describe('isNumber', function() {
41+
it('should return true in case of number', function() {
42+
assert.isTrue(fns.isNumber(3));
43+
});
44+
it('should return true in case of value from Number object ', function() {
45+
assert.isTrue(fns.isNumber(Number.MIN_VALUE));
46+
});
47+
it('should return true in case of Infinity ', function() {
48+
assert.isTrue(fns.isNumber(Infinity));
49+
});
50+
it('should return false in case of string', function() {
51+
assert.isFalse(fns.isNumber('3'));
52+
});
53+
it('should return false in case of null', function() {
54+
assert.isFalse(fns.isNumber(null));
55+
});
56+
});
4057
});
4158
});

0 commit comments

Comments
 (0)
0