diff --git a/src/resolvers-cassandra/Tiles/queries.js b/src/resolvers-cassandra/Tiles/queries.js index 275ef3d..79d310a 100644 --- a/src/resolvers-cassandra/Tiles/queries.js +++ b/src/resolvers-cassandra/Tiles/queries.js @@ -1,26 +1,11 @@ 'use strict'; const Promise = require('promise'); +const geotile = require('geotile'); const cassandraConnector = require('../../clients/cassandra/CassandraConnector'); const featureServiceClient = require('../../clients/locations/FeatureServiceClient'); const withRunTime = require('../shared').withRunTime; -const geotile = require('geotile'); - -function makeMap(iterable, keyFunc, valueFunc) { - const map = {}; - iterable.forEach(item => { - const key = keyFunc(item); - const value = valueFunc(item); - map[key] = value; - }); - return map; -} - -function makeSet(iterable, func) { - const set = new Set(); - iterable.forEach(item => set.add(func(item))); - return set; -} +const { makeMap, makeSet } = require('../../utils/collections'); function makeDefaultFilters(args) { let params = []; diff --git a/src/utils/collections.js b/src/utils/collections.js new file mode 100644 index 0000000..f07e44e --- /dev/null +++ b/src/utils/collections.js @@ -0,0 +1,20 @@ +function makeMap(iterable, keyFunc, valueFunc) { + const map = {}; + iterable.forEach(item => { + const key = keyFunc(item); + const value = valueFunc(item); + map[key] = value; + }); + return map; +} + +function makeSet(iterable, func) { + const set = new Set(); + iterable.forEach(item => set.add(func(item))); + return set; +} + +module.exports = { + makeMap: makeMap, + makeSet: makeSet +};