diff --git a/format/date.js b/format/date.js index f3c7947b..37e910fa 100644 --- a/format/date.js +++ b/format/date.js @@ -2,8 +2,8 @@ const moment = require('moment-timezone') -const formatDate = (tz, when) => { - moment(when).tz(tz).format('YYYYMMDD') +const formatDate = (profile, when) => { + return moment(when).tz(profile.timezone).format('YYYYMMDD') } module.exports = formatDate diff --git a/format/time.js b/format/time.js index 8d25907f..348f402d 100644 --- a/format/time.js +++ b/format/time.js @@ -2,8 +2,8 @@ const moment = require('moment-timezone') -const formatTime = (tz, when) => { - return moment(when).tz(tz).format('HHmmss') +const formatTime = (profile, when) => { + return moment(when).tz(profile.timezone).format('HHmmss') } module.exports = formatTime diff --git a/index.js b/index.js index 607180b6..47aba5f9 100644 --- a/index.js +++ b/index.js @@ -1,55 +1,8 @@ 'use strict' -const parseDateTime = require('./parse/date-time') -const parseDeparture = require('./parse/departure') -const parseJourney = require('./parse/journey') -const parseLine = require('./parse/line') -const parseLocation = require('./parse/location') -const parseMovement = require('./parse/movement') -const parseNearby = require('./parse/nearby') -const parseOperator = require('./parse/operator') -const parseRemark = require('./parse/remark') -const parseStopover = require('./parse/stopover') - -const formatAddress = require('./format/address') -const formatCoord = require('./format/coord') -const formatDate = require('./format/date') -const filters = require('./format/filters') -const formatLocationFilter = require('./format/location-filter') -const formatPoi = require('./format/poi') -const formatStation = require('./format/station') -const formatTime = require('./format/time') - +const defaultProfile = require('./lib/default-profile') const request = require('./lib/request') -const id = x => x - -// todo: find out which are actually necessary -const defaultProfile = { - transformReqBody: id, - transformReq: id, - - parseDateTime, - parseDeparture, - parseJourney, - parseLine, - parseLocation, - parseMovement, - parseNearby, - parseOperator, - parseRemark, - parseStopover, - - formatAddress, - formatCoord, - formatDate, - filters, - formatLocationFilter, - formatPoi, - formatStation, - formatTime -} - const createClient = (profile) => { profile = Object.assign({}, defaultProfile, profile) if ('string' !== typeof profile.timezone) { @@ -60,4 +13,4 @@ const createClient = (profile) => { return client } -module.exports = createRequest +module.exports = createClient diff --git a/lib/default-profile.js b/lib/default-profile.js new file mode 100644 index 00000000..66995dba --- /dev/null +++ b/lib/default-profile.js @@ -0,0 +1,51 @@ +'use strict' + +const parseDateTime = require('../parse/date-time') +const parseDeparture = require('../parse/departure') +const parseJourney = require('../parse/journey') +const parseLine = require('../parse/line') +const parseLocation = require('../parse/location') +const parseMovement = require('../parse/movement') +const parseNearby = require('../parse/nearby') +const parseOperator = require('../parse/operator') +const parseRemark = require('../parse/remark') +const parseStopover = require('../parse/stopover') + +const formatAddress = require('../format/address') +const formatCoord = require('../format/coord') +const formatDate = require('../format/date') +const filters = require('../format/filters') +const formatLocationFilter = require('../format/location-filter') +const formatPoi = require('../format/poi') +const formatStation = require('../format/station') +const formatTime = require('../format/time') + +const id = x => x + +// todo: find out which are actually necessary +const defaultProfile = { + transformReqBody: id, + transformReq: id, + + parseDateTime, + parseDeparture, + parseJourney, + parseLine, + parseLocation, + parseMovement, + parseNearby, + parseOperator, + parseRemark, + parseStopover, + + formatAddress, + formatCoord, + formatDate, + filters, + formatLocationFilter, + formatPoi, + formatStation, + formatTime +} + +module.exports = defaultProfile