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;