Skip to content

Commit a7410b4

Browse files
authored
Merge branch 'master' into zeeshan/replace_lodash_assign
2 parents 815d181 + 037f466 commit a7410b4

File tree

3 files changed

+40
-6
lines changed

3 files changed

+40
-6
lines changed

packages/optimizely-sdk/lib/core/notification_center/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
var enums = require('../../utils/enums');
1818
var fns = require('../../utils/fns');
19-
var sprintf = require('@optimizely/js-sdk-utils').sprintf;
19+
var jsSdkUtils = require('@optimizely/js-sdk-utils');
2020

2121
var LOG_LEVEL = enums.LOG_LEVEL;
2222
var LOG_MESSAGES = enums.LOG_MESSAGES;
@@ -55,7 +55,7 @@ function NotificationCenter(options) {
5555
*/
5656
NotificationCenter.prototype.addNotificationListener = function (notificationType, callback) {
5757
try {
58-
var isNotificationTypeValid = fns.values(enums.NOTIFICATION_TYPES)
58+
var isNotificationTypeValid = jsSdkUtils.objectValues(enums.NOTIFICATION_TYPES)
5959
.indexOf(notificationType) > -1;
6060
if (!isNotificationTypeValid) {
6161
return -1;
@@ -165,7 +165,7 @@ NotificationCenter.prototype.sendNotifications = function (notificationType, not
165165
try {
166166
callback(notificationData);
167167
} catch (ex) {
168-
this.logger.log(LOG_LEVEL.ERROR, sprintf(LOG_MESSAGES.NOTIFICATION_LISTENER_EXCEPTION, MODULE_NAME, notificationType, ex.message));
168+
this.logger.log(LOG_LEVEL.ERROR, jsSdkUtils.sprintf(LOG_MESSAGES.NOTIFICATION_LISTENER_EXCEPTION, MODULE_NAME, notificationType, ex.message));
169169
}
170170
}.bind(this));
171171
} catch (e) {

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Copyright 2017, 2019, Optimizely
2+
* Copyright 2017, 2019-2020, Optimizely
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -15,6 +15,7 @@
1515
*/
1616
var uuid = require('uuid');
1717
var _isFinite = require('lodash/isFinite');
18+
var keyBy = require('@optimizely/js-sdk-utils').keyBy;
1819
var MAX_NUMBER_LIMIT = Math.pow(2, 53);
1920

2021
module.exports = {
@@ -47,13 +48,17 @@ module.exports = {
4748
isFinite: function(number) {
4849
return _isFinite(number) && Math.abs(number) <= MAX_NUMBER_LIMIT;
4950
},
50-
keyBy: require('lodash/keyBy'),
51+
keyBy: function(arr, key) {
52+
if (!arr) return {};
53+
return keyBy(arr, function(item) {
54+
return item[key];
55+
});
56+
},
5157
forEach: require('lodash/forEach'),
5258
forOwn: require('lodash/forOwn'),
5359
uuid: function() {
5460
return uuid.v4();
5561
},
56-
values: require('lodash/values'),
5762
isNumber: function(value) {
5863
return typeof value === 'number';
5964
},

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

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,35 @@ describe('lib/utils/fns', function() {
3737
assert.isTrue(fns.isFinite(-Math.pow(2, 53)));
3838
});
3939
});
40+
41+
describe('keyBy', function() {
42+
it('should return correct object when a key is provided', function() {
43+
var arr = [
44+
{ key1: 'row1', key2: 'key2row1' },
45+
{ key1: 'row2', key2: 'key2row2' },
46+
{ key1: 'row3', key2: 'key2row3' },
47+
{ key1: 'row4', key2: 'key2row4' },
48+
];
49+
50+
var obj = fns.keyBy(arr, 'key1');
51+
52+
assert.deepEqual(obj, {
53+
row1: { key1: 'row1', key2: 'key2row1' },
54+
row2: { key1: 'row2', key2: 'key2row2' },
55+
row3: { key1: 'row3', key2: 'key2row3' },
56+
row4: { key1: 'row4', key2: 'key2row4' }
57+
});
58+
});
59+
60+
it('should return empty object when first argument is null or undefined', function() {
61+
var obj = fns.keyBy(null, 'key1');
62+
assert.isEmpty(obj);
63+
64+
obj = fns.keyBy(undefined, 'key1');
65+
assert.isEmpty(obj);
66+
});
67+
});
68+
4069
describe('isNumber', function() {
4170
it('should return true in case of number', function() {
4271
assert.isTrue(fns.isNumber(3));

0 commit comments

Comments
 (0)