@golemio/pid 5.1.1-dev.2185045989 → 5.1.1-dev.2185365745
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.
|
@@ -11,12 +11,21 @@ export type SplitDepartures = {
|
|
|
11
11
|
};
|
|
12
12
|
export type AccumulatorCondition = (accumulator: SplitDepartures, currentDeparture: DepartureUnion) => boolean;
|
|
13
13
|
export declare class FilterHelper {
|
|
14
|
-
static
|
|
15
|
-
static
|
|
16
|
-
static
|
|
17
|
-
static
|
|
14
|
+
private static readonly routeId;
|
|
15
|
+
private static readonly platformCode;
|
|
16
|
+
private static readonly tripCisStopPlatformCode;
|
|
17
|
+
private static readonly stopHeadsign;
|
|
18
|
+
private static readonly tripHeadsign;
|
|
19
|
+
static routeOnceHeadingCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
|
|
20
|
+
static routeOnceHeadingNoGapCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
|
|
21
|
+
static routeOnceCondition(accumulator: SplitDepartures, currentDeparture: DepartureUnion): boolean;
|
|
22
|
+
static isFillFilterType(filter: DepartureFilter): boolean;
|
|
18
23
|
private static isInFillBucket;
|
|
19
24
|
private static isInOnceBucketWithHeading;
|
|
20
|
-
private static
|
|
25
|
+
private static isInOnceBucketWithHeadingWithPlatform;
|
|
26
|
+
private static sameProperty;
|
|
27
|
+
private static sameRouteId;
|
|
28
|
+
private static sameHeadsign;
|
|
29
|
+
private static samePlatformCode;
|
|
21
30
|
private static isInOnceBucket;
|
|
22
31
|
}
|
|
@@ -1,47 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.FilterHelper = void 0;
|
|
5
4
|
const pid_1 = require("../..");
|
|
6
5
|
class FilterHelper {
|
|
6
|
+
static routeOnceHeadingCondition(accumulator, currentDeparture) {
|
|
7
|
+
// only the first departure to respone for trips with same route_id and heading
|
|
8
|
+
return !FilterHelper.isInOnceBucketWithHeading(accumulator, currentDeparture);
|
|
9
|
+
}
|
|
10
|
+
static routeOnceHeadingNoGapCondition(accumulator, currentDeparture) {
|
|
11
|
+
// extension of routeOnceHeading filter, when we skip some route_id afterwards it doesnt show up even different headings
|
|
12
|
+
return (!FilterHelper.isInOnceBucketWithHeadingWithPlatform(accumulator, currentDeparture) &&
|
|
13
|
+
!FilterHelper.isInFillBucket(accumulator, currentDeparture));
|
|
14
|
+
}
|
|
15
|
+
static routeOnceCondition(accumulator, currentDeparture) {
|
|
16
|
+
// only the first departure to respone for trips with same route_id
|
|
17
|
+
return !FilterHelper.isInOnceBucket(accumulator, currentDeparture);
|
|
18
|
+
}
|
|
7
19
|
static isFillFilterType(filter) {
|
|
8
20
|
return (filter === pid_1.DepartureFilter.ROUTE_ONCE_FILL ||
|
|
9
21
|
filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_FILL ||
|
|
10
22
|
filter === pid_1.DepartureFilter.ROUTE_HEADING_ONCE_NOGAP_FILL);
|
|
11
23
|
}
|
|
24
|
+
static isInFillBucket(accumulator, currentDeparture) {
|
|
25
|
+
return accumulator.fill.some((e) => FilterHelper.sameRouteId(e, currentDeparture) && FilterHelper.samePlatformCode(e, currentDeparture));
|
|
26
|
+
}
|
|
27
|
+
static isInOnceBucketWithHeading(accumulator, currentDeparture) {
|
|
28
|
+
return accumulator.once.some((e) => FilterHelper.sameRouteId(e, currentDeparture) && FilterHelper.sameHeadsign(e, currentDeparture));
|
|
29
|
+
}
|
|
30
|
+
static isInOnceBucketWithHeadingWithPlatform(accumulator, currentDeparture) {
|
|
31
|
+
return accumulator.once.some((e) => FilterHelper.sameRouteId(e, currentDeparture) &&
|
|
32
|
+
FilterHelper.sameHeadsign(e, currentDeparture) &&
|
|
33
|
+
FilterHelper.samePlatformCode(e, currentDeparture));
|
|
34
|
+
}
|
|
35
|
+
static sameProperty(a, b, property) {
|
|
36
|
+
return a[property] === b[property];
|
|
37
|
+
}
|
|
38
|
+
static sameRouteId(a, b) {
|
|
39
|
+
return FilterHelper.sameProperty(a, b, FilterHelper.routeId);
|
|
40
|
+
}
|
|
41
|
+
static sameHeadsign(a, b) {
|
|
42
|
+
return FilterHelper.sameProperty(a, b, b.stop_headsign ? FilterHelper.stopHeadsign : FilterHelper.tripHeadsign);
|
|
43
|
+
}
|
|
44
|
+
static samePlatformCode(a, b) {
|
|
45
|
+
return FilterHelper.sameProperty(a, b, b[FilterHelper.tripCisStopPlatformCode] ? FilterHelper.tripCisStopPlatformCode : FilterHelper.platformCode);
|
|
46
|
+
}
|
|
47
|
+
static isInOnceBucket(accumulator, currentDeparture) {
|
|
48
|
+
return accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id) >= 0;
|
|
49
|
+
}
|
|
12
50
|
}
|
|
13
51
|
exports.FilterHelper = FilterHelper;
|
|
14
|
-
|
|
15
|
-
FilterHelper.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
FilterHelper.routeOnceHeadingNoGapCondition = (accumulator, currentDeparture) => {
|
|
20
|
-
// extension of routeOnceHeading filter, when we skip some route_id afterwards it doesnt show up even different headings
|
|
21
|
-
return (!_a.isInOnceBucketWithHeadingWithStop(accumulator, currentDeparture) &&
|
|
22
|
-
!_a.isInFillBucket(accumulator, currentDeparture));
|
|
23
|
-
};
|
|
24
|
-
FilterHelper.routeOnceCondition = (accumulator, currentDeparture) => {
|
|
25
|
-
// only the first departure to respone for trips with same route_id
|
|
26
|
-
return !_a.isInOnceBucket(accumulator, currentDeparture);
|
|
27
|
-
};
|
|
28
|
-
FilterHelper.isInFillBucket = (accumulator, currentDeparture) => {
|
|
29
|
-
return (accumulator.fill.findIndex((e) => e.route_id === currentDeparture.route_id && e.stop_id === currentDeparture.stop_id) >= 0);
|
|
30
|
-
};
|
|
31
|
-
FilterHelper.isInOnceBucketWithHeading = (accumulator, currentDeparture) => {
|
|
32
|
-
return (accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id &&
|
|
33
|
-
(currentDeparture.stop_headsign
|
|
34
|
-
? e.stop_headsign === currentDeparture.stop_headsign
|
|
35
|
-
: e.trip_headsign === currentDeparture.trip_headsign)) >= 0);
|
|
36
|
-
};
|
|
37
|
-
FilterHelper.isInOnceBucketWithHeadingWithStop = (accumulator, currentDeparture) => {
|
|
38
|
-
return (accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id &&
|
|
39
|
-
(currentDeparture.stop_headsign
|
|
40
|
-
? e.stop_headsign === currentDeparture.stop_headsign
|
|
41
|
-
: e.trip_headsign === currentDeparture.trip_headsign) &&
|
|
42
|
-
e.stop_id === currentDeparture.stop_id) >= 0);
|
|
43
|
-
};
|
|
44
|
-
FilterHelper.isInOnceBucket = (accumulator, currentDeparture) => {
|
|
45
|
-
return accumulator.once.findIndex((e) => e.route_id === currentDeparture.route_id) >= 0;
|
|
46
|
-
};
|
|
52
|
+
FilterHelper.routeId = "route_id";
|
|
53
|
+
FilterHelper.platformCode = "platform_code";
|
|
54
|
+
FilterHelper.tripCisStopPlatformCode = "trip.cis_stop_platform_code";
|
|
55
|
+
FilterHelper.stopHeadsign = "stop_headsign";
|
|
56
|
+
FilterHelper.tripHeadsign = "trip_headsign";
|
|
47
57
|
//# sourceMappingURL=FilterHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/FilterHelper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/models/helpers/FilterHelper.ts"],"names":[],"mappings":";;;AAAA,+BAA0D;AAW1D,MAAa,YAAY;IAOd,MAAM,CAAC,yBAAyB,CAAC,WAA4B,EAAE,gBAAgC;QAClG,+EAA+E;QAC/E,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,8BAA8B,CAAC,WAA4B,EAAE,gBAAgC;QACvG,wHAAwH;QACxH,OAAO,CACH,CAAC,YAAY,CAAC,qCAAqC,CAAC,WAAW,EAAE,gBAAgB,CAAC;YAClF,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAC9D,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,WAA4B,EAAE,gBAAgC;QAC3F,mEAAmE;QACnE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAAuB;QAClD,OAAO,CACH,MAAM,KAAK,qBAAe,CAAC,eAAe;YAC1C,MAAM,KAAK,qBAAe,CAAC,uBAAuB;YAClD,MAAM,KAAK,qBAAe,CAAC,6BAA6B,CAC3D,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,WAA4B,EAAE,gBAAgC;QACxF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAC7G,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,WAA4B,EAAE,gBAAgC;QACnG,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC,CACzG,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,qCAAqC,CAChD,WAA4B,EAC5B,gBAAgC;QAEhC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CACF,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB,CAAC;YAC7C,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,CAAC;YAC9C,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,CACzD,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,YAAY,CAAiC,CAAiB,EAAE,CAAiB,EAAE,QAAW;QACzG,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,CAAiB,EAAE,CAAiB;QAC3D,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,CAAiB,EAAE,CAAiB;QAC5D,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACpH,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,CAAiB,EAAE,CAAiB;QAChE,OAAO,YAAY,CAAC,YAAY,CAC5B,CAAC,EACD,CAAC,EACD,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAC7G,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,WAA4B,EAAE,gBAAgC;QACxF,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;;AA/EL,oCAgFC;AA/E2B,oBAAO,GAAG,UAAU,CAAC;AACrB,yBAAY,GAAG,eAAe,CAAC;AAC/B,oCAAuB,GAAG,6BAA6B,CAAC;AACxD,yBAAY,GAAG,eAAe,CAAC;AAC/B,yBAAY,GAAG,eAAe,CAAC"}
|