2022-05-07 16:17:37 +02:00
|
|
|
import {request} from '../lib/request.js'
|
2017-11-12 14:52:04 +01:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
import {formatStationBoardReq} from '../format/station-board-req.js'
|
|
|
|
import {formatLocationsReq} from '../format/locations-req.js'
|
|
|
|
import {formatStopReq} from '../format/stop-req.js'
|
|
|
|
import {formatNearbyReq} from '../format/nearby-req.js'
|
|
|
|
import {formatTripReq} from '../format/trip-req.js'
|
|
|
|
import {formatRadarReq} from '../format/radar-req.js'
|
|
|
|
import {formatReachableFromReq} from '../format/reachable-from-req.js'
|
|
|
|
import {formatRefreshJourneyReq} from '../format/refresh-journey-req.js'
|
|
|
|
import {formatRemarksReq} from '../format/remarks-req.js'
|
|
|
|
import {formatLinesReq} from '../format/lines-req.js'
|
2019-10-31 18:48:11 +01:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
import {parseDateTime} from '../parse/date-time.js'
|
|
|
|
import {parsePlatform} from '../parse/platform.js'
|
|
|
|
import {parseBitmask as parseProductsBitmask} from '../parse/products-bitmask.js'
|
|
|
|
import {parseIcon} from '../parse/icon.js'
|
|
|
|
import {parseWhen} from '../parse/when.js'
|
|
|
|
import {parsePrognosisType} from '../parse/prognosis-type.js'
|
|
|
|
import {parseScheduledDays} from '../parse/scheduled-days.js'
|
|
|
|
import {parseDeparture} from '../parse/departure.js'
|
|
|
|
import {parseArrival} from '../parse/arrival.js'
|
|
|
|
import {parseTrip} from '../parse/trip.js'
|
|
|
|
import {parseJourneyLeg} from '../parse/journey-leg.js'
|
|
|
|
import {parseJourney} from '../parse/journey.js'
|
|
|
|
import {parseLine} from '../parse/line.js'
|
|
|
|
import {parseLocation} from '../parse/location.js'
|
|
|
|
import {parseCommonData as parseCommon} from '../parse/common.js'
|
|
|
|
import {parsePolyline} from '../parse/polyline.js'
|
|
|
|
import {parseMovement} from '../parse/movement.js'
|
|
|
|
import {parseNearby} from '../parse/nearby.js'
|
|
|
|
import {parseOperator} from '../parse/operator.js'
|
|
|
|
import {parseHint} from '../parse/hint.js'
|
|
|
|
import {parseWarning} from '../parse/warning.js'
|
|
|
|
import {parseStopover} from '../parse/stopover.js'
|
2019-10-31 20:08:56 +01:00
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
import {formatAddress} from '../format/address.js'
|
|
|
|
import {formatCoord} from '../format/coord.js'
|
|
|
|
import {formatDate} from '../format/date.js'
|
|
|
|
import {formatLocationFilter} from '../format/location-filter.js'
|
|
|
|
import {formatProductsFilter} from '../format/products-filter.js'
|
|
|
|
import {formatPoi} from '../format/poi.js'
|
|
|
|
import {formatStation} from '../format/station.js'
|
|
|
|
import {formatTime} from '../format/time.js'
|
|
|
|
import {formatLocation} from '../format/location.js'
|
|
|
|
import {formatRectangle} from '../format/rectangle.js'
|
|
|
|
import * as filters from '../format/filters.js'
|
2017-11-12 14:52:04 +01:00
|
|
|
|
2022-10-06 14:22:46 +02:00
|
|
|
const DEBUG = /(^|,)hafas-client(,|$)/.test(process.env.DEBUG || '')
|
|
|
|
const logRequest = DEBUG
|
2022-10-07 01:29:36 +02:00
|
|
|
? (_, req, reqId) => console.error(req.body + '')
|
2022-10-06 14:22:46 +02:00
|
|
|
: () => {}
|
|
|
|
const logResponse = DEBUG
|
2022-10-07 01:29:36 +02:00
|
|
|
? (_, res, body, reqId) => console.error(body)
|
2022-10-06 14:22:46 +02:00
|
|
|
: () => {}
|
|
|
|
|
2019-10-20 01:47:09 +02:00
|
|
|
const id = (ctx, x) => x
|
2017-11-12 14:52:04 +01:00
|
|
|
|
|
|
|
const defaultProfile = {
|
2019-10-31 18:48:11 +01:00
|
|
|
request,
|
|
|
|
transformReqBody: id,
|
|
|
|
transformReq: id,
|
2018-01-15 00:45:05 +01:00
|
|
|
salt: null,
|
|
|
|
addChecksum: false,
|
2018-01-15 00:45:40 +01:00
|
|
|
addMicMac: false,
|
2021-12-29 17:01:14 +01:00
|
|
|
randomizeUserAgent: true,
|
2022-10-06 14:22:46 +02:00
|
|
|
logRequest,
|
|
|
|
logResponse,
|
2018-01-15 00:45:05 +01:00
|
|
|
|
2019-10-31 20:08:56 +01:00
|
|
|
formatStationBoardReq,
|
|
|
|
formatLocationsReq,
|
|
|
|
formatStopReq,
|
|
|
|
formatNearbyReq,
|
|
|
|
formatTripReq,
|
|
|
|
formatRadarReq,
|
|
|
|
formatReachableFromReq,
|
2020-02-07 02:31:51 +01:00
|
|
|
formatRefreshJourneyReq,
|
2020-03-09 20:54:43 +01:00
|
|
|
formatRemarksReq,
|
2020-03-09 21:44:35 +01:00
|
|
|
formatLinesReq,
|
2017-11-12 20:02:32 +01:00
|
|
|
transformJourneysQuery: id,
|
|
|
|
|
2017-11-12 14:52:04 +01:00
|
|
|
parseDateTime,
|
2019-08-30 19:19:31 +02:00
|
|
|
parsePlatform,
|
2019-10-20 00:19:11 +02:00
|
|
|
parseProductsBitmask,
|
2019-08-30 19:19:31 +02:00
|
|
|
parseIcon,
|
|
|
|
parseWhen,
|
2022-07-22 00:24:47 +02:00
|
|
|
parsePrognosisType,
|
2022-11-16 15:18:12 +01:00
|
|
|
parseScheduledDays,
|
2017-11-12 14:52:04 +01:00
|
|
|
parseDeparture,
|
2018-06-26 15:49:50 +02:00
|
|
|
parseArrival,
|
2020-06-11 15:33:45 +02:00
|
|
|
parseTrip,
|
2017-12-28 16:56:27 +01:00
|
|
|
parseJourneyLeg,
|
2017-11-12 14:52:04 +01:00
|
|
|
parseJourney,
|
|
|
|
parseLine,
|
2019-10-20 00:19:11 +02:00
|
|
|
parseStationName: (_, name) => name,
|
2017-11-12 14:52:04 +01:00
|
|
|
parseLocation,
|
2018-10-27 14:47:19 +02:00
|
|
|
parseCommon,
|
2018-05-16 21:07:05 +02:00
|
|
|
parsePolyline,
|
2017-11-12 14:52:04 +01:00
|
|
|
parseMovement,
|
|
|
|
parseNearby,
|
|
|
|
parseOperator,
|
2018-06-07 16:00:28 +02:00
|
|
|
parseHint,
|
2018-06-07 18:46:24 +02:00
|
|
|
parseWarning,
|
2017-11-12 14:52:04 +01:00
|
|
|
parseStopover,
|
|
|
|
|
|
|
|
formatAddress,
|
|
|
|
formatCoord,
|
|
|
|
formatDate,
|
|
|
|
formatLocationFilter,
|
2019-10-31 19:46:30 +01:00
|
|
|
formatProductsFilter,
|
2017-11-12 14:52:04 +01:00
|
|
|
formatPoi,
|
|
|
|
formatStation,
|
2017-11-12 19:15:13 +01:00
|
|
|
formatTime,
|
2017-11-20 17:37:08 +01:00
|
|
|
formatLocation,
|
2017-11-27 19:45:33 +01:00
|
|
|
formatRectangle,
|
2017-12-18 20:01:12 +01:00
|
|
|
filters,
|
2017-11-27 19:45:33 +01:00
|
|
|
|
2019-12-29 22:16:45 +01:00
|
|
|
journeysOutFrwd: true, // `journeys()` method: support for `outFrwd` field?
|
2021-10-26 14:15:17 +02:00
|
|
|
// todo: https://github.com/KDE/kpublictransport/commit/c7c54304160d8f22eab0c91812a107aca82304b7
|
2021-12-29 18:06:46 +01:00
|
|
|
|
|
|
|
// `departures()` method: support for `getPasslist` field?
|
|
|
|
departuresGetPasslist: false,
|
|
|
|
// `departures()` method: support for `stbFltrEquiv` field?
|
|
|
|
departuresStbFltrEquiv: false,
|
|
|
|
|
2018-06-29 15:14:26 +02:00
|
|
|
trip: false,
|
2018-07-24 18:28:33 +02:00
|
|
|
radar: false,
|
2019-12-17 14:12:35 +01:00
|
|
|
refreshJourney: true,
|
2021-01-10 20:45:37 +01:00
|
|
|
// refreshJourney(): use `outReconL[]` instead of `ctxRecon`?
|
|
|
|
refreshJourneyUseOutReconL: false,
|
2020-11-28 11:40:46 +01:00
|
|
|
tripsByName: true,
|
|
|
|
remarks: true,
|
2021-10-26 14:15:17 +02:00
|
|
|
// `remarks()` method: support for `getPolyline` field?
|
2021-01-14 23:34:37 +01:00
|
|
|
remarksGetPolyline: true, // `remarks()` method: support for `getPolyline` field?
|
2020-11-28 11:40:46 +01:00
|
|
|
lines: true,
|
2017-11-12 14:52:04 +01:00
|
|
|
}
|
|
|
|
|
2022-05-07 16:17:37 +02:00
|
|
|
export {
|
|
|
|
defaultProfile,
|
|
|
|
}
|