const parseStop = (ctx, l, id) => { const {profile, common, opt} = ctx; if (!l) { return null; } let stop = { type: 'station', id: id, name: l.haltName, }; stop.products = profile.parseProducts(ctx, l.produktGattungen?.map(p => p.produktGattung)); if (opt.linesOfStops) { stop.lines = l.produktGattungen?.flatMap(p => { const foundProduct = profile.products.find(pp => pp.dbnav == p.produktGattung); return p.produkte?.map(l => { return { type: 'line', name: l.name, productName: l.name && l.name.split(' ')[0] || undefined, mode: foundProduct?.mode, product: foundProduct?.id, public: true, }; }); }); } if (common && common.locations && common.locations[stop.id]) { delete stop.type; stop = { ...common.locations[stop.id], ...stop, }; } // TODO isMeta // TODO entrances return stop; }; export { parseStop, };