corequery-gtfs 0.8.0 → 0.10.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/config/ids.d.ts +4 -7
- package/dist/conversion/corequery-intrasource-id.js.map +1 -0
- package/dist/{corequeryify → conversion}/service-conversion-iterator.d.ts +1 -1
- package/dist/conversion/service-conversion-iterator.js.map +1 -0
- package/dist/{corequeryify → conversion}/service-converter.d.ts +9 -9
- package/dist/conversion/service-converter.js.map +1 -0
- package/dist/data/gtfs-feed.d.ts +3 -2
- package/dist/data/gtfs-feed.js +29 -10
- package/dist/data/gtfs-feed.js.map +1 -1
- package/dist/data/gtfs-scheduled-trip.js +2 -2
- package/dist/data/gtfs-scheduled-trip.js.map +1 -1
- package/dist/data/gtfs-transfer.d.ts +2 -2
- package/dist/data/gtfs-updated-trip-movements.js.map +1 -1
- package/dist/data/ids/line-gtfs-id-collection.d.ts +7 -8
- package/dist/data/ids/line-gtfs-id-collection.js +16 -25
- package/dist/data/ids/line-gtfs-id-collection.js.map +1 -1
- package/dist/data/ids/line-gtfs-id-metadata.d.ts +5 -10
- package/dist/data/ids/stop-gtfs-id-collection.d.ts +3 -5
- package/dist/data/ids/stop-gtfs-id-collection.js +12 -26
- package/dist/data/ids/stop-gtfs-id-collection.js.map +1 -1
- package/dist/data/ids/stop-gtfs-id-metadata.d.ts +3 -13
- package/dist/data/index.js +4 -0
- package/dist/data/index.js.map +1 -1
- package/dist/departures/{departures-block-iterator.d.ts → iterator/departures-block-iterator.d.ts} +2 -2
- package/dist/departures/{departures-block-iterator.js → iterator/departures-block-iterator.js} +0 -1
- package/dist/departures/iterator/departures-block-iterator.js.map +1 -0
- package/dist/departures/{departures-iterator.d.ts → iterator/departures-iterator.d.ts} +4 -4
- package/dist/departures/iterator/departures-iterator.js.map +1 -0
- package/dist/departures/{filter-iterator.d.ts → iterator/filtering-departures-iterator.d.ts} +2 -2
- package/dist/departures/{filter-iterator.js → iterator/filtering-departures-iterator.js} +2 -2
- package/dist/departures/iterator/filtering-departures-iterator.js.map +1 -0
- package/dist/departures/{realtime-departures-block-iterator.d.ts → iterator/realtime-departures-block-iterator.d.ts} +2 -2
- package/dist/departures/{realtime-departures-block-iterator.js → iterator/realtime-departures-block-iterator.js} +1 -1
- package/dist/departures/iterator/realtime-departures-block-iterator.js.map +1 -0
- package/dist/departures/{scheduled-departures-block-iterator.d.ts → iterator/scheduled-departures-block-iterator.d.ts} +3 -3
- package/dist/departures/iterator/scheduled-departures-block-iterator.js.map +1 -0
- package/dist/departures/{scheduled-departures-iterator.d.ts → iterator/scheduled-departures-iterator.d.ts} +5 -5
- package/dist/departures/{scheduled-departures-iterator.js → iterator/scheduled-departures-iterator.js} +2 -2
- package/dist/departures/iterator/scheduled-departures-iterator.js.map +1 -0
- package/dist/departures/{zipper-departures-iterator.d.ts → iterator/zipper-departures-iterator.d.ts} +4 -4
- package/dist/departures/iterator/zipper-departures-iterator.js.map +1 -0
- package/dist/gtfs-service-source.d.ts +8 -8
- package/dist/gtfs-service-source.js +3 -3
- package/dist/gtfs-service-source.js.map +1 -1
- package/dist/gtfs-system.js +11 -23
- package/dist/gtfs-system.js.map +1 -1
- package/dist/parser/gtfs-feed-parser.d.ts +12 -3
- package/dist/parser/gtfs-feed-parser.js +19 -9
- package/dist/parser/gtfs-feed-parser.js.map +1 -1
- package/dist/parser/realtime/gtfs-realtime-data-parser.d.ts +7 -2
- package/dist/parser/realtime/gtfs-realtime-data-parser.js +10 -6
- package/dist/parser/realtime/gtfs-realtime-data-parser.js.map +1 -1
- package/dist/parser/realtime/gtfs-trip-update-parser.d.ts +9 -11
- package/dist/parser/realtime/gtfs-trip-update-parser.js +15 -37
- package/dist/parser/realtime/gtfs-trip-update-parser.js.map +1 -1
- package/dist/parser/realtime/gtfs-trip-update-trip-identifier.d.ts +4 -1
- package/dist/parser/realtime/gtfs-trip-update-trip-identifier.js +2 -2
- package/dist/parser/realtime/gtfs-trip-update-trip-identifier.js.map +1 -1
- package/dist/parser/schedule/gtfs-calendar-parser.d.ts +4 -1
- package/dist/parser/schedule/gtfs-calendar-parser.js +2 -2
- package/dist/parser/schedule/gtfs-calendar-parser.js.map +1 -1
- package/dist/parser/schedule/gtfs-route-matcher.d.ts +7 -2
- package/dist/parser/schedule/gtfs-route-matcher.js +9 -7
- package/dist/parser/schedule/gtfs-route-matcher.js.map +1 -1
- package/dist/parser/schedule/gtfs-schedule-data-parser.d.ts +9 -2
- package/dist/parser/schedule/gtfs-schedule-data-parser.js +13 -5
- package/dist/parser/schedule/gtfs-schedule-data-parser.js.map +1 -1
- package/dist/parser/schedule/gtfs-stop-time-normaliser.d.ts +4 -1
- package/dist/parser/schedule/gtfs-stop-time-normaliser.js +2 -2
- package/dist/parser/schedule/gtfs-stop-time-normaliser.js.map +1 -1
- package/dist/parser/schedule/gtfs-transfer-parser.d.ts +4 -1
- package/dist/parser/schedule/gtfs-transfer-parser.js +9 -8
- package/dist/parser/schedule/gtfs-transfer-parser.js.map +1 -1
- package/dist/parser/schedule/gtfs-trip-parser.d.ts +10 -2
- package/dist/parser/schedule/gtfs-trip-parser.js +27 -18
- package/dist/parser/schedule/gtfs-trip-parser.js.map +1 -1
- package/package.json +1 -1
- package/dist/corequeryify/corequery-intrasource-id.js.map +0 -1
- package/dist/corequeryify/service-conversion-iterator.js.map +0 -1
- package/dist/corequeryify/service-converter.js.map +0 -1
- package/dist/departures/departures-block-iterator.js.map +0 -1
- package/dist/departures/departures-iterator.js.map +0 -1
- package/dist/departures/filter-iterator.js.map +0 -1
- package/dist/departures/realtime-departures-block-iterator.js.map +0 -1
- package/dist/departures/scheduled-departures-block-iterator.js.map +0 -1
- package/dist/departures/scheduled-departures-iterator.js.map +0 -1
- package/dist/departures/zipper-departures-iterator.js.map +0 -1
- /package/dist/{corequeryify → conversion}/corequery-intrasource-id.d.ts +0 -0
- /package/dist/{corequeryify → conversion}/corequery-intrasource-id.js +0 -0
- /package/dist/{corequeryify → conversion}/service-conversion-iterator.js +0 -0
- /package/dist/{corequeryify → conversion}/service-converter.js +0 -0
- /package/dist/departures/{departures-iterator.js → iterator/departures-iterator.js} +0 -0
- /package/dist/departures/{scheduled-departures-block-iterator.js → iterator/scheduled-departures-block-iterator.js} +0 -0
- /package/dist/departures/{zipper-departures-iterator.js → iterator/zipper-departures-iterator.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-departures-block-iterator.js","sourceRoot":"","sources":["../../../src/departures/iterator/realtime-departures-block-iterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,uBAAuB,GAExB,MAAM,iCAAiC,CAAC;AAEzC,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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { ScheduledDeparturesBlock } from "
|
|
1
|
+
import type { ScheduledDeparturesBlock } from "../scheduled-departures-block.js";
|
|
2
2
|
import { DeparturesIteratorResult } from "./departures-iterator.js";
|
|
3
|
-
import type { GtfsRealtimeData } from "
|
|
3
|
+
import type { GtfsRealtimeData } from "../../data/gtfs-realtime-data.js";
|
|
4
4
|
import { DeparturesBlockIterator } from "./departures-block-iterator.js";
|
|
5
|
-
import type { GtfsScheduledMovementsIndexEntry } from "
|
|
5
|
+
import type { GtfsScheduledMovementsIndexEntry } from "../gtfs-scheduled-movements-index.js";
|
|
6
6
|
export declare class ScheduledDeparturesBlockIterator extends DeparturesBlockIterator<ScheduledDeparturesBlock, GtfsScheduledMovementsIndexEntry> {
|
|
7
7
|
private readonly _realtimeData;
|
|
8
8
|
constructor(block: ScheduledDeparturesBlock, _realtimeData: GtfsRealtimeData);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduled-departures-block-iterator.js","sourceRoot":"","sources":["../../../src/departures/iterator/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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { DeparturesIterator, type DeparturesIteratorResult } from "./departures-iterator.js";
|
|
2
|
-
import type { GtfsScheduledMovementsIndex } from "
|
|
3
|
-
import type { GtfsRealtimeData } from "
|
|
4
|
-
import { ScheduledDeparturesBlocksBuilder } from "
|
|
5
|
-
import type { TimezoneData } from "
|
|
6
|
-
import type { DeparturesIterationDirection } from "
|
|
2
|
+
import type { GtfsScheduledMovementsIndex } from "../gtfs-scheduled-movements-index.js";
|
|
3
|
+
import type { GtfsRealtimeData } from "../../data/gtfs-realtime-data.js";
|
|
4
|
+
import { ScheduledDeparturesBlocksBuilder } from "../scheduled-departures-blocks-builder.js";
|
|
5
|
+
import type { TimezoneData } from "../../config/timezone-data.js";
|
|
6
|
+
import type { DeparturesIterationDirection } from "../../corequery-types.js";
|
|
7
7
|
type ScheduledDeparturesIteratorOptions = {
|
|
8
8
|
readonly blockScanHours: number;
|
|
9
9
|
readonly maximumNumberOfScans: number | null;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assertNever, removeIf } from "@dan-schel/js-utils";
|
|
2
2
|
import { DeparturesIterator, } from "./departures-iterator.js";
|
|
3
|
-
import { BoundedInstantRange } from "
|
|
3
|
+
import { BoundedInstantRange } from "../../data/bounded-instant-range.js";
|
|
4
4
|
import { ScheduledDeparturesBlockIterator } from "./scheduled-departures-block-iterator.js";
|
|
5
|
-
import { ScheduledDeparturesBlocksBuilder } from "
|
|
5
|
+
import { ScheduledDeparturesBlocksBuilder } from "../scheduled-departures-blocks-builder.js";
|
|
6
6
|
const DEFAULT_BLOCK_SCAN_HOURS = 48;
|
|
7
7
|
export class ScheduledDeparturesIterator extends DeparturesIterator {
|
|
8
8
|
_blockBuilder;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduled-departures-iterator.js","sourceRoot":"","sources":["../../../src/departures/iterator/scheduled-departures-iterator.ts"],"names":[],"mappings":"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"}
|
package/dist/departures/{zipper-departures-iterator.d.ts → iterator/zipper-departures-iterator.d.ts}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DeparturesIterator, DeparturesIteratorResult } from "./departures-iterator.js";
|
|
2
|
-
import type { GtfsScheduledMovementsIndex } from "
|
|
3
|
-
import type { GtfsRealtimeData } from "
|
|
4
|
-
import type { TimezoneData } from "
|
|
5
|
-
import type { DeparturesIterationDirection } from "
|
|
2
|
+
import type { GtfsScheduledMovementsIndex } from "../gtfs-scheduled-movements-index.js";
|
|
3
|
+
import type { GtfsRealtimeData } from "../../data/gtfs-realtime-data.js";
|
|
4
|
+
import type { TimezoneData } from "../../config/timezone-data.js";
|
|
5
|
+
import type { DeparturesIterationDirection } from "../../corequery-types.js";
|
|
6
6
|
export declare class ZipperDeparturesIterator extends DeparturesIterator {
|
|
7
7
|
private readonly _iterators;
|
|
8
8
|
private readonly _iterationLimitHours;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zipper-departures-iterator.js","sourceRoot":"","sources":["../../../src/departures/iterator/zipper-departures-iterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,14 @@ type GtfsServiceSourceFields<CorequeryDepartureClass, CorequeryServiceClass, Cor
|
|
|
4
4
|
readonly sourceId: string;
|
|
5
5
|
readonly gtfsSystem: GtfsSystem;
|
|
6
6
|
readonly departureIterationLimitHours: number | null;
|
|
7
|
-
buildDeparture: (fields: DepartureFields<CorequeryServiceClass>) => CorequeryDepartureClass;
|
|
8
|
-
buildService: (fields: ServiceFields<CorequeryTagsClass, CorequeryServiceOriginatingMovementClass, CorequeryServiceRegularMovementClass, CorequeryServiceTerminatingMovementClass, CorequeryServicePassingMovementClass, CorequeryServiceConnectionClass>) => CorequeryServiceClass;
|
|
9
|
-
buildTags: (tags: Set<number>) => CorequeryTagsClass;
|
|
10
|
-
buildServiceOriginatingMovement: (fields: ServiceOriginatingMovementFields) => CorequeryServiceOriginatingMovementClass;
|
|
11
|
-
buildServiceRegularMovement: (fields: ServiceRegularMovementFields) => CorequeryServiceRegularMovementClass;
|
|
12
|
-
buildServiceTerminatingMovement: (fields: ServiceTerminatingMovementFields) => CorequeryServiceTerminatingMovementClass;
|
|
13
|
-
buildServicePassingMovement: (fields: ServicePassingMovementFields) => CorequeryServicePassingMovementClass;
|
|
14
|
-
buildServiceConnection: (fields: ServiceConnectionFields) => CorequeryServiceConnectionClass;
|
|
7
|
+
readonly buildDeparture: (fields: DepartureFields<CorequeryServiceClass>) => CorequeryDepartureClass;
|
|
8
|
+
readonly buildService: (fields: ServiceFields<CorequeryTagsClass, CorequeryServiceOriginatingMovementClass, CorequeryServiceRegularMovementClass, CorequeryServiceTerminatingMovementClass, CorequeryServicePassingMovementClass, CorequeryServiceConnectionClass>) => CorequeryServiceClass;
|
|
9
|
+
readonly buildTags: (tags: Set<number>) => CorequeryTagsClass;
|
|
10
|
+
readonly buildServiceOriginatingMovement: (fields: ServiceOriginatingMovementFields) => CorequeryServiceOriginatingMovementClass;
|
|
11
|
+
readonly buildServiceRegularMovement: (fields: ServiceRegularMovementFields) => CorequeryServiceRegularMovementClass;
|
|
12
|
+
readonly buildServiceTerminatingMovement: (fields: ServiceTerminatingMovementFields) => CorequeryServiceTerminatingMovementClass;
|
|
13
|
+
readonly buildServicePassingMovement: (fields: ServicePassingMovementFields) => CorequeryServicePassingMovementClass;
|
|
14
|
+
readonly buildServiceConnection: (fields: ServiceConnectionFields) => CorequeryServiceConnectionClass;
|
|
15
15
|
};
|
|
16
16
|
export declare class GtfsServiceSource<CorequeryDepartureClass, CorequeryServiceClass, CorequeryTagsClass, CorequeryServiceOriginatingMovementClass, CorequeryServiceRegularMovementClass, CorequeryServiceTerminatingMovementClass, CorequeryServicePassingMovementClass, CorequeryServiceConnectionClass> implements ServiceSource<CorequeryDepartureClass, CorequeryServiceClass> {
|
|
17
17
|
readonly sourceId: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { assertNever } from "@dan-schel/js-utils";
|
|
2
|
-
import { CorequeryIntrasourceId } from "./
|
|
3
|
-
import { ServiceConverter } from "./
|
|
2
|
+
import { CorequeryIntrasourceId } from "./conversion/corequery-intrasource-id.js";
|
|
3
|
+
import { ServiceConverter } from "./conversion/service-converter.js";
|
|
4
4
|
import { GtfsScheduledTrip } from "./data/gtfs-scheduled-trip.js";
|
|
5
5
|
import { GtfsUpdatedTrip } from "./data/gtfs-updated-trip.js";
|
|
6
|
-
import { ServiceConversionIterator } from "./
|
|
6
|
+
import { ServiceConversionIterator } from "./conversion/service-conversion-iterator.js";
|
|
7
7
|
export class GtfsServiceSource {
|
|
8
8
|
sourceId;
|
|
9
9
|
gtfsSystem;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"gtfs-service-source.js","sourceRoot":"","sources":["../src/gtfs-service-source.ts"],"names":[],"mappings":"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"}
|
package/dist/gtfs-system.js
CHANGED
|
@@ -9,26 +9,6 @@ export class GtfsSystem {
|
|
|
9
9
|
_lineRoutesMapping;
|
|
10
10
|
_bonusLinesMapping;
|
|
11
11
|
_timezoneData;
|
|
12
|
-
// TODO: The parsers are designed assuming that the same instance will be used
|
|
13
|
-
// to parse multiple feeds. I'm now thinking that this GtfsSystem class should
|
|
14
|
-
// house the feed, but only represent one GTFS feed so that it can be a
|
|
15
|
-
// departure source for Corequery just like any other, e.g. Corequery would
|
|
16
|
-
// have departure sources:
|
|
17
|
-
//
|
|
18
|
-
// - GTFS regional
|
|
19
|
-
// - GTFS suburban
|
|
20
|
-
// - PTV API
|
|
21
|
-
// - Static timetables
|
|
22
|
-
//
|
|
23
|
-
// And it would all be zipped together at the Corequery level. The advantage
|
|
24
|
-
// is that we don't have to track subfeed IDs within the GTFS systems, and we
|
|
25
|
-
// can say within Corequery itself that every service is uniquely identified
|
|
26
|
-
// by a source ID and service ID within that source.
|
|
27
|
-
//
|
|
28
|
-
// This is a long winded way of saying that I think GtfsFeedParser will
|
|
29
|
-
// probably only be used for one feed, and I should check if there's any
|
|
30
|
-
// reason I decided to make it reusable for multiple feeds (some expensive
|
|
31
|
-
// setup that I wanted to avoid repeating?).
|
|
32
12
|
_parser;
|
|
33
13
|
_feed;
|
|
34
14
|
_scheduleParsingErrors;
|
|
@@ -39,7 +19,15 @@ export class GtfsSystem {
|
|
|
39
19
|
this._lineRoutesMapping = _lineRoutesMapping;
|
|
40
20
|
this._bonusLinesMapping = _bonusLinesMapping;
|
|
41
21
|
this._timezoneData = _timezoneData;
|
|
42
|
-
this._parser = new GtfsFeedParser(
|
|
22
|
+
this._parser = new GtfsFeedParser({
|
|
23
|
+
lineRoutesMapping: this._lineRoutesMapping,
|
|
24
|
+
bonusLinesMapping: this._bonusLinesMapping,
|
|
25
|
+
lineGtfsIdMapping: this._lineGtfsIdMapping,
|
|
26
|
+
stopGtfsIdMapping: this._stopGtfsIdMapping,
|
|
27
|
+
timezoneData: this._timezoneData,
|
|
28
|
+
onScheduleParsingError: (error) => this._onScheduledParsingError(error),
|
|
29
|
+
onRealtimeParsingError: (error) => this._onRealtimeParsingError(error),
|
|
30
|
+
});
|
|
43
31
|
this._feed = null;
|
|
44
32
|
this._scheduleParsingErrors = [];
|
|
45
33
|
this._realtimeParsingErrors = [];
|
|
@@ -64,14 +52,14 @@ export class GtfsSystem {
|
|
|
64
52
|
onNewScheduleData(scheduleCsvs, realtimeJson) {
|
|
65
53
|
this._scheduleParsingErrors = [];
|
|
66
54
|
this._realtimeParsingErrors = [];
|
|
67
|
-
const result = this._parser.parse(scheduleCsvs, realtimeJson
|
|
55
|
+
const result = this._parser.parse(scheduleCsvs, realtimeJson);
|
|
68
56
|
this._feed = result;
|
|
69
57
|
}
|
|
70
58
|
onNewRealtimeData(realtimeJson) {
|
|
71
59
|
if (this._feed == null)
|
|
72
60
|
throw new Error("No schedule data parsed yet.");
|
|
73
61
|
this._realtimeParsingErrors = [];
|
|
74
|
-
const result = this._parser.updateWithNewRealtimeData(this._feed, realtimeJson
|
|
62
|
+
const result = this._parser.updateWithNewRealtimeData(this._feed, realtimeJson);
|
|
75
63
|
this._feed = result;
|
|
76
64
|
}
|
|
77
65
|
setFeed(feed) {
|
package/dist/gtfs-system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-system.js","sourceRoot":"","sources":["../src/gtfs-system.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAM9D,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"gtfs-system.js","sourceRoot":"","sources":["../src/gtfs-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,20 @@ import { type GtfsRealtimeDataParsingError } from "./realtime/gtfs-realtime-data
|
|
|
8
8
|
import { type GtfsScheduleParsingError } from "./schedule/gtfs-schedule-data-parser.js";
|
|
9
9
|
import type { GtfsFeedCsv } from "../data/raw/schedule-csvs.js";
|
|
10
10
|
import type { TimezoneData } from "../config/timezone-data.js";
|
|
11
|
+
export type GtfsFeedParserFields = {
|
|
12
|
+
readonly lineRoutesMapping: LineRoutesMapping;
|
|
13
|
+
readonly bonusLinesMapping: BonusLinesMapping;
|
|
14
|
+
readonly lineGtfsIdMapping: LineGtfsIdMapping;
|
|
15
|
+
readonly stopGtfsIdMapping: StopGtfsIdMapping;
|
|
16
|
+
readonly timezoneData: TimezoneData;
|
|
17
|
+
readonly onScheduleParsingError: (error: GtfsScheduleParsingError) => void;
|
|
18
|
+
readonly onRealtimeParsingError: (error: GtfsRealtimeDataParsingError) => void;
|
|
19
|
+
};
|
|
11
20
|
export declare class GtfsFeedParser {
|
|
12
21
|
private readonly _timezoneData;
|
|
13
22
|
private readonly _scheduleParser;
|
|
14
23
|
private readonly _realtimeParser;
|
|
15
|
-
constructor(
|
|
16
|
-
parse(scheduleCsvs: GtfsFeedCsv, realtimeJson: RealtimeDataJson
|
|
17
|
-
updateWithNewRealtimeData(gtfsFeed: GtfsFeed, realtimeData: RealtimeDataJson
|
|
24
|
+
constructor(fields: GtfsFeedParserFields);
|
|
25
|
+
parse(scheduleCsvs: GtfsFeedCsv, realtimeJson: RealtimeDataJson): GtfsFeed;
|
|
26
|
+
updateWithNewRealtimeData(gtfsFeed: GtfsFeed, realtimeData: RealtimeDataJson): GtfsFeed;
|
|
18
27
|
}
|
|
@@ -5,18 +5,28 @@ export class GtfsFeedParser {
|
|
|
5
5
|
_timezoneData;
|
|
6
6
|
_scheduleParser;
|
|
7
7
|
_realtimeParser;
|
|
8
|
-
constructor(
|
|
9
|
-
this._timezoneData =
|
|
10
|
-
this._scheduleParser = new GtfsScheduleDataParser(
|
|
11
|
-
|
|
8
|
+
constructor(fields) {
|
|
9
|
+
this._timezoneData = fields.timezoneData;
|
|
10
|
+
this._scheduleParser = new GtfsScheduleDataParser({
|
|
11
|
+
lineRoutesMapping: fields.lineRoutesMapping,
|
|
12
|
+
bonusLinesMapping: fields.bonusLinesMapping,
|
|
13
|
+
lineGtfsIdMapping: fields.lineGtfsIdMapping,
|
|
14
|
+
stopGtfsIdMapping: fields.stopGtfsIdMapping,
|
|
15
|
+
onError: fields.onScheduleParsingError,
|
|
16
|
+
});
|
|
17
|
+
this._realtimeParser = new GtfsRealtimeDataParser({
|
|
18
|
+
timezone: fields.timezoneData.timezone,
|
|
19
|
+
stopGtfsIdMapping: fields.stopGtfsIdMapping,
|
|
20
|
+
onError: fields.onRealtimeParsingError,
|
|
21
|
+
});
|
|
12
22
|
}
|
|
13
|
-
parse(scheduleCsvs, realtimeJson
|
|
14
|
-
const scheduleData = this._scheduleParser.parse(scheduleCsvs
|
|
15
|
-
const realtimeData = this._realtimeParser.parse(realtimeJson, scheduleData
|
|
23
|
+
parse(scheduleCsvs, realtimeJson) {
|
|
24
|
+
const scheduleData = this._scheduleParser.parse(scheduleCsvs);
|
|
25
|
+
const realtimeData = this._realtimeParser.parse(realtimeJson, scheduleData);
|
|
16
26
|
return GtfsFeed.fromNewScheduleData(scheduleData, realtimeData, this._timezoneData);
|
|
17
27
|
}
|
|
18
|
-
updateWithNewRealtimeData(gtfsFeed, realtimeData
|
|
19
|
-
const updatedRealtime = this._realtimeParser.parse(realtimeData, gtfsFeed.scheduleData
|
|
28
|
+
updateWithNewRealtimeData(gtfsFeed, realtimeData) {
|
|
29
|
+
const updatedRealtime = this._realtimeParser.parse(realtimeData, gtfsFeed.scheduleData);
|
|
20
30
|
return gtfsFeed.withUpdatedRealtimeData(updatedRealtime);
|
|
21
31
|
}
|
|
22
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-feed-parser.js","sourceRoot":"","sources":["../../src/parser/gtfs-feed-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMhD,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"gtfs-feed-parser.js","sourceRoot":"","sources":["../../src/parser/gtfs-feed-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMhD,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,sBAAsB,GAEvB,MAAM,yCAAyC,CAAC;AAgBjD,MAAM,OAAO,cAAc;IACR,aAAa,CAAe;IAE5B,eAAe,CAAyB;IACxC,eAAe,CAAyB;IAEzD,YAAY,MAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QAEzC,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAAC;YAChD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,sBAAsB;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,sBAAsB,CAAC;YAChD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ;YACtC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,sBAAsB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAyB,EAAE,YAA8B;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5E,OAAO,QAAQ,CAAC,mBAAmB,CACjC,YAAY,EACZ,YAAY,EACZ,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,QAAkB,EAClB,YAA8B;QAE9B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAChD,YAAY,EACZ,QAAQ,CAAC,YAAY,CACtB,CAAC;QAEF,OAAO,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -3,10 +3,15 @@ import type { GtfsScheduleData } from "../../data/gtfs-schedule-data.js";
|
|
|
3
3
|
import type { StopGtfsIdMapping } from "../../data/ids/stop-gtfs-id-mapping.js";
|
|
4
4
|
import type { RealtimeDataJson } from "../../data/raw/realtime-data-json.js";
|
|
5
5
|
import { type GtfsTripUpdateParsingError } from "./gtfs-trip-update-parser.js";
|
|
6
|
+
export type GtfsRealtimeDataParserFields = {
|
|
7
|
+
readonly timezone: string;
|
|
8
|
+
readonly stopGtfsIdMapping: StopGtfsIdMapping;
|
|
9
|
+
readonly onError: (error: GtfsRealtimeDataParsingError) => void;
|
|
10
|
+
};
|
|
6
11
|
export declare class GtfsRealtimeDataParser {
|
|
7
12
|
private readonly _tripUpdateParser;
|
|
8
|
-
constructor(
|
|
9
|
-
parse(realtimeData: RealtimeDataJson, scheduleData: GtfsScheduleData
|
|
13
|
+
constructor(fields: GtfsRealtimeDataParserFields);
|
|
14
|
+
parse(realtimeData: RealtimeDataJson, scheduleData: GtfsScheduleData): GtfsRealtimeData;
|
|
10
15
|
private _parseTripUpdates;
|
|
11
16
|
private _breakTransfers;
|
|
12
17
|
}
|
|
@@ -4,18 +4,22 @@ import { MutableGtfsTransferMapping } from "../../data/gtfs-transfer-mapping.js"
|
|
|
4
4
|
import { GtfsTripUpdateParser, } from "./gtfs-trip-update-parser.js";
|
|
5
5
|
export class GtfsRealtimeDataParser {
|
|
6
6
|
_tripUpdateParser;
|
|
7
|
-
constructor(
|
|
8
|
-
this._tripUpdateParser = new GtfsTripUpdateParser(
|
|
7
|
+
constructor(fields) {
|
|
8
|
+
this._tripUpdateParser = new GtfsTripUpdateParser({
|
|
9
|
+
timezone: fields.timezone,
|
|
10
|
+
stopGtfsIdMapping: fields.stopGtfsIdMapping,
|
|
11
|
+
onError: fields.onError,
|
|
12
|
+
});
|
|
9
13
|
}
|
|
10
|
-
parse(realtimeData, scheduleData
|
|
11
|
-
const updatedTrips = this._parseTripUpdates(realtimeData, scheduleData
|
|
14
|
+
parse(realtimeData, scheduleData) {
|
|
15
|
+
const updatedTrips = this._parseTripUpdates(realtimeData, scheduleData);
|
|
12
16
|
const brokenTransfers = this._breakTransfers(updatedTrips, scheduleData);
|
|
13
17
|
return new GtfsRealtimeData(updatedTrips, brokenTransfers, []);
|
|
14
18
|
}
|
|
15
|
-
_parseTripUpdates(realtimeData, scheduleData
|
|
19
|
+
_parseTripUpdates(realtimeData, scheduleData) {
|
|
16
20
|
const updatedTrips = [];
|
|
17
21
|
for (const tripUpdates of realtimeData.tripUpdates) {
|
|
18
|
-
const result = this._tripUpdateParser.parse(tripUpdates, scheduleData
|
|
22
|
+
const result = this._tripUpdateParser.parse(tripUpdates, scheduleData);
|
|
19
23
|
if (result != null) {
|
|
20
24
|
updatedTrips.push(result);
|
|
21
25
|
}
|
|
@@ -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;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,OAAO,EACL,oBAAoB,GAErB,MAAM,8BAA8B,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;AAQtC,MAAM,OAAO,sBAAsB;IAChB,iBAAiB,CAAuB;IAEzD,YAAY,MAAoC;QAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,oBAAoB,CAAC;YAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CACH,YAA8B,EAC9B,YAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAExE,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;QAE9B,MAAM,YAAY,GAAsB,EAAE,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAEvE,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"}
|
|
@@ -4,17 +4,23 @@ import { GtfsUpdatedTrip } from "../../data/gtfs-updated-trip.js";
|
|
|
4
4
|
import type { StopTimeUpdateJson, TripUpdateJson, UpdatedTimeJson } from "../../data/raw/realtime-data-json.js";
|
|
5
5
|
import { type GtfsTripUpdateTripIdentificationError } from "./gtfs-trip-update-trip-identifier.js";
|
|
6
6
|
import type { StopGtfsIdMapping } from "../../data/ids/stop-gtfs-id-mapping.js";
|
|
7
|
+
export type GtfsTripUpdateParserFields = {
|
|
8
|
+
readonly timezone: string;
|
|
9
|
+
readonly stopGtfsIdMapping: StopGtfsIdMapping;
|
|
10
|
+
readonly onError: (error: GtfsTripUpdateParsingError) => void;
|
|
11
|
+
};
|
|
7
12
|
export declare class GtfsTripUpdateParser {
|
|
8
13
|
private readonly _timezone;
|
|
14
|
+
private readonly _stopGtfsIdMapping;
|
|
9
15
|
private readonly _onError;
|
|
10
16
|
private readonly _tripIdentifier;
|
|
11
|
-
constructor(
|
|
12
|
-
parse(tripUpdate: TripUpdateJson, scheduleData: GtfsScheduleData
|
|
17
|
+
constructor(fields: GtfsTripUpdateParserFields);
|
|
18
|
+
parse(tripUpdate: TripUpdateJson, scheduleData: GtfsScheduleData): GtfsUpdatedTrip | null;
|
|
13
19
|
private _parseForScheduledTrip;
|
|
14
20
|
private _parseForCancelledTrip;
|
|
15
21
|
private _parseUpdatedTime;
|
|
16
22
|
}
|
|
17
|
-
export type GtfsTripUpdateParsingError = UnsupportedTripUpdateScheduleRelationshipError | GtfsTripUpdateTripIdentificationError | NoStopTimeUpdateFieldGivenError | UnsupportedStopTimeUpdateEntryScheduleRelationshipError | NecessaryFieldNotInStopTimeUpdateEntryError | StopTimeUpdateEntryReferencesNonExistentStopSequenceError | MultipleStopTimeUpdateEntriesForSameMovementIndexError | StopTimeUpdateEntryReferencesUnmappedStopIdError | StopTimeUpdateEntryChangesStopError |
|
|
23
|
+
export type GtfsTripUpdateParsingError = UnsupportedTripUpdateScheduleRelationshipError | GtfsTripUpdateTripIdentificationError | NoStopTimeUpdateFieldGivenError | UnsupportedStopTimeUpdateEntryScheduleRelationshipError | NecessaryFieldNotInStopTimeUpdateEntryError | StopTimeUpdateEntryReferencesNonExistentStopSequenceError | MultipleStopTimeUpdateEntriesForSameMovementIndexError | StopTimeUpdateEntryReferencesUnmappedStopIdError | StopTimeUpdateEntryChangesStopError | NeitherTimeNorDelayGivenError | TimeAndDelayDisagreeWithEachOtherError | NeitherArrivalNorDepartureGivenError;
|
|
18
24
|
export declare class UnsupportedTripUpdateScheduleRelationshipError {
|
|
19
25
|
readonly tripUpdate: TripUpdateJson;
|
|
20
26
|
readonly type = "unsupported-trip-update-schedule-relationship";
|
|
@@ -67,14 +73,6 @@ export declare class StopTimeUpdateEntryChangesStopError {
|
|
|
67
73
|
readonly type = "stop-time-update-entry-changes-stop";
|
|
68
74
|
constructor(tripUpdate: TripUpdateJson, stopTimeUpdateEntry: StopTimeUpdateJson, matchedTrip: GtfsScheduledTrip, matchedMovementIndex: number);
|
|
69
75
|
}
|
|
70
|
-
export declare class StopTimeUpdateEntryChangesPlatformError {
|
|
71
|
-
readonly tripUpdate: TripUpdateJson;
|
|
72
|
-
readonly stopTimeUpdateEntry: StopTimeUpdateJson;
|
|
73
|
-
readonly matchedTrip: GtfsScheduledTrip;
|
|
74
|
-
readonly matchedMovementIndex: number;
|
|
75
|
-
readonly type = "stop-time-update-entry-changes-platform";
|
|
76
|
-
constructor(tripUpdate: TripUpdateJson, stopTimeUpdateEntry: StopTimeUpdateJson, matchedTrip: GtfsScheduledTrip, matchedMovementIndex: number);
|
|
77
|
-
}
|
|
78
76
|
export declare class NeitherTimeNorDelayGivenError {
|
|
79
77
|
readonly tripUpdate: TripUpdateJson;
|
|
80
78
|
readonly stopTimeUpdateEntry: StopTimeUpdateJson;
|
|
@@ -6,20 +6,21 @@ const TRIP_UPDATE_SCHEDULE_RELATIONSHIP_CANCELLED = "CANCELED";
|
|
|
6
6
|
const STOP_TIME_UPDATE_ENTRY_SCHEDULE_RELATIONSHIP_SCHEDULED = "SCHEDULED";
|
|
7
7
|
export class GtfsTripUpdateParser {
|
|
8
8
|
_timezone;
|
|
9
|
+
_stopGtfsIdMapping;
|
|
9
10
|
_onError;
|
|
10
11
|
_tripIdentifier;
|
|
11
|
-
constructor(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
constructor(fields) {
|
|
13
|
+
this._timezone = fields.timezone;
|
|
14
|
+
this._stopGtfsIdMapping = fields.stopGtfsIdMapping;
|
|
15
|
+
this._onError = fields.onError;
|
|
16
|
+
this._tripIdentifier = new GtfsTripUpdateTripIdentifier({
|
|
17
|
+
onError: this._onError,
|
|
18
|
+
});
|
|
18
19
|
}
|
|
19
|
-
parse(tripUpdate, scheduleData
|
|
20
|
+
parse(tripUpdate, scheduleData) {
|
|
20
21
|
const sr = tripUpdate.trip.scheduleRelationship;
|
|
21
22
|
if (sr === TRIP_UPDATE_SCHEDULE_RELATIONSHIP_SCHEDULED) {
|
|
22
|
-
return this._parseForScheduledTrip(tripUpdate, scheduleData
|
|
23
|
+
return this._parseForScheduledTrip(tripUpdate, scheduleData);
|
|
23
24
|
}
|
|
24
25
|
else if (sr === TRIP_UPDATE_SCHEDULE_RELATIONSHIP_CANCELLED) {
|
|
25
26
|
return this._parseForCancelledTrip(tripUpdate, scheduleData);
|
|
@@ -29,7 +30,7 @@ export class GtfsTripUpdateParser {
|
|
|
29
30
|
return null;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
|
-
_parseForScheduledTrip(tripUpdate, scheduleData
|
|
33
|
+
_parseForScheduledTrip(tripUpdate, scheduleData) {
|
|
33
34
|
const result = this._tripIdentifier.identify(tripUpdate.trip, scheduleData);
|
|
34
35
|
if (result == null)
|
|
35
36
|
return null;
|
|
@@ -87,7 +88,7 @@ export class GtfsTripUpdateParser {
|
|
|
87
88
|
// Look up the stop GTFS ID given in the stop time update entry, and check
|
|
88
89
|
// whether it still maps to the same (CoreQuery) stop. In this way, we
|
|
89
90
|
// allow the platform/position ID to change, not the overall stop/station.
|
|
90
|
-
const gtfsIdMetadata =
|
|
91
|
+
const gtfsIdMetadata = this._stopGtfsIdMapping.tryResolve(entry.stopId);
|
|
91
92
|
if (gtfsIdMetadata == null) {
|
|
92
93
|
const Err = StopTimeUpdateEntryReferencesUnmappedStopIdError;
|
|
93
94
|
this._onError(new Err(tripUpdate, entry));
|
|
@@ -98,15 +99,7 @@ export class GtfsTripUpdateParser {
|
|
|
98
99
|
this._onError(new Err(tripUpdate, entry, trip, movementIndex));
|
|
99
100
|
return null;
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
-
// logging to see if it ever happens. We support platform changes done in
|
|
103
|
-
// this way, but I built that support on assumptions, and I have no idea
|
|
104
|
-
// if this is typically how PTV would represent a platform change.
|
|
105
|
-
if (gtfsIdMetadata.id !== scheduledMovement.gtfsIdMetadata.id) {
|
|
106
|
-
const Err = StopTimeUpdateEntryChangesPlatformError;
|
|
107
|
-
this._onError(new Err(tripUpdate, entry, trip, movementIndex));
|
|
108
|
-
}
|
|
109
|
-
const updatedPositionId = gtfsIdMetadata.type === "platform" ? gtfsIdMetadata.positionId : null;
|
|
102
|
+
const updatedPositionId = gtfsIdMetadata.type === "positional" ? gtfsIdMetadata.positionId : null;
|
|
110
103
|
// Parse the updated times from the `arrivalTime` and `departureTime`
|
|
111
104
|
// fields.
|
|
112
105
|
const realtimeArrivalTime = "arrivalTime" in scheduledMovement
|
|
@@ -255,8 +248,8 @@ export class StopTimeUpdateEntryReferencesUnmappedStopIdError {
|
|
|
255
248
|
this.stopTimeUpdateEntry = stopTimeUpdateEntry;
|
|
256
249
|
}
|
|
257
250
|
}
|
|
258
|
-
// i.e. It doesn't just change the platform (which we're fine with),
|
|
259
|
-
// entire stop.
|
|
251
|
+
// i.e. It doesn't just change the position/platform (which we're fine with),
|
|
252
|
+
// but the entire stop.
|
|
260
253
|
export class StopTimeUpdateEntryChangesStopError {
|
|
261
254
|
tripUpdate;
|
|
262
255
|
stopTimeUpdateEntry;
|
|
@@ -270,21 +263,6 @@ export class StopTimeUpdateEntryChangesStopError {
|
|
|
270
263
|
this.matchedMovementIndex = matchedMovementIndex;
|
|
271
264
|
}
|
|
272
265
|
}
|
|
273
|
-
// Just logging this to see if it ever happens. It's not really an error, and we
|
|
274
|
-
// handle it well.
|
|
275
|
-
export class StopTimeUpdateEntryChangesPlatformError {
|
|
276
|
-
tripUpdate;
|
|
277
|
-
stopTimeUpdateEntry;
|
|
278
|
-
matchedTrip;
|
|
279
|
-
matchedMovementIndex;
|
|
280
|
-
type = "stop-time-update-entry-changes-platform";
|
|
281
|
-
constructor(tripUpdate, stopTimeUpdateEntry, matchedTrip, matchedMovementIndex) {
|
|
282
|
-
this.tripUpdate = tripUpdate;
|
|
283
|
-
this.stopTimeUpdateEntry = stopTimeUpdateEntry;
|
|
284
|
-
this.matchedTrip = matchedTrip;
|
|
285
|
-
this.matchedMovementIndex = matchedMovementIndex;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
266
|
export class NeitherTimeNorDelayGivenError {
|
|
289
267
|
tripUpdate;
|
|
290
268
|
stopTimeUpdateEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-trip-update-parser.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-trip-update-parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAMlE,OAAO,EACL,4BAA4B,GAE7B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAG5C,MAAM,2CAA2C,GAAG,WAAW,CAAC;AAChE,MAAM,2CAA2C,GAAG,UAAU,CAAC;AAC/D,MAAM,sDAAsD,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gtfs-trip-update-parser.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-trip-update-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { GtfsScheduleData } from "../../data/gtfs-schedule-data.js";
|
|
2
2
|
import type { GtfsScheduledTrip } from "../../data/gtfs-scheduled-trip.js";
|
|
3
3
|
import type { TripDescriptorJson } from "../../data/raw/realtime-data-json.js";
|
|
4
|
+
export type GtfsTripUpdateTripIdentifierFields = {
|
|
5
|
+
readonly onError: (error: GtfsTripUpdateTripIdentificationError) => void;
|
|
6
|
+
};
|
|
4
7
|
export declare class GtfsTripUpdateTripIdentifier {
|
|
5
8
|
private readonly _onError;
|
|
6
|
-
constructor(
|
|
9
|
+
constructor(fields: GtfsTripUpdateTripIdentifierFields);
|
|
7
10
|
identify(tripDescriptor: TripDescriptorJson, scheduleData: GtfsScheduleData): {
|
|
8
11
|
trip: GtfsScheduledTrip;
|
|
9
12
|
serviceDay: Temporal.PlainDate;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class GtfsTripUpdateTripIdentifier {
|
|
2
2
|
_onError;
|
|
3
|
-
constructor(
|
|
4
|
-
this._onError =
|
|
3
|
+
constructor(fields) {
|
|
4
|
+
this._onError = fields.onError;
|
|
5
5
|
}
|
|
6
6
|
identify(tripDescriptor, scheduleData) {
|
|
7
7
|
// Currently it seems like PTV always gives `tripId` and `startDate` in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gtfs-trip-update-trip-identifier.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-trip-update-trip-identifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gtfs-trip-update-trip-identifier.js","sourceRoot":"","sources":["../../../src/parser/realtime/gtfs-trip-update-trip-identifier.ts"],"names":[],"mappings":"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"}
|