From 5d632d936eab70d28e69b7e3226a4ecd62df8eb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 15 Sep 2017 14:04:09 +0200 Subject: [PATCH 1/3] Use ES6 class syntax --- lib/cartodb/models/dataview/factory.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/cartodb/models/dataview/factory.js b/lib/cartodb/models/dataview/factory.js index 50814f23..70063107 100644 --- a/lib/cartodb/models/dataview/factory.js +++ b/lib/cartodb/models/dataview/factory.js @@ -1,12 +1,14 @@ var dataviews = require('./'); -var DataviewFactory = { - dataviews: Object.keys(dataviews).reduce(function(allDataviews, dataviewClassName) { - allDataviews[dataviewClassName.toLowerCase()] = dataviews[dataviewClassName]; - return allDataviews; - }, {}), +module.exports = class DataviewFactory { + static get dataviews() { + return Object.keys(dataviews).reduce((allDataviews, dataviewClassName) => { + allDataviews[dataviewClassName.toLowerCase()] = dataviews[dataviewClassName]; + return allDataviews; + }, {}); + } - getDataview: function(query, dataviewDefinition) { + static getDataview (query, dataviewDefinition) { var type = dataviewDefinition.type; if (!this.dataviews[type]) { throw new Error('Invalid dataview type: "' + type + '"'); @@ -14,5 +16,3 @@ var DataviewFactory = { return new this.dataviews[type](query, dataviewDefinition.options, dataviewDefinition.sql); } }; - -module.exports = DataviewFactory; From d5d9044686a1ee5eaa01ced5e013029f5b61d63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 15 Sep 2017 14:05:23 +0200 Subject: [PATCH 2/3] Use const keyword to declare variables --- lib/cartodb/models/dataview/factory.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/cartodb/models/dataview/factory.js b/lib/cartodb/models/dataview/factory.js index 70063107..6ad65312 100644 --- a/lib/cartodb/models/dataview/factory.js +++ b/lib/cartodb/models/dataview/factory.js @@ -1,4 +1,4 @@ -var dataviews = require('./'); +const dataviews = require('./'); module.exports = class DataviewFactory { static get dataviews() { @@ -9,7 +9,7 @@ module.exports = class DataviewFactory { } static getDataview (query, dataviewDefinition) { - var type = dataviewDefinition.type; + const type = dataviewDefinition.type; if (!this.dataviews[type]) { throw new Error('Invalid dataview type: "' + type + '"'); } From ef5049f28f5a57e9610e2c8a50e99b66280de61b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 15 Sep 2017 14:07:46 +0200 Subject: [PATCH 3/3] Use destructuring assignment to improve readability --- lib/cartodb/models/dataview/factory.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/cartodb/models/dataview/factory.js b/lib/cartodb/models/dataview/factory.js index 6ad65312..fa55641c 100644 --- a/lib/cartodb/models/dataview/factory.js +++ b/lib/cartodb/models/dataview/factory.js @@ -9,10 +9,12 @@ module.exports = class DataviewFactory { } static getDataview (query, dataviewDefinition) { - const type = dataviewDefinition.type; + const { type, options, sql } = dataviewDefinition; + if (!this.dataviews[type]) { throw new Error('Invalid dataview type: "' + type + '"'); } - return new this.dataviews[type](query, dataviewDefinition.options, dataviewDefinition.sql); + + return new this.dataviews[type](query, options, sql); } };