db-vendo-client/index.js

64 lines
1.6 KiB
JavaScript
Raw Normal View History

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