From 84b024ae30e6fb7799cbf86e8a9780b02d402b21 Mon Sep 17 00:00:00 2001 From: Zeeshan Ashraf Date: Wed, 19 Feb 2020 23:28:21 -0800 Subject: [PATCH 1/3] replaced lodash.map --- .../optimizely-sdk/lib/utils/fns/index.js | 12 ++++++++++- .../lib/utils/fns/index.tests.js | 21 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/optimizely-sdk/lib/utils/fns/index.js b/packages/optimizely-sdk/lib/utils/fns/index.js index b9b3bf3ec..1df8ccfd0 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.js @@ -33,7 +33,17 @@ module.exports = { filter: require('lodash/filter'), forEach: require('lodash/forEach'), forOwn: require('lodash/forOwn'), - map: require('lodash/map'), + map: function(obj, callback) { + if (Array.isArray(obj)) { + // Use available map method for array + return obj.map(callback) + } else { + // custom implementation for Object type + return Object.keys(obj).map(function(k) { + return callback(obj[k], k); + }); + } + }, uuid: function() { return uuid.v4(); }, diff --git a/packages/optimizely-sdk/lib/utils/fns/index.tests.js b/packages/optimizely-sdk/lib/utils/fns/index.tests.js index fba8890b8..131fb10da 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.tests.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.tests.js @@ -37,5 +37,26 @@ describe('lib/utils/fns', function() { assert.isTrue(fns.isFinite(-Math.pow(2, 53))); }); }); + + describe('map', function() { + it('should work correctly with object', function() { + var obj = { + prop1: 'p1', + prop2: 'p2' + } + var result = fns.map(obj, function(v, k) { + return k + '=' + v; + }).join('&'); + assert.equal('prop1=p1&prop2=p2', result); + }); + + it('should work correctly with array', function() { + var obj = ['item1', 'item2']; + var result = fns.map(obj, function(v) { + return v; + }).join('&'); + assert.equal('item1&item2', result); + }); + }); }); }); \ No newline at end of file From 509add7bf3b87afd1df2a717cf2b66c041cf893a Mon Sep 17 00:00:00 2001 From: Zeeshan Ashraf Date: Thu, 20 Feb 2020 18:23:09 -0800 Subject: [PATCH 2/3] removed fns.map altogether --- .../plugins/event_dispatcher/index.browser.js | 4 ++-- .../optimizely-sdk/lib/utils/fns/index.js | 11 ---------- .../lib/utils/fns/index.tests.js | 21 ------------------- 3 files changed, 2 insertions(+), 34 deletions(-) diff --git a/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js b/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js index f83d6a9bd..dd45ed789 100644 --- a/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js +++ b/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js @@ -68,7 +68,7 @@ module.exports = { }; var toQueryString = function(obj) { - return fns.map(obj, function(v, k) { - return encodeURIComponent(k) + '=' + encodeURIComponent(v); + return Object.keys(obj).map(function(k) { + return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k]); }).join('&'); }; diff --git a/packages/optimizely-sdk/lib/utils/fns/index.js b/packages/optimizely-sdk/lib/utils/fns/index.js index 8d84b76cf..c59e3c292 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.js @@ -32,17 +32,6 @@ module.exports = { keyBy: require('lodash/keyBy'), forEach: require('lodash/forEach'), forOwn: require('lodash/forOwn'), - map: function(obj, callback) { - if (Array.isArray(obj)) { - // Use available map method for array - return obj.map(callback) - } else { - // custom implementation for Object type - return Object.keys(obj).map(function(k) { - return callback(obj[k], k); - }); - } - }, uuid: function() { return uuid.v4(); }, diff --git a/packages/optimizely-sdk/lib/utils/fns/index.tests.js b/packages/optimizely-sdk/lib/utils/fns/index.tests.js index 131fb10da..fba8890b8 100644 --- a/packages/optimizely-sdk/lib/utils/fns/index.tests.js +++ b/packages/optimizely-sdk/lib/utils/fns/index.tests.js @@ -37,26 +37,5 @@ describe('lib/utils/fns', function() { assert.isTrue(fns.isFinite(-Math.pow(2, 53))); }); }); - - describe('map', function() { - it('should work correctly with object', function() { - var obj = { - prop1: 'p1', - prop2: 'p2' - } - var result = fns.map(obj, function(v, k) { - return k + '=' + v; - }).join('&'); - assert.equal('prop1=p1&prop2=p2', result); - }); - - it('should work correctly with array', function() { - var obj = ['item1', 'item2']; - var result = fns.map(obj, function(v) { - return v; - }).join('&'); - assert.equal('item1&item2', result); - }); - }); }); }); \ No newline at end of file From 4f9ed50b8a518ffa0eac2edfa65a2a8568740fda Mon Sep 17 00:00:00 2001 From: Zeeshan Ashraf Date: Thu, 20 Feb 2020 18:25:29 -0800 Subject: [PATCH 3/3] removed unused import --- .../lib/plugins/event_dispatcher/index.browser.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js b/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js index dd45ed789..166ad2ff0 100644 --- a/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js +++ b/packages/optimizely-sdk/lib/plugins/event_dispatcher/index.browser.js @@ -13,8 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -var fns = require('../../utils/fns'); - var POST_METHOD = 'POST'; var GET_METHOD = 'GET'; var READYSTATE_COMPLETE = 4;