corequery-gtfs 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/corequeryify/service-converter.d.ts +4 -1
- package/dist/corequeryify/service-converter.js +32 -39
- package/dist/corequeryify/service-converter.js.map +1 -1
- package/dist/data/gtfs-feed.d.ts +6 -2
- package/dist/data/gtfs-feed.js +25 -1
- package/dist/data/gtfs-feed.js.map +1 -1
- package/dist/data/gtfs-realtime-data.d.ts +9 -1
- package/dist/data/gtfs-realtime-data.js +24 -2
- package/dist/data/gtfs-realtime-data.js.map +1 -1
- package/dist/data/gtfs-realtime-transfer.d.ts +12 -0
- package/dist/data/gtfs-realtime-transfer.js +21 -0
- package/dist/data/gtfs-realtime-transfer.js.map +1 -0
- package/dist/data/gtfs-schedule-data.d.ts +6 -1
- package/dist/data/gtfs-schedule-data.js +15 -3
- package/dist/data/gtfs-schedule-data.js.map +1 -1
- package/dist/data/gtfs-scheduled-trip.d.ts +0 -6
- package/dist/data/gtfs-scheduled-trip.js +0 -14
- package/dist/data/gtfs-scheduled-trip.js.map +1 -1
- package/dist/data/gtfs-transfer-mapping.d.ts +15 -0
- package/dist/data/gtfs-transfer-mapping.js +45 -0
- package/dist/data/gtfs-transfer-mapping.js.map +1 -0
- package/dist/data/gtfs-transfer.d.ts +18 -0
- package/dist/data/gtfs-transfer.js +20 -0
- package/dist/data/gtfs-transfer.js.map +1 -0
- package/dist/departures/departures-block-iterator.js +1 -0
- package/dist/departures/departures-block-iterator.js.map +1 -1
- package/dist/departures/filter-iterator.d.ts +11 -0
- package/dist/departures/filter-iterator.js +30 -0
- package/dist/departures/filter-iterator.js.map +1 -0
- package/dist/departures/realtime-departures-block-iterator.d.ts +1 -2
- package/dist/departures/realtime-departures-block-iterator.js +1 -18
- package/dist/departures/realtime-departures-block-iterator.js.map +1 -1
- package/dist/departures/scheduled-departures-block-iterator.d.ts +0 -1
- package/dist/departures/scheduled-departures-block-iterator.js +0 -25
- package/dist/departures/scheduled-departures-block-iterator.js.map +1 -1
- package/dist/gtfs-service-source.js +1 -0
- package/dist/gtfs-service-source.js.map +1 -1
- package/dist/parser/realtime/gtfs-realtime-data-parser.d.ts +2 -0
- package/dist/parser/realtime/gtfs-realtime-data-parser.js +24 -1
- package/dist/parser/realtime/gtfs-realtime-data-parser.js.map +1 -1
- package/dist/parser/schedule/gtfs-schedule-data-parser.js +2 -2
- package/dist/parser/schedule/gtfs-schedule-data-parser.js.map +1 -1
- package/dist/parser/schedule/{gtfs-transfer-connector.d.ts → gtfs-transfer-parser.d.ts} +7 -4
- package/dist/parser/schedule/{gtfs-transfer-connector.js → gtfs-transfer-parser.js} +40 -22
- package/dist/parser/schedule/gtfs-transfer-parser.js.map +1 -0
- package/dist/parser/schedule/gtfs-trip-parser.d.ts +5 -4
- package/dist/parser/schedule/gtfs-trip-parser.js +7 -9
- package/dist/parser/schedule/gtfs-trip-parser.js.map +1 -1
- package/package.json +1 -1
- package/dist/parser/schedule/gtfs-transfer-connector.js.map +0 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type GtfsTransfer = GtfsEntireVehicleFormsServiceTransfer;
|
|
2
|
+
type IGtfsTransfer = {
|
|
3
|
+
getInvolvedTripIds(): readonly string[];
|
|
4
|
+
equals(other: IGtfsTransfer): boolean;
|
|
5
|
+
};
|
|
6
|
+
type GtfsEntireVehicleFormsServiceTransferFields = {
|
|
7
|
+
fromTripId: string;
|
|
8
|
+
toTripId: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class GtfsEntireVehicleFormsServiceTransfer implements IGtfsTransfer {
|
|
11
|
+
readonly fromTripId: string;
|
|
12
|
+
readonly toTripId: string;
|
|
13
|
+
constructor(fields: GtfsEntireVehicleFormsServiceTransferFields);
|
|
14
|
+
get type(): "entire-vehicle-forms-service";
|
|
15
|
+
getInvolvedTripIds(): readonly string[];
|
|
16
|
+
equals(other: IGtfsTransfer): boolean;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class GtfsEntireVehicleFormsServiceTransfer {
|
|
2
|
+
fromTripId;
|
|
3
|
+
toTripId;
|
|
4
|
+
constructor(fields) {
|
|
5
|
+
this.fromTripId = fields.fromTripId;
|
|
6
|
+
this.toTripId = fields.toTripId;
|
|
7
|
+
}
|
|
8
|
+
get type() {
|
|
9
|
+
return "entire-vehicle-forms-service";
|
|
10
|
+
}
|
|
11
|
+
getInvolvedTripIds() {
|
|
12
|
+
return [this.fromTripId, this.toTripId];
|
|
13
|
+
}
|
|
14
|
+
equals(other) {
|
|
15
|
+
if (!(other instanceof GtfsEntireVehicleFormsServiceTransfer))
|
|
16
|
+
return false;
|
|
17
|
+
return (this.fromTripId === other.fromTripId && this.toTripId === other.toTripId);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=gtfs-transfer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtfs-transfer.js","sourceRoot":"","sources":["../../src/data/gtfs-transfer.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,qCAAqC;IACvC,UAAU,CAAS;IACnB,QAAQ,CAAS;IAE1B,YAAY,MAAmD;QAC7D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,8BAAuC,CAAC;IACjD,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,IAAI,CAAC,CAAC,KAAK,YAAY,qCAAqC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5E,OAAO,CACL,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CACzE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/departures-block-iterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,OAAgB,uBAGpB,SAAQ,kBAAkB;IAMf;IACQ;IANX,MAAM,CAAS;IACf,UAAU,CAA+B;IACzC,UAAU,CAAkC;IAEpD,YACW,KAAgB,EACR,QAA8B;QAE/C,KAAK,EAAE,CAAC;QAHC,UAAK,GAAL,KAAK,CAAW;QACR,aAAQ,GAAR,QAAQ,CAAsB;QAI/C,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAEQ,GAAG,CACV,OAAyB,EACzB,SAAuC;QAEvC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,+BAA+B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAEQ,IAAI;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,IAAI;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,IAAI,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEtD,OAAO,KAAK,CAAC;IACf,CAAC;IAQO,+BAA+B,CACrC,QAAgB,EAChB,SAAuC;QAEvC,IAAI,KAAK,GAAG,QAAQ,CAAC;QACrB,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClD,sEAAsE;YACtE,mDAAmD;YACnD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM;YAEzC,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEO,MAAM,CAAC,kBAAkB,CAC/B,KAAa,EACb,SAAuC;QAEvC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO,KAAK,GAAG,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/departures-block-iterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DeparturesIterationDirection } from "../corequery-types.js";
|
|
2
|
+
import { DeparturesIterator, DeparturesIteratorResult } from "./departures-iterator.js";
|
|
3
|
+
export declare class FilterIterator extends DeparturesIterator {
|
|
4
|
+
private readonly _iterator;
|
|
5
|
+
private readonly _predicate;
|
|
6
|
+
constructor(_iterator: DeparturesIterator, _predicate: (result: DeparturesIteratorResult) => boolean);
|
|
7
|
+
set(instant: Temporal.Instant, direction: DeparturesIterationDirection): void;
|
|
8
|
+
peek(): DeparturesIteratorResult | null;
|
|
9
|
+
take(): DeparturesIteratorResult;
|
|
10
|
+
private _takeUntilMatchesPredicate;
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DeparturesIterator, DeparturesIteratorResult, } from "./departures-iterator.js";
|
|
2
|
+
export class FilterIterator extends DeparturesIterator {
|
|
3
|
+
_iterator;
|
|
4
|
+
_predicate;
|
|
5
|
+
constructor(_iterator, _predicate) {
|
|
6
|
+
super();
|
|
7
|
+
this._iterator = _iterator;
|
|
8
|
+
this._predicate = _predicate;
|
|
9
|
+
}
|
|
10
|
+
set(instant, direction) {
|
|
11
|
+
this._iterator.set(instant, direction);
|
|
12
|
+
this._takeUntilMatchesPredicate();
|
|
13
|
+
}
|
|
14
|
+
peek() {
|
|
15
|
+
return this._iterator.peek();
|
|
16
|
+
}
|
|
17
|
+
take() {
|
|
18
|
+
const result = this._iterator.take();
|
|
19
|
+
this._takeUntilMatchesPredicate();
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
_takeUntilMatchesPredicate() {
|
|
23
|
+
let current = this._iterator.peek();
|
|
24
|
+
while (current != null && !this._predicate(current)) {
|
|
25
|
+
this._iterator.take();
|
|
26
|
+
current = this._iterator.peek();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=filter-iterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-iterator.js","sourceRoot":"","sources":["../../src/departures/filter-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAEjC;IACA;IAFnB,YACmB,SAA6B,EAC7B,UAAyD;QAE1E,KAAK,EAAE,CAAC;QAHS,cAAS,GAAT,SAAS,CAAoB;QAC7B,eAAU,GAAV,UAAU,CAA+C;IAG5E,CAAC;IAEQ,GAAG,CACV,OAAyB,EACzB,SAAuC;QAEvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAEQ,IAAI;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEQ,IAAI;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,0BAA0B;QAChC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -7,6 +7,5 @@ export declare class RealtimeDeparturesBlockIterator extends DeparturesBlockIter
|
|
|
7
7
|
constructor(block: RealtimeDeparturesBlock, _realtimeData: GtfsRealtimeData);
|
|
8
8
|
static tryBuild(stopId: number, realtimeData: GtfsRealtimeData): RealtimeDeparturesBlockIterator | null;
|
|
9
9
|
protected _convertEntryToResult(entry: RealtimeDeparturesBlockEntry): DeparturesIteratorResult;
|
|
10
|
-
protected _shouldSkipEntry(
|
|
11
|
-
private _isTripCancelled;
|
|
10
|
+
protected _shouldSkipEntry(_entry: RealtimeDeparturesBlockEntry): boolean;
|
|
12
11
|
}
|
|
@@ -16,25 +16,8 @@ export class RealtimeDeparturesBlockIterator extends DeparturesBlockIterator {
|
|
|
16
16
|
_convertEntryToResult(entry) {
|
|
17
17
|
return new DeparturesIteratorResult(entry.trip, entry.trip.serviceDay, entry.instant, entry.movement, entry.movementIndex);
|
|
18
18
|
}
|
|
19
|
-
_shouldSkipEntry(
|
|
20
|
-
const { movement, trip } = entry;
|
|
21
|
-
// Even users not filtering arrivals won't be interested to see the same
|
|
22
|
-
// trip listed twice at stations like Flinders Street or Town Hall, once for
|
|
23
|
-
// the arrival and then again for the departure of the continuing trip. We
|
|
24
|
-
// just need to be sure the continuing trip is actually running!
|
|
25
|
-
//
|
|
26
|
-
// TODO: This needs to change too.
|
|
27
|
-
const isArrivalWhichContinues = movement.type === "terminating" &&
|
|
28
|
-
trip.scheduledTrip.nextTrip != null &&
|
|
29
|
-
trip.scheduledTrip.nextTrip.calendar.occursOn(trip.serviceDay) &&
|
|
30
|
-
!this._isTripCancelled(trip.scheduledTrip.nextTrip.gtfsTripId, entry.trip.serviceDay);
|
|
31
|
-
if (isArrivalWhichContinues)
|
|
32
|
-
return true;
|
|
19
|
+
_shouldSkipEntry(_entry) {
|
|
33
20
|
return false;
|
|
34
21
|
}
|
|
35
|
-
_isTripCancelled(tripId, serviceDay) {
|
|
36
|
-
const realtimeTrip = this._realtimeData.getForScheduledTrip(tripId, serviceDay);
|
|
37
|
-
return realtimeTrip?.isCancelled ?? false;
|
|
38
|
-
}
|
|
39
22
|
}
|
|
40
23
|
//# sourceMappingURL=realtime-departures-block-iterator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/realtime-departures-block-iterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,OAAO,+BAAgC,SAAQ,uBAGpD;IAGoB;IAFnB,YACE,KAA8B,EACb,aAA+B;QAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFX,kBAAa,GAAb,aAAa,CAAkB;IAGlD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,YAA8B;QAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,OAAO,IAAI,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAEkB,qBAAqB,CACtC,KAAmC;QAEnC,OAAO,IAAI,wBAAwB,CACjC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CACjC,
|
|
1
|
+
{"version":3,"file":"realtime-departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/realtime-departures-block-iterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,OAAO,+BAAgC,SAAQ,uBAGpD;IAGoB;IAFnB,YACE,KAA8B,EACb,aAA+B;QAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFX,kBAAa,GAAb,aAAa,CAAkB;IAGlD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,MAAc,EAAE,YAA8B;QAC5D,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrE,IAAI,KAAK,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,OAAO,IAAI,+BAA+B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAEkB,qBAAqB,CACtC,KAAmC;QAEnC,OAAO,IAAI,wBAAwB,CACjC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CACjC,MAAoC;QAEpC,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -8,5 +8,4 @@ export declare class ScheduledDeparturesBlockIterator extends DeparturesBlockIte
|
|
|
8
8
|
constructor(block: ScheduledDeparturesBlock, _realtimeData: GtfsRealtimeData);
|
|
9
9
|
protected _convertEntryToResult(entry: GtfsScheduledMovementsIndexEntry): DeparturesIteratorResult;
|
|
10
10
|
protected _shouldSkipEntry(entry: GtfsScheduledMovementsIndexEntry): boolean;
|
|
11
|
-
private _isTripCancelled;
|
|
12
11
|
}
|
|
@@ -24,32 +24,7 @@ export class ScheduledDeparturesBlockIterator extends DeparturesBlockIterator {
|
|
|
24
24
|
const isOverriddenByRealtimeTrip = realtimeTrip != null;
|
|
25
25
|
if (isOverriddenByRealtimeTrip)
|
|
26
26
|
return true;
|
|
27
|
-
// Even users not filtering arrivals won't be interested to see the same
|
|
28
|
-
// trip listed twice at stations like Flinders Street or Town Hall, once for
|
|
29
|
-
// the arrival and then again for the departure of the continuing trip. We
|
|
30
|
-
// just need to be sure the continuing trip is actually running!
|
|
31
|
-
//
|
|
32
|
-
// TODO: Realtime trips which connect to other trips must cause those
|
|
33
|
-
// scheduled trips to become realtime trips too, and realtime trips need to
|
|
34
|
-
// have their own `nextTrip` and `prevTrip` properties, otherwise fetching
|
|
35
|
-
// `nextTrip` here can lead to outdated info (the next trip might have been
|
|
36
|
-
// altered and no longer connects with this one). Alternatively, having
|
|
37
|
-
// `nextTrip` and `prevTrip` was a mistake, and we just only have trip IDs
|
|
38
|
-
// in their place, or maybe an entirely separate list of transfers which
|
|
39
|
-
// lives outside the trip (and supports other future transfer types).
|
|
40
|
-
//
|
|
41
|
-
// TODO: Wherever this logic ends up living, make sure it's tested.
|
|
42
|
-
const isArrivalWhichContinues = entry.movement.type === "terminating" &&
|
|
43
|
-
entry.trip.nextTrip != null &&
|
|
44
|
-
entry.trip.nextTrip.calendar.occursOn(this.block.serviceDay) &&
|
|
45
|
-
!this._isTripCancelled(entry.trip.nextTrip.gtfsTripId);
|
|
46
|
-
if (isArrivalWhichContinues)
|
|
47
|
-
return true;
|
|
48
27
|
return false;
|
|
49
28
|
}
|
|
50
|
-
_isTripCancelled(tripId) {
|
|
51
|
-
const realtimeTrip = this._realtimeData.getForScheduledTrip(tripId, this.block.serviceDay);
|
|
52
|
-
return realtimeTrip?.isCancelled ?? false;
|
|
53
|
-
}
|
|
54
29
|
}
|
|
55
30
|
//# sourceMappingURL=scheduled-departures-block-iterator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduled-departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/scheduled-departures-block-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,MAAM,OAAO,gCAAiC,SAAQ,uBAGrD;IAGoB;IAFnB,YACE,KAA+B,EACd,aAA+B;QAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAFtB,kBAAa,GAAb,aAAa,CAAkB;IAGlD,CAAC;IAEkB,qBAAqB,CACtC,KAAuC;QAEvC,OAAO,IAAI,wBAAwB,CACjC,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChE,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CACjC,KAAuC;QAEvC,4EAA4E;QAC5E,6BAA6B;QAC7B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,IAAI,cAAc;YAAE,OAAO,IAAI,CAAC;QAEhC,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACzD,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACF,MAAM,0BAA0B,GAAG,YAAY,IAAI,IAAI,CAAC;QACxD,IAAI,0BAA0B;YAAE,OAAO,IAAI,CAAC;QAE5C,
|
|
1
|
+
{"version":3,"file":"scheduled-departures-block-iterator.js","sourceRoot":"","sources":["../../src/departures/scheduled-departures-block-iterator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,MAAM,OAAO,gCAAiC,SAAQ,uBAGrD;IAGoB;IAFnB,YACE,KAA+B,EACd,aAA+B;QAEhD,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAFtB,kBAAa,GAAb,aAAa,CAAkB;IAGlD,CAAC;IAEkB,qBAAqB,CACtC,KAAuC;QAEvC,OAAO,IAAI,wBAAwB,CACjC,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChE,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,CACpB,CAAC;IACJ,CAAC;IAEkB,gBAAgB,CACjC,KAAuC;QAEvC,4EAA4E;QAC5E,6BAA6B;QAC7B,MAAM,cAAc,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC5E,IAAI,cAAc;YAAE,OAAO,IAAI,CAAC;QAEhC,uEAAuE;QACvE,yEAAyE;QACzE,4EAA4E;QAC5E,SAAS;QACT,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CACzD,MAAM,EACN,IAAI,CAAC,KAAK,CAAC,UAAU,CACtB,CAAC;QACF,MAAM,0BAA0B,GAAG,YAAY,IAAI,IAAI,CAAC;QACxD,IAAI,0BAA0B;YAAE,OAAO,IAAI,CAAC;QAE5C,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -15,6 +15,7 @@ export class GtfsServiceSource {
|
|
|
15
15
|
this.departureIterationLimitHours = fields.departureIterationLimitHours;
|
|
16
16
|
this._converter = new ServiceConverter({
|
|
17
17
|
sourceId: fields.sourceId,
|
|
18
|
+
gtfsSystem: fields.gtfsSystem,
|
|
18
19
|
buildDeparture: fields.buildDeparture,
|
|
19
20
|
buildService: fields.buildService,
|
|
20
21
|
buildTags: fields.buildTags,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-service-source.js","sourceRoot":"","sources":["../src/gtfs-service-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAalD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAuD1F,MAAM,OAAO,iBAAiB;IAUnB,QAAQ,CAAS;IACjB,UAAU,CAAa;IAEvB,4BAA4B,CAAgB;IAEpC,UAAU,CASzB;IAEF,YACE,MASC;QAED,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,4BAA4B,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAExE,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CASpC;YACA,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,+BAA+B,EAAE,MAAM,CAAC,+BAA+B;YACvE,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;SACtD,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,aAAqB;QAC9B,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACjD,IAAI,EACJ,EAAE,CAAC,UAAU,EACb,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC3B,CAAC;YACF,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,YAAY,eAAe,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,qBAAqB,CACnB,MAAc,EACd,OAAyB,EACzB,SAAuC;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAC3C,MAAM,EACN,IAAI,CAAC,4BAA4B,CAClC,CAAC;QACF,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEjC,OAAO,IAAI,yBAAyB,CASlC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"gtfs-service-source.js","sourceRoot":"","sources":["../src/gtfs-service-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,7 @@ export declare class GtfsRealtimeDataParser {
|
|
|
7
7
|
private readonly _tripUpdateParser;
|
|
8
8
|
constructor(timezone: string, onError: (error: GtfsRealtimeDataParsingError) => void);
|
|
9
9
|
parse(realtimeData: RealtimeDataJson, scheduleData: GtfsScheduleData, stopGtfsIdMapping: StopGtfsIdMapping): GtfsRealtimeData;
|
|
10
|
+
private _parseTripUpdates;
|
|
11
|
+
private _breakTransfers;
|
|
10
12
|
}
|
|
11
13
|
export type GtfsRealtimeDataParsingError = GtfsTripUpdateParsingError;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { GtfsRealtimeData } from "../../data/gtfs-realtime-data.js";
|
|
2
|
+
import { GtfsBrokenTransfer } from "../../data/gtfs-realtime-transfer.js";
|
|
3
|
+
import { MutableGtfsTransferMapping } from "../../data/gtfs-transfer-mapping.js";
|
|
2
4
|
import { GtfsTripUpdateParser, } from "./gtfs-trip-update-parser.js";
|
|
3
5
|
export class GtfsRealtimeDataParser {
|
|
4
6
|
_tripUpdateParser;
|
|
@@ -6,6 +8,11 @@ export class GtfsRealtimeDataParser {
|
|
|
6
8
|
this._tripUpdateParser = new GtfsTripUpdateParser(timezone, onError);
|
|
7
9
|
}
|
|
8
10
|
parse(realtimeData, scheduleData, stopGtfsIdMapping) {
|
|
11
|
+
const updatedTrips = this._parseTripUpdates(realtimeData, scheduleData, stopGtfsIdMapping);
|
|
12
|
+
const brokenTransfers = this._breakTransfers(updatedTrips, scheduleData);
|
|
13
|
+
return new GtfsRealtimeData(updatedTrips, brokenTransfers, []);
|
|
14
|
+
}
|
|
15
|
+
_parseTripUpdates(realtimeData, scheduleData, stopGtfsIdMapping) {
|
|
9
16
|
const updatedTrips = [];
|
|
10
17
|
for (const tripUpdates of realtimeData.tripUpdates) {
|
|
11
18
|
const result = this._tripUpdateParser.parse(tripUpdates, scheduleData, stopGtfsIdMapping);
|
|
@@ -13,7 +20,23 @@ export class GtfsRealtimeDataParser {
|
|
|
13
20
|
updatedTrips.push(result);
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
|
-
return
|
|
23
|
+
return updatedTrips;
|
|
24
|
+
}
|
|
25
|
+
_breakTransfers(updatedTrips, scheduleData) {
|
|
26
|
+
const brokenTransfers = new MutableGtfsTransferMapping((x) => x.transfer.getInvolvedTripIds());
|
|
27
|
+
for (const updatedTrip of updatedTrips) {
|
|
28
|
+
if (updatedTrip.isCancelled) {
|
|
29
|
+
const transfers = scheduleData.getTransfersForTrip(updatedTrip.gtfsTripId);
|
|
30
|
+
for (const transfer of transfers) {
|
|
31
|
+
const brokenTransfer = new GtfsBrokenTransfer(transfer, updatedTrip.serviceDay);
|
|
32
|
+
const existing = brokenTransfers.forTripId(updatedTrip.gtfsTripId);
|
|
33
|
+
if (!existing.some((x) => x.equals(brokenTransfer))) {
|
|
34
|
+
brokenTransfers.push(brokenTransfer);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return brokenTransfers.toArray();
|
|
17
40
|
}
|
|
18
41
|
}
|
|
19
42
|
//# sourceMappingURL=gtfs-realtime-data-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-realtime-data-parser.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-realtime-data-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"gtfs-realtime-data-parser.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-realtime-data-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,OAAO,sBAAsB;IAChB,iBAAiB,CAAuB;IAEzD,YACE,QAAgB,EAChB,OAAsD;QAEtD,IAAI,CAAC,iBAAiB,GAAG,IAAI,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CACH,YAA8B,EAC9B,YAA8B,EAC9B,iBAAoC;QAEpC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CACzC,YAAY,EACZ,YAAY,EACZ,iBAAiB,CAClB,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAEzE,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAEO,iBAAiB,CACvB,YAA8B,EAC9B,YAA8B,EAC9B,iBAAoC;QAEpC,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CACzC,WAAW,EACX,YAAY,EACZ,iBAAiB,CAClB,CAAC;YAEF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,eAAe,CACrB,YAA+B,EAC/B,YAA8B;QAE9B,MAAM,eAAe,GAAG,IAAI,0BAA0B,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CACvC,CAAC;QAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,mBAAmB,CAChD,WAAW,CAAC,UAAU,CACvB,CAAC;gBAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,MAAM,cAAc,GAAG,IAAI,kBAAkB,CAC3C,QAAQ,EACR,WAAW,CAAC,UAAU,CACvB,CAAC;oBACF,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;wBACpD,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -11,8 +11,8 @@ export class GtfsScheduleDataParser {
|
|
|
11
11
|
parse(csvs, lineGtfsIdMapping, stopGtfsIdMapping) {
|
|
12
12
|
const { calendar, calendarDates, trips, stopTimes, transfers } = csvs;
|
|
13
13
|
const parsedCalendars = this._calendarParser.parse(calendar, calendarDates);
|
|
14
|
-
const { parsedTrips, ignoredTripIds } = this._tripParser.parse(trips, stopTimes, transfers, parsedCalendars, lineGtfsIdMapping, stopGtfsIdMapping);
|
|
15
|
-
return new GtfsScheduleData(parsedTrips, parsedCalendars, ignoredTripIds);
|
|
14
|
+
const { parsedTrips, parsedTransfers, ignoredTripIds } = this._tripParser.parse(trips, stopTimes, transfers, parsedCalendars, lineGtfsIdMapping, stopGtfsIdMapping);
|
|
15
|
+
return new GtfsScheduleData(parsedTrips, parsedCalendars, parsedTransfers, ignoredTripIds);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=gtfs-schedule-data-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-schedule-data-parser.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-schedule-data-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAO/B,MAAM,OAAO,sBAAsB;IAChB,eAAe,CAAqB;IACpC,WAAW,CAAiB;IAE7C,YACE,iBAAoC,EACpC,iBAAoC,EACpC,OAAkD;QAElD,IAAI,CAAC,eAAe,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CACnC,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CACH,IAAiB,EACjB,iBAAoC,EACpC,iBAAoC;QAEpC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEtE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE5E,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"gtfs-schedule-data-parser.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-schedule-data-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EACL,kBAAkB,GAEnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAO/B,MAAM,OAAO,sBAAsB;IAChB,eAAe,CAAqB;IACpC,WAAW,CAAiB;IAE7C,YACE,iBAAoC,EACpC,iBAAoC,EACpC,OAAkD;QAElD,IAAI,CAAC,eAAe,GAAG,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,cAAc,CACnC,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CACH,IAAiB,EACjB,iBAAoC,EACpC,iBAAoC;QAEpC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAEtE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE5E,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,GACpD,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,KAAK,EACL,SAAS,EACT,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;QAEJ,OAAO,IAAI,gBAAgB,CACzB,WAAW,EACX,eAAe,EACf,eAAe,EACf,cAAc,CACf,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { TransfersCsv, TransfersCsvRow } from "../../data/raw/schedule-csvs.js";
|
|
2
2
|
import { GtfsScheduledTrip } from "../../data/gtfs-scheduled-trip.js";
|
|
3
|
-
|
|
3
|
+
import { type GtfsTransfer } from "../../data/gtfs-transfer.js";
|
|
4
|
+
export declare class GtfsTransferParser {
|
|
4
5
|
private readonly _onError;
|
|
5
|
-
constructor(_onError: (error:
|
|
6
|
-
|
|
6
|
+
constructor(_onError: (error: GtfsTransferParsingError) => void);
|
|
7
|
+
parse(trips: readonly GtfsScheduledTrip[], transfers: TransfersCsv): readonly GtfsTransfer[];
|
|
8
|
+
private _isEntireVehicleAlreadyFormingNextService;
|
|
9
|
+
private _isEntireVehicleAlreadyFormedByPreviousService;
|
|
7
10
|
}
|
|
8
|
-
export type
|
|
11
|
+
export type GtfsTransferParsingError = TransferReferencesNonExistentTrip | TransferIsNotFromTerminusError | TransferIsNotToOriginError | TransferReferencesTripAlreadyConnectedError | TransferIsNotInSeatTransferError | TransferIsNotSameStopAndPositionError | TransferCrossesCalendarsError | TransferRequiresTimeTravelError;
|
|
9
12
|
export declare class TransferReferencesNonExistentTrip {
|
|
10
13
|
readonly transfer: TransfersCsvRow;
|
|
11
14
|
readonly field: "from_trip_id" | "to_trip_id";
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { GtfsScheduledTrip } from "../../data/gtfs-scheduled-trip.js";
|
|
2
|
+
import { GtfsEntireVehicleFormsServiceTransfer, } from "../../data/gtfs-transfer.js";
|
|
3
|
+
import { MutableGtfsTransferMapping } from "../../data/gtfs-transfer-mapping.js";
|
|
2
4
|
const TRANSFER_TYPE_IN_SEAT_TRANSFER = 4;
|
|
3
|
-
export class
|
|
5
|
+
export class GtfsTransferParser {
|
|
4
6
|
_onError;
|
|
5
7
|
constructor(_onError) {
|
|
6
8
|
this._onError = _onError;
|
|
7
9
|
}
|
|
8
|
-
|
|
10
|
+
parse(trips, transfers) {
|
|
9
11
|
const tripMap = new Map(trips.map((trip) => [trip.gtfsTripId, trip]));
|
|
12
|
+
const result = new MutableGtfsTransferMapping((x) => x.getInvolvedTripIds());
|
|
10
13
|
for (const transfer of transfers) {
|
|
11
14
|
const fromTrip = tripMap.get(transfer.from_trip_id);
|
|
12
15
|
const toTrip = tripMap.get(transfer.to_trip_id);
|
|
13
|
-
// TrainQuery only cares about "in-seat" transfers,
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
16
|
+
// Right now, TrainQuery Melbourne only cares about "in-seat" transfers,
|
|
17
|
+
// so we can show Metro Tunnel or City Loop services with their final
|
|
18
|
+
// destinations correctly. I'm just gonna ignore other transfer types for
|
|
19
|
+
// now, but it's not really an error. The reason I want to report them
|
|
20
|
+
// like errors is that PTV doesn't seem to currently publish other
|
|
21
|
+
// transfer types, and I'm curious to see if that changes one day (e.g.
|
|
22
|
+
// with V/Line's guaranteed coach connections, or coupling of trains at
|
|
23
|
+
// Ballarat).
|
|
21
24
|
if (transfer.transfer_type !== TRANSFER_TYPE_IN_SEAT_TRANSFER) {
|
|
22
25
|
this._onError(new TransferIsNotInSeatTransferError(transfer));
|
|
23
26
|
continue;
|
|
@@ -36,11 +39,13 @@ export class GtfsTransferConnector {
|
|
|
36
39
|
this._onError(new TransferIsNotSameStopAndPositionError(transfer));
|
|
37
40
|
continue;
|
|
38
41
|
}
|
|
39
|
-
// As alluded to above, I suspect one day V/Line might
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
42
|
+
// As alluded to above, I suspect one day V/Line might start considering
|
|
43
|
+
// their Maryborough shuttles as "in-seat" transfers because the trains
|
|
44
|
+
// couple at Ballarat. We don't handle it for now. I wonder how I'd even
|
|
45
|
+
// display that in CoreQuery? It'll either break the first two rules
|
|
46
|
+
// (ex-Maryborough train transfers to ex-Wendouree/Ararat), or the next
|
|
47
|
+
// two (ex-Wendouree/Ararat and ex-Maryborough train transfer to
|
|
48
|
+
// ex-Ballarat train).
|
|
44
49
|
if (fromTrip.termination.gtfsIdMetadata.id !== transfer.from_stop_id) {
|
|
45
50
|
this._onError(new TransferIsNotFromTerminusError(transfer, fromTrip));
|
|
46
51
|
continue;
|
|
@@ -49,12 +54,12 @@ export class GtfsTransferConnector {
|
|
|
49
54
|
this._onError(new TransferIsNotToOriginError(transfer, toTrip));
|
|
50
55
|
continue;
|
|
51
56
|
}
|
|
52
|
-
if (fromTrip
|
|
57
|
+
if (this._isEntireVehicleAlreadyFormingNextService(fromTrip, result)) {
|
|
53
58
|
const Err = TransferReferencesTripAlreadyConnectedError;
|
|
54
59
|
this._onError(new Err(transfer, fromTrip));
|
|
55
60
|
continue;
|
|
56
61
|
}
|
|
57
|
-
if (toTrip
|
|
62
|
+
if (this._isEntireVehicleAlreadyFormedByPreviousService(toTrip, result)) {
|
|
58
63
|
const Err = TransferReferencesTripAlreadyConnectedError;
|
|
59
64
|
this._onError(new Err(transfer, toTrip));
|
|
60
65
|
continue;
|
|
@@ -86,11 +91,24 @@ export class GtfsTransferConnector {
|
|
|
86
91
|
this._onError(new TransferRequiresTimeTravelError(transfer));
|
|
87
92
|
continue;
|
|
88
93
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
result.push(new GtfsEntireVehicleFormsServiceTransfer({
|
|
95
|
+
fromTripId: fromTrip.gtfsTripId,
|
|
96
|
+
toTripId: toTrip.gtfsTripId,
|
|
97
|
+
}));
|
|
92
98
|
}
|
|
93
|
-
return
|
|
99
|
+
return result.toArray();
|
|
100
|
+
}
|
|
101
|
+
_isEntireVehicleAlreadyFormingNextService(fromTrip, transfers) {
|
|
102
|
+
return transfers
|
|
103
|
+
.forTripId(fromTrip.gtfsTripId)
|
|
104
|
+
.some((t) => t.type === "entire-vehicle-forms-service" &&
|
|
105
|
+
t.fromTripId === fromTrip.gtfsTripId);
|
|
106
|
+
}
|
|
107
|
+
_isEntireVehicleAlreadyFormedByPreviousService(toTrip, transfers) {
|
|
108
|
+
return transfers
|
|
109
|
+
.forTripId(toTrip.gtfsTripId)
|
|
110
|
+
.some((t) => t.type === "entire-vehicle-forms-service" &&
|
|
111
|
+
t.toTripId === toTrip.gtfsTripId);
|
|
94
112
|
}
|
|
95
113
|
}
|
|
96
114
|
export class TransferReferencesNonExistentTrip {
|
|
@@ -157,4 +175,4 @@ export class TransferRequiresTimeTravelError {
|
|
|
157
175
|
this.transfer = transfer;
|
|
158
176
|
}
|
|
159
177
|
}
|
|
160
|
-
//# sourceMappingURL=gtfs-transfer-
|
|
178
|
+
//# sourceMappingURL=gtfs-transfer-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gtfs-transfer-parser.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-transfer-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { GtfsCalendar } from "../../data/gtfs-calendar.js";
|
|
|
5
5
|
import { GtfsScheduledTrip } from "../../data/gtfs-scheduled-trip.js";
|
|
6
6
|
import { type GtfsStopTimeNormalisationError } from "./gtfs-stop-time-normaliser.js";
|
|
7
7
|
import { type GtfsRouteMatchingError } from "./gtfs-route-matcher.js";
|
|
8
|
-
import { type
|
|
8
|
+
import { type GtfsTransferParsingError } from "./gtfs-transfer-parser.js";
|
|
9
9
|
import type { LineRoutesMapping } from "../../data/route/line-routes-mapping.js";
|
|
10
10
|
import type { BonusLinesMapping } from "../../data/route/bonus-lines-mapping.js";
|
|
11
11
|
export declare class GtfsTripParser {
|
|
@@ -15,17 +15,18 @@ export declare class GtfsTripParser {
|
|
|
15
15
|
private readonly _stopTimeNormaliser;
|
|
16
16
|
private readonly _primaryRouteMatcher;
|
|
17
17
|
private readonly _bonusRouteMatcher;
|
|
18
|
-
private readonly
|
|
18
|
+
private readonly _transferParser;
|
|
19
19
|
constructor(_lineRoutesMapping: LineRoutesMapping, _bonusLinesMapping: BonusLinesMapping, _onError: (error: GtfsTripParsingError) => void);
|
|
20
20
|
parse(trips: TripsCsv, stopTimes: StopTimesCsv, transfers: TransfersCsv, calendars: readonly GtfsCalendar[], lineGtfsIdMapping: LineGtfsIdMapping, stopGtfsIdMapping: StopGtfsIdMapping): {
|
|
21
|
-
parsedTrips:
|
|
21
|
+
parsedTrips: GtfsScheduledTrip[];
|
|
22
|
+
parsedTransfers: readonly import("../../data/gtfs-transfer.js").GtfsEntireVehicleFormsServiceTransfer[];
|
|
22
23
|
ignoredTripIds: string[];
|
|
23
24
|
};
|
|
24
25
|
private _organiseStopTimesIntoTrips;
|
|
25
26
|
private _applyBonusLines;
|
|
26
27
|
private _buildCalendarMap;
|
|
27
28
|
}
|
|
28
|
-
export type GtfsTripParsingError = StopTimeReferencesNonExistentTripError | DuplicateTripIdError | TripReferencesNonExistentCalendarError | TripReferencesUnmappedRouteIdError | GtfsStopTimeNormalisationError | GtfsRouteMatchingError |
|
|
29
|
+
export type GtfsTripParsingError = StopTimeReferencesNonExistentTripError | DuplicateTripIdError | TripReferencesNonExistentCalendarError | TripReferencesUnmappedRouteIdError | GtfsStopTimeNormalisationError | GtfsRouteMatchingError | GtfsTransferParsingError;
|
|
29
30
|
export declare class StopTimeReferencesNonExistentTripError {
|
|
30
31
|
readonly stopTime: StopTimesCsvRow;
|
|
31
32
|
readonly type = "stop-time-references-non-existent-trip";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GtfsScheduledTrip } from "../../data/gtfs-scheduled-trip.js";
|
|
2
2
|
import { GtfsStopTimeNormaliser, } from "./gtfs-stop-time-normaliser.js";
|
|
3
3
|
import { GtfsRouteMatcher, } from "./gtfs-route-matcher.js";
|
|
4
|
-
import {
|
|
4
|
+
import { GtfsTransferParser, } from "./gtfs-transfer-parser.js";
|
|
5
5
|
export class GtfsTripParser {
|
|
6
6
|
_lineRoutesMapping;
|
|
7
7
|
_bonusLinesMapping;
|
|
@@ -9,7 +9,7 @@ export class GtfsTripParser {
|
|
|
9
9
|
_stopTimeNormaliser;
|
|
10
10
|
_primaryRouteMatcher;
|
|
11
11
|
_bonusRouteMatcher;
|
|
12
|
-
|
|
12
|
+
_transferParser;
|
|
13
13
|
constructor(
|
|
14
14
|
// Unlike csvs, lineGtfsIdMapping, and stopGtfsIdMapping, these are not
|
|
15
15
|
// subfeed-dependent, so I'm opting to make them constructor args.
|
|
@@ -19,14 +19,14 @@ export class GtfsTripParser {
|
|
|
19
19
|
this._onError = _onError;
|
|
20
20
|
this._stopTimeNormaliser = new GtfsStopTimeNormaliser(this._onError);
|
|
21
21
|
this._primaryRouteMatcher = new GtfsRouteMatcher(this._onError);
|
|
22
|
-
this.
|
|
22
|
+
this._transferParser = new GtfsTransferParser(this._onError);
|
|
23
23
|
// We don't care if a bonus route doesn't match. Most of the time, it won't!
|
|
24
24
|
this._bonusRouteMatcher = new GtfsRouteMatcher(() => { });
|
|
25
25
|
}
|
|
26
26
|
parse(trips, stopTimes, transfers, calendars, lineGtfsIdMapping, stopGtfsIdMapping) {
|
|
27
27
|
const calendarMap = this._buildCalendarMap(calendars);
|
|
28
28
|
const rowsByTrip = this._organiseStopTimesIntoTrips(trips, stopTimes);
|
|
29
|
-
const
|
|
29
|
+
const parsedTrips = [];
|
|
30
30
|
const ignoredTripIds = [];
|
|
31
31
|
for (const { trip, stopTimes } of rowsByTrip) {
|
|
32
32
|
const calendar = calendarMap.get(trip.service_id);
|
|
@@ -53,7 +53,7 @@ export class GtfsTripParser {
|
|
|
53
53
|
if (routeMatchResult == null)
|
|
54
54
|
continue;
|
|
55
55
|
const { lineIds, serviceTags } = this._applyBonusLines(lineIdMatch.lineId, routeMatchResult.serviceTags, normalizedStopTimes, stopGtfsIdMapping);
|
|
56
|
-
|
|
56
|
+
parsedTrips.push(new GtfsScheduledTrip({
|
|
57
57
|
gtfsTripId: trip.trip_id,
|
|
58
58
|
gtfsRouteId: trip.route_id,
|
|
59
59
|
calendar,
|
|
@@ -61,12 +61,10 @@ export class GtfsTripParser {
|
|
|
61
61
|
lineIds,
|
|
62
62
|
color: routeMatchResult.color,
|
|
63
63
|
serviceTags,
|
|
64
|
-
previousTrip: null,
|
|
65
|
-
nextTrip: null,
|
|
66
64
|
}));
|
|
67
65
|
}
|
|
68
|
-
const
|
|
69
|
-
return { parsedTrips, ignoredTripIds };
|
|
66
|
+
const parsedTransfers = this._transferParser.parse(parsedTrips, transfers);
|
|
67
|
+
return { parsedTrips, parsedTransfers, ignoredTripIds };
|
|
70
68
|
}
|
|
71
69
|
_organiseStopTimesIntoTrips(trips, stopTimes) {
|
|
72
70
|
const result = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-trip-parser.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-trip-parser.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,sBAAsB,GAEvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,gBAAgB,GAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"gtfs-trip-parser.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-trip-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-transfer-connector.js","sourceRoot":"","sources":["../../../src/parser/schedule/gtfs-transfer-connector.ts"],"names":[],"mappings":"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"}
|