From 93fac62ca9fb8fb944fe40c9ccf66ac9df264ad8 Mon Sep 17 00:00:00 2001 From: Arne Neumann Date: Mon, 24 Jun 2019 14:47:41 +0200 Subject: [PATCH] support multiple country codes. closes #360 --- import.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/import.js b/import.js index 71155407..e6d38e98 100644 --- a/import.js +++ b/import.js @@ -11,8 +11,20 @@ const resolvers = require( './lib/tasks/resolvers' ); const task = require('./lib/tasks/import'); const validateISOCode = require('./lib/validateISOCode'); -const isocode = validateISOCode( config.imports.geonames.countryCode ); -const filename = isocode === 'ALL' ? 'allCountries' : isocode; -const source = resolvers.selectSource( filename ); +const countrycode = config.imports.geonames.countryCode; -task( source ); +if (typeof countrycode === 'string') { + const isocode = validateISOCode( countrycode ); + const filename = isocode === 'ALL' ? 'allCountries' : isocode; + const source = resolvers.selectSource( filename ); + task( source ); +} else if (Array.isArray(countrycode)) { + for (var i in countrycode) { + const filename = validateISOCode( countrycode[i] ); + const source = resolvers.selectSource( filename ); + task( source ); + } +} else { + throw new Error('imports.geonames.countryCode must be either a string ' + + 'or an array of strings.'); +}