@golemio/pid 5.3.0-rc.2228022903 → 5.3.1-dev.2228047453
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/integration-engine/vehicle-positions/workers/vehicle-positions/interfaces/TransformationInterfaces.d.ts +4 -2
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +39 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +17 -13
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +205 -106
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
- package/package.json +2 -2
|
@@ -43,9 +43,11 @@ export interface ITransformationResult {
|
|
|
43
43
|
positions: IPositionTransformationResult[];
|
|
44
44
|
stops: ICisStopDto[];
|
|
45
45
|
trips: ITripTransformationResult[];
|
|
46
|
+
tripsWithCisStops: Map<string, number>;
|
|
46
47
|
}
|
|
47
48
|
export interface ITransformationElement {
|
|
48
|
-
position: IPositionTransformationResult;
|
|
49
|
+
position: IPositionTransformationResult | null;
|
|
49
50
|
stops: Map<string, ICisStopDto>;
|
|
50
|
-
trip: ITripTransformationResult;
|
|
51
|
+
trip: ITripTransformationResult | null;
|
|
52
|
+
tripToCis: number | null;
|
|
51
53
|
}
|
|
@@ -8,6 +8,7 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
|
|
|
8
8
|
readonly schema: typeof SaveDataToDBValidationSchema;
|
|
9
9
|
private readonly tripsRepository;
|
|
10
10
|
private readonly cisStopRepository;
|
|
11
|
+
private readonly ropidGTFSCisStopsModel;
|
|
11
12
|
private readonly messageTransformation;
|
|
12
13
|
private readonly logger;
|
|
13
14
|
constructor(queuePrefix: string);
|
|
@@ -15,5 +16,6 @@ export declare class SaveDataToDBTask extends AbstractTask<IMpvMessageInput> {
|
|
|
15
16
|
private saveStops;
|
|
16
17
|
private sendDataToUpdateGtfsTripId;
|
|
17
18
|
private sendDataToUpdateDelay;
|
|
19
|
+
private preparePositionsFromCisStops;
|
|
18
20
|
private getTripDataAndSendToUpdateDelay;
|
|
19
21
|
}
|
|
@@ -14,6 +14,8 @@ const TripsRepository_1 = require("../data-access/TripsRepository");
|
|
|
14
14
|
const TripsMapper_1 = __importDefault(require("../data-access/helpers/TripsMapper"));
|
|
15
15
|
const SaveDataToDBSchema_1 = require("../schema/SaveDataToDBSchema");
|
|
16
16
|
const MpvMessageTransformation_1 = require("../transformations/MpvMessageTransformation");
|
|
17
|
+
const RopidGTFSCisStopsModel_1 = require("../../../../ropid-gtfs/RopidGTFSCisStopsModel");
|
|
18
|
+
const sequelize_1 = require("@golemio/core/dist/shared/sequelize");
|
|
17
19
|
class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
18
20
|
constructor(queuePrefix) {
|
|
19
21
|
super(queuePrefix);
|
|
@@ -23,11 +25,14 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
23
25
|
this.tripsRepository = new TripsRepository_1.TripsRepository();
|
|
24
26
|
this.cisStopRepository = new CisStopRepository_1.CisStopRepository();
|
|
25
27
|
this.messageTransformation = new MpvMessageTransformation_1.MpvMessageTransformation();
|
|
28
|
+
this.ropidGTFSCisStopsModel = new RopidGTFSCisStopsModel_1.RopidGTFSCisStopsModel();
|
|
26
29
|
this.logger = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.Logger);
|
|
27
30
|
}
|
|
28
31
|
async execute(data, messageProperties) {
|
|
29
32
|
const taskStartTimestamp = new Date().getTime();
|
|
30
|
-
const
|
|
33
|
+
const now = MpvMessageTransformation_1.MpvMessageTransformation.currentTimeInPrague();
|
|
34
|
+
const nowFormatted = MpvMessageTransformation_1.MpvMessageTransformation.currentTimeInPragueFormatted(now);
|
|
35
|
+
const { trips, positions, stops, tripsWithCisStops } = await this.messageTransformation.transform(data.m.spoj);
|
|
31
36
|
const tripEntities = await this.tripsRepository.bulkSave(trips,
|
|
32
37
|
// Ignore incoming start_timestamp for existing trips to avoid overwriting existing computed timestamp
|
|
33
38
|
// TODO this is a workaround, dedicated column (gtfs_start_timestamp) will be added
|
|
@@ -35,11 +40,13 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
35
40
|
.filter((key) => key !== "start_timestamp")
|
|
36
41
|
.concat("updated_at"), true);
|
|
37
42
|
const { inserted, updated } = TripsMapper_1.default.mapTripEntitiesToUpdateDto(tripEntities, taskStartTimestamp);
|
|
43
|
+
const positionsToAppend = await this.preparePositionsFromCisStops(tripsWithCisStops, nowFormatted, now);
|
|
44
|
+
positions.push(...positionsToAppend);
|
|
45
|
+
// Save cis stops first to later propagate platform codes to departure boards
|
|
46
|
+
await this.saveStops(stops);
|
|
38
47
|
// At this point we want to send ACK to rabbit and let the rest of the processing to be done in the background
|
|
39
48
|
await this.sendDataToUpdateGtfsTripId(inserted, positions, messageProperties?.timestamp);
|
|
40
49
|
await this.sendDataToUpdateDelay(updated, positions, messageProperties?.timestamp);
|
|
41
|
-
// Save cis stops to later propagate platform codes to departure boards
|
|
42
|
-
await this.saveStops(stops);
|
|
43
50
|
}
|
|
44
51
|
async saveStops(stops) {
|
|
45
52
|
try {
|
|
@@ -118,6 +125,35 @@ class SaveDataToDBTask extends workers_1.AbstractTask {
|
|
|
118
125
|
}
|
|
119
126
|
}
|
|
120
127
|
}
|
|
128
|
+
async preparePositionsFromCisStops(tripsWithCisStops, tsText, ts) {
|
|
129
|
+
if (!tripsWithCisStops?.size) {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
const newPositions = [];
|
|
133
|
+
const cisList = new Set();
|
|
134
|
+
const cisToTrips = new Map();
|
|
135
|
+
for (const [tripId, cisStop] of tripsWithCisStops.entries()) {
|
|
136
|
+
cisList.add(cisStop);
|
|
137
|
+
cisToTrips.set(cisStop, (cisToTrips.get(cisStop) ?? []).concat([tripId]));
|
|
138
|
+
}
|
|
139
|
+
const rawCisStops = await this.ropidGTFSCisStopsModel.find({
|
|
140
|
+
where: {
|
|
141
|
+
cis: { [sequelize_1.Op.in]: Array.from(cisList) },
|
|
142
|
+
id: { [sequelize_1.Op.like]: `%/301` }, // We want only asw-code like XYZ/301
|
|
143
|
+
},
|
|
144
|
+
attributes: ["cis", "lat", "lon"],
|
|
145
|
+
raw: true,
|
|
146
|
+
});
|
|
147
|
+
for (const cisStop of rawCisStops) {
|
|
148
|
+
if (cisList.has(cisStop.cis) && cisToTrips.has(cisStop.cis)) {
|
|
149
|
+
cisList.delete(cisStop.cis); // prevents to create positions for the same cis stop returning multiple rows
|
|
150
|
+
for (const tripId of cisToTrips.get(cisStop.cis)) {
|
|
151
|
+
newPositions.push(this.messageTransformation.positionWithCisStopCoords(tripId, cisStop.lat, cisStop.lon, tsText, ts));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return newPositions;
|
|
156
|
+
}
|
|
121
157
|
async getTripDataAndSendToUpdateDelay(chunk, positions, firstMessageCreatedAt) {
|
|
122
158
|
try {
|
|
123
159
|
const updatedTrips = await this.tripsRepository.findAllAssocTripIds(chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":";;;;;;AAIA,wEAAqE;AACrE,mEAAuF;AACvF,2FAAqF;AACrF,2EAA6E;AAC7E,6EAA8F;AAE9F,wEAAqE;AACrE,oEAAiE;AACjE,qFAA6D;AAG7D,qEAA4E;AAC5E,0FAAuF;
|
|
1
|
+
{"version":3,"file":"SaveDataToDBTask.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
|
|
2
2
|
import { BaseTransformation, ITransformation } from "@golemio/core/dist/integration-engine/transformations";
|
|
3
|
-
import { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
4
|
-
import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
|
|
3
|
+
import moment, { Moment } from "@golemio/core/dist/shared/moment-timezone";
|
|
4
|
+
import { IPositionTransformationResult, ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
|
|
5
5
|
export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
|
|
6
6
|
private static ORIGIN_TIME_FORMAT;
|
|
7
|
-
|
|
7
|
+
private static readonly CIS_PLATFORM_ELIGIBLE;
|
|
8
8
|
private config;
|
|
9
9
|
private skipAgencyNames;
|
|
10
|
+
private trainBeforeTrackMinutesInterval;
|
|
11
|
+
name: string;
|
|
10
12
|
constructor();
|
|
11
13
|
/**
|
|
12
14
|
* Overrides BaseTransformation::transform
|
|
13
15
|
*/
|
|
14
16
|
transform: (data: IMpvPositionContent | IMpvPositionContent[]) => Promise<ITransformationResult>;
|
|
15
|
-
protected transformElement: (element: IMpvPositionContent) =>
|
|
17
|
+
protected transformElement: (element: IMpvPositionContent) => ITransformationElement | null;
|
|
16
18
|
/**
|
|
17
19
|
* Deduce UTC timestamp of start of trip and UTC timestamp of current position
|
|
18
20
|
*
|
|
@@ -20,10 +22,13 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
20
22
|
* @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
|
|
21
23
|
* @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
|
|
22
24
|
*/
|
|
23
|
-
protected deduceTimestamps
|
|
25
|
+
protected deduceTimestamps(firstStopXML: any, positionTimestampXML: string | null): {
|
|
24
26
|
startTimestamp: Moment;
|
|
25
27
|
positionTimestamp: Moment;
|
|
26
|
-
}
|
|
28
|
+
};
|
|
29
|
+
static currentTimeInPrague(): moment.Moment;
|
|
30
|
+
static currentTimeInPragueFormatted(now?: moment.Moment): string;
|
|
31
|
+
private isCisPlatformEligible;
|
|
27
32
|
/**
|
|
28
33
|
* Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
|
|
29
34
|
*
|
|
@@ -33,6 +38,8 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
33
38
|
*/
|
|
34
39
|
private checkMidnight;
|
|
35
40
|
private isBlacklistedAgency;
|
|
41
|
+
private isTrainBeforeTrackWithPlatforms;
|
|
42
|
+
private determinePrimaryKey;
|
|
36
43
|
/**
|
|
37
44
|
* Fix source negative bearing value due to overflow by adding 256
|
|
38
45
|
*
|
|
@@ -40,11 +47,8 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
|
|
|
40
47
|
* @returns {number}
|
|
41
48
|
*/
|
|
42
49
|
private fixSourceNegativeBearing;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
* @returns {stringList}
|
|
48
|
-
*/
|
|
49
|
-
private formatASWStopId;
|
|
50
|
+
private extractStopsForTrain;
|
|
51
|
+
positionWithCisStopCoords(id: string, lat: string, lng: string, cpoz: string, positionTimestamp: moment.Moment): IPositionTransformationResult;
|
|
52
|
+
private determinePosition;
|
|
53
|
+
private determineTrip;
|
|
50
54
|
}
|
|
@@ -23,6 +23,7 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
23
23
|
constructor() {
|
|
24
24
|
super();
|
|
25
25
|
this.skipAgencyNames = [];
|
|
26
|
+
this.trainBeforeTrackMinutesInterval = [-5, 20];
|
|
26
27
|
/**
|
|
27
28
|
* Overrides BaseTransformation::transform
|
|
28
29
|
*/
|
|
@@ -33,51 +34,71 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
33
34
|
positions: [],
|
|
34
35
|
stops: [],
|
|
35
36
|
trips: [],
|
|
37
|
+
tripsWithCisStops: new Map(),
|
|
36
38
|
};
|
|
37
39
|
if (!Array.isArray(data))
|
|
38
40
|
data = [data];
|
|
39
41
|
for (const element of data) {
|
|
40
|
-
const elemRes =
|
|
41
|
-
if (elemRes) {
|
|
42
|
+
const elemRes = this.transformElement(element);
|
|
43
|
+
if (!elemRes) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (elemRes.position) {
|
|
42
47
|
res.positions.push(elemRes.position);
|
|
48
|
+
}
|
|
49
|
+
if (elemRes.trip) {
|
|
43
50
|
trips.set(elemRes.trip.id, elemRes.trip);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
51
|
+
}
|
|
52
|
+
if (elemRes.tripToCis && elemRes.trip) {
|
|
53
|
+
res.tripsWithCisStops.set(elemRes.trip.id, elemRes.tripToCis);
|
|
54
|
+
}
|
|
55
|
+
for (const [key, value] of elemRes.stops) {
|
|
56
|
+
stops.set(key, value);
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
res.trips = Array.from(trips.values());
|
|
50
60
|
res.stops = Array.from(stops.values());
|
|
51
61
|
return res;
|
|
52
62
|
};
|
|
53
|
-
this.transformElement =
|
|
63
|
+
this.transformElement = (element) => {
|
|
54
64
|
const attributes = element.$;
|
|
65
|
+
if (this.isBlacklistedAgency(attributes.dopr)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
if (this.isTrainBeforeTrackWithPlatforms(attributes, element.zast)) {
|
|
69
|
+
const { startTimestamp } = this.deduceTimestamps(element.zast[0], null);
|
|
70
|
+
const id = this.determinePrimaryKey(attributes, startTimestamp.utc().format());
|
|
71
|
+
const stops = this.extractStopsForTrain(id, element.zast);
|
|
72
|
+
const firstStop = Array.from(stops.values()).at(0);
|
|
73
|
+
return {
|
|
74
|
+
position: null,
|
|
75
|
+
stops,
|
|
76
|
+
trip: this.determineTrip(attributes, parseInt(attributes.spoj, 10), id, startTimestamp, element.zast[0]),
|
|
77
|
+
tripToCis: firstStop?.cis_stop_group_id ?? null,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
55
80
|
// Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
|
|
56
81
|
let hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
|
|
57
82
|
// Trips without the CIS trip number are excluded
|
|
58
83
|
hasInvalidAttributes ||= typeof attributes.spoj === "undefined" || attributes.spoj === "";
|
|
59
84
|
// Canceled trips with no lat or lng are accepted because we try to later get the coords from the context if possible
|
|
60
85
|
hasInvalidAttributes ||= attributes.zrus !== "true" && (!attributes.lat || !attributes.lng);
|
|
61
|
-
|
|
86
|
+
const cisTripNumber = parseInt(attributes.spoj, 10);
|
|
87
|
+
// wrong spoj number, no chance to continue
|
|
88
|
+
hasInvalidAttributes ||= isNaN(cisTripNumber);
|
|
89
|
+
if (hasInvalidAttributes) {
|
|
62
90
|
return null;
|
|
63
91
|
}
|
|
64
92
|
attributes.lin = attributes.lin || "none";
|
|
65
93
|
attributes.alias = attributes.alias || "none";
|
|
66
|
-
attributes.cpoz = attributes.cpoz ||
|
|
67
|
-
const cisTripNumber = parseInt(attributes.spoj, 10);
|
|
68
|
-
if (isNaN(cisTripNumber)) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
94
|
+
attributes.cpoz = attributes.cpoz || MpvMessageTransformation.currentTimeInPragueFormatted();
|
|
71
95
|
const stops = element.zast;
|
|
72
|
-
const { startTimestamp, positionTimestamp } =
|
|
96
|
+
const { startTimestamp, positionTimestamp } = this.deduceTimestamps(stops[0], attributes.cpoz);
|
|
73
97
|
// filter out position with future time (set to be far than 5 minutes from now)
|
|
74
98
|
if ((0, moment_timezone_1.default)(positionTimestamp).isAfter((0, moment_timezone_1.default)().add(5, "minutes"))) {
|
|
75
99
|
return null;
|
|
76
100
|
}
|
|
77
|
-
|
|
78
|
-
// primary key for t != 0 -> start_timestamp, cis_id, cis_short_name, cis_number
|
|
79
|
-
const primaryKeySuffix = attributes.t === "0" ? `_${attributes.spoj}` : `_${attributes.lin}` + `_${attributes.alias}` + `_${attributes.spoj}`;
|
|
80
|
-
const primaryKey = startTimestamp.utc().format() + primaryKeySuffix;
|
|
101
|
+
const primaryKey = this.determinePrimaryKey(attributes, startTimestamp.utc().format());
|
|
81
102
|
/*
|
|
82
103
|
MPV route types:
|
|
83
104
|
|
|
@@ -100,50 +121,11 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
100
121
|
Ostatní: 17
|
|
101
122
|
Trolejbus: 18
|
|
102
123
|
*/
|
|
103
|
-
const
|
|
104
|
-
|
|
105
|
-
const aswLastStopId = null;
|
|
106
|
-
const cisLastStopId = attributes.zast;
|
|
107
|
-
let res = {
|
|
108
|
-
position: {
|
|
109
|
-
asw_last_stop_id: aswLastStopId ? this.formatASWStopId(aswLastStopId) : null,
|
|
110
|
-
bearing: bearing ? this.fixSourceNegativeBearing(parseInt(bearing, 10)) : null,
|
|
111
|
-
cis_last_stop_id: cisLastStopId ? parseInt(cisLastStopId, 10) : null,
|
|
112
|
-
cis_last_stop_sequence: null,
|
|
113
|
-
delay_stop_arrival: attributes.zpoz_prij ? parseInt(attributes.zpoz_prij, 10) : null,
|
|
114
|
-
delay_stop_departure: attributes.zpoz_odj ? parseInt(attributes.zpoz_odj, 10) : null,
|
|
115
|
-
is_canceled: attributes.zrus === "true",
|
|
116
|
-
lat: attributes.lat ? parseFloat(attributes.lat) : null,
|
|
117
|
-
lng: attributes.lng ? parseFloat(attributes.lng) : null,
|
|
118
|
-
origin_time: attributes.cpoz,
|
|
119
|
-
origin_timestamp: positionTimestamp.toDate(),
|
|
120
|
-
speed: speed ? parseInt(speed, 10) : null,
|
|
121
|
-
state_position: const_1.StatePositionEnum.UNKNOWN,
|
|
122
|
-
state_process: const_1.StateProcessEnum.INPUT,
|
|
123
|
-
is_tracked: attributes.sled === PositionTrackingEnum.TRACKING && !!attributes.lat && !!attributes.lng,
|
|
124
|
-
trips_id: primaryKey,
|
|
125
|
-
},
|
|
124
|
+
const res = {
|
|
125
|
+
position: this.determinePosition(attributes, primaryKey, positionTimestamp),
|
|
126
126
|
stops: new Map(),
|
|
127
|
-
trip:
|
|
128
|
-
|
|
129
|
-
agency_name_scheduled: attributes.dopr ? attributes.dopr : null,
|
|
130
|
-
cis_line_id: attributes.lin,
|
|
131
|
-
cis_line_short_name: attributes.alias,
|
|
132
|
-
cis_trip_number: cisTripNumber,
|
|
133
|
-
id: primaryKey,
|
|
134
|
-
is_canceled: attributes.zrus === "true",
|
|
135
|
-
origin_route_name: attributes.kmenl ?? null,
|
|
136
|
-
run_number: attributes.po !== undefined ? parseInt(attributes.po, 10) : null,
|
|
137
|
-
start_asw_stop_id: stops[0].$.asw ?? null,
|
|
138
|
-
start_cis_stop_id: stops[0].$.zast ? parseInt(stops[0].$.zast, 10) : null,
|
|
139
|
-
start_cis_stop_platform_code: stops[0].$.stan ?? null,
|
|
140
|
-
start_time: startTimestamp.tz("Europe/Prague").format("HH:mm"),
|
|
141
|
-
start_timestamp: startTimestamp.toDate(),
|
|
142
|
-
vehicle_registration_number: attributes.vuzevc ? parseInt(attributes.vuzevc, 10) : null,
|
|
143
|
-
vehicle_type_id: attributes.t ? parseInt(attributes.t, 10) : null,
|
|
144
|
-
wheelchair_accessible: attributes.np === "true",
|
|
145
|
-
provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http,
|
|
146
|
-
},
|
|
127
|
+
trip: this.determineTrip(attributes, cisTripNumber, primaryKey, startTimestamp, element.zast[0]),
|
|
128
|
+
tripToCis: null,
|
|
147
129
|
};
|
|
148
130
|
for (let i = 0; i < stops.length; i++) {
|
|
149
131
|
const stop = stops[i];
|
|
@@ -157,7 +139,7 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
157
139
|
(stop.$.zpoz_typ_prij && parseInt(stop.$.zpoz_typ_prij, 10) === 3))) {
|
|
158
140
|
res.position.cis_last_stop_sequence = cisStopSequence;
|
|
159
141
|
}
|
|
160
|
-
if (
|
|
142
|
+
if (this.isCisPlatformEligible(res.trip)) {
|
|
161
143
|
res.stops.set(`${primaryKey}_${stop.$.zast}`, {
|
|
162
144
|
rt_trip_id: primaryKey,
|
|
163
145
|
cis_stop_group_id: parseInt(stop.$.zast, 10),
|
|
@@ -167,40 +149,6 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
167
149
|
}
|
|
168
150
|
return res;
|
|
169
151
|
};
|
|
170
|
-
/**
|
|
171
|
-
* Deduce UTC timestamp of start of trip and UTC timestamp of current position
|
|
172
|
-
*
|
|
173
|
-
* @param {any} firstStopXML - parsed object of first stop
|
|
174
|
-
* @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
|
|
175
|
-
* @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
|
|
176
|
-
*/
|
|
177
|
-
this.deduceTimestamps = async (firstStopXML, positionTimestampXML) => {
|
|
178
|
-
const now = moment_timezone_1.default.tz("Europe/Prague");
|
|
179
|
-
let isOverMidnight = 0;
|
|
180
|
-
// creating startDate and timestamp from zast[0].prij and cpoz
|
|
181
|
-
const startTimestamp = now.clone();
|
|
182
|
-
let startDatePlain = firstStopXML.$.prij || firstStopXML.$.odj;
|
|
183
|
-
startDatePlain = startDatePlain.split(":");
|
|
184
|
-
// eslint-disable-next-line prettier/prettier
|
|
185
|
-
startTimestamp.hour(parseInt(startDatePlain[0], 10)).minute(parseInt(startDatePlain[1], 10)).second(0).millisecond(0);
|
|
186
|
-
// midnight checking
|
|
187
|
-
isOverMidnight = this.checkMidnight(now, startTimestamp); // returns -1, 1 or 0
|
|
188
|
-
startTimestamp.add(isOverMidnight, "d");
|
|
189
|
-
const positionTimestamp = now.clone();
|
|
190
|
-
const timestampPlain = positionTimestampXML.split(":");
|
|
191
|
-
positionTimestamp
|
|
192
|
-
.hour(parseInt(timestampPlain[0], 10))
|
|
193
|
-
.minute(parseInt(timestampPlain[1], 10))
|
|
194
|
-
.second(parseInt(timestampPlain[2], 10))
|
|
195
|
-
.millisecond(0);
|
|
196
|
-
// midnight checking
|
|
197
|
-
isOverMidnight = this.checkMidnight(now, positionTimestamp); // returns -1, 1 or 0
|
|
198
|
-
positionTimestamp.add(isOverMidnight, "d");
|
|
199
|
-
return {
|
|
200
|
-
startTimestamp,
|
|
201
|
-
positionTimestamp,
|
|
202
|
-
};
|
|
203
|
-
};
|
|
204
152
|
/**
|
|
205
153
|
* Returns -1 if start hour is 12-23 and now is 0-12, 1 if start hour is 18-23 and now 0-6, else 0
|
|
206
154
|
*
|
|
@@ -230,10 +178,108 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
230
178
|
this.skipAgencyNames = this.config
|
|
231
179
|
.getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", DPPUtils_1.default.DPP_AGENCY_NAME)
|
|
232
180
|
.split(",");
|
|
181
|
+
this.trainBeforeTrackMinutesInterval = this.config
|
|
182
|
+
.getValue("module.pid.vehicle-positions.mpvIntegration.trainBeforeTrackMinutesInterval", "-5,35")
|
|
183
|
+
.split(",")
|
|
184
|
+
.map((s) => parseInt(s, 10));
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Deduce UTC timestamp of start of trip and UTC timestamp of current position
|
|
188
|
+
*
|
|
189
|
+
* @param {any} firstStopXML - parsed object of first stop
|
|
190
|
+
* @param {string} positionTimestampXML - XML attribute of local timestamp of position (HH:mm:ss)
|
|
191
|
+
* @returns {{ startTimestamp: Moment; positionTimestamp: Moment }}
|
|
192
|
+
*/
|
|
193
|
+
deduceTimestamps(firstStopXML, positionTimestampXML) {
|
|
194
|
+
const now = moment_timezone_1.default.tz("Europe/Prague");
|
|
195
|
+
let isOverMidnight = 0;
|
|
196
|
+
// creating startDate and timestamp from zast[0].prij and cpoz
|
|
197
|
+
const startTimestamp = now.clone();
|
|
198
|
+
let startDatePlain = firstStopXML.$.prij || firstStopXML.$.odj;
|
|
199
|
+
startDatePlain = startDatePlain.split(":");
|
|
200
|
+
// eslint-disable-next-line prettier/prettier
|
|
201
|
+
startTimestamp.hour(parseInt(startDatePlain[0], 10)).minute(parseInt(startDatePlain[1], 10)).second(0).millisecond(0);
|
|
202
|
+
// midnight checking
|
|
203
|
+
isOverMidnight = this.checkMidnight(now, startTimestamp); // returns -1, 1 or 0
|
|
204
|
+
startTimestamp.add(isOverMidnight, "d");
|
|
205
|
+
if (positionTimestampXML == null) {
|
|
206
|
+
return { startTimestamp, positionTimestamp: now.clone() };
|
|
207
|
+
}
|
|
208
|
+
const positionTimestamp = now.clone();
|
|
209
|
+
const timestampPlain = positionTimestampXML.split(":");
|
|
210
|
+
positionTimestamp
|
|
211
|
+
.hour(parseInt(timestampPlain[0], 10))
|
|
212
|
+
.minute(parseInt(timestampPlain[1], 10))
|
|
213
|
+
.second(parseInt(timestampPlain[2], 10))
|
|
214
|
+
.millisecond(0);
|
|
215
|
+
// midnight checking
|
|
216
|
+
isOverMidnight = this.checkMidnight(now, positionTimestamp); // returns -1, 1 or 0
|
|
217
|
+
positionTimestamp.add(isOverMidnight, "d");
|
|
218
|
+
return {
|
|
219
|
+
startTimestamp,
|
|
220
|
+
positionTimestamp,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
static currentTimeInPrague() {
|
|
224
|
+
return moment_timezone_1.default.tz("Europe/Prague");
|
|
225
|
+
}
|
|
226
|
+
static currentTimeInPragueFormatted(now) {
|
|
227
|
+
return (now ?? moment_timezone_1.default.tz("Europe/Prague")).format(MpvMessageTransformation.ORIGIN_TIME_FORMAT);
|
|
228
|
+
}
|
|
229
|
+
isCisPlatformEligible(trip) {
|
|
230
|
+
if (trip?.vehicle_type_id == null) {
|
|
231
|
+
return false;
|
|
232
|
+
}
|
|
233
|
+
return MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE.includes(trip.vehicle_type_id);
|
|
233
234
|
}
|
|
234
235
|
isBlacklistedAgency(agency) {
|
|
235
236
|
return agency && this.skipAgencyNames.includes(agency);
|
|
236
237
|
}
|
|
238
|
+
isTrainBeforeTrackWithPlatforms(attrs, zast) {
|
|
239
|
+
if (attrs.lat || attrs.lng || attrs.zrus || attrs.cpoz || isNaN(parseInt(attrs.spoj, 10)) || !Array.isArray(zast)) {
|
|
240
|
+
// Should the message has any of these, we skip it here (not processing in this specific flow):
|
|
241
|
+
// - has lat/lng OR
|
|
242
|
+
// - has information about being cancelled (zrus) OR
|
|
243
|
+
// - has time of position (cpoz) OR
|
|
244
|
+
// - has no information about what train-identifier it is (spoj)
|
|
245
|
+
// - has not list of stops (zast)
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
248
|
+
// further code accepts only unknown or train transport
|
|
249
|
+
const isValidRouteType = this.isCisPlatformEligible({ vehicle_type_id: parseInt(attrs.t || "0") });
|
|
250
|
+
// and accepts only <zast> XML with some "stan" (platform code) information
|
|
251
|
+
const hasStopWithPlatform = zast.some((z) => z.$.stan?.length);
|
|
252
|
+
// all stops have to be in CZ cis number system
|
|
253
|
+
const wrongStopFromNonCzCis = zast.some((z) => {
|
|
254
|
+
return Number(z.$.zast) < 5400000 || Number(z.$.zast) >= 5500000;
|
|
255
|
+
});
|
|
256
|
+
if (!isValidRouteType || !hasStopWithPlatform || wrongStopFromNonCzCis) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
const { startTimestamp } = this.deduceTimestamps(zast[0], null);
|
|
260
|
+
const departureInterval = [
|
|
261
|
+
// allow planned departure X minutes in past
|
|
262
|
+
(0, moment_timezone_1.default)().subtract(Math.abs(this.trainBeforeTrackMinutesInterval[0]), "minutes"),
|
|
263
|
+
// allow up to Y minutes into future for valid trains
|
|
264
|
+
(0, moment_timezone_1.default)().add(this.trainBeforeTrackMinutesInterval[1], "minutes"),
|
|
265
|
+
];
|
|
266
|
+
if (startTimestamp.isBetween(departureInterval[0], departureInterval[1])) {
|
|
267
|
+
// Seems the train has not yet departed onto the trip, probably good to make it into a position
|
|
268
|
+
// first stop has departure time inside interval of X minutes back till now+Y minutes <now-Xminutes ... now+Ymin>
|
|
269
|
+
return true;
|
|
270
|
+
}
|
|
271
|
+
// For trains that are already on the trip = due to arriving from different / far away public
|
|
272
|
+
// transport network, and we don't receive position(s) yet, AND we won't be creating fake positions,
|
|
273
|
+
// because the vehicle is moving in reality, but MPVNet is not sending us the messages with lat/lng of it yet
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
determinePrimaryKey(attributes, prefix) {
|
|
277
|
+
// primary key for t = 0 (vehicle type is train) -> start_timestamp, cis_number
|
|
278
|
+
// primary key for t != 0 -> start_timestamp, cis_id, cis_short_name, cis_number
|
|
279
|
+
return attributes.t === "0"
|
|
280
|
+
? `${prefix}_${attributes.spoj}`
|
|
281
|
+
: `${prefix}_${attributes.lin}_${attributes.alias}_${attributes.spoj}`;
|
|
282
|
+
}
|
|
237
283
|
/**
|
|
238
284
|
* Fix source negative bearing value due to overflow by adding 256
|
|
239
285
|
*
|
|
@@ -243,19 +289,72 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
|
|
|
243
289
|
fixSourceNegativeBearing(bearing) {
|
|
244
290
|
return bearing < 0 ? bearing + 256 : bearing;
|
|
245
291
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
292
|
+
extractStopsForTrain(id, stopsXML) {
|
|
293
|
+
const stops = new Map();
|
|
294
|
+
for (const stop of stopsXML) {
|
|
295
|
+
if (!stop.$.zast || !stop.$.stan) {
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
stops.set(`${id}_${stop.$.zast}`, {
|
|
299
|
+
rt_trip_id: id,
|
|
300
|
+
cis_stop_group_id: parseInt(stop.$.zast, 10),
|
|
301
|
+
cis_stop_platform_code: MpvStopParser_1.MpvStopParser.parsePlatformCode(stop),
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
return stops;
|
|
305
|
+
}
|
|
306
|
+
positionWithCisStopCoords(id, lat, lng, cpoz, positionTimestamp) {
|
|
307
|
+
return this.determinePosition({ lat, lng, cpoz }, id, positionTimestamp);
|
|
308
|
+
}
|
|
309
|
+
determinePosition(attributes, id, positionTimestamp) {
|
|
310
|
+
const cisLastStopId = attributes.zast;
|
|
311
|
+
const speed = attributes.rychl;
|
|
312
|
+
const bearing = attributes.azimut;
|
|
313
|
+
return {
|
|
314
|
+
asw_last_stop_id: null,
|
|
315
|
+
bearing: bearing ? this.fixSourceNegativeBearing(parseInt(bearing, 10)) : null,
|
|
316
|
+
cis_last_stop_id: cisLastStopId ? parseInt(cisLastStopId, 10) : null,
|
|
317
|
+
cis_last_stop_sequence: null,
|
|
318
|
+
delay_stop_arrival: attributes.zpoz_prij ? parseInt(attributes.zpoz_prij, 10) : null,
|
|
319
|
+
delay_stop_departure: attributes.zpoz_odj ? parseInt(attributes.zpoz_odj, 10) : null,
|
|
320
|
+
is_canceled: attributes.zrus === "true",
|
|
321
|
+
lat: attributes.lat ? parseFloat(attributes.lat) : null,
|
|
322
|
+
lng: attributes.lng ? parseFloat(attributes.lng) : null,
|
|
323
|
+
origin_time: attributes.cpoz || positionTimestamp.format(MpvMessageTransformation.ORIGIN_TIME_FORMAT),
|
|
324
|
+
origin_timestamp: positionTimestamp.toDate(),
|
|
325
|
+
speed: speed ? parseInt(speed, 10) : null,
|
|
326
|
+
state_position: const_1.StatePositionEnum.UNKNOWN,
|
|
327
|
+
state_process: const_1.StateProcessEnum.INPUT,
|
|
328
|
+
is_tracked: attributes.sled === PositionTrackingEnum.TRACKING && !!attributes.lat && !!attributes.lng,
|
|
329
|
+
trips_id: id,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
determineTrip(attributes, cisTripNumber, id, start, zastXML) {
|
|
333
|
+
if (isNaN(cisTripNumber))
|
|
334
|
+
return null;
|
|
335
|
+
return {
|
|
336
|
+
agency_name_real: attributes.doprSkut ? attributes.doprSkut : null,
|
|
337
|
+
agency_name_scheduled: attributes.dopr ? attributes.dopr : null,
|
|
338
|
+
cis_line_id: attributes.lin || "none",
|
|
339
|
+
cis_line_short_name: attributes.alias || "none",
|
|
340
|
+
cis_trip_number: cisTripNumber,
|
|
341
|
+
id,
|
|
342
|
+
is_canceled: attributes.zrus === "true",
|
|
343
|
+
origin_route_name: attributes.kmenl ?? null,
|
|
344
|
+
run_number: attributes.po !== undefined ? parseInt(attributes.po, 10) : null,
|
|
345
|
+
start_asw_stop_id: zastXML.$.asw ?? null,
|
|
346
|
+
start_cis_stop_id: zastXML.$.zast ? parseInt(zastXML.$.zast, 10) : null,
|
|
347
|
+
start_cis_stop_platform_code: zastXML.$.stan ?? null,
|
|
348
|
+
start_time: start.tz("Europe/Prague").format("HH:mm"),
|
|
349
|
+
start_timestamp: start.toDate(),
|
|
350
|
+
vehicle_registration_number: attributes.vuzevc ? parseInt(attributes.vuzevc, 10) : null,
|
|
351
|
+
vehicle_type_id: attributes.t ? parseInt(attributes.t, 10) : null,
|
|
352
|
+
wheelchair_accessible: attributes.np === "true",
|
|
353
|
+
provider_source_type: ProviderSourceTypeEnum_1.ProviderSourceTypeEnum.Http,
|
|
354
|
+
};
|
|
257
355
|
}
|
|
258
356
|
}
|
|
259
357
|
exports.MpvMessageTransformation = MpvMessageTransformation;
|
|
260
358
|
MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
|
|
359
|
+
MpvMessageTransformation.CIS_PLATFORM_ELIGIBLE = [RouteTypeEnums_1.MPVRouteTypesEnum.UNKNOWN, RouteTypeEnums_1.MPVRouteTypesEnum.TRAIN];
|
|
261
360
|
//# sourceMappingURL=MpvMessageTransformation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MpvMessageTransformation.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.ts"],"names":[],"mappings":";;;;;;AAAA,0EAA4D;AAC5D,2FAA0D;AAE1D,oIAAoG;AAGpG,wEAAqE;AACrE,qEAA0F;AAC1F,2FAA4G;AAC5G,gGAA2E;AAC3E,gDAAgE;AAChE,mEAA2C;AAC3C,oEAAiE;AAQjE,IAAK,oBAGJ;AAHD,WAAK,oBAAoB;IACrB,0CAAkB,CAAA;IAClB,sCAAc,CAAA;AAClB,CAAC,EAHI,oBAAoB,KAApB,oBAAoB,QAGxB;AAED,MAAa,wBAAyB,SAAQ,oCAAkB;IAS5D;QACI,KAAK,EAAE,CAAC;QALJ,oBAAe,GAAa,EAAE,CAAC;QAC/B,oCAA+B,GAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAgB7D;;WAEG;QACI,cAAS,GAAG,KAAK,EAAE,IAAiD,EAAkC,EAAE;YAC3G,IAAI,KAAK,GAAG,IAAI,GAAG,EAAqC,CAAC;YACzD,IAAI,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;YAC3C,IAAI,GAAG,GAA0B;gBAC7B,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,iBAAiB,EAAE,IAAI,GAAG,EAAkB;aAC/C,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,SAAS;gBACb,CAAC;gBACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACnB,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACf,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC;gBACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBACvC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;YAED,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACvC,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,OAA4B,EAAiC,EAAE;YACzF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACxE,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO;oBACH,QAAQ,EAAE,IAAI;oBACd,KAAK;oBACL,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxG,SAAS,EAAE,SAAS,EAAE,iBAAiB,IAAI,IAAI;iBAClD,CAAC;YACN,CAAC;YAED,sGAAsG;YACtG,IAAI,oBAAoB,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACjG,iDAAiD;YACjD,oBAAoB,KAAK,OAAO,UAAU,CAAC,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC;YAC1F,qHAAqH;YACrH,oBAAoB,KAAK,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAE5F,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpD,2CAA2C;YAC3C,oBAAoB,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC;YAE9C,IAAI,oBAAoB,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC;YAC1C,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC;YAC9C,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,wBAAwB,CAAC,4BAA4B,EAAE,CAAC;YAE7F,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAE/F,+EAA+E;YAC/E,IAAI,IAAA,yBAAM,EAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,IAAA,yBAAM,GAAE,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;gBAChE,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAEvF;;;;;;;;;;;;;;;;;;;;;cAqBE;YAEF,MAAM,GAAG,GAAG;gBACR,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBAC3E,KAAK,EAAE,IAAI,GAAG,EAAuB;gBACrC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChG,SAAS,EAAE,IAAI;aAClB,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACf,SAAS;gBACb,CAAC;gBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/C,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC;gBAE9B,IACI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC3D,CAAC,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;wBAC3D,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EACzE,CAAC;oBACC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,GAAG,eAAe,CAAC;gBAC1D,CAAC;gBAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC1C,UAAU,EAAE,UAAU;wBACtB,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC5C,sBAAsB,EAAE,6BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;qBAChE,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,OAAO,GAA6B,CAAC;QACzC,CAAC,CAAC;QAgEF;;;;;;WAMG;QACK,kBAAa,GAAG,CAAC,GAAW,EAAE,KAAa,EAAU,EAAE;YAC3D,oBAAoB;YACpB,aAAa;YACb,+DAA+D;YAC/D,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;gBAC1C,uBAAuB;gBACvB,OAAO,CAAC,CAAC,CAAC;YACd,CAAC;YACD,oBAAoB;YACpB,aAAa;YACb,yFAAyF;iBACpF,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC3C,qBAAqB;gBACrB,OAAO,CAAC,CAAC;YACb,CAAC;YACD,OAAO,CAAC,CAAC,CAAC,WAAW;QACzB,CAAC,CAAC;QAjPE,IAAI,CAAC,IAAI,GAAG,oCAAgB,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,+BAA0B,CAAC,OAAO,CAAgB,qBAAS,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM;aAC7B,QAAQ,CAAS,6DAA6D,EAAE,kBAAQ,CAAC,eAAe,CAAC;aACzG,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,MAAM;aAC7C,QAAQ,CAAS,6EAA6E,EAAE,OAAO,CAAC;aACxG,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAmJD;;;;;;OAMG;IACO,gBAAgB,CACtB,YAAiB,EACjB,oBAAmC;QAEnC,MAAM,GAAG,GAAG,yBAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,8DAA8D;QAC9D,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/D,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,6CAA6C;QAC7C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEtH,oBAAoB;QACpB,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,qBAAqB;QAC/E,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAExC,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,iBAAiB;aACZ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACrC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACvC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACvC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpB,oBAAoB;QACpB,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;QAClF,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAE3C,OAAO;YACH,cAAc;YACd,iBAAiB;SACpB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,mBAAmB;QAC7B,OAAO,yBAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,4BAA4B,CAAC,GAAmB;QAC1D,OAAO,CAAC,GAAG,IAAI,yBAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IACnG,CAAC;IAEO,qBAAqB,CAAC,IAA+C;QACzE,IAAI,IAAI,EAAE,eAAe,IAAI,IAAI,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACzF,CAAC;IA2BO,mBAAmB,CAAC,MAA0B;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEO,+BAA+B,CAAC,KAA+B,EAAE,IAAiC;QACtG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChH,+FAA+F;YAC/F,mBAAmB;YACnB,oDAAoD;YACpD,mCAAmC;YACnC,gEAAgE;YAChE,iCAAiC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;QACnG,2EAA2E;QAC3E,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/D,+CAA+C;QAC/C,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,IAAI,CAAC,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG;YACtB,4CAA4C;YAC5C,IAAA,yBAAM,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;YAC/E,qDAAqD;YACrD,IAAA,yBAAM,GAAE,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;SACnE,CAAC;QACF,IAAI,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,+FAA+F;YAC/F,iHAAiH;YACjH,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,6FAA6F;QAC7F,oGAAoG;QACpG,6GAA6G;QAC7G,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,mBAAmB,CAAC,UAAoC,EAAE,MAAc;QAC5E,+EAA+E;QAC/E,gFAAgF;QAChF,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG;YACvB,CAAC,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE;YAChC,CAAC,CAAC,GAAG,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,OAAe;QAC5C,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IACjD,CAAC;IAEO,oBAAoB,CAAC,EAAU,EAAE,QAAqC;QAC1E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/B,SAAS;YACb,CAAC;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC9B,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5C,sBAAsB,EAAE,6BAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC;aAChE,CAAC,CAAC;QACP,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,yBAAyB,CAAC,EAAU,EAAE,GAAW,EAAE,GAAW,EAAE,IAAY,EAAE,iBAAgC;QACjH,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC7E,CAAC;IAEO,iBAAiB,CACrB,UAAwE,EACxE,EAAU,EACV,iBAAgC;QAEhC,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;QAElC,OAAO;YACH,gBAAgB,EAAE,IAAI;YACtB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9E,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACpE,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACpF,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACpF,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;YACvC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;YACvD,WAAW,EAAE,UAAU,CAAC,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,wBAAwB,CAAC,kBAAkB,CAAC;YACrG,gBAAgB,EAAE,iBAAiB,CAAC,MAAM,EAAE;YAC5C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACzC,cAAc,EAAE,yBAAiB,CAAC,OAAO;YACzC,aAAa,EAAE,wBAAgB,CAAC,KAAK;YACrC,UAAU,EAAE,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG;YACrG,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAEO,aAAa,CACjB,UAAoC,EACpC,aAAqB,EACrB,EAAU,EACV,KAAoB,EACpB,OAAY;QAEZ,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,OAAO;YACH,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YAClE,qBAAqB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YAC/D,WAAW,EAAE,UAAU,CAAC,GAAG,IAAI,MAAM;YACrC,mBAAmB,EAAE,UAAU,CAAC,KAAK,IAAI,MAAM;YAC/C,eAAe,EAAE,aAAa;YAC9B,EAAE;YACF,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;YACvC,iBAAiB,EAAE,UAAU,CAAC,KAAK,IAAI,IAAI;YAC3C,UAAU,EAAE,UAAU,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5E,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI;YACxC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACvE,4BAA4B,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI;YACpD,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACrD,eAAe,EAAE,KAAK,CAAC,MAAM,EAAE;YAC/B,2BAA2B,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACvF,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACjE,qBAAqB,EAAE,UAAU,CAAC,EAAE,KAAK,MAAM;YAC/C,oBAAoB,EAAE,+CAAsB,CAAC,IAAI;SACpD,CAAC;IACN,CAAC;;AA5YL,4DA6YC;AA5YkB,2CAAkB,GAAG,UAAU,AAAb,CAAc;AACvB,8CAAqB,GAAG,CAAC,kCAAiB,CAAC,OAAO,EAAE,kCAAiB,CAAC,KAAK,CAAC,AAAvD,CAAwD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.1-dev.2228047453",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@golemio/core": "^3.0.1-dev.2 || ^3.0.0 || ^2.0.1"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.
|
|
80
|
+
"@golemio/ovapi-gtfs-realtime-bindings": "1.2.6-dev.2214778812",
|
|
81
81
|
"@turf/turf": "^6.5.0",
|
|
82
82
|
"cheap-ruler": "^3.0.2",
|
|
83
83
|
"csv-parser": "^3.0.0",
|