@golemio/pid 2.14.3 → 2.14.4-dev.1368003691

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.
Files changed (21) hide show
  1. package/db/example/redis/publicStopTimesMockWithWrongDelays.json +37 -0
  2. package/db/migrations/postgresql/20240612135256-fix-delay-in-view-future-stop-times.js +53 -0
  3. package/db/migrations/postgresql/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-down.sql +82 -0
  5. package/db/migrations/postgresql/sqls/20240612135256-fix-delay-in-view-future-stop-times-up.sql +93 -0
  6. package/db/migrations/postgresql/sqls/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-down.sql +31 -0
  7. package/db/migrations/postgresql/sqls/20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-up.sql +38 -0
  8. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
  9. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +11 -27
  10. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  11. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  12. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  13. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  14. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js +4 -0
  15. package/dist/output-gateway/departure-boards/DepartureBoardsRouter.js.map +1 -1
  16. package/dist/output-gateway/pid/PIDRouter.js +4 -0
  17. package/dist/output-gateway/pid/PIDRouter.js.map +1 -1
  18. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.d.ts +1 -0
  19. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +27 -8
  20. package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
  21. package/package.json +2 -2
@@ -0,0 +1,37 @@
1
+ [
2
+ {
3
+ "sequence": 1,
4
+ "arr_delay": 0,
5
+ "dep_delay": 0
6
+ },
7
+ {
8
+ "sequence": 2,
9
+ "arr_delay": 130,
10
+ "dep_delay": 0
11
+ },
12
+ {
13
+ "sequence": 3,
14
+ "arr_delay": 0,
15
+ "dep_delay": 0
16
+ },
17
+ {
18
+ "sequence": 4,
19
+ "arr_delay": 120,
20
+ "dep_delay": 120
21
+ },
22
+ {
23
+ "sequence": 5,
24
+ "arr_delay": 0,
25
+ "dep_delay": 0
26
+ },
27
+ {
28
+ "sequence": 6,
29
+ "arr_delay": 80,
30
+ "dep_delay": 80
31
+ },
32
+ {
33
+ "sequence": 7,
34
+ "arr_delay": 80,
35
+ "dep_delay": 0
36
+ }
37
+ ]
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20240612135256-fix-delay-in-view-future-stop-times-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20240612135256-fix-delay-in-view-future-stop-times-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ var dbm;
4
+ var type;
5
+ var seed;
6
+ var fs = require('fs');
7
+ var path = require('path');
8
+ var Promise;
9
+
10
+ /**
11
+ * We receive the dbmigrate dependency from dbmigrate initially.
12
+ * This enables us to not have to rely on NODE_PATH.
13
+ */
14
+ exports.setup = function(options, seedLink) {
15
+ dbm = options.dbmigrate;
16
+ type = dbm.dataType;
17
+ seed = seedLink;
18
+ Promise = options.Promise;
19
+ };
20
+
21
+ exports.up = function(db) {
22
+ var filePath = path.join(__dirname, 'sqls', '20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-up.sql');
23
+ return new Promise( function( resolve, reject ) {
24
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
25
+ if (err) return reject(err);
26
+ console.log('received data: ' + data);
27
+
28
+ resolve(data);
29
+ });
30
+ })
31
+ .then(function(data) {
32
+ return db.runSql(data);
33
+ });
34
+ };
35
+
36
+ exports.down = function(db) {
37
+ var filePath = path.join(__dirname, 'sqls', '20240701093122-fix-delay-in-view-v-public-vehiclepositions-past-stop-times-down.sql');
38
+ return new Promise( function( resolve, reject ) {
39
+ fs.readFile(filePath, {encoding: 'utf-8'}, function(err,data){
40
+ if (err) return reject(err);
41
+ console.log('received data: ' + data);
42
+
43
+ resolve(data);
44
+ });
45
+ })
46
+ .then(function(data) {
47
+ return db.runSql(data);
48
+ });
49
+ };
50
+
51
+ exports._meta = {
52
+ "version": 1
53
+ };
@@ -0,0 +1,82 @@
1
+ -- v_public_vehiclepositions_future_stop_times source
2
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times AS
3
+ WITH RECURSIVE stop_times AS (
4
+ SELECT
5
+ rst.trip_id,
6
+ vt.id AS trips_id,
7
+ vt.provider_source_type,
8
+ vp.delay,
9
+ COALESCE(vp.last_stop_sequence, 1) AS initial_stop_sequence,
10
+ vp.state_position,
11
+ rst.stop_id,
12
+ rst.stop_sequence,
13
+ rst.computed_dwell_time_seconds,
14
+ CASE WHEN vp.last_stop_sequence IS NULL THEN
15
+ vp.delay
16
+ ELSE
17
+ vp.delay_stop_arrival
18
+ END AS arrival_delay_seconds,
19
+ CASE WHEN vp.last_stop_sequence IS NULL THEN
20
+ predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
21
+ WHEN vp.state_position::text = 'at_stop'::text THEN
22
+ CASE WHEN vt.provider_source_type::text = '1'::text THEN
23
+ GREATEST(0, vp.delay)
24
+ ELSE
25
+ vp.delay
26
+ END
27
+ ELSE
28
+ vp.delay_stop_departure
29
+ END AS departure_delay_seconds
30
+ FROM
31
+ ropidgtfs_stop_times rst
32
+ JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
33
+ JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id
34
+ AND (vp.valid_to IS NULL
35
+ OR vp.valid_to >= now())
36
+ AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying::text,
37
+ 'at_stop'::character varying::text,
38
+ 'before_track'::character varying::text,
39
+ 'before_track_delayed'::character varying::text]))
40
+ WHERE
41
+ vt.gtfs_trip_id IS NOT NULL
42
+ AND rst.stop_sequence = COALESCE(vp.last_stop_sequence, 1)
43
+ UNION ALL
44
+ SELECT
45
+ rst.trip_id,
46
+ previous_row.trips_id,
47
+ previous_row.provider_source_type,
48
+ previous_row.delay,
49
+ previous_row.initial_stop_sequence,
50
+ previous_row.state_position,
51
+ rst.stop_id,
52
+ rst.stop_sequence,
53
+ rst.computed_dwell_time_seconds,
54
+ CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
55
+ AND previous_row.state_position::text <> 'at_stop'::text THEN
56
+ previous_row.delay
57
+ ELSE
58
+ previous_row.departure_delay_seconds
59
+ END AS arrival_delay_seconds,
60
+ predict_delay_seconds(
61
+ CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
62
+ AND previous_row.state_position::text <> 'at_stop'::text THEN
63
+ previous_row.delay
64
+ ELSE
65
+ previous_row.departure_delay_seconds
66
+ END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
67
+ FROM
68
+ stop_times previous_row
69
+ JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text
70
+ AND rst.stop_sequence =(previous_row.stop_sequence + 1))
71
+ SELECT
72
+ stop_times.trips_id AS rt_trip_id,
73
+ stop_times.stop_sequence,
74
+ COALESCE(stop_times.arrival_delay_seconds, 0) AS stop_arr_delay,
75
+ COALESCE(stop_times.departure_delay_seconds, 0) AS stop_dep_delay,
76
+ stop_times.stop_id
77
+ FROM
78
+ stop_times
79
+ ORDER BY
80
+ stop_times.trip_id,
81
+ stop_times.stop_sequence;
82
+
@@ -0,0 +1,93 @@
1
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_future_stop_times AS
2
+ WITH RECURSIVE stop_times AS (
3
+ SELECT
4
+ rst.trip_id,
5
+ vt.id AS trips_id,
6
+ vt.provider_source_type,
7
+ coalesce(vp.delay, 0) AS delay,
8
+ coalesce(vp.last_stop_sequence, 1) AS initial_stop_sequence,
9
+ vp.state_position,
10
+ rst.stop_id,
11
+ rst.stop_sequence,
12
+ rst.computed_dwell_time_seconds,
13
+ rst.arrival_time,
14
+ rst.departure_time,
15
+ CASE WHEN vp.last_stop_sequence IS NULL THEN
16
+ coalesce(vp.delay, 0)
17
+ ELSE
18
+ coalesce(vp.delay_stop_arrival, 0)
19
+ END AS arrival_delay_seconds,
20
+ CASE WHEN vp.last_stop_sequence IS NULL THEN
21
+ predict_delay_seconds(vp.delay, rst.computed_dwell_time_seconds, vt.provider_source_type)
22
+ WHEN vp.state_position::text = 'at_stop'::text THEN
23
+ CASE WHEN vt.provider_source_type::text = '1'::text THEN
24
+ greatest(0, vp.delay)
25
+ ELSE
26
+ vp.delay
27
+ END
28
+ ELSE
29
+ vp.delay_stop_departure
30
+ END AS departure_delay_seconds
31
+ FROM
32
+ ropidgtfs_stop_times rst
33
+ JOIN vehiclepositions_trips vt ON vt.gtfs_trip_id::text = rst.trip_id::text
34
+ JOIN vehiclepositions_positions vp ON vp.id = vt.last_position_id
35
+ AND (vp.valid_to IS NULL
36
+ OR vp.valid_to >= now())
37
+ AND (vp.state_position::text = ANY (ARRAY['on_track'::character varying::text,
38
+ 'at_stop'::character varying::text,
39
+ 'before_track'::character varying::text,
40
+ 'before_track_delayed'::character varying::text]))
41
+ WHERE
42
+ vt.gtfs_trip_id IS NOT NULL
43
+ AND rst.stop_sequence = coalesce(vp.last_stop_sequence, 1)
44
+ UNION ALL
45
+ SELECT
46
+ rst.trip_id,
47
+ previous_row.trips_id,
48
+ previous_row.provider_source_type,
49
+ previous_row.delay,
50
+ previous_row.initial_stop_sequence,
51
+ previous_row.state_position,
52
+ rst.stop_id,
53
+ rst.stop_sequence,
54
+ rst.computed_dwell_time_seconds,
55
+ rst.arrival_time,
56
+ rst.departure_time,
57
+ CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
58
+ AND previous_row.state_position::text <> 'at_stop'::text THEN
59
+ CASE WHEN (rst.arrival_time::time +(interval '1 second' * previous_row.delay) < previous_row.departure_time::time +(interval '1 second' *(previous_row.departure_delay_seconds))) THEN
60
+ NULL
61
+ ELSE
62
+ previous_row.delay
63
+ END
64
+ ELSE
65
+ previous_row.departure_delay_seconds
66
+ END AS arrival_delay_seconds,
67
+ predict_delay_seconds(
68
+ CASE WHEN (rst.stop_sequence - previous_row.initial_stop_sequence) = 1
69
+ AND previous_row.state_position::text <> 'at_stop'::text THEN
70
+ previous_row.delay
71
+ ELSE
72
+ previous_row.departure_delay_seconds
73
+ END, rst.computed_dwell_time_seconds, previous_row.provider_source_type) AS departure_delay_seconds
74
+ FROM
75
+ stop_times previous_row
76
+ JOIN ropidgtfs_stop_times rst ON rst.trip_id::text = previous_row.trip_id::text
77
+ AND rst.stop_sequence =(previous_row.stop_sequence + 1))
78
+ SELECT
79
+ stop_times.trips_id AS rt_trip_id,
80
+ stop_times.stop_sequence,
81
+ stop_times.arrival_delay_seconds AS stop_arr_delay,
82
+ CASE WHEN (stop_times.arrival_time::time +(interval '1 second' * coalesce(stop_times.arrival_delay_seconds, 0))) >(stop_times.departure_time::time +(interval '1 second' * coalesce(stop_times.departure_delay_seconds, 0))) THEN
83
+ NULL
84
+ ELSE
85
+ stop_times.departure_delay_seconds
86
+ END AS stop_dep_delay,
87
+ stop_times.stop_id
88
+ FROM
89
+ stop_times
90
+ ORDER BY
91
+ stop_times.trip_id,
92
+ stop_times.stop_sequence;
93
+
@@ -0,0 +1,31 @@
1
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
2
+ SELECT
3
+ sub.trips_id AS rt_trip_id,
4
+ sub.last_stop_sequence AS stop_sequence,
5
+ sub.stop_arr_delay,
6
+ sub.stop_dep_delay,
7
+ sub.last_stop_id AS stop_id
8
+ FROM (
9
+ SELECT
10
+ rt_position.trips_id,
11
+ rt_position.last_stop_id,
12
+ rt_position.last_stop_sequence,
13
+ rt_position.delay_stop_arrival,
14
+ rt_position.delay_stop_departure,
15
+ max(rt_position.delay_stop_arrival) AS stop_arr_delay,
16
+ min(rt_position.delay_stop_departure) AS stop_dep_delay
17
+ FROM
18
+ vehiclepositions_positions rt_position
19
+ WHERE (rt_position.delay_stop_arrival IS NOT NULL
20
+ OR rt_position.delay_stop_departure IS NOT NULL)
21
+ AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
22
+ GROUP BY
23
+ rt_position.trips_id,
24
+ rt_position.last_stop_id,
25
+ rt_position.last_stop_sequence,
26
+ rt_position.delay_stop_arrival,
27
+ rt_position.delay_stop_departure) sub
28
+ ORDER BY
29
+ sub.trips_id,
30
+ sub.last_stop_sequence;
31
+
@@ -0,0 +1,38 @@
1
+ CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
2
+ SELECT
3
+ sub.trips_id AS rt_trip_id,
4
+ sub.last_stop_sequence AS stop_sequence,
5
+ sub.stop_arr_delay,
6
+ sub.stop_dep_delay,
7
+ sub.last_stop_id AS stop_id
8
+ FROM (
9
+ SELECT
10
+ rt_position.trips_id,
11
+ rt_position.last_stop_id,
12
+ rt_position.last_stop_sequence,
13
+ CASE WHEN (rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure)) > rt_position.next_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival))) THEN
14
+ NULL
15
+ ELSE
16
+ max(rt_position.delay_stop_arrival)
17
+ END AS stop_arr_delay,
18
+ CASE WHEN (rt_position.last_stop_arrival_time::time +(interval '1 second' * max(rt_position.delay_stop_arrival)) > rt_position.last_stop_departure_time::time +(interval '1 second' * min(rt_position.delay_stop_departure))) THEN
19
+ NULL
20
+ ELSE
21
+ min(rt_position.delay_stop_departure)
22
+ END AS stop_dep_delay
23
+ FROM
24
+ vehiclepositions_positions rt_position
25
+ WHERE (rt_position.delay_stop_arrival IS NOT NULL
26
+ OR rt_position.delay_stop_departure IS NOT NULL)
27
+ AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
28
+ GROUP BY
29
+ rt_position.trips_id,
30
+ rt_position.last_stop_id,
31
+ rt_position.last_stop_sequence,
32
+ rt_position.last_stop_arrival_time,
33
+ rt_position.last_stop_departure_time,
34
+ rt_position.next_stop_arrival_time) sub
35
+ ORDER BY
36
+ sub.trips_id,
37
+ sub.last_stop_sequence;
38
+
@@ -1,16 +1,13 @@
1
1
  import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
2
- import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
3
2
  import { ILogger } from "@golemio/core/dist/helpers/logger";
4
3
  import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
5
4
  import { TimestampValidator } from "../TimestampValidator";
6
5
  export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
7
- private config;
8
6
  private logger;
9
7
  private timestampValidator;
10
- constructor(config: ISimpleConfig, logger: ILogger, timestampValidator: TimestampValidator);
8
+ constructor(logger: ILogger, timestampValidator: TimestampValidator);
11
9
  /**
12
10
  * Get messages that are valid for processing
13
11
  */
14
12
  getFilteredMessages(messages: IRegionalBusRunsMessagesModel[], timestamp: number): IRegionalBusRunsMessagesModel[];
15
- private get regNumberWhitelist();
16
13
  }
@@ -19,8 +19,7 @@ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
19
19
  const TimestampValidator_1 = require("../TimestampValidator");
20
20
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
21
21
  let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
22
- constructor(config, logger, timestampValidator) {
23
- this.config = config;
22
+ constructor(logger, timestampValidator) {
24
23
  this.logger = logger;
25
24
  this.timestampValidator = timestampValidator;
26
25
  }
@@ -30,18 +29,13 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
30
29
  getFilteredMessages(messages, timestamp) {
31
30
  let filteredMessages = [];
32
31
  for (const message of messages) {
33
- if (message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "") {
34
- if (this.regNumberWhitelist && !this.regNumberWhitelist.includes(message.registration_number.toString())) {
35
- this.logger.verbose(
36
- // eslint-disable-next-line max-len
37
- `getFilteredMessages: message with registration_number=${message.registration_number} is not in whitelist, skipping`);
38
- continue;
39
- }
40
- if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
41
- this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
42
- `(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
43
- continue;
44
- }
32
+ const isValidMessage = message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "";
33
+ if (!this.timestampValidator.isTimestampValid(timestamp, message.timestamp)) {
34
+ this.logger.error(new golemio_errors_1.GeneralError(`Message timestamp 'tm' of value ${message.timestamp} is not valid ` +
35
+ `(line ${message.cis_line_id}, trip id ${message.cis_trip_number})`, this.constructor.name, undefined, undefined, "pid"));
36
+ continue;
37
+ }
38
+ if (isValidMessage) {
45
39
  filteredMessages.push(message);
46
40
  }
47
41
  }
@@ -50,21 +44,11 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
50
44
  }
51
45
  return filteredMessages;
52
46
  }
53
- get regNumberWhitelist() {
54
- const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
55
- const whitelistDict = this.config.getValue(valuePath, {});
56
- const whitelist = Object.values(whitelistDict);
57
- if (whitelist[0] !== "*") {
58
- return whitelist;
59
- }
60
- return null;
61
- }
62
47
  };
63
48
  exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
64
49
  (0, tsyringe_1.injectable)(),
65
- __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.SimpleConfig)),
66
- __param(1, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
67
- __param(2, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
68
- __metadata("design:paramtypes", [Object, Object, TimestampValidator_1.TimestampValidator])
50
+ __param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
51
+ __param(1, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.TimestampValidator)),
52
+ __metadata("design:paramtypes", [Object, TimestampValidator_1.TimestampValidator])
69
53
  ], RegionalBusMessageFilter);
70
54
  //# sourceMappingURL=RegionalBusMessageFilter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,wEAAqE;AAErE,iEAAwE;AAExE,uEAA8E;AAC9E,8DAA2D;AAC3D,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAC4C,MAAqB,EAC3B,MAAe,EACI,kBAAsC;QAFnD,WAAM,GAAN,MAAM,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC,EAAE,SAAiB;QACnF,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,EAAE;gBACxG,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,EAAE;oBACtG,IAAI,CAAC,MAAM,CAAC,OAAO;oBACf,mCAAmC;oBACnC,yDAAyD,OAAO,CAAC,mBAAmB,gCAAgC,CACvH,CAAC;oBACF,SAAS;iBACZ;gBACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAU,CAAC,EAAE;oBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,OAAO,CAAC,SAAS,gBAAgB;wBAChE,SAAS,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,eAAe,GAAG,EACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;oBACF,SAAS;iBACZ;gBAED,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,IAAY,kBAAkB;QAC1B,MAAM,SAAS,GAAG,sEAAsE,CAAC;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAyB,SAAS,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE/C,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ,CAAA;mCAzDY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;qDAA6B,uCAAkB;GAJtF,wBAAwB,CAyDpC"}
1
+ {"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAExE,uEAA8E;AAC9E,8DAA2D;AAC3D,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YACsC,MAAe,EACI,kBAAsC;QADzD,WAAM,GAAN,MAAM,CAAS;QACI,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC5F,CAAC;IAEJ;;OAEG;IACI,mBAAmB,CAAC,QAAyC,EAAE,SAAiB;QACnF,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,cAAc,GAChB,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;YAC3G,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,SAAU,CAAC,EAAE;gBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,IAAI,6BAAY,CACZ,mCAAmC,OAAO,CAAC,SAAS,gBAAgB;oBAChE,SAAS,OAAO,CAAC,WAAW,aAAa,OAAO,CAAC,eAAe,GAAG,EACvE,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,SAAS,EACT,SAAS,EACT,KAAK,CACR,CACJ,CAAC;gBACF,SAAS;aACZ;YAED,IAAI,cAAc,EAAE;gBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ,CAAA;mCAvCY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAGJ,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;IACxB,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,kBAAkB,CAAC,CAAA;6CAA6B,uCAAkB;GAHtF,wBAAwB,CAuCpC"}
@@ -3,9 +3,10 @@ import { Moment } from "@golemio/core/dist/shared/moment-timezone";
3
3
  import { IMpvPositionContent } from "../../../../../schema-definitions/vehicle-positions/interfaces/IMpvMessageInterfaces";
4
4
  import { ITransformationElement, ITransformationResult } from "../interfaces/TransformationInterfaces";
5
5
  export declare class MpvMessageTransformation extends BaseTransformation implements ITransformation {
6
+ private static ORIGIN_TIME_FORMAT;
6
7
  name: string;
7
8
  private config;
8
- private static ORIGIN_TIME_FORMAT;
9
+ private skipAgencyNames;
9
10
  constructor();
10
11
  /**
11
12
  * Overrides BaseTransformation::transform
@@ -31,6 +32,7 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
31
32
  * @returns {number}
32
33
  */
33
34
  private checkMidnight;
35
+ private isBlacklistedAgency;
34
36
  /**
35
37
  * Fix source negative bearing value due to overflow by adding 256
36
38
  *
@@ -45,9 +47,4 @@ export declare class MpvMessageTransformation extends BaseTransformation impleme
45
47
  * @returns {stringList}
46
48
  */
47
49
  private formatASWStopId;
48
- /**
49
- * Returns list of vehicle reg numbers that should be excluded from MPVNet processing
50
- * (already processed from another source)
51
- */
52
- private get regionalBusRegNumberBlacklist();
53
50
  }
@@ -31,6 +31,7 @@ var PositionTrackingEnum;
31
31
  class MpvMessageTransformation extends transformations_1.BaseTransformation {
32
32
  constructor() {
33
33
  super();
34
+ this.skipAgencyNames = [DPPUtils_1.default.DPP_AGENCY_NAME];
34
35
  /**
35
36
  * Overrides BaseTransformation::transform
36
37
  */
@@ -61,14 +62,9 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
61
62
  this.transformElement = (element) => __awaiter(this, void 0, void 0, function* () {
62
63
  var _a, _b;
63
64
  const attributes = element.$;
64
- // DPP and regional bus trips to be excluded in HTTP ingress
65
- const isDPPTrip = attributes.dopr === DPPUtils_1.default.DPP_AGENCY_NAME;
66
- const isRegionalBusTrip = !!attributes.vuzevc &&
67
- this.regionalBusRegNumberBlacklist &&
68
- this.regionalBusRegNumberBlacklist.includes(attributes.vuzevc);
69
65
  // Trips with null cpoz (origin time) and falsy or "false" zrus (cancellation) attributes are excluded
70
66
  const hasInvalidAttributes = !attributes.cpoz && (!attributes.zrus || attributes.zrus === "false");
71
- if (isDPPTrip || isRegionalBusTrip || hasInvalidAttributes) {
67
+ if (this.isBlacklistedAgency(attributes.dopr) || hasInvalidAttributes) {
72
68
  return null;
73
69
  }
74
70
  attributes.lin = attributes.lin || "none";
@@ -233,6 +229,12 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
233
229
  };
234
230
  this.name = vehicle_positions_1.VehiclePositions.name;
235
231
  this.config = Di_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
232
+ this.skipAgencyNames = this.skipAgencyNames.concat(this.config
233
+ .getValue("module.pid.vehicle-positions.mpvIntegration.skipAgencyNames", "ARRIVA CITY,ARRIVA CITY (Neratovice)")
234
+ .split(","));
235
+ }
236
+ isBlacklistedAgency(agency) {
237
+ return agency && this.skipAgencyNames.includes(agency);
236
238
  }
237
239
  /**
238
240
  * Fix source negative bearing value due to overflow by adding 256
@@ -255,19 +257,6 @@ class MpvMessageTransformation extends transformations_1.BaseTransformation {
255
257
  const aswParsedStopPostId = parseInt(stopId, 10) - aswParsedStopNodeId * fixedRightPadFactor;
256
258
  return aswParsedStopNodeId + "/" + aswParsedStopPostId;
257
259
  }
258
- /**
259
- * Returns list of vehicle reg numbers that should be excluded from MPVNet processing
260
- * (already processed from another source)
261
- */
262
- get regionalBusRegNumberBlacklist() {
263
- const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
264
- const blacklistDict = this.config.getValue(valuePath, {});
265
- const blacklist = Object.values(blacklistDict);
266
- if (blacklist.length > 0 && blacklist[0] !== "*") {
267
- return blacklist;
268
- }
269
- return null;
270
- }
271
260
  }
272
261
  exports.MpvMessageTransformation = MpvMessageTransformation;
273
262
  MpvMessageTransformation.ORIGIN_TIME_FORMAT = "HH:mm:ss";
@@ -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,2FAA0D;AAG1D,wEAAqE;AACrE,qEAA0F;AAC1F,2FAA4G;AAC5G,gGAA2E;AAC3E,gDAAgE;AAChE,mEAA2C;AAC3C,8EAA2E;AAC3E,oEAAiE;AAGjE,0EAA4D;AAE5D,IAAK,oBAGJ;AAHD,WAAK,oBAAoB;IACrB,0CAAkB,CAAA;IAClB,sCAAc,CAAA;AAClB,CAAC,EAHI,oBAAoB,KAApB,oBAAoB,QAGxB;AAED,MAAa,wBAAyB,SAAQ,oCAAkB;IAO5D;QACI,KAAK,EAAE,CAAC;QAHJ,oBAAe,GAAG,CAAC,kBAAQ,CAAC,eAAe,CAAC,CAAC;QAgBrD;;WAEG;QACI,cAAS,GAAG,CAAO,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;aACZ,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE;gBACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACrD,IAAI,OAAO,EAAE;oBACT,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE;wBACtC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;qBACzB;iBACJ;aACJ;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,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CAAO,OAA4B,EAA0C,EAAE;;YACxG,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;YAC7B,sGAAsG;YACtG,MAAM,oBAAoB,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAEnG,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,oBAAoB,EAAE;gBACnE,OAAO,IAAI,CAAC;aACf;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,yBAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;YAEpH,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YAErG,+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;gBAC/D,OAAO,IAAI,CAAC;aACf;YAED,+EAA+E;YAC/E,gFAAgF;YAChF,MAAM,gBAAgB,GAClB,UAAU,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACzH,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC;YAEpE;;;;;;;;;;;;;;;;;;;;;cAqBE;YAEF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;YAClC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,MAAM,aAAa,GAAG,IAAI,CAAC;YAC3B,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC;YAEtC,IAAI,GAAG,GAA2B;gBAC9B,QAAQ,EAAE;oBACN,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5E,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC9E,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACpE,sBAAsB,EAAE,IAAI;oBAC5B,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACpF,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACpF,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;oBACvC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvD,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvD,WAAW,EAAE,UAAU,CAAC,IAAI;oBAC5B,gBAAgB,EAAE,iBAAiB,CAAC,MAAM,EAAE;oBAC5C,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACzC,cAAc,EAAE,yBAAiB,CAAC,OAAO;oBACzC,aAAa,EAAE,wBAAgB,CAAC,KAAK;oBACrC,UAAU,EAAE,UAAU,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG;oBACrG,QAAQ,EAAE,UAAU;iBACvB;gBACD,KAAK,EAAE,IAAI,GAAG,EAAuB;gBACrC,IAAI,EAAE;oBACF,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;oBAClE,qBAAqB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBAC/D,WAAW,EAAE,UAAU,CAAC,GAAG;oBAC3B,mBAAmB,EAAE,UAAU,CAAC,KAAK;oBACrC,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9C,EAAE,EAAE,UAAU;oBACd,WAAW,EAAE,UAAU,CAAC,IAAI,KAAK,MAAM;oBACvC,iBAAiB,EAAE,MAAA,UAAU,CAAC,KAAK,mCAAI,IAAI;oBAC3C,UAAU,EAAE,UAAU,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC5E,iBAAiB,EAAE,IAAI;oBACvB,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACzE,4BAA4B,EAAE,MAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,mCAAI,IAAI;oBACrD,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC9D,eAAe,EAAE,cAAc,CAAC,MAAM,EAAE;oBACxC,2BAA2B,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACvF,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;oBACjE,qBAAqB,EAAE,UAAU,CAAC,EAAE,KAAK,MAAM;oBAC/C,oBAAoB,EAAE,+CAAsB,CAAC,IAAI;iBACpD;aACJ,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;oBACd,SAAS;iBACZ;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;oBACE,GAAG,CAAC,QAAQ,CAAC,sBAAsB,GAAG,eAAe,CAAC;iBACzD;gBAED,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,kCAAiB,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,KAAK,kCAAiB,CAAC,KAAK,EAAE;oBAChH,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;iBACN;aACJ;YAED,OAAO,GAAG,CAAC;QACf,CAAC,CAAA,CAAC;QAEF;;;;;;WAMG;QACO,qBAAgB,GAAG,CACzB,YAAiB,EACjB,oBAA4B,EACkC,EAAE;YAChE,MAAM,GAAG,GAAG,yBAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;YACvC,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,8DAA8D;YAC9D,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/D,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,6CAA6C;YAC7C,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;YAEtH,oBAAoB;YACpB,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,qBAAqB;YAC/E,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAExC,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,iBAAiB;iBACZ,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACrC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACvC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBACvC,WAAW,CAAC,CAAC,CAAC,CAAC;YAEpB,oBAAoB;YACpB,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,qBAAqB;YAClF,iBAAiB,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAE3C,OAAO;gBACH,cAAc;gBACd,iBAAiB;aACpB,CAAC;QACN,CAAC,CAAA,CAAC;QAEF;;;;;;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;gBACzC,uBAAuB;gBACvB,OAAO,CAAC,CAAC,CAAC;aACb;YACD,oBAAoB;YACpB,aAAa;YACb,yFAAyF;iBACpF,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC1C,qBAAqB;gBACrB,OAAO,CAAC,CAAC;aACZ;YACD,OAAO,CAAC,CAAC,CAAC,WAAW;QACzB,CAAC,CAAC;QAzOE,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,eAAe,CAAC,MAAM,CAC9C,IAAI,CAAC,MAAM;aACN,QAAQ,CACL,6DAA6D,EAC7D,sCAAsC,CACzC;aACA,KAAK,CAAC,GAAG,CAAC,CAClB,CAAC;IACN,CAAC;IAiOO,mBAAmB,CAAC,MAA0B;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3D,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;IAED;;;;;OAKG;IACK,eAAe,CAAC,MAAc;QAClC,MAAM,mBAAmB,GAAG,KAAK,CAAC;QAClC,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACnF,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;QAC7F,OAAO,mBAAmB,GAAG,GAAG,GAAG,mBAAmB,CAAC;IAC3D,CAAC;;AA7QL,4DA8QC;AA7QkB,2CAAkB,GAAG,UAAU,AAAb,CAAc"}
@@ -124,6 +124,10 @@ class DepartureBoardsRouter extends BaseRouter_1.BaseRouter {
124
124
  };
125
125
  this.initDepartureBoardsEndpoints = () => {
126
126
  this.router.get("/", [
127
+ (0, express_validator_1.query)("ids").optional(),
128
+ (0, express_validator_1.query)("aswIds").optional(),
129
+ (0, express_validator_1.query)("cisIds").optional(),
130
+ (0, express_validator_1.query)("names").optional(),
127
131
  (0, express_validator_1.oneOf)([
128
132
  (0, express_validator_1.query)("ids").not().isEmpty({ ignore_whitespace: true }),
129
133
  (0, express_validator_1.query)("aswIds").not().isEmpty({ ignore_whitespace: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DepartureBoardsRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/departure-boards/DepartureBoardsRouter.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,10 @@ class PIDRouter extends BaseRouter_1.BaseRouter {
21
21
  this.registerDepartureBoardsRoutes = () => {
22
22
  const { preferredTimezone, departureBoards: { departureMode, order, filter, skip }, } = constants_1.ValidationArrays;
23
23
  const validation = [
24
+ (0, express_validator_1.query)("aswIds").optional(),
25
+ (0, express_validator_1.query)("cisIds").optional(),
26
+ (0, express_validator_1.query)("ids").optional(),
27
+ (0, express_validator_1.query)("names").optional(),
24
28
  (0, express_validator_1.oneOf)([
25
29
  (0, express_validator_1.query)("aswIds").exists().custom(ParamValidatorManager_1.ParamValidatorManager.getAswIdsValidator()),
26
30
  (0, express_validator_1.query)("cisIds").exists().isInt(),
@@ -1 +1 @@
1
- {"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,6EAAkH;AAClH,+DAA+F;AAC/F,oFAAiF;AACjF,+DAA2D;AAC3D,mFAA2E;AAC3E,uCAAsF;AACtF,mDAAuD;AACvD,+CAA+E;AAC/E,2EAAwE;AAExE,MAAa,SAAU,SAAQ,uBAAU;IAMrC;QACI,KAAK,EAAE,CAAC;QANI,WAAM,GAAW,IAAA,gBAAM,GAAE,CAAC;QAgBlC,kCAA6B,GAAG,GAAG,EAAE;YACzC,MAAM,EACF,iBAAiB,EACjB,eAAe,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAC1D,GAAG,4BAAgB,CAAC;YACrB,MAAM,UAAU,GAAG;gBACf,IAAA,yBAAK,EAAC;oBACF,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,6CAAqB,CAAC,kBAAkB,EAAE,CAAC;oBAC3E,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;oBAChC,IAAA,yBAAK,EAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;oBAChE,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;iBACrE,CAAC;gBACF,IAAA,yBAAK,EAAC,eAAe,CAAC;qBACjB,QAAQ,EAAE;qBACV,KAAK,CACF,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;oBAC3B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,EAAE,EAAE,iCAAyB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,sCAA8B,GAAG,CAAC,CAAC,EAAE,CAC7F;qBACA,GAAG,EAAE;qBACL,OAAO,EAAE;gBACd,IAAA,yBAAK,EAAC,cAAc,CAAC;qBAChB,QAAQ,EAAE;qBACV,KAAK,CAAC;oBACH,EAAE,EAAE,sCAA8B,GAAG,CAAC;oBACtC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,sCAA8B,GAAG,iCAAyB,GAAG,CAAC,CAAC;iBAC5E,CAAC;qBACD,GAAG,EAAE;qBACL,OAAO,EAAE;gBACd,IAAA,yBAAK,EAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC7E,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC5C,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACrD,IAAA,yBAAK,EAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACvD,IAAA,yBAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,IAAA,yBAAK,EAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,6CAAqB,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC7G,IAAA,yBAAK,EAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAClE,IAAA,yBAAK,EAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBAC5D,IAAA,yBAAK,EAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;aACpD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,kBAAkB,EAClB,UAAU,EACV,GAAG,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;YAC9C,sDAAsD;YACtD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,EAC9C,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CACnD,CAAC;QACN,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,YAAY,EACZ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;YACxC,wDAAwD;YACxD,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAChD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACxC,CAAC;QACN,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,uBAAU,EAAE,wBAAW,EAAE,IAAA,sCAAyB,EAAC,IAAI,CAAC,CAAC,CAAC;QArEpG,IAAI,CAAC,qBAAqB,GAAG,4BAAsB,CAAC,OAAO,CAAwB,oBAAc,CAAC,qBAAqB,CAAC,CAAC;QACzH,IAAI,CAAC,yBAAyB,GAAG,IAAI,uCAAyB,EAAE,CAAC;QACjE,IAAI,CAAC,mBAAmB,GAAG,IAAI,iCAAmB,EAAE,CAAC;QAErD,kBAAkB;QAClB,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACnC,CAAC;CA+DJ;AA9ED,8BA8EC;AAED,MAAM,SAAS,GAAW,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC;AACxC,8BAAS"}
1
+ {"version":3,"file":"PIDRouter.js","sourceRoot":"","sources":["../../../src/output-gateway/pid/PIDRouter.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,5 @@ export declare class StopTimesTripScopeHandler extends AbstractDetailedTripScope
10
10
  constructor(delayComputationRepository: IDelayComputationRepository, stopTimeRepository: IStopTimeRepository);
11
11
  handle(output: IPublicApiDetailedTrip, vehiclePosition: IPublicApiCacheDto): Promise<IPublicApiDetailedTrip>;
12
12
  private filterNoStopWaypoints;
13
+ private checkStopTimesSequence;
13
14
  }
@@ -46,22 +46,28 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
46
46
  const stopTimes = this.tripStopTimesTransformation.transformArray(filteredStopTimes);
47
47
  const stopTimesWithDelay = yield this.stopTimeRepository.getPublicStopTimeCache(vehiclePosition.vehicle_id, vehiclePosition.gtfs_trip_id);
48
48
  if (stopTimesWithDelay.length > 0) {
49
+ let prevStopArrivalTime = null;
50
+ let prevStopDepartureTime = null;
49
51
  for (const stopTimeWithDelay of stopTimesWithDelay) {
50
52
  const stopTime = stopTimes[stopTimeWithDelay.sequence - 1];
51
53
  if (stopTime) {
52
54
  // note: optimization point here in case of worsening performance on output API (additional cache)
53
55
  const rtArrivalTime = stopTimeWithDelay.arr_delay === null
54
56
  ? null
55
- : luxon_1.DateTime.fromFormat(stopTime.properties.arrival_time, "HH:mm:ss")
56
- .plus({ seconds: stopTimeWithDelay.arr_delay })
57
- .toFormat("HH:mm:ss");
57
+ : luxon_1.DateTime.fromFormat(stopTime.properties.arrival_time, "HH:mm:ss").plus({
58
+ seconds: stopTimeWithDelay.arr_delay,
59
+ });
58
60
  const rtDepartureTime = stopTimeWithDelay.dep_delay === null
59
61
  ? null
60
- : luxon_1.DateTime.fromFormat(stopTime.properties.departure_time, "HH:mm:ss")
61
- .plus({ seconds: stopTimeWithDelay.dep_delay })
62
- .toFormat("HH:mm:ss");
63
- stopTime.properties.realtime_arrival_time = rtArrivalTime;
64
- stopTime.properties.realtime_departure_time = rtDepartureTime;
62
+ : luxon_1.DateTime.fromFormat(stopTime.properties.departure_time, "HH:mm:ss").plus({
63
+ seconds: stopTimeWithDelay.dep_delay,
64
+ });
65
+ // note: for better performance, we should address this on the DB side in the future
66
+ const { currentArrival, currentDeparture } = this.checkStopTimesSequence(rtArrivalTime, prevStopArrivalTime, rtDepartureTime, prevStopDepartureTime);
67
+ prevStopArrivalTime = currentArrival;
68
+ prevStopDepartureTime = currentDeparture;
69
+ stopTime.properties.realtime_arrival_time = currentArrival ? currentArrival.toFormat("HH:mm:ss") : null;
70
+ stopTime.properties.realtime_departure_time = currentDeparture ? currentDeparture.toFormat("HH:mm:ss") : null;
65
71
  }
66
72
  }
67
73
  }
@@ -72,6 +78,19 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
72
78
  filterNoStopWaypoints(stopTimes) {
73
79
  return stopTimes.filter((stopTime) => !stopTime.is_no_stop_waypoint);
74
80
  }
81
+ checkStopTimesSequence(rtArrival, prevArrival, rtDeparture, prevDeparture) {
82
+ const returnValue = {
83
+ currentArrival: rtArrival,
84
+ currentDeparture: rtDeparture,
85
+ };
86
+ if (rtArrival > rtDeparture || prevDeparture > rtDeparture || prevArrival > rtDeparture) {
87
+ returnValue.currentDeparture = null;
88
+ }
89
+ if (prevDeparture > rtArrival || prevArrival > rtArrival) {
90
+ returnValue.currentArrival = null;
91
+ }
92
+ return returnValue;
93
+ }
75
94
  };
76
95
  exports.StopTimesTripScopeHandler = StopTimesTripScopeHandler = __decorate([
77
96
  (0, tsyringe_1.injectable)(),
@@ -1 +1 @@
1
- {"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "2.14.3",
3
+ "version": "2.14.4-dev.1368003691",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -76,7 +76,7 @@
76
76
  "@golemio/core": ">=1.9.16"
77
77
  },
78
78
  "dependencies": {
79
- "@golemio/ovapi-gtfs-realtime-bindings": "1.2.3",
79
+ "@golemio/ovapi-gtfs-realtime-bindings": "1.2.4-dev.1288219308",
80
80
  "@turf/turf": "^6.5.0",
81
81
  "cheap-ruler": "^3.0.2",
82
82
  "csv-parser": "^3.0.0",