mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 15:19:35 +02:00
"migration to 5" guide, remove "migrating to 3" guide 📝
This commit is contained in:
parent
70cf3b21dc
commit
9605ff3bf5
3 changed files with 52 additions and 71 deletions
|
@ -1,70 +0,0 @@
|
|||
# Migrating to `hafas-client@3`
|
||||
|
||||
## New `User-Agent` parameter
|
||||
|
||||
Pass an additional `User-Agent` string into `createClient`:
|
||||
|
||||
```js
|
||||
const createClient = require('hafas-client')
|
||||
const dbProfile = require('hafas-client/p/db')
|
||||
|
||||
const client = createClient(dbProfile, 'my-awesome-program')
|
||||
```
|
||||
|
||||
Pick a name that describes your program and – if possible – the website/repo of it.
|
||||
|
||||
## If you use the `journeyLeg()` method…
|
||||
|
||||
…change the `journeyLeg(id, lineName)` call to `trip(id, lineName)`. c8ff217
|
||||
|
||||
## If you use the `journeys()` or `trip()` methods…
|
||||
|
||||
- …instead of `journey.departure`, use `journey.legs[0].departure`. 005f3f8
|
||||
- …instead of `journey.arrival`, use `journey.legs[last].arrival`. 005f3f8
|
||||
- …rename `opt.passedStations` to `opt.stopovers`. ebe4fa6
|
||||
- …rename `leg.passed` to `leg.stopovers`. 6611f26
|
||||
- …rename `leg.stopovers[].station` to `leg.stopovers[].stop`. 3e672ee
|
||||
|
||||
## If you use the `journeys()` method and `opt.when`…
|
||||
|
||||
…use `opt.departure` instead. Use `opt.arrival` to get journeys arriving before the specified date+time. This replaces the `opt.when` & `opt.whenRepresents` options from `hafas-client@2`. c82ad23
|
||||
|
||||
## If you use the `journeys()` and `opt.polylines` or `trip()` and `opt.polyline`…
|
||||
|
||||
…`leg.polyline` will be [parsed for you now](https://github.com/public-transport/hafas-client/blob/f6c824eecb459181ea90ddf41bf1a1e8b64539ec/docs/journey-leg.md#polyline-option).
|
||||
|
||||
## If you use the `departures()` method…
|
||||
|
||||
…rename `departure.journeyId` to `departure.tripId`. 2e6aefe
|
||||
|
||||
## If you use the `location()` method…
|
||||
|
||||
…change the `location(id)` call to `station(id)`. 665bed9
|
||||
|
||||
## If you use the `radar()` method…
|
||||
|
||||
- …change the `radar(north, west, south, east)` call to `radar({north, west, south, east})`. 40b559f
|
||||
- …rename `movement.journeyId` to `movement.tripId`. 2e6aefe
|
||||
|
||||
## If you use `hafas-client` with a custom profile…
|
||||
|
||||
- …write your profile in [the new format](writing-a-profile.md). Then, you can pass it into `hafas-client` just like before. #32/b7c1ee3
|
||||
- …rename the `profile.journeyLeg` flag to `profile.trip`. 8de4447
|
||||
|
||||
## If you use `hafas-client` with custom parse functions…
|
||||
|
||||
…change the following parsers to the `parse…(profile, opt, data)` signature. 8881d8a/b6fbaa5
|
||||
|
||||
- `parseDeparture`
|
||||
- `parseJourney`
|
||||
- `parseJourneyLeg`
|
||||
- `parseLine`
|
||||
- `parseMovement`
|
||||
- `parseLocation`
|
||||
- `parseNearby`
|
||||
- `parsePolyline`
|
||||
- `parseStopover`
|
||||
|
||||
## If you use `station.lines` array anywhere…
|
||||
|
||||
…add the `stationLines: true` option to the method call, e.g. `hafas.departures('123', {stationLines: true}). cabe5fa
|
51
docs/migrating-to-5.md
Normal file
51
docs/migrating-to-5.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
# Migrating to `hafas-client@5`
|
||||
|
||||
## If you use `journeys()`…
|
||||
|
||||
…with the `walkingSpeed` option and a custom profile, add `journeysWalkingSpeed` to your profile. 937583e
|
||||
…without the `results` option, but *expect* a certain number of results, you must pass `results` now. 0045587
|
||||
|
||||
## If you use `departures()`/`arrivals()` with the [BVG profile](../p/bvg)…
|
||||
|
||||
With the latest protocol version, the BVG endpoint doesn't support these options anymore:
|
||||
|
||||
- `stopovers` – Fetch & parse previous/next stopovers? Default: `false`
|
||||
- `includeRelatedStations` – Fepartures at related stations, e.g. those that belong together on the metro map? Default: `true`
|
||||
|
||||
2d72391
|
||||
|
||||
## If you use a custom profile…
|
||||
|
||||
Let's assume you have parse function looking like this:
|
||||
|
||||
```js
|
||||
const createParseLine = (profile, opt, data) => (rawLine) => {
|
||||
const operator = data.operators[rawLine.oprX] || null
|
||||
if (operator && operator.name === 'foo') {
|
||||
return {
|
||||
type: 'line',
|
||||
name: 'really special tram line',
|
||||
mode: 'tram',
|
||||
product: 'special-tram',
|
||||
operator
|
||||
}
|
||||
}
|
||||
return defaultParseLine(rawLine)
|
||||
}
|
||||
```
|
||||
|
||||
Adapt your parse function like this:
|
||||
|
||||
```diff
|
||||
const createParseLine = (profile, opt, _) => (rawLine) => {
|
||||
- const operator = data.operators[rawLine.oprX] || null
|
||||
+ const operator = rawLine.operator || null
|
||||
```
|
||||
|
||||
See also [`#127`](https://github.com/public-transport/hafas-client/pull/127).
|
||||
|
||||
If you use `icons` in `parseWarning`/`parseHint`, adapt the function(s) to take an object `data` as the first argument. You can access the list of *parsed* icons via `data.icons`, *parsed* warnings via `data.warnings`, etc. a229205 b36f0e3
|
||||
|
||||
## Other breaking changes
|
||||
|
||||
- `journey.price` will be `null` if there's no pricing data returned by the endpoint, instead of `{amount: null}`. 8fe277d
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
## Migrating from an old `hafas-client` version
|
||||
|
||||
- [`2` → `3` migration guide](migrating-to-3.md)
|
||||
- [`3` → `4` migration guide](migrating-to-4.md)
|
||||
- [`4` → `5` migration guide](migrating-to-5.md)
|
||||
|
||||
## Throttling requests
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue