mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-22 14:49:36 +02:00
artificially filter for includeRelatedStations and direction
This commit is contained in:
parent
2a23e1ad9b
commit
6ff406ea79
4 changed files with 13 additions and 7 deletions
8
api.js
8
api.js
|
@ -47,10 +47,10 @@ const config = {
|
|||
};
|
||||
|
||||
const profiles = {
|
||||
'db': dbProfile,
|
||||
'dbnav': dbnavProfile,
|
||||
'dbweb': dbwebProfile
|
||||
}
|
||||
db: dbProfile,
|
||||
dbnav: dbnavProfile,
|
||||
dbweb: dbwebProfile,
|
||||
};
|
||||
|
||||
const start = async () => {
|
||||
const vendo = createClient(
|
||||
|
|
8
index.js
8
index.js
|
@ -106,9 +106,15 @@ const createClient = (profile, userAgent, opt = {}) => {
|
|||
const {res} = await profile.request({profile, opt}, userAgent, req);
|
||||
|
||||
const ctx = {profile, opt, common, res};
|
||||
const results = (res[resultsField] || res.items || res.bahnhofstafelAbfahrtPositionen || res.bahnhofstafelAnkunftPositionen || res.entries)
|
||||
let results = (res[resultsField] || res.items || res.bahnhofstafelAbfahrtPositionen || res.bahnhofstafelAnkunftPositionen || res.entries)
|
||||
.map(res => parse(ctx, res)); // TODO sort?, slice
|
||||
|
||||
if (!opt.includeRelatedStations) {
|
||||
results = results.filter(r => !r.stop?.id || r.stop.id == station);
|
||||
}
|
||||
if (opt.direction) {
|
||||
results = results.filter(r => !r.nextStopovers || r.nextStopovers.find(s => s.stop?.id == opt.direction || s.stop?.name == opt.direction));
|
||||
}
|
||||
return {
|
||||
[resultsField]: results,
|
||||
realtimeDataUpdatedAt: null, // TODO
|
||||
|
|
|
@ -8,7 +8,7 @@ const formatStationBoardReq = (ctx, station, type) => {
|
|||
ortExtId: station,
|
||||
zeit: profile.formatTimeOfDay(profile, opt.when),
|
||||
datum: profile.formatDate(profile, opt.when),
|
||||
mitVias: opt.stopovers || undefined,
|
||||
mitVias: opt.stopovers || Boolean(opt.direction) || undefined,
|
||||
verkehrsmittel: profile.formatProductsFilter(ctx, opt.products || {}),
|
||||
},
|
||||
method: 'GET',
|
||||
|
|
|
@ -40,7 +40,7 @@ const createParseArrOrDep = (prefix) => {
|
|||
res.remarks = profile.parseRemarks(ctx, d);
|
||||
}
|
||||
|
||||
if (opt.stopovers && Array.isArray(d.ueber)) {
|
||||
if ((opt.stopovers || opt.direction) && Array.isArray(d.ueber)) {
|
||||
const stopovers = d.ueber
|
||||
.map(viaName => profile.parseStopover(ctx, {name: viaName}, null));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue