2016-06-22 01:39:04 +02:00
|
|
|
'use strict'
|
|
|
|
|
2017-11-12 01:23:34 +01:00
|
|
|
const parseDateTime = require('./parse/date-time')
|
|
|
|
const parseDeparture = require('./parse/departure')
|
|
|
|
const parseJourney = require('./parse/journey')
|
2017-11-11 22:35:41 +01:00
|
|
|
const parseLine = require('./parse/line')
|
2017-11-12 01:23:34 +01:00
|
|
|
const parseLocation = require('./parse/location')
|
|
|
|
const parseMovement = require('./parse/movement')
|
|
|
|
const parseNearby = require('./parse/nearby')
|
2017-11-11 22:35:41 +01:00
|
|
|
const parseOperator = require('./parse/operator')
|
2017-11-12 01:23:34 +01:00
|
|
|
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')
|
|
|
|
|
2017-11-11 22:49:04 +01:00
|
|
|
const request = require('./lib/request')
|
2016-06-22 02:09:02 +02:00
|
|
|
|
2017-11-11 22:49:04 +01:00
|
|
|
const id = x => x
|
2016-06-22 02:09:02 +02:00
|
|
|
|
2017-11-12 01:23:34 +01:00
|
|
|
// todo: find out which are actually necessary
|
2017-11-11 22:49:04 +01:00
|
|
|
const defaultProfile = {
|
|
|
|
transformReqBody: id,
|
|
|
|
transformReq: id,
|
2017-11-12 01:23:34 +01:00
|
|
|
|
|
|
|
parseDateTime,
|
|
|
|
parseDeparture,
|
|
|
|
parseJourney,
|
|
|
|
parseLine,
|
|
|
|
parseLocation,
|
|
|
|
parseMovement,
|
|
|
|
parseNearby,
|
|
|
|
parseOperator,
|
|
|
|
parseRemark,
|
|
|
|
parseStopover,
|
|
|
|
|
|
|
|
formatAddress,
|
|
|
|
formatCoord,
|
|
|
|
formatDate,
|
|
|
|
filters,
|
|
|
|
formatLocationFilter,
|
|
|
|
formatPoi,
|
|
|
|
formatStation,
|
|
|
|
formatTime
|
2016-06-22 02:09:02 +02:00
|
|
|
}
|
2016-06-22 01:39:59 +02:00
|
|
|
|
2017-11-11 22:49:04 +01:00
|
|
|
const createClient = (profile) => {
|
|
|
|
profile = Object.assign({}, defaultProfile, profile)
|
2017-11-12 01:23:34 +01:00
|
|
|
if ('string' !== typeof profile.timezone) {
|
|
|
|
throw new Error('profile.timezone must be a string.')
|
2016-06-22 01:39:59 +02:00
|
|
|
}
|
2017-10-03 17:36:42 +02:00
|
|
|
|
2017-11-11 22:49:04 +01:00
|
|
|
const client = data => request(profile, data)
|
|
|
|
return client
|
2016-06-22 01:39:59 +02:00
|
|
|
}
|
|
|
|
|
2017-10-03 17:36:42 +02:00
|
|
|
module.exports = createRequest
|