mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 07:09:35 +02:00
move trip parsing into parse/trip
This commit is contained in:
parent
7c0be5ed74
commit
dce42bfa31
3 changed files with 27 additions and 13 deletions
14
index.js
14
index.js
|
@ -1,7 +1,5 @@
|
|||
'use strict'
|
||||
|
||||
const minBy = require('lodash/minBy')
|
||||
const maxBy = require('lodash/maxBy')
|
||||
const isObj = require('lodash/isObject')
|
||||
const sortBy = require('lodash/sortBy')
|
||||
const pRetry = require('p-retry')
|
||||
|
@ -378,17 +376,7 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
return profile.request({profile, opt}, userAgent, req)
|
||||
.then(({common, res}) => {
|
||||
const ctx = {profile, opt, common, res}
|
||||
|
||||
const rawLeg = { // pretend the leg is contained in a journey
|
||||
type: 'JNY',
|
||||
dep: minBy(res.journey.stopL, 'idx'),
|
||||
arr: maxBy(res.journey.stopL, 'idx'),
|
||||
jny: res.journey
|
||||
}
|
||||
const trip = profile.parseJourneyLeg(ctx, rawLeg, res.journey.date)
|
||||
trip.id = trip.tripId
|
||||
delete trip.tripId
|
||||
return trip
|
||||
return profile.parseTrip(ctx, res.journey)
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ const parseIcon = require('../parse/icon')
|
|||
const parseWhen = require('../parse/when')
|
||||
const parseDeparture = require('../parse/departure')
|
||||
const parseArrival = require('../parse/arrival')
|
||||
const parseTrip = require('../parse/trip')
|
||||
const parseJourneyLeg = require('../parse/journey-leg')
|
||||
const parseJourney = require('../parse/journey')
|
||||
const parseLine = require('../parse/line')
|
||||
|
@ -70,6 +71,7 @@ const defaultProfile = {
|
|||
parseWhen,
|
||||
parseDeparture,
|
||||
parseArrival,
|
||||
parseTrip,
|
||||
parseJourneyLeg,
|
||||
parseJourney,
|
||||
parseLine,
|
||||
|
|
24
parse/trip.js
Normal file
24
parse/trip.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
'use strict'
|
||||
|
||||
const minBy = require('lodash/minBy')
|
||||
const maxBy = require('lodash/maxBy')
|
||||
|
||||
const parseTrip = (ctx, t) => { // t = raw trip
|
||||
const {profile} = ctx
|
||||
|
||||
// pretend the trip is a leg in a journey
|
||||
const fakeLeg = {
|
||||
type: 'JNY',
|
||||
dep: minBy(t.stopL, 'idx'),
|
||||
arr: maxBy(t.stopL, 'idx'),
|
||||
jny: t,
|
||||
}
|
||||
const trip = profile.parseJourneyLeg(ctx, fakeLeg, t.date)
|
||||
|
||||
trip.id = trip.tripId
|
||||
delete trip.tripId
|
||||
|
||||
return trip
|
||||
}
|
||||
|
||||
module.exports = parseTrip
|
Loading…
Add table
Reference in a new issue