From 3e17ad9b74af810fbd689f98160503a79b819fab Mon Sep 17 00:00:00 2001 From: Alex Ehrnschwender Date: Wed, 23 Jul 2014 23:45:18 -0700 Subject: [PATCH 1/3] Fixes #2 - replaces all instances of for-in with Object.keys iter --- lib/musicbrainz.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/musicbrainz.js b/lib/musicbrainz.js index c255752..973c0ee 100644 --- a/lib/musicbrainz.js +++ b/lib/musicbrainz.js @@ -548,8 +548,9 @@ var Resource = function (mbid) { var self = this; this._lookup(this.id, linkedEntities, force, function (err, resource) { if ( !err ) { - for (i in self) { - self[i] = resource[i]; + for (var i = 0; i < Object.keys(self).length; i++) { + var key = Object.keys(self)[i]; + self[key] = resource[key]; } } @@ -575,9 +576,9 @@ var Resource = function (mbid) { }; this.readData = function (linkedEntities, data) { - for (var i in linkedEntities) { - if (typeof this._readDataFunctions[linkedEntities[i]] === 'function') { - this._readDataFunctions[linkedEntities[i]](data); + for(var l = 0; l < Object.keys(linkedEntities).length; l++){ + if (typeof this._readDataFunctions[linkedEntities[l]] === 'function') { + this._readDataFunctions[linkedEntities[l]](data); } } }; @@ -836,7 +837,8 @@ mb.search = function(resource, query, filter, force, callback){ uri = mbBaseURI + resource + '?query='; if(filter instanceof Object) { - for(var key in filter){ + for(var k = 0; k < Object.keys(filter).length; k++){ + var key = Object.keys(filter)[k]; filterArr.push(key + ':' + encodeURIComponent(filter[key])); } filterStr = filterArr.join( encodeURIComponent(' AND ') ); From 5c5e48df7a2a35fe58fec1a01926937e0fc01560 Mon Sep 17 00:00:00 2001 From: Alex Ehrnschwender Date: Wed, 23 Jul 2014 23:47:55 -0700 Subject: [PATCH 2/3] fixes linkedEntity key displacement --- lib/musicbrainz.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/musicbrainz.js b/lib/musicbrainz.js index 973c0ee..47d2f51 100644 --- a/lib/musicbrainz.js +++ b/lib/musicbrainz.js @@ -577,8 +577,9 @@ var Resource = function (mbid) { this.readData = function (linkedEntities, data) { for(var l = 0; l < Object.keys(linkedEntities).length; l++){ - if (typeof this._readDataFunctions[linkedEntities[l]] === 'function') { - this._readDataFunctions[linkedEntities[l]](data); + var linkedEntity = Object.keys(linkedEntities)[l]; + if (typeof this._readDataFunctions[linkedEntities[linkedEntity]] === 'function') { + this._readDataFunctions[linkedEntities[linkedEntity]](data); } } }; From 2e179b8db826812ed598eda4dc2bda6df5fa2289 Mon Sep 17 00:00:00 2001 From: Alex Ehrnschwender Date: Wed, 23 Jul 2014 23:50:04 -0700 Subject: [PATCH 3/3] fix spacing --- lib/musicbrainz.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/musicbrainz.js b/lib/musicbrainz.js index 47d2f51..9bd4dde 100644 --- a/lib/musicbrainz.js +++ b/lib/musicbrainz.js @@ -549,7 +549,7 @@ var Resource = function (mbid) { this._lookup(this.id, linkedEntities, force, function (err, resource) { if ( !err ) { for (var i = 0; i < Object.keys(self).length; i++) { - var key = Object.keys(self)[i]; + var key = Object.keys(self)[i]; self[key] = resource[key]; } } @@ -577,7 +577,7 @@ var Resource = function (mbid) { this.readData = function (linkedEntities, data) { for(var l = 0; l < Object.keys(linkedEntities).length; l++){ - var linkedEntity = Object.keys(linkedEntities)[l]; + var linkedEntity = Object.keys(linkedEntities)[l]; if (typeof this._readDataFunctions[linkedEntities[linkedEntity]] === 'function') { this._readDataFunctions[linkedEntities[linkedEntity]](data); } @@ -839,7 +839,7 @@ mb.search = function(resource, query, filter, force, callback){ if(filter instanceof Object) { for(var k = 0; k < Object.keys(filter).length; k++){ - var key = Object.keys(filter)[k]; + var key = Object.keys(filter)[k]; filterArr.push(key + ':' + encodeURIComponent(filter[key])); } filterStr = filterArr.join( encodeURIComponent(' AND ') );