db-vendo-client/lib/default-profile.js
2024-12-07 16:17:16 +00:00

120 lines
3.6 KiB
JavaScript

import {request} from '../lib/request.js';
import {formatStationBoardReq} from '../format/station-board-req.js';
import {formatLocationsReq} from '../format/locations-req.js';
import {formatStopReq} from '../format/stop-req.js';
import {formatTripReq} from '../format/trip-req.js';
import {formatRefreshJourneyReq} from '../format/refresh-journey-req.js';
import {formatRemarksReq} from '../format/remarks-req.js';
import {formatLinesReq} from '../format/lines-req.js';
import {parseDateTime} from '../parse/date-time.js';
import {parsePlatform} from '../parse/platform.js';
import {parseBitmask as parseProductsBitmask} from '../parse/products-bitmask.js';
import {parseWhen} from '../parse/when.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 {parsePolyline} from '../parse/polyline.js';
import {parseOperator} from '../parse/operator.js';
import {parseRemarks} from '../parse/remarks.js';
import {parseStopover} from '../parse/stopover.js';
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';
const DEBUG = (/(^|,)hafas-client(,|$)/).test(process.env.DEBUG || '');
const logRequest = DEBUG
? (_, req, reqId) => console.error(String(req.body))
: () => {};
const logResponse = DEBUG
? (_, res, body, reqId) => console.error(body)
: () => {};
const id = (ctx, x) => x;
const defaultProfile = {
request,
transformReqBody: id,
transformReq: id,
salt: null,
addChecksum: false,
addMicMac: false,
randomizeUserAgent: true,
logRequest,
logResponse,
formatStationBoardReq,
formatLocationsReq,
formatStopReq,
formatTripReq,
formatRefreshJourneyReq,
formatRemarksReq,
formatLinesReq,
transformJourneysQuery: id,
parseDateTime,
parsePlatform,
parseProductsBitmask,
parseWhen,
parseDeparture,
parseArrival,
parseTrip,
parseJourneyLeg,
parseJourney,
parseLine,
parseStationName: (_, name) => name,
parseLocation,
parsePolyline,
parseOperator,
parseRemarks,
parseStopover,
formatAddress,
formatCoord,
formatDate,
formatLocationFilter,
formatProductsFilter,
formatPoi,
formatStation,
formatTime,
formatLocation,
formatRectangle,
filters,
journeysOutFrwd: true, // `journeys()` method: support for `outFrwd` field?
// todo: https://github.com/KDE/kpublictransport/commit/c7c54304160d8f22eab0c91812a107aca82304b7
// `departures()` method: support for `getPasslist` field?
departuresGetPasslist: false,
// `departures()` method: support for `stbFltrEquiv` field?
departuresStbFltrEquiv: false,
trip: false,
radar: false,
refreshJourney: true,
// refreshJourney(): use `outReconL[]` instead of `ctxRecon`?
refreshJourneyUseOutReconL: false,
tripsByName: false,
remarks: false,
// `remarks()` method: support for `getPolyline` field?
remarksGetPolyline: false, // `remarks()` method: support for `getPolyline` field?
lines: false,
};
export {
defaultProfile,
};