diff --git a/helper/geojsonify.js b/helper/geojsonify.js index ca499613..d01b6f36 100644 --- a/helper/geojsonify.js +++ b/helper/geojsonify.js @@ -1,7 +1,7 @@ var GeoJSON = require('geojson'), extent = require('geojson-extent'), - outputGenerator = require('./outputGenerator'), + labelGenerator = require('./labelGenerator'), logger = require('pelias-logger').get('api'), type_mapping = require('./type_mapping'), _ = require('lodash'); @@ -116,7 +116,7 @@ function addDetails(src, dst) { * @param {object} dst */ function addLabel(src, dst) { - dst.label = outputGenerator(src); + dst.label = labelGenerator(src); } /** diff --git a/helper/labelGenerator.js b/helper/labelGenerator.js new file mode 100644 index 00000000..1938232d --- /dev/null +++ b/helper/labelGenerator.js @@ -0,0 +1,35 @@ + +var _ = require('lodash'), + check = require('check-types'), + schemas = require('./labelSchema.json'); + +module.exports = function( record ){ + + var labelParts = [ record.name.default ]; + + var schema = schemas.default; + + if (record.country_a && record.country_a.length && schemas[record.country_a]) { + schema = schemas[record.country_a]; + } + + var buildOutput = function(parts, schemaArr, record) { + for (var i=0; i