@sbb-esta/lyne-elements-experimental-dev 4.7.0-dev.1773388997 → 4.7.0-dev.1773393170
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/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +76 -65
- package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +52 -72
- package/autocomplete-grid/autocomplete-grid-button.js +6 -3
- package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +17 -2
- package/autocomplete-grid/autocomplete-grid-cell.js +7 -4
- package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +21 -20
- package/autocomplete-grid/autocomplete-grid-optgroup.js +6 -3
- package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +33 -2
- package/autocomplete-grid/autocomplete-grid-option.js +9 -4
- package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +22 -2
- package/autocomplete-grid/autocomplete-grid-row.js +7 -4
- package/autocomplete-grid/autocomplete-grid.js +6 -3
- package/autocomplete-grid.js +21 -9
- package/autocomplete-grid.pure.js +15 -7
- package/core/datetime/date-helper.js +191 -2
- package/core/datetime.js +5 -2
- package/core/timetable/access-leg-helper.js +71 -76
- package/core/timetable/timetable-helper.js +11 -9
- package/core/timetable/timetable-properties.js +1 -0
- package/core/timetable.js +7 -3
- package/custom-elements.json +84 -84
- package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +122 -114
- package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +70 -92
- package/development/autocomplete-grid/autocomplete-grid-button.js +4 -6
- package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +29 -2
- package/development/autocomplete-grid/autocomplete-grid-cell.js +5 -7
- package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +22 -27
- package/development/autocomplete-grid/autocomplete-grid-optgroup.js +4 -6
- package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +109 -2
- package/development/autocomplete-grid/autocomplete-grid-option.js +7 -7
- package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +91 -2
- package/development/autocomplete-grid/autocomplete-grid-row.js +5 -7
- package/development/autocomplete-grid/autocomplete-grid.js +4 -6
- package/development/autocomplete-grid.js +14 -10
- package/development/autocomplete-grid.pure.js +13 -4
- package/development/core/datetime/date-helper.js +285 -2
- package/development/core/datetime.js +6 -2
- package/development/core/timetable/access-leg-helper.js +82 -104
- package/development/core/timetable/timetable-helper.js +17 -16
- package/development/core/timetable/timetable-properties.js +2 -0
- package/development/core/timetable.js +8 -3
- package/development/differenceInMinutes-B0dawX-5.js +26 -0
- package/development/format-BMkeaqaF.js +1433 -0
- package/development/isValid-BYRch7pV.js +53 -0
- package/development/journey-summary/journey-summary.component.js +288 -2
- package/development/journey-summary.js +5 -8
- package/development/journey-summary.pure.js +5 -2
- package/development/pearl-chain/pearl-chain.component.js +634 -2
- package/development/pearl-chain-time/pearl-chain-time.component.js +306 -2
- package/development/pearl-chain-time.js +5 -8
- package/development/pearl-chain-time.pure.js +5 -2
- package/development/pearl-chain-vertical/pearl-chain-vertical.component.js +28 -2
- package/development/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +393 -2
- package/development/pearl-chain-vertical-item.js +5 -8
- package/development/pearl-chain-vertical-item.pure.js +5 -2
- package/development/pearl-chain-vertical.js +5 -8
- package/development/pearl-chain-vertical.pure.js +5 -2
- package/development/pearl-chain.js +5 -8
- package/development/pearl-chain.pure.js +5 -2
- package/development/seat-reservation/common/mapper/icon-mapper.js +71 -168
- package/development/seat-reservation/common/mapper/mapper.js +122 -153
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +559 -570
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +972 -992
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20367 -20334
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1738 -1731
- package/development/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9782 -9741
- package/development/seat-reservation/common/mapper.js +8 -1
- package/development/seat-reservation/common/svgs.js +46 -2
- package/development/seat-reservation/common/translations/i18n.js +900 -1118
- package/development/seat-reservation/common/translations.js +4 -1
- package/development/seat-reservation/common/types.js +2 -0
- package/development/seat-reservation/common.js +11 -7
- package/development/seat-reservation/seat-reservation/seat-reservation-base-element.js +1230 -1305
- package/development/seat-reservation/seat-reservation/seat-reservation.component.js +859 -2
- package/development/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +106 -2
- package/development/seat-reservation/seat-reservation-area.js +5 -7
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +34 -35
- package/development/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +162 -2
- package/development/seat-reservation/seat-reservation-graphic.js +5 -7
- package/development/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +713 -2
- package/development/seat-reservation/seat-reservation-navigation-coach.js +5 -7
- package/development/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +131 -2
- package/development/seat-reservation/seat-reservation-navigation-services.js +5 -7
- package/development/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +601 -2
- package/development/seat-reservation/seat-reservation-place-control.js +5 -7
- package/development/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +22 -2
- package/development/seat-reservation/seat-reservation-scoped.js +5 -7
- package/development/seat-reservation/seat-reservation.js +6 -7
- package/development/seat-reservation.js +28 -15
- package/development/seat-reservation.pure.js +28 -10
- package/development/timetable-duration/timetable-duration.component.js +108 -2
- package/development/timetable-duration.js +5 -8
- package/development/timetable-duration.pure.js +5 -2
- package/development/timetable-row/timetable-row.component.js +781 -2
- package/development/timetable-row.js +13 -8
- package/development/timetable-row.pure.js +12 -2
- package/development/toDate-BWb6Z1JD.js +24 -0
- package/differenceInMinutes-COvvdYsJ.js +23 -0
- package/format-CmKROkbc.js +1186 -0
- package/isValid-m3_OsPaB.js +45 -0
- package/journey-summary/journey-summary.component.js +194 -2
- package/journey-summary.js +4 -5
- package/journey-summary.pure.js +4 -2
- package/package.json +2 -2
- package/pearl-chain/pearl-chain.component.js +165 -2
- package/pearl-chain-time/pearl-chain-time.component.js +157 -2
- package/pearl-chain-time.js +4 -5
- package/pearl-chain-time.pure.js +4 -2
- package/pearl-chain-vertical/pearl-chain-vertical.component.js +17 -2
- package/pearl-chain-vertical-item/pearl-chain-vertical-item.component.js +77 -2
- package/pearl-chain-vertical-item.js +4 -5
- package/pearl-chain-vertical-item.pure.js +4 -2
- package/pearl-chain-vertical.js +4 -5
- package/pearl-chain-vertical.pure.js +4 -2
- package/pearl-chain.js +4 -5
- package/pearl-chain.pure.js +4 -2
- package/seat-reservation/common/mapper/icon-mapper.js +71 -71
- package/seat-reservation/common/mapper/mapper.js +89 -95
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-bus.js +558 -568
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-decks.js +970 -989
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-giruno.js +20366 -20332
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-others.js +1737 -1729
- package/seat-reservation/common/mapper/sample-data/seat-reservation-sample-data-train.js +9781 -9739
- package/seat-reservation/common/mapper.js +9 -3
- package/seat-reservation/common/svgs.js +243 -2
- package/seat-reservation/common/translations/i18n.js +891 -1084
- package/seat-reservation/common/translations.js +4 -2
- package/seat-reservation/common/types.js +1 -0
- package/seat-reservation/common.js +15 -9
- package/seat-reservation/seat-reservation/seat-reservation-base-element.js +810 -832
- package/seat-reservation/seat-reservation/seat-reservation.component.js +420 -2
- package/seat-reservation/seat-reservation-area/seat-reservation-area.component.js +51 -2
- package/seat-reservation/seat-reservation-area.js +7 -4
- package/seat-reservation/seat-reservation-graphic/seat-reservation-assets.js +71 -68
- package/seat-reservation/seat-reservation-graphic/seat-reservation-graphic.component.js +75 -2
- package/seat-reservation/seat-reservation-graphic.js +7 -4
- package/seat-reservation/seat-reservation-navigation-coach/seat-reservation-navigation-coach.component.js +234 -2
- package/seat-reservation/seat-reservation-navigation-coach.js +7 -4
- package/seat-reservation/seat-reservation-navigation-services/seat-reservation-navigation-services.component.js +85 -2
- package/seat-reservation/seat-reservation-navigation-services.js +7 -4
- package/seat-reservation/seat-reservation-place-control/seat-reservation-place-control.component.js +203 -2
- package/seat-reservation/seat-reservation-place-control.js +7 -4
- package/seat-reservation/seat-reservation-scoped/seat-reservation-scoped.component.js +13 -2
- package/seat-reservation/seat-reservation-scoped.js +7 -4
- package/seat-reservation/seat-reservation.js +9 -5
- package/seat-reservation.js +39 -17
- package/seat-reservation.pure.js +32 -15
- package/timetable-duration/timetable-duration.component.js +57 -2
- package/timetable-duration.js +4 -5
- package/timetable-duration.pure.js +4 -2
- package/timetable-row/timetable-row.component.js +427 -2
- package/timetable-row.js +13 -6
- package/timetable-row.pure.js +11 -2
- package/toDate-Bw2KTWeq.js +15 -0
- package/autocomplete-grid-cell.component-Dak9wlBr.js +0 -24
- package/autocomplete-grid-option.component-DNRFHOwc.js +0 -37
- package/autocomplete-grid-row.component-DBHZQ0GQ.js +0 -27
- package/date-helper-CGproP5d.js +0 -185
- package/development/autocomplete-grid-cell.component-BBvM4o2H.js +0 -42
- package/development/autocomplete-grid-option.component-QzfM5eIE.js +0 -123
- package/development/autocomplete-grid-row.component-H8sCTCkT.js +0 -104
- package/development/date-helper-8_Y-PuHh.js +0 -520
- package/development/differenceInMinutes-DN_1Rk3O.js +0 -110
- package/development/format-Bbrn2bgo.js +0 -1848
- package/development/isValid-C-HzKv4v.js +0 -178
- package/development/journey-summary.component-uGhZvA4p.js +0 -385
- package/development/pearl-chain-time.component-B8mayTWD.js +0 -415
- package/development/pearl-chain-vertical-item.component-BDzbcIaf.js +0 -435
- package/development/pearl-chain-vertical.component-CswE7b3M.js +0 -39
- package/development/pearl-chain.component-wpsTvoSe.js +0 -704
- package/development/seat-reservation-area.component-BK92ZtFo.js +0 -138
- package/development/seat-reservation-graphic.component-cUnsHh5x.js +0 -193
- package/development/seat-reservation-navigation-coach.component-D6Bglus8.js +0 -828
- package/development/seat-reservation-navigation-services.component-DYJ6Ddkg.js +0 -179
- package/development/seat-reservation-place-control.component-Bg9evKBW.js +0 -726
- package/development/seat-reservation-scoped.component-DRQ_I702.js +0 -31
- package/development/seat-reservation.component-Cq_aJKR0.js +0 -818
- package/development/svgs-C3JMWR26.js +0 -28
- package/development/timetable-duration.component-DI0lET17.js +0 -125
- package/development/timetable-row.component-CAED6Zwc.js +0 -932
- package/development/toDate-Biiv3kyf.js +0 -150
- package/differenceInMinutes-Dr9gRqtu.js +0 -27
- package/format-CM5exOsN.js +0 -1103
- package/isValid-B9oVW3lA.js +0 -36
- package/journey-summary.component-Cq_4kaOp.js +0 -264
- package/pearl-chain-time.component-DGDW5S1c.js +0 -239
- package/pearl-chain-vertical-item.component-G22bWhLU.js +0 -108
- package/pearl-chain-vertical.component-CXIDT5RD.js +0 -21
- package/pearl-chain.component-DmjkVIva.js +0 -194
- package/seat-reservation-area.component-n-9rGn_y.js +0 -75
- package/seat-reservation-graphic.component-YTXRmKt0.js +0 -102
- package/seat-reservation-navigation-coach.component-YJ0vaYmO.js +0 -333
- package/seat-reservation-navigation-services.component-C3xnLJg2.js +0 -127
- package/seat-reservation-place-control.component-DmBAfM6K.js +0 -322
- package/seat-reservation-scoped.component-DPkz6u17.js +0 -17
- package/seat-reservation.component-C_anMkgw.js +0 -364
- package/svgs-D9arBcqr.js +0 -26
- package/timetable-duration.component-DCu8Phts.js +0 -65
- package/timetable-row.component-BVRCB3xK.js +0 -559
- package/toDate-p-Tpkb7t.js +0 -16
|
@@ -1,49 +1,36 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { i18nWalkingDistanceDeparture, i18nWalkingDistanceArrival } from "@sbb-esta/lyne-elements/core/i18n.js";
|
|
2
|
+
import { nothing, html } from "lit";
|
|
3
|
+
import { isRideLeg, isConnectionLeg, extractTimeAndStringFromNoticeText } from "./timetable-helper.js";
|
|
2
4
|
import "@sbb-esta/lyne-elements/icon.js";
|
|
3
|
-
import { html, nothing } from "lit";
|
|
4
|
-
import { i18nWalkingDistanceArrival, i18nWalkingDistanceDeparture } from "@sbb-esta/lyne-elements/core/i18n.js";
|
|
5
|
-
//#region src/elements-experimental/core/timetable/access-leg-helper.ts
|
|
6
|
-
/**
|
|
7
|
-
* @returns the attribute of a ConnectionLeg
|
|
8
|
-
*/
|
|
9
5
|
function getPTConnectionAttribute(leg, connectionLegNotice) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const connectionFirstLeg = isConnectionLeg(leg) ? leg : null;
|
|
7
|
+
const connectionFirstLegNotice = connectionFirstLeg ? connectionFirstLeg?.notices?.filter((notice) => connectionLegNotice.includes(notice.name))[0] : null;
|
|
8
|
+
return connectionFirstLegNotice ? {
|
|
9
|
+
duration: connectionFirstLeg?.duration || 0,
|
|
10
|
+
text: connectionFirstLegNotice?.text?.template || "",
|
|
11
|
+
icon: "walk-small"
|
|
12
|
+
} : null;
|
|
17
13
|
}
|
|
18
|
-
/**
|
|
19
|
-
* @returns the extended enter attribute of the PTRideLeg
|
|
20
|
-
*/
|
|
21
14
|
function getFirstExtendedLegAttribute(leg, departureWalk, a11yFootpath, currentLanguage) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
const extendedFirstLeg = isRideLeg(leg) ? leg?.serviceJourney?.notices?.filter((notice) => ["CI"].includes(notice.name))[0] : null;
|
|
16
|
+
const extractTimeAndString = extendedFirstLeg && extractTimeAndStringFromNoticeText(extendedFirstLeg);
|
|
17
|
+
return extendedFirstLeg ? {
|
|
18
|
+
duration: (extractTimeAndString?.duration || 0) + (departureWalk || 0),
|
|
19
|
+
text: a11yFootpath ? i18nWalkingDistanceDeparture[currentLanguage] : extractTimeAndString?.text || "",
|
|
20
|
+
icon: a11yFootpath ? "wheelchair-small" : `sa-${extendedFirstLeg?.name?.toLowerCase()}`
|
|
21
|
+
} : null;
|
|
29
22
|
}
|
|
30
|
-
/**
|
|
31
|
-
* @returns the extended exit attribute of the PTRideLeg
|
|
32
|
-
*/
|
|
33
23
|
function getLastExtendedLegAttribute(leg, arrivalWalk, a11yFootpath, currentLanguage) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
const extendedLastLeg = isRideLeg(leg) ? leg?.serviceJourney?.notices?.filter((notice) => ["CO"].includes(notice.name))[0] : null;
|
|
25
|
+
const extractTimeAndString = extendedLastLeg && extractTimeAndStringFromNoticeText(extendedLastLeg);
|
|
26
|
+
return extendedLastLeg ? {
|
|
27
|
+
duration: (extractTimeAndString?.duration || 0) + (arrivalWalk || 0),
|
|
28
|
+
text: a11yFootpath ? i18nWalkingDistanceArrival[currentLanguage] : extractTimeAndString?.text || "",
|
|
29
|
+
icon: a11yFootpath ? "wheelchair-small" : `sa-${extendedLastLeg?.name?.toLowerCase()}`
|
|
30
|
+
} : null;
|
|
41
31
|
}
|
|
42
|
-
/**
|
|
43
|
-
* renders the extended exit/enter icon with the duration
|
|
44
|
-
*/
|
|
45
32
|
function renderTransferTime(duration, icon, currentLanguage, label, type) {
|
|
46
|
-
|
|
33
|
+
return html`
|
|
47
34
|
<span class="sbb-pearl-chain__time-transfer sbb-pearl-chain__time-transfer--${icon}-${type}">
|
|
48
35
|
<sbb-icon name=${icon}></sbb-icon>
|
|
49
36
|
<time datetime=${duration + "M"}>
|
|
@@ -58,11 +45,8 @@ function renderTransferTime(duration, icon, currentLanguage, label, type) {
|
|
|
58
45
|
</span>
|
|
59
46
|
`;
|
|
60
47
|
}
|
|
61
|
-
/**
|
|
62
|
-
* renders a walk-time icon with the walk duration
|
|
63
|
-
*/
|
|
64
48
|
function renderWalkTime(duration, label, variant, icon) {
|
|
65
|
-
|
|
49
|
+
return html`
|
|
66
50
|
<span class="sbb-pearl-chain__time-walktime sbb-pearl-chain__time-walktime--${icon}-${variant}">
|
|
67
51
|
<sbb-icon name=${icon}></sbb-icon>
|
|
68
52
|
<time datetime=${duration + "M"}>
|
|
@@ -73,75 +57,69 @@ function renderWalkTime(duration, label, variant, icon) {
|
|
|
73
57
|
</span>
|
|
74
58
|
`;
|
|
75
59
|
}
|
|
76
|
-
/**
|
|
77
|
-
* @returns renderDepartureTimeAttribute: A function that renders the element for the departure time attribute.
|
|
78
|
-
* @returns renderArrivalTimeAttribute: A function that renders the element for the arrival time attribute.
|
|
79
|
-
* @returns arrivalTimeAttribute: The access attribute for the arrival time.
|
|
80
|
-
* @returns departureTimeAttribute: The access attribute for the departure time.
|
|
81
|
-
* @param legs An array of Leg objects representing the journey legs.
|
|
82
|
-
* @param departureWalk The walking distance in minutes from the departure point to the first leg.
|
|
83
|
-
* @param arrivalWalk The walking distance in minutes from the last leg to the arrival point.
|
|
84
|
-
* @param currentLanguage The current language for localization.
|
|
85
|
-
* @param a11yFootpath Whether the a11y-icon should be shown.
|
|
86
|
-
*/
|
|
87
60
|
function getDepartureArrivalTimeAttribute(legs, departureWalk, arrivalWalk, currentLanguage, a11yFootpath) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
61
|
+
const connectionRideLeg = legs && legs.filter((leg) => isRideLeg(leg) || isConnectionLeg(leg))[0];
|
|
62
|
+
const connectionLegNotice = ["YM", "YB", "Y", "YT"];
|
|
63
|
+
const connectionFirstLeg = getPTConnectionAttribute(connectionRideLeg, connectionLegNotice);
|
|
64
|
+
const extendedFirstLeg = getFirstExtendedLegAttribute(connectionRideLeg, departureWalk, a11yFootpath, currentLanguage);
|
|
65
|
+
const departureWalkAttribute = departureWalk ? {
|
|
66
|
+
text: i18nWalkingDistanceDeparture[currentLanguage],
|
|
67
|
+
duration: departureWalk,
|
|
68
|
+
icon: a11yFootpath ? "wheelchair-small" : "walk-small"
|
|
69
|
+
} : null;
|
|
70
|
+
const getDepartureType = () => {
|
|
71
|
+
if (connectionFirstLeg) {
|
|
72
|
+
return connectionFirstLeg;
|
|
73
|
+
} else if (departureWalkAttribute && !extendedFirstLeg && !connectionFirstLeg) {
|
|
74
|
+
return departureWalkAttribute;
|
|
75
|
+
} else if (extendedFirstLeg) {
|
|
76
|
+
return extendedFirstLeg;
|
|
77
|
+
} else {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
function renderDepartureTimeAttribute() {
|
|
82
|
+
return html`
|
|
110
83
|
${connectionFirstLeg ? renderWalkTime(connectionFirstLeg.duration, connectionFirstLeg.text, "left", connectionFirstLeg.icon) : nothing}
|
|
111
84
|
${departureWalkAttribute && !extendedFirstLeg && !connectionFirstLeg ? renderWalkTime(departureWalkAttribute.duration, departureWalkAttribute.text, "left", departureWalkAttribute.icon) : nothing}
|
|
112
85
|
${extendedFirstLeg ? a11yFootpath ? renderWalkTime(extendedFirstLeg.duration, extendedFirstLeg.text, "left", extendedFirstLeg.icon) : renderTransferTime(extendedFirstLeg.duration, extendedFirstLeg.icon, currentLanguage, extendedFirstLeg.text, "departure") : nothing}
|
|
113
86
|
`;
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
87
|
+
}
|
|
88
|
+
const lastLeg = legs && legs[legs.length - 1];
|
|
89
|
+
const lastConnectionRideLeg = (isConnectionLeg(lastLeg) || isRideLeg(lastLeg)) && lastLeg;
|
|
90
|
+
const connectionLastLeg = lastConnectionRideLeg && getPTConnectionAttribute(lastConnectionRideLeg, connectionLegNotice);
|
|
91
|
+
const extendedLastLeg = lastConnectionRideLeg && getLastExtendedLegAttribute(lastConnectionRideLeg, arrivalWalk, a11yFootpath, currentLanguage);
|
|
92
|
+
const arrivalWalkAttribute = arrivalWalk ? {
|
|
93
|
+
text: i18nWalkingDistanceArrival[currentLanguage],
|
|
94
|
+
duration: arrivalWalk,
|
|
95
|
+
icon: a11yFootpath ? "wheelchair-small" : "walk-small"
|
|
96
|
+
} : null;
|
|
97
|
+
const getArrivalType = () => {
|
|
98
|
+
if (connectionLastLeg) {
|
|
99
|
+
return connectionLastLeg;
|
|
100
|
+
} else if (arrivalWalkAttribute && !extendedLastLeg && !connectionLastLeg) {
|
|
101
|
+
return arrivalWalkAttribute;
|
|
102
|
+
} else if (extendedLastLeg) {
|
|
103
|
+
return extendedLastLeg;
|
|
104
|
+
} else {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
function renderArrivalTimeAttribute() {
|
|
109
|
+
return html`
|
|
132
110
|
${connectionLastLeg ? renderWalkTime(connectionLastLeg.duration, connectionLastLeg.text, "right", connectionLastLeg.icon) : nothing}
|
|
133
111
|
${arrivalWalkAttribute && !extendedLastLeg && !connectionLastLeg ? renderWalkTime(arrivalWalkAttribute.duration, arrivalWalkAttribute.text, "right", arrivalWalkAttribute.icon) : nothing}
|
|
134
112
|
${extendedLastLeg ? a11yFootpath ? renderWalkTime(extendedLastLeg.duration, extendedLastLeg.text, "right", extendedLastLeg.icon) : renderTransferTime(extendedLastLeg.duration, extendedLastLeg.icon, currentLanguage, extendedLastLeg.text, "arrival") : nothing}
|
|
135
113
|
`;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
114
|
+
}
|
|
115
|
+
return {
|
|
116
|
+
renderDepartureTimeAttribute,
|
|
117
|
+
renderArrivalTimeAttribute,
|
|
118
|
+
departureTimeAttribute: getDepartureType(),
|
|
119
|
+
arrivalTimeAttribute: getArrivalType()
|
|
120
|
+
};
|
|
143
121
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxlZy1oZWxwZXIuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9jb3JlL3RpbWV0YWJsZS9hY2Nlc3MtbGVnLWhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGhlbHBlciBmaWxlIGNvbnRhaW5zIHNldmVyYWwgZnVuY3Rpb25zIHJlbGF0ZWQgdG8gYWNjZXNzaW5nIGF0dHJpYnV0ZXMgZm9yIHRoZSBjb25uZWN0aW9ucy5cblxuaW1wb3J0IHtcbiAgaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWwsXG4gIGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmUsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIG5vdGhpbmcgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBleHRyYWN0VGltZUFuZFN0cmluZ0Zyb21Ob3RpY2VUZXh0LFxuICBpc0Nvbm5lY3Rpb25MZWcsXG4gIGlzUmlkZUxlZyxcbn0gZnJvbSAnLi90aW1ldGFibGUtaGVscGVyLnRzJztcbmltcG9ydCB0eXBlIHsgTGVnLCBQdENvbm5lY3Rpb25MZWcsIFB0UmlkZUxlZyB9IGZyb20gJy4vdGltZXRhYmxlLXByb3BlcnRpZXMudHMnO1xuXG5pbXBvcnQgJ0BzYmItZXN0YS9seW5lLWVsZW1lbnRzL2ljb24uanMnO1xuXG5pbnRlcmZhY2UgSUFjY2Vzc0F0dHJpYnV0ZSB7XG4gIGR1cmF0aW9uOiBudW1iZXI7XG4gIHRleHQ6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHRoZSBhdHRyaWJ1dGUgb2YgYSBDb25uZWN0aW9uTGVnXG4gKi9cbmZ1bmN0aW9uIGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShcbiAgbGVnOiBQdFJpZGVMZWcgfCBQdENvbm5lY3Rpb25MZWcsXG4gIGNvbm5lY3Rpb25MZWdOb3RpY2U6IHN0cmluZ1tdLFxuKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwge1xuICBjb25zdCBjb25uZWN0aW9uRmlyc3RMZWcgPSBpc0Nvbm5lY3Rpb25MZWcobGVnKSA/IChsZWcgYXMgUHRDb25uZWN0aW9uTGVnKSA6IG51bGw7XG5cbiAgY29uc3QgY29ubmVjdGlvbkZpcnN0TGVnTm90aWNlID0gY29ubmVjdGlvbkZpcnN0TGVnXG4gICAgPyBjb25uZWN0aW9uRmlyc3RMZWc/Lm5vdGljZXM/LmZpbHRlcigobm90aWNlKSA9PiBjb25uZWN0aW9uTGVnTm90aWNlLmluY2x1ZGVzKG5vdGljZS5uYW1lKSlbMF1cbiAgICA6IG51bGw7XG5cbiAgcmV0dXJuIGNvbm5lY3Rpb25GaXJzdExlZ05vdGljZVxuICAgID8ge1xuICAgICAgICBkdXJhdGlvbjogY29ubmVjdGlvbkZpcnN0TGVnPy5kdXJhdGlvbiB8fCAwLFxuICAgICAgICB0ZXh0OiBjb25uZWN0aW9uRmlyc3RMZWdOb3RpY2U/LnRleHQ/LnRlbXBsYXRlIHx8ICcnLFxuICAgICAgICBpY29uOiAnd2Fsay1zbWFsbCcsXG4gICAgICB9XG4gICAgOiBudWxsO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHRoZSBleHRlbmRlZCBlbnRlciBhdHRyaWJ1dGUgb2YgdGhlIFBUUmlkZUxlZ1xuICovXG5mdW5jdGlvbiBnZXRGaXJzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICBsZWc6IFB0UmlkZUxlZyB8IFB0Q29ubmVjdGlvbkxlZyxcbiAgZGVwYXJ0dXJlV2FsazogbnVtYmVyLFxuICBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nLFxuKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwge1xuICAvLyBFeHRlbmRlZCBlbnRlclxuICBjb25zdCBleHRlbmRlZEZpcnN0TGVnID0gaXNSaWRlTGVnKGxlZylcbiAgICA/IChsZWcgYXMgUHRSaWRlTGVnKT8uc2VydmljZUpvdXJuZXk/Lm5vdGljZXM/LmZpbHRlcigobm90aWNlKSA9PlxuICAgICAgICBbJ0NJJ10uaW5jbHVkZXMobm90aWNlLm5hbWUpLFxuICAgICAgKVswXVxuICAgIDogbnVsbDtcblxuICBjb25zdCBleHRyYWN0VGltZUFuZFN0cmluZyA9XG4gICAgZXh0ZW5kZWRGaXJzdExlZyAmJiBleHRyYWN0VGltZUFuZFN0cmluZ0Zyb21Ob3RpY2VUZXh0KGV4dGVuZGVkRmlyc3RMZWcpO1xuXG4gIHJldHVybiBleHRlbmRlZEZpcnN0TGVnXG4gICAgPyB7XG4gICAgICAgIGR1cmF0aW9uOiAoZXh0cmFjdFRpbWVBbmRTdHJpbmc/LmR1cmF0aW9uIHx8IDApICsgKGRlcGFydHVyZVdhbGsgfHwgMCksXG4gICAgICAgIHRleHQ6IGExMXlGb290cGF0aFxuICAgICAgICAgID8gaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZVtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgOiBleHRyYWN0VGltZUFuZFN0cmluZz8udGV4dCB8fCAnJyxcbiAgICAgICAgaWNvbjogYTExeUZvb3RwYXRoID8gJ3doZWVsY2hhaXItc21hbGwnIDogYHNhLSR7ZXh0ZW5kZWRGaXJzdExlZz8ubmFtZT8udG9Mb3dlckNhc2UoKX1gLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgZXh0ZW5kZWQgZXhpdCBhdHRyaWJ1dGUgb2YgdGhlIFBUUmlkZUxlZ1xuICovXG5mdW5jdGlvbiBnZXRMYXN0RXh0ZW5kZWRMZWdBdHRyaWJ1dGUoXG4gIGxlZzogTGVnLFxuICBhcnJpdmFsV2FsazogbnVtYmVyLFxuICBhMTF5Rm9vdHBhdGg6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nLFxuKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwge1xuICAvLyBFeHRlbmRlZCBleGl0XG4gIGNvbnN0IGV4dGVuZGVkTGFzdExlZyA9IGlzUmlkZUxlZyhsZWcpXG4gICAgPyAobGVnIGFzIFB0UmlkZUxlZyk/LnNlcnZpY2VKb3VybmV5Py5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT5cbiAgICAgICAgWydDTyddLmluY2x1ZGVzKG5vdGljZS5uYW1lKSxcbiAgICAgIClbMF1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmcgPVxuICAgIGV4dGVuZGVkTGFzdExlZyAmJiBleHRyYWN0VGltZUFuZFN0cmluZ0Zyb21Ob3RpY2VUZXh0KGV4dGVuZGVkTGFzdExlZyk7XG5cbiAgcmV0dXJuIGV4dGVuZGVkTGFzdExlZ1xuICAgID8ge1xuICAgICAgICBkdXJhdGlvbjogKGV4dHJhY3RUaW1lQW5kU3RyaW5nPy5kdXJhdGlvbiB8fCAwKSArIChhcnJpdmFsV2FsayB8fCAwKSxcbiAgICAgICAgdGV4dDogYTExeUZvb3RwYXRoXG4gICAgICAgICAgPyBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgOiBleHRyYWN0VGltZUFuZFN0cmluZz8udGV4dCB8fCAnJyxcbiAgICAgICAgaWNvbjogYTExeUZvb3RwYXRoID8gJ3doZWVsY2hhaXItc21hbGwnIDogYHNhLSR7ZXh0ZW5kZWRMYXN0TGVnPy5uYW1lPy50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICB9XG4gICAgOiBudWxsO1xufVxuXG4vKipcbiAqIHJlbmRlcnMgdGhlIGV4dGVuZGVkIGV4aXQvZW50ZXIgaWNvbiB3aXRoIHRoZSBkdXJhdGlvblxuICovXG5mdW5jdGlvbiByZW5kZXJUcmFuc2ZlclRpbWUoXG4gIGR1cmF0aW9uOiBudW1iZXIgfCBzdHJpbmcsXG4gIGljb246IHN0cmluZyxcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcsXG4gIGxhYmVsPzogc3RyaW5nLFxuICB0eXBlPzogJ2RlcGFydHVyZScgfCAnYXJyaXZhbCcsXG4pOiBUZW1wbGF0ZVJlc3VsdCB7XG4gIHJldHVybiBodG1sYFxuICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXRyYW5zZmVyIHNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2Zlci0tJHtpY29ufS0ke3R5cGV9XCI+XG4gICAgICA8c2JiLWljb24gbmFtZT0ke2ljb259Pjwvc2JiLWljb24+XG4gICAgICA8dGltZSBkYXRldGltZT0ke2R1cmF0aW9uICsgJ00nfT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gICAgICAgICAgJHshbGFiZWwgJiYgdHlwZVxuICAgICAgICAgICAgPyB0eXBlID09PSAnZGVwYXJ0dXJlJ1xuICAgICAgICAgICAgICA/IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgICAgICA6IGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgICAke2xhYmVsID8gaHRtbGA8c3Bhbj4ke2xhYmVsfTwvc3Bhbj5gIDogbm90aGluZ30mbmJzcDtcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICAke2R1cmF0aW9ufVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS1wcmltZS1zeW1ib2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4nPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1zY3JlZW4tcmVhZGVyLW9ubHlcIj5taW48L3NwYW4+XG4gICAgICA8L3RpbWU+XG4gICAgPC9zcGFuPlxuICBgO1xufVxuXG4vKipcbiAqIHJlbmRlcnMgYSB3YWxrLXRpbWUgaWNvbiB3aXRoIHRoZSB3YWxrIGR1cmF0aW9uXG4gKi9cbmZ1bmN0aW9uIHJlbmRlcldhbGtUaW1lKFxuICBkdXJhdGlvbjogbnVtYmVyIHwgc3RyaW5nLFxuICBsYWJlbDogc3RyaW5nLFxuICB2YXJpYW50OiAnbGVmdCcgfCAncmlnaHQnLFxuICBpY29uOiBzdHJpbmcsXG4pOiBUZW1wbGF0ZVJlc3VsdCB7XG4gIHJldHVybiBodG1sYFxuICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lIHNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS0tJHtpY29ufS0ke3ZhcmlhbnR9XCI+XG4gICAgICA8c2JiLWljb24gbmFtZT0ke2ljb259Pjwvc2JiLWljb24+XG4gICAgICA8dGltZSBkYXRldGltZT0ke2R1cmF0aW9uICsgJ00nfT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+JHtsYWJlbH08L3NwYW4+XG4gICAgICAgICR7ZHVyYXRpb259XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBlYXJsLWNoYWluX190aW1lLXdhbGt0aW1lLXByaW1lLXN5bWJvbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPic8L3NwYW4+XG4gICAgICA8L3RpbWU+XG4gICAgPC9zcGFuPlxuICBgO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IEEgZnVuY3Rpb24gdGhhdCByZW5kZXJzIHRoZSBlbGVtZW50IGZvciB0aGUgZGVwYXJ0dXJlIHRpbWUgYXR0cmlidXRlLlxuICogQHJldHVybnMgcmVuZGVyQXJyaXZhbFRpbWVBdHRyaWJ1dGU6IEEgZnVuY3Rpb24gdGhhdCByZW5kZXJzIHRoZSBlbGVtZW50IGZvciB0aGUgYXJyaXZhbCB0aW1lIGF0dHJpYnV0ZS5cbiAqIEByZXR1cm5zIGFycml2YWxUaW1lQXR0cmlidXRlOiBUaGUgYWNjZXNzIGF0dHJpYnV0ZSBmb3IgdGhlIGFycml2YWwgdGltZS5cbiAqIEByZXR1cm5zIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IFRoZSBhY2Nlc3MgYXR0cmlidXRlIGZvciB0aGUgZGVwYXJ0dXJlIHRpbWUuXG4gKiBAcGFyYW0gbGVncyBBbiBhcnJheSBvZiBMZWcgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGpvdXJuZXkgbGVncy5cbiAqIEBwYXJhbSBkZXBhcnR1cmVXYWxrIFRoZSB3YWxraW5nIGRpc3RhbmNlIGluIG1pbnV0ZXMgZnJvbSB0aGUgZGVwYXJ0dXJlIHBvaW50IHRvIHRoZSBmaXJzdCBsZWcuXG4gKiBAcGFyYW0gYXJyaXZhbFdhbGsgVGhlIHdhbGtpbmcgZGlzdGFuY2UgaW4gbWludXRlcyBmcm9tIHRoZSBsYXN0IGxlZyB0byB0aGUgYXJyaXZhbCBwb2ludC5cbiAqIEBwYXJhbSBjdXJyZW50TGFuZ3VhZ2UgVGhlIGN1cnJlbnQgbGFuZ3VhZ2UgZm9yIGxvY2FsaXphdGlvbi5cbiAqIEBwYXJhbSBhMTF5Rm9vdHBhdGggV2hldGhlciB0aGUgYTExeS1pY29uIHNob3VsZCBiZSBzaG93bi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlcGFydHVyZUFycml2YWxUaW1lQXR0cmlidXRlKFxuICBsZWdzOiBMZWdbXSxcbiAgZGVwYXJ0dXJlV2FsazogbnVtYmVyLFxuICBhcnJpdmFsV2FsazogbnVtYmVyLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbiAgYTExeUZvb3RwYXRoPzogYm9vbGVhbixcbik6IHtcbiAgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogKCkgPT4gVGVtcGxhdGVSZXN1bHQ7XG4gIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlOiAoKSA9PiBUZW1wbGF0ZVJlc3VsdDtcbiAgZGVwYXJ0dXJlVGltZUF0dHJpYnV0ZTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGw7XG4gIGFycml2YWxUaW1lQXR0cmlidXRlOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbDtcbn0ge1xuICBjb25zdCBjb25uZWN0aW9uUmlkZUxlZyA9XG4gICAgbGVncyAmJlxuICAgIChsZWdzLmZpbHRlcigobGVnKSA9PiBpc1JpZGVMZWcobGVnKSB8fCBpc0Nvbm5lY3Rpb25MZWcobGVnKSlbMF0gYXNcbiAgICAgIHwgUHRSaWRlTGVnXG4gICAgICB8IFB0Q29ubmVjdGlvbkxlZyk7XG5cbiAgY29uc3QgY29ubmVjdGlvbkxlZ05vdGljZSA9IFsnWU0nLCAnWUInLCAnWScsICdZVCddO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZyA9IGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShjb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkRmlyc3RMZWcgPSBnZXRGaXJzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICAgIGNvbm5lY3Rpb25SaWRlTGVnLFxuICAgIGRlcGFydHVyZVdhbGssXG4gICAgYTExeUZvb3RwYXRoLFxuICAgIGN1cnJlbnRMYW5ndWFnZSxcbiAgKTtcbiAgY29uc3QgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSA9IGRlcGFydHVyZVdhbGtcbiAgICA/IHtcbiAgICAgICAgdGV4dDogaTE4bldhbGtpbmdEaXN0YW5jZURlcGFydHVyZVtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogZGVwYXJ0dXJlV2FsayxcbiAgICAgICAgaWNvbjogYTExeUZvb3RwYXRoID8gJ3doZWVsY2hhaXItc21hbGwnIDogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcblxuICBjb25zdCBnZXREZXBhcnR1cmVUeXBlID0gKCk6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsID0+IHtcbiAgICBpZiAoY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gY29ubmVjdGlvbkZpcnN0TGVnO1xuICAgIH0gZWxzZSBpZiAoZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkRmlyc3RMZWcpIHtcbiAgICAgIHJldHVybiBleHRlbmRlZEZpcnN0TGVnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke2Nvbm5lY3Rpb25GaXJzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLnRleHQsXG4gICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7ZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRGaXJzdExlZyAmJiAhY29ubmVjdGlvbkZpcnN0TGVnXG4gICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICBkZXBhcnR1cmVXYWxrQXR0cmlidXRlLmR1cmF0aW9uLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHtleHRlbmRlZEZpcnN0TGVnXG4gICAgICAgID8gYTExeUZvb3RwYXRoXG4gICAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnbGVmdCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHJlbmRlclRyYW5zZmVyVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRGaXJzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2RlcGFydHVyZScsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgY29uc3QgbGFzdExlZyA9IGxlZ3MgJiYgbGVnc1tsZWdzLmxlbmd0aCAtIDFdO1xuICBjb25zdCBsYXN0Q29ubmVjdGlvblJpZGVMZWcgPVxuICAgIChpc0Nvbm5lY3Rpb25MZWcobGFzdExlZykgfHwgaXNSaWRlTGVnKGxhc3RMZWcpKSAmJiAobGFzdExlZyBhcyBQdENvbm5lY3Rpb25MZWcgfCBQdFJpZGVMZWcpO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25MYXN0TGVnID1cbiAgICBsYXN0Q29ubmVjdGlvblJpZGVMZWcgJiYgZ2V0UFRDb25uZWN0aW9uQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgY29ubmVjdGlvbkxlZ05vdGljZSk7XG4gIGNvbnN0IGV4dGVuZGVkTGFzdExlZyA9XG4gICAgbGFzdENvbm5lY3Rpb25SaWRlTGVnICYmXG4gICAgZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKGxhc3RDb25uZWN0aW9uUmlkZUxlZywgYXJyaXZhbFdhbGssIGExMXlGb290cGF0aCwgY3VycmVudExhbmd1YWdlKTtcbiAgY29uc3QgYXJyaXZhbFdhbGtBdHRyaWJ1dGUgPSBhcnJpdmFsV2Fsa1xuICAgID8ge1xuICAgICAgICB0ZXh0OiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdLFxuICAgICAgICBkdXJhdGlvbjogYXJyaXZhbFdhbGssXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZ2V0QXJyaXZhbFR5cGUgPSAoKTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGwgPT4ge1xuICAgIGlmIChjb25uZWN0aW9uTGFzdExlZykge1xuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25MYXN0TGVnO1xuICAgIH0gZWxzZSBpZiAoYXJyaXZhbFdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkTGFzdExlZyAmJiAhY29ubmVjdGlvbkxhc3RMZWcpIHtcbiAgICAgIHJldHVybiBhcnJpdmFsV2Fsa0F0dHJpYnV0ZTtcbiAgICB9IGVsc2UgaWYgKGV4dGVuZGVkTGFzdExlZykge1xuICAgICAgcmV0dXJuIGV4dGVuZGVkTGFzdExlZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7Y29ubmVjdGlvbkxhc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGNvbm5lY3Rpb25MYXN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgY29ubmVjdGlvbkxhc3RMZWcudGV4dCxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICBjb25uZWN0aW9uTGFzdExlZy5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHthcnJpdmFsV2Fsa0F0dHJpYnV0ZSAmJiAhZXh0ZW5kZWRMYXN0TGVnICYmICFjb25uZWN0aW9uTGFzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgYXJyaXZhbFdhbGtBdHRyaWJ1dGUuZHVyYXRpb24sXG4gICAgICAgICAgICBhcnJpdmFsV2Fsa0F0dHJpYnV0ZS50ZXh0LFxuICAgICAgICAgICAgJ3JpZ2h0JyxcbiAgICAgICAgICAgIGFycml2YWxXYWxrQXR0cmlidXRlLmljb24sXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke2V4dGVuZGVkTGFzdExlZ1xuICAgICAgICA/IGExMXlGb290cGF0aFxuICAgICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgICAgZXh0ZW5kZWRMYXN0TGVnLnRleHQsXG4gICAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogcmVuZGVyVHJhbnNmZXJUaW1lKFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy5pY29uLFxuICAgICAgICAgICAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAnYXJyaXZhbCcsXG4gICAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICBgO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICByZW5kZXJEZXBhcnR1cmVUaW1lQXR0cmlidXRlLFxuICAgIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlLFxuICAgIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IGdldERlcGFydHVyZVR5cGUoKSxcbiAgICBhcnJpdmFsVGltZUF0dHJpYnV0ZTogZ2V0QXJyaXZhbFR5cGUoKSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUEyQkEsU0FBUyx5QkFDUCxLQUNBLHFCQUE2QjtDQUU3QixNQUFNLHFCQUFxQixnQkFBZ0IsSUFBSSxHQUFJLE1BQTBCO0NBRTdFLE1BQU0sMkJBQTJCLHFCQUM3QixvQkFBb0IsU0FBUyxRQUFRLFdBQVcsb0JBQW9CLFNB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
|
|
122
|
+
export {
|
|
123
|
+
getDepartureArrivalTimeAttribute
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWxlZy1oZWxwZXIuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy1leHBlcmltZW50YWwvY29yZS90aW1ldGFibGUvYWNjZXNzLWxlZy1oZWxwZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBoZWxwZXIgZmlsZSBjb250YWlucyBzZXZlcmFsIGZ1bmN0aW9ucyByZWxhdGVkIHRvIGFjY2Vzc2luZyBhdHRyaWJ1dGVzIGZvciB0aGUgY29ubmVjdGlvbnMuXG5cbmltcG9ydCB7XG4gIGkxOG5XYWxraW5nRGlzdGFuY2VBcnJpdmFsLFxuICBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlLFxufSBmcm9tICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHtcbiAgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCxcbiAgaXNDb25uZWN0aW9uTGVnLFxuICBpc1JpZGVMZWcsXG59IGZyb20gJy4vdGltZXRhYmxlLWhlbHBlci50cyc7XG5pbXBvcnQgdHlwZSB7IExlZywgUHRDb25uZWN0aW9uTGVnLCBQdFJpZGVMZWcgfSBmcm9tICcuL3RpbWV0YWJsZS1wcm9wZXJ0aWVzLnRzJztcblxuaW1wb3J0ICdAc2JiLWVzdGEvbHluZS1lbGVtZW50cy9pY29uLmpzJztcblxuaW50ZXJmYWNlIElBY2Nlc3NBdHRyaWJ1dGUge1xuICBkdXJhdGlvbjogbnVtYmVyO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgYXR0cmlidXRlIG9mIGEgQ29ubmVjdGlvbkxlZ1xuICovXG5mdW5jdGlvbiBnZXRQVENvbm5lY3Rpb25BdHRyaWJ1dGUoXG4gIGxlZzogUHRSaWRlTGVnIHwgUHRDb25uZWN0aW9uTGVnLFxuICBjb25uZWN0aW9uTGVnTm90aWNlOiBzdHJpbmdbXSxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgY29uc3QgY29ubmVjdGlvbkZpcnN0TGVnID0gaXNDb25uZWN0aW9uTGVnKGxlZykgPyAobGVnIGFzIFB0Q29ubmVjdGlvbkxlZykgOiBudWxsO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25GaXJzdExlZ05vdGljZSA9IGNvbm5lY3Rpb25GaXJzdExlZ1xuICAgID8gY29ubmVjdGlvbkZpcnN0TGVnPy5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT4gY29ubmVjdGlvbkxlZ05vdGljZS5pbmNsdWRlcyhub3RpY2UubmFtZSkpWzBdXG4gICAgOiBudWxsO1xuXG4gIHJldHVybiBjb25uZWN0aW9uRmlyc3RMZWdOb3RpY2VcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IGNvbm5lY3Rpb25GaXJzdExlZz8uZHVyYXRpb24gfHwgMCxcbiAgICAgICAgdGV4dDogY29ubmVjdGlvbkZpcnN0TGVnTm90aWNlPy50ZXh0Py50ZW1wbGF0ZSB8fCAnJyxcbiAgICAgICAgaWNvbjogJ3dhbGstc21hbGwnLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB0aGUgZXh0ZW5kZWQgZW50ZXIgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0Rmlyc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgbGVnOiBQdFJpZGVMZWcgfCBQdENvbm5lY3Rpb25MZWcsXG4gIGRlcGFydHVyZVdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZW50ZXJcbiAgY29uc3QgZXh0ZW5kZWRGaXJzdExlZyA9IGlzUmlkZUxlZyhsZWcpXG4gICAgPyAobGVnIGFzIFB0UmlkZUxlZyk/LnNlcnZpY2VKb3VybmV5Py5ub3RpY2VzPy5maWx0ZXIoKG5vdGljZSkgPT5cbiAgICAgICAgWydDSSddLmluY2x1ZGVzKG5vdGljZS5uYW1lKSxcbiAgICAgIClbMF1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmcgPVxuICAgIGV4dGVuZGVkRmlyc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZEZpcnN0TGVnKTtcblxuICByZXR1cm4gZXh0ZW5kZWRGaXJzdExlZ1xuICAgID8ge1xuICAgICAgICBkdXJhdGlvbjogKGV4dHJhY3RUaW1lQW5kU3RyaW5nPy5kdXJhdGlvbiB8fCAwKSArIChkZXBhcnR1cmVXYWxrIHx8IDApLFxuICAgICAgICB0ZXh0OiBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkRmlyc3RMZWc/Lm5hbWU/LnRvTG93ZXJDYXNlKCl9YCxcbiAgICAgIH1cbiAgICA6IG51bGw7XG59XG5cbi8qKlxuICogQHJldHVybnMgdGhlIGV4dGVuZGVkIGV4aXQgYXR0cmlidXRlIG9mIHRoZSBQVFJpZGVMZWdcbiAqL1xuZnVuY3Rpb24gZ2V0TGFzdEV4dGVuZGVkTGVnQXR0cmlidXRlKFxuICBsZWc6IExlZyxcbiAgYXJyaXZhbFdhbGs6IG51bWJlcixcbiAgYTExeUZvb3RwYXRoOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZyxcbik6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsIHtcbiAgLy8gRXh0ZW5kZWQgZXhpdFxuICBjb25zdCBleHRlbmRlZExhc3RMZWcgPSBpc1JpZGVMZWcobGVnKVxuICAgID8gKGxlZyBhcyBQdFJpZGVMZWcpPy5zZXJ2aWNlSm91cm5leT8ubm90aWNlcz8uZmlsdGVyKChub3RpY2UpID0+XG4gICAgICAgIFsnQ08nXS5pbmNsdWRlcyhub3RpY2UubmFtZSksXG4gICAgICApWzBdXG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGV4dHJhY3RUaW1lQW5kU3RyaW5nID1cbiAgICBleHRlbmRlZExhc3RMZWcgJiYgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dChleHRlbmRlZExhc3RMZWcpO1xuXG4gIHJldHVybiBleHRlbmRlZExhc3RMZWdcbiAgICA/IHtcbiAgICAgICAgZHVyYXRpb246IChleHRyYWN0VGltZUFuZFN0cmluZz8uZHVyYXRpb24gfHwgMCkgKyAoYXJyaXZhbFdhbGsgfHwgMCksXG4gICAgICAgIHRleHQ6IGExMXlGb290cGF0aFxuICAgICAgICAgID8gaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXVxuICAgICAgICAgIDogZXh0cmFjdFRpbWVBbmRTdHJpbmc/LnRleHQgfHwgJycsXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6IGBzYS0ke2V4dGVuZGVkTGFzdExlZz8ubmFtZT8udG9Mb3dlckNhc2UoKX1gLFxuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIHRoZSBleHRlbmRlZCBleGl0L2VudGVyIGljb24gd2l0aCB0aGUgZHVyYXRpb25cbiAqL1xuZnVuY3Rpb24gcmVuZGVyVHJhbnNmZXJUaW1lKFxuICBkdXJhdGlvbjogbnVtYmVyIHwgc3RyaW5nLFxuICBpY29uOiBzdHJpbmcsXG4gIGN1cnJlbnRMYW5ndWFnZTogc3RyaW5nLFxuICBsYWJlbD86IHN0cmluZyxcbiAgdHlwZT86ICdkZXBhcnR1cmUnIHwgJ2Fycml2YWwnLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS10cmFuc2ZlciBzYmItcGVhcmwtY2hhaW5fX3RpbWUtdHJhbnNmZXItLSR7aWNvbn0tJHt0eXBlfVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPlxuICAgICAgICAgICR7IWxhYmVsICYmIHR5cGVcbiAgICAgICAgICAgID8gdHlwZSA9PT0gJ2RlcGFydHVyZSdcbiAgICAgICAgICAgICAgPyBpMThuV2Fsa2luZ0Rpc3RhbmNlRGVwYXJ0dXJlW2N1cnJlbnRMYW5ndWFnZV1cbiAgICAgICAgICAgICAgOiBpMThuV2Fsa2luZ0Rpc3RhbmNlQXJyaXZhbFtjdXJyZW50TGFuZ3VhZ2VdXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgJHtsYWJlbCA/IGh0bWxgPHNwYW4+JHtsYWJlbH08L3NwYW4+YCA6IG5vdGhpbmd9Jm5ic3A7XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgJHtkdXJhdGlvbn1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtcHJpbWUtc3ltYm9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+Jzwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItc2NyZWVuLXJlYWRlci1vbmx5XCI+bWluPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiByZW5kZXJzIGEgd2Fsay10aW1lIGljb24gd2l0aCB0aGUgd2FsayBkdXJhdGlvblxuICovXG5mdW5jdGlvbiByZW5kZXJXYWxrVGltZShcbiAgZHVyYXRpb246IG51bWJlciB8IHN0cmluZyxcbiAgbGFiZWw6IHN0cmluZyxcbiAgdmFyaWFudDogJ2xlZnQnIHwgJ3JpZ2h0JyxcbiAgaWNvbjogc3RyaW5nLFxuKTogVGVtcGxhdGVSZXN1bHQge1xuICByZXR1cm4gaHRtbGBcbiAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZSBzYmItcGVhcmwtY2hhaW5fX3RpbWUtd2Fsa3RpbWUtLSR7aWNvbn0tJHt2YXJpYW50fVwiPlxuICAgICAgPHNiYi1pY29uIG5hbWU9JHtpY29ufT48L3NiYi1pY29uPlxuICAgICAgPHRpbWUgZGF0ZXRpbWU9JHtkdXJhdGlvbiArICdNJ30+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXNjcmVlbi1yZWFkZXItb25seVwiPiR7bGFiZWx9PC9zcGFuPlxuICAgICAgICAke2R1cmF0aW9ufVxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wZWFybC1jaGFpbl9fdGltZS13YWxrdGltZS1wcmltZS1zeW1ib2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4nPC9zcGFuPlxuICAgICAgPC90aW1lPlxuICAgIDwvc3Bhbj5cbiAgYDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyByZW5kZXJEZXBhcnR1cmVUaW1lQXR0cmlidXRlOiBBIGZ1bmN0aW9uIHRoYXQgcmVuZGVycyB0aGUgZWxlbWVudCBmb3IgdGhlIGRlcGFydHVyZSB0aW1lIGF0dHJpYnV0ZS5cbiAqIEByZXR1cm5zIHJlbmRlckFycml2YWxUaW1lQXR0cmlidXRlOiBBIGZ1bmN0aW9uIHRoYXQgcmVuZGVycyB0aGUgZWxlbWVudCBmb3IgdGhlIGFycml2YWwgdGltZSBhdHRyaWJ1dGUuXG4gKiBAcmV0dXJucyBhcnJpdmFsVGltZUF0dHJpYnV0ZTogVGhlIGFjY2VzcyBhdHRyaWJ1dGUgZm9yIHRoZSBhcnJpdmFsIHRpbWUuXG4gKiBAcmV0dXJucyBkZXBhcnR1cmVUaW1lQXR0cmlidXRlOiBUaGUgYWNjZXNzIGF0dHJpYnV0ZSBmb3IgdGhlIGRlcGFydHVyZSB0aW1lLlxuICogQHBhcmFtIGxlZ3MgQW4gYXJyYXkgb2YgTGVnIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSBqb3VybmV5IGxlZ3MuXG4gKiBAcGFyYW0gZGVwYXJ0dXJlV2FsayBUaGUgd2Fsa2luZyBkaXN0YW5jZSBpbiBtaW51dGVzIGZyb20gdGhlIGRlcGFydHVyZSBwb2ludCB0byB0aGUgZmlyc3QgbGVnLlxuICogQHBhcmFtIGFycml2YWxXYWxrIFRoZSB3YWxraW5nIGRpc3RhbmNlIGluIG1pbnV0ZXMgZnJvbSB0aGUgbGFzdCBsZWcgdG8gdGhlIGFycml2YWwgcG9pbnQuXG4gKiBAcGFyYW0gY3VycmVudExhbmd1YWdlIFRoZSBjdXJyZW50IGxhbmd1YWdlIGZvciBsb2NhbGl6YXRpb24uXG4gKiBAcGFyYW0gYTExeUZvb3RwYXRoIFdoZXRoZXIgdGhlIGExMXktaWNvbiBzaG91bGQgYmUgc2hvd24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXBhcnR1cmVBcnJpdmFsVGltZUF0dHJpYnV0ZShcbiAgbGVnczogTGVnW10sXG4gIGRlcGFydHVyZVdhbGs6IG51bWJlcixcbiAgYXJyaXZhbFdhbGs6IG51bWJlcixcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmcsXG4gIGExMXlGb290cGF0aD86IGJvb2xlYW4sXG4pOiB7XG4gIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6ICgpID0+IFRlbXBsYXRlUmVzdWx0O1xuICByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZTogKCkgPT4gVGVtcGxhdGVSZXN1bHQ7XG4gIGRlcGFydHVyZVRpbWVBdHRyaWJ1dGU6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsO1xuICBhcnJpdmFsVGltZUF0dHJpYnV0ZTogSUFjY2Vzc0F0dHJpYnV0ZSB8IG51bGw7XG59IHtcbiAgY29uc3QgY29ubmVjdGlvblJpZGVMZWcgPVxuICAgIGxlZ3MgJiZcbiAgICAobGVncy5maWx0ZXIoKGxlZykgPT4gaXNSaWRlTGVnKGxlZykgfHwgaXNDb25uZWN0aW9uTGVnKGxlZykpWzBdIGFzXG4gICAgICB8IFB0UmlkZUxlZ1xuICAgICAgfCBQdENvbm5lY3Rpb25MZWcpO1xuXG4gIGNvbnN0IGNvbm5lY3Rpb25MZWdOb3RpY2UgPSBbJ1lNJywgJ1lCJywgJ1knLCAnWVQnXTtcblxuICBjb25zdCBjb25uZWN0aW9uRmlyc3RMZWcgPSBnZXRQVENvbm5lY3Rpb25BdHRyaWJ1dGUoY29ubmVjdGlvblJpZGVMZWcsIGNvbm5lY3Rpb25MZWdOb3RpY2UpO1xuICBjb25zdCBleHRlbmRlZEZpcnN0TGVnID0gZ2V0Rmlyc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShcbiAgICBjb25uZWN0aW9uUmlkZUxlZyxcbiAgICBkZXBhcnR1cmVXYWxrLFxuICAgIGExMXlGb290cGF0aCxcbiAgICBjdXJyZW50TGFuZ3VhZ2UsXG4gICk7XG4gIGNvbnN0IGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUgPSBkZXBhcnR1cmVXYWxrXG4gICAgPyB7XG4gICAgICAgIHRleHQ6IGkxOG5XYWxraW5nRGlzdGFuY2VEZXBhcnR1cmVbY3VycmVudExhbmd1YWdlXSxcbiAgICAgICAgZHVyYXRpb246IGRlcGFydHVyZVdhbGssXG4gICAgICAgIGljb246IGExMXlGb290cGF0aCA/ICd3aGVlbGNoYWlyLXNtYWxsJyA6ICd3YWxrLXNtYWxsJyxcbiAgICAgIH1cbiAgICA6IG51bGw7XG5cbiAgY29uc3QgZ2V0RGVwYXJ0dXJlVHlwZSA9ICgpOiBJQWNjZXNzQXR0cmlidXRlIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbm5lY3Rpb25GaXJzdExlZykge1xuICAgICAgcmV0dXJuIGNvbm5lY3Rpb25GaXJzdExlZztcbiAgICB9IGVsc2UgaWYgKGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkRmlyc3RMZWcgJiYgIWNvbm5lY3Rpb25GaXJzdExlZykge1xuICAgICAgcmV0dXJuIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGU7XG4gICAgfSBlbHNlIGlmIChleHRlbmRlZEZpcnN0TGVnKSB7XG4gICAgICByZXR1cm4gZXh0ZW5kZWRGaXJzdExlZztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlckRlcGFydHVyZVRpbWVBdHRyaWJ1dGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgJHtjb25uZWN0aW9uRmlyc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGNvbm5lY3Rpb25GaXJzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgIGNvbm5lY3Rpb25GaXJzdExlZy50ZXh0LFxuICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgY29ubmVjdGlvbkZpcnN0TGVnLmljb24sXG4gICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAke2RlcGFydHVyZVdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkRmlyc3RMZWcgJiYgIWNvbm5lY3Rpb25GaXJzdExlZ1xuICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgZGVwYXJ0dXJlV2Fsa0F0dHJpYnV0ZS5kdXJhdGlvbixcbiAgICAgICAgICAgIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUudGV4dCxcbiAgICAgICAgICAgICdsZWZ0JyxcbiAgICAgICAgICAgIGRlcGFydHVyZVdhbGtBdHRyaWJ1dGUuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7ZXh0ZW5kZWRGaXJzdExlZ1xuICAgICAgICA/IGExMXlGb290cGF0aFxuICAgICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2xlZnQnLFxuICAgICAgICAgICAgICBleHRlbmRlZEZpcnN0TGVnLmljb24sXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiByZW5kZXJUcmFuc2ZlclRpbWUoXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkRmlyc3RMZWcuaWNvbixcbiAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlLFxuICAgICAgICAgICAgICBleHRlbmRlZEZpcnN0TGVnLnRleHQsXG4gICAgICAgICAgICAgICdkZXBhcnR1cmUnLFxuICAgICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIGNvbnN0IGxhc3RMZWcgPSBsZWdzICYmIGxlZ3NbbGVncy5sZW5ndGggLSAxXTtcbiAgY29uc3QgbGFzdENvbm5lY3Rpb25SaWRlTGVnID1cbiAgICAoaXNDb25uZWN0aW9uTGVnKGxhc3RMZWcpIHx8IGlzUmlkZUxlZyhsYXN0TGVnKSkgJiYgKGxhc3RMZWcgYXMgUHRDb25uZWN0aW9uTGVnIHwgUHRSaWRlTGVnKTtcblxuICBjb25zdCBjb25uZWN0aW9uTGFzdExlZyA9XG4gICAgbGFzdENvbm5lY3Rpb25SaWRlTGVnICYmIGdldFBUQ29ubmVjdGlvbkF0dHJpYnV0ZShsYXN0Q29ubmVjdGlvblJpZGVMZWcsIGNvbm5lY3Rpb25MZWdOb3RpY2UpO1xuICBjb25zdCBleHRlbmRlZExhc3RMZWcgPVxuICAgIGxhc3RDb25uZWN0aW9uUmlkZUxlZyAmJlxuICAgIGdldExhc3RFeHRlbmRlZExlZ0F0dHJpYnV0ZShsYXN0Q29ubmVjdGlvblJpZGVMZWcsIGFycml2YWxXYWxrLCBhMTF5Rm9vdHBhdGgsIGN1cnJlbnRMYW5ndWFnZSk7XG4gIGNvbnN0IGFycml2YWxXYWxrQXR0cmlidXRlID0gYXJyaXZhbFdhbGtcbiAgICA/IHtcbiAgICAgICAgdGV4dDogaTE4bldhbGtpbmdEaXN0YW5jZUFycml2YWxbY3VycmVudExhbmd1YWdlXSxcbiAgICAgICAgZHVyYXRpb246IGFycml2YWxXYWxrLFxuICAgICAgICBpY29uOiBhMTF5Rm9vdHBhdGggPyAnd2hlZWxjaGFpci1zbWFsbCcgOiAnd2Fsay1zbWFsbCcsXG4gICAgICB9XG4gICAgOiBudWxsO1xuXG4gIGNvbnN0IGdldEFycml2YWxUeXBlID0gKCk6IElBY2Nlc3NBdHRyaWJ1dGUgfCBudWxsID0+IHtcbiAgICBpZiAoY29ubmVjdGlvbkxhc3RMZWcpIHtcbiAgICAgIHJldHVybiBjb25uZWN0aW9uTGFzdExlZztcbiAgICB9IGVsc2UgaWYgKGFycml2YWxXYWxrQXR0cmlidXRlICYmICFleHRlbmRlZExhc3RMZWcgJiYgIWNvbm5lY3Rpb25MYXN0TGVnKSB7XG4gICAgICByZXR1cm4gYXJyaXZhbFdhbGtBdHRyaWJ1dGU7XG4gICAgfSBlbHNlIGlmIChleHRlbmRlZExhc3RMZWcpIHtcbiAgICAgIHJldHVybiBleHRlbmRlZExhc3RMZWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBmdW5jdGlvbiByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke2Nvbm5lY3Rpb25MYXN0TGVnXG4gICAgICAgID8gcmVuZGVyV2Fsa1RpbWUoXG4gICAgICAgICAgICBjb25uZWN0aW9uTGFzdExlZy5kdXJhdGlvbixcbiAgICAgICAgICAgIGNvbm5lY3Rpb25MYXN0TGVnLnRleHQsXG4gICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgY29ubmVjdGlvbkxhc3RMZWcuaWNvbixcbiAgICAgICAgICApXG4gICAgICAgIDogbm90aGluZ31cbiAgICAgICR7YXJyaXZhbFdhbGtBdHRyaWJ1dGUgJiYgIWV4dGVuZGVkTGFzdExlZyAmJiAhY29ubmVjdGlvbkxhc3RMZWdcbiAgICAgICAgPyByZW5kZXJXYWxrVGltZShcbiAgICAgICAgICAgIGFycml2YWxXYWxrQXR0cmlidXRlLmR1cmF0aW9uLFxuICAgICAgICAgICAgYXJyaXZhbFdhbGtBdHRyaWJ1dGUudGV4dCxcbiAgICAgICAgICAgICdyaWdodCcsXG4gICAgICAgICAgICBhcnJpdmFsV2Fsa0F0dHJpYnV0ZS5pY29uLFxuICAgICAgICAgIClcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgJHtleHRlbmRlZExhc3RMZWdcbiAgICAgICAgPyBhMTF5Rm9vdHBhdGhcbiAgICAgICAgICA/IHJlbmRlcldhbGtUaW1lKFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuZHVyYXRpb24sXG4gICAgICAgICAgICAgIGV4dGVuZGVkTGFzdExlZy50ZXh0LFxuICAgICAgICAgICAgICAncmlnaHQnLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuaWNvbixcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHJlbmRlclRyYW5zZmVyVGltZShcbiAgICAgICAgICAgICAgZXh0ZW5kZWRMYXN0TGVnLmR1cmF0aW9uLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcuaWNvbixcbiAgICAgICAgICAgICAgY3VycmVudExhbmd1YWdlLFxuICAgICAgICAgICAgICBleHRlbmRlZExhc3RMZWcudGV4dCxcbiAgICAgICAgICAgICAgJ2Fycml2YWwnLFxuICAgICAgICAgICAgKVxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVuZGVyRGVwYXJ0dXJlVGltZUF0dHJpYnV0ZSxcbiAgICByZW5kZXJBcnJpdmFsVGltZUF0dHJpYnV0ZSxcbiAgICBkZXBhcnR1cmVUaW1lQXR0cmlidXRlOiBnZXREZXBhcnR1cmVUeXBlKCksXG4gICAgYXJyaXZhbFRpbWVBdHRyaWJ1dGU6IGdldEFycml2YWxUeXBlKCksXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQTJCQSxTQUFTLHlCQUNQLEtBQ0EscUJBQTZCO0FBRTdCLFFBQU0scUJBQXFCLGdCQUFnQixHQUFHLElBQUssTUFBMEI7QUFFN0UsUUFBTSwyQkFBMkIscUJBQzdCLG9CQUFvQixTQUFTLE9BQU8sQ0FBQyxXQUFXLG9CQUFvQixT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
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return leg?.__typename === "PTRideLeg";
|
|
1
|
+
const isRideLeg = (leg) => {
|
|
2
|
+
return leg?.__typename === "PTRideLeg";
|
|
4
3
|
};
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const isConnectionLeg = (leg) => {
|
|
5
|
+
return leg?.__typename === "PTConnectionLeg";
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
const extractTimeAndStringFromNoticeText = (notice) => {
|
|
8
|
+
const firstIndex = notice?.text?.template && notice.text.template.indexOf("(") + 1;
|
|
9
|
+
const noticeDuration = notice?.text?.template?.substring(firstIndex || 0, notice?.text?.template.indexOf(")"));
|
|
10
|
+
return {
|
|
11
|
+
duration: noticeDuration && +noticeDuration.substring(0, noticeDuration.length - 1) || 0,
|
|
12
|
+
text: notice?.text?.template?.split("(")[0] || ""
|
|
13
|
+
};
|
|
15
14
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
export {
|
|
16
|
+
extractTimeAndStringFromNoticeText,
|
|
17
|
+
isConnectionLeg,
|
|
18
|
+
isRideLeg
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLWhlbHBlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzLWV4cGVyaW1lbnRhbC9jb3JlL3RpbWV0YWJsZS90aW1ldGFibGUtaGVscGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5pbXBvcnQgdHlwZSB7IExlZywgTm90aWNlIH0gZnJvbSAnLi90aW1ldGFibGUtcHJvcGVydGllcy50cyc7XG5cbmV4cG9ydCBjb25zdCBpc1JpZGVMZWcgPSAobGVnOiBhbnkpOiBsZWcgaXMgRXh0cmFjdDxMZWcsIHsgX190eXBlbmFtZTogJ1BUUmlkZUxlZycgfT4gPT4ge1xuICByZXR1cm4gbGVnPy5fX3R5cGVuYW1lID09PSAnUFRSaWRlTGVnJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Nvbm5lY3Rpb25MZWcgPSAoXG4gIGxlZzogYW55LFxuKTogbGVnIGlzIEV4dHJhY3Q8TGVnLCB7IF9fdHlwZW5hbWU6ICdQVENvbm5lY3Rpb25MZWcnIH0+ID0+IHtcbiAgcmV0dXJuIGxlZz8uX190eXBlbmFtZSA9PT0gJ1BUQ29ubmVjdGlvbkxlZyc7XG59O1xuXG5leHBvcnQgY29uc3QgZXh0cmFjdFRpbWVBbmRTdHJpbmdGcm9tTm90aWNlVGV4dCA9IChcbiAgbm90aWNlPzogTm90aWNlLFxuKTogeyBkdXJhdGlvbjogbnVtYmVyOyB0ZXh0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGZpcnN0SW5kZXggPSBub3RpY2U/LnRleHQ/LnRlbXBsYXRlICYmIG5vdGljZS50ZXh0LnRlbXBsYXRlLmluZGV4T2YoJygnKSArIDE7XG4gIGNvbnN0IG5vdGljZUR1cmF0aW9uID0gbm90aWNlPy50ZXh0Py50ZW1wbGF0ZT8uc3Vic3RyaW5nKFxuICAgIGZpcnN0SW5kZXggfHwgMCxcbiAgICBub3RpY2U/LnRleHQ/LnRlbXBsYXRlLmluZGV4T2YoJyknKSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGR1cmF0aW9uOiAobm90aWNlRHVyYXRpb24gJiYgK25vdGljZUR1cmF0aW9uLnN1YnN0cmluZygwLCBub3RpY2VEdXJhdGlvbi5sZW5ndGggLSAxKSkgfHwgMCxcbiAgICB0ZXh0OiBub3RpY2U/LnRleHQ/LnRlbXBsYXRlPy5zcGxpdCgnKCcpWzBdIHx8ICcnLFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJTyxNQUFNLFlBQVksQ0FBQyxRQUE4RDtBQUN0RixTQUFPLEtBQUssZUFBZTtBQUM3QjtBQUVPLE1BQU0sa0JBQWtCLENBQzdCLFFBQzBEO0FBQzFELFNBQU8sS0FBSyxlQUFlO0FBQzdCO0FBRU8sTUFBTSxxQ0FBcUMsQ0FDaEQsV0FDc0M7QUFDdEMsUUFBTSxhQUFhLFFBQVEsTUFBTSxZQUFZLE9BQU8sS0FBSyxTQUFTLFFBQVEsR0FBRyxJQUFJO0FBQ2pGLFFBQU0saUJBQWlCLFFBQVEsTUFBTSxVQUFVLFVBQzdDLGNBQWMsR0FDZCxRQUFRLE1BQU0sU0FBUyxRQUFRLEdBQUcsQ0FBQztBQUdyQyxTQUFPO0FBQUEsSUFDTCxVQUFXLGtCQUFrQixDQUFDLGVBQWUsVUFBVSxHQUFHLGVBQWUsU0FBUyxDQUFDLEtBQU07QUFBQSxJQUN6RixNQUFNLFFBQVEsTUFBTSxVQUFVLE1BQU0sR0FBRyxFQUFFLENBQUMsS0FBSztBQUFBLEVBQUE7QUFFbkQ7In0=
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { extractTimeAndStringFromNoticeText, isConnectionLeg, isRideLeg } from "./timetable/timetable-helper.js";
|
|
2
1
|
import { getDepartureArrivalTimeAttribute } from "./timetable/access-leg-helper.js";
|
|
3
|
-
import "./timetable/timetable-
|
|
4
|
-
export {
|
|
2
|
+
import { extractTimeAndStringFromNoticeText, isConnectionLeg, isRideLeg } from "./timetable/timetable-helper.js";
|
|
3
|
+
export {
|
|
4
|
+
extractTimeAndStringFromNoticeText,
|
|
5
|
+
getDepartureArrivalTimeAttribute,
|
|
6
|
+
isConnectionLeg,
|
|
7
|
+
isRideLeg
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXRhYmxlLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7In0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { t as toDate, m as millisecondsInMinute } from "./toDate-BWb6Z1JD.js";
|
|
2
|
+
function addMinutes(date, amount, options) {
|
|
3
|
+
const _date = toDate(date, options?.in);
|
|
4
|
+
_date.setTime(_date.getTime() + amount * millisecondsInMinute);
|
|
5
|
+
return _date;
|
|
6
|
+
}
|
|
7
|
+
function getRoundingMethod(method) {
|
|
8
|
+
return (number) => {
|
|
9
|
+
const round = method ? Math[method] : Math.trunc;
|
|
10
|
+
const result = round(number);
|
|
11
|
+
return result === 0 ? 0 : result;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function differenceInMilliseconds(laterDate, earlierDate) {
|
|
15
|
+
return +toDate(laterDate) - +toDate(earlierDate);
|
|
16
|
+
}
|
|
17
|
+
function differenceInMinutes(dateLeft, dateRight, options) {
|
|
18
|
+
const diff = differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;
|
|
19
|
+
return getRoundingMethod(options?.roundingMethod)(diff);
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
addMinutes as a,
|
|
23
|
+
differenceInMinutes as d,
|
|
24
|
+
getRoundingMethod as g
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZmVyZW5jZUluTWludXRlcy1CMGRhd1gtNS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RhdGUtZm5zL2FkZE1pbnV0ZXMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kYXRlLWZucy9kaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMuanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZGF0ZS1mbnMvZGlmZmVyZW5jZUluTWludXRlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtaWxsaXNlY29uZHNJbk1pbnV0ZSB9IGZyb20gXCIuL2NvbnN0YW50cy5qc1wiO1xuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogVGhlIHtAbGluayBhZGRNaW51dGVzfSBmdW5jdGlvbiBvcHRpb25zLlxuICovXG5cbi8qKlxuICogQG5hbWUgYWRkTWludXRlc1xuICogQGNhdGVnb3J5IE1pbnV0ZSBIZWxwZXJzXG4gKiBAc3VtbWFyeSBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICpcbiAqIEB0eXBlUGFyYW0gRGF0ZVR5cGUgLSBUaGUgYERhdGVgIHR5cGUsIHRoZSBmdW5jdGlvbiBvcGVyYXRlcyBvbi4gR2V0cyBpbmZlcnJlZCBmcm9tIHBhc3NlZCBhcmd1bWVudHMuIEFsbG93cyB0byB1c2UgZXh0ZW5zaW9ucyBsaWtlIFtgVVRDRGF0ZWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy91dGMpLlxuICogQHR5cGVQYXJhbSBSZXN1bHREYXRlIC0gVGhlIHJlc3VsdCBgRGF0ZWAgdHlwZSwgaXQgaXMgdGhlIHR5cGUgcmV0dXJuZWQgZnJvbSB0aGUgY29udGV4dCBmdW5jdGlvbiBpZiBpdCBpcyBwYXNzZWQsIG9yIGluZmVycmVkIGZyb20gdGhlIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0gZGF0ZSAtIFRoZSBkYXRlIHRvIGJlIGNoYW5nZWRcbiAqIEBwYXJhbSBhbW91bnQgLSBUaGUgYW1vdW50IG9mIG1pbnV0ZXMgdG8gYmUgYWRkZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIEFuIG9iamVjdCB3aXRoIG9wdGlvbnNcbiAqXG4gKiBAcmV0dXJucyBUaGUgbmV3IGRhdGUgd2l0aCB0aGUgbWludXRlcyBhZGRlZFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgMzAgbWludXRlcyB0byAxMCBKdWx5IDIwMTQgMTI6MDA6MDA6XG4gKiBjb25zdCByZXN1bHQgPSBhZGRNaW51dGVzKG5ldyBEYXRlKDIwMTQsIDYsIDEwLCAxMiwgMCksIDMwKVxuICogLy89PiBUaHUgSnVsIDEwIDIwMTQgMTI6MzA6MDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZE1pbnV0ZXMoZGF0ZSwgYW1vdW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IF9kYXRlID0gdG9EYXRlKGRhdGUsIG9wdGlvbnM/LmluKTtcbiAgX2RhdGUuc2V0VGltZShfZGF0ZS5nZXRUaW1lKCkgKyBhbW91bnQgKiBtaWxsaXNlY29uZHNJbk1pbnV0ZSk7XG4gIHJldHVybiBfZGF0ZTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBhZGRNaW51dGVzO1xuIiwiZXhwb3J0IGZ1bmN0aW9uIGdldFJvdW5kaW5nTWV0aG9kKG1ldGhvZCkge1xuICByZXR1cm4gKG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHJvdW5kID0gbWV0aG9kID8gTWF0aFttZXRob2RdIDogTWF0aC50cnVuYztcbiAgICBjb25zdCByZXN1bHQgPSByb3VuZChudW1iZXIpO1xuICAgIC8vIFByZXZlbnQgbmVnYXRpdmUgemVyb1xuICAgIHJldHVybiByZXN1bHQgPT09IDAgPyAwIDogcmVzdWx0O1xuICB9O1xufVxuIiwiaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSBcIi4vdG9EYXRlLmpzXCI7XG5cbi8qKlxuICogQG5hbWUgZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzXG4gKiBAY2F0ZWdvcnkgTWlsbGlzZWNvbmQgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBkZXNjcmlwdGlvblxuICogR2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIGdpdmVuIGRhdGVzLlxuICpcbiAqIEBwYXJhbSBsYXRlckRhdGUgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGVhcmxpZXJEYXRlIC0gVGhlIGVhcmxpZXIgZGF0ZVxuICpcbiAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbGxpc2Vjb25kcyBhcmUgYmV0d2VlblxuICogLy8gMiBKdWx5IDIwMTQgMTI6MzA6MjAuNjAwIGFuZCAyIEp1bHkgMjAxNCAxMjozMDoyMS43MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjEsIDcwMCksXG4gKiAgIG5ldyBEYXRlKDIwMTQsIDYsIDIsIDEyLCAzMCwgMjAsIDYwMClcbiAqIClcbiAqIC8vPT4gMTEwMFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzKGxhdGVyRGF0ZSwgZWFybGllckRhdGUpIHtcbiAgcmV0dXJuICt0b0RhdGUobGF0ZXJEYXRlKSAtICt0b0RhdGUoZWFybGllckRhdGUpO1xufVxuXG4vLyBGYWxsYmFjayBmb3IgbW9kdWxhcml6ZWQgaW1wb3J0czpcbmV4cG9ydCBkZWZhdWx0IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcztcbiIsImltcG9ydCB7IGdldFJvdW5kaW5nTWV0aG9kIH0gZnJvbSBcIi4vX2xpYi9nZXRSb3VuZGluZ01ldGhvZC5qc1wiO1xuaW1wb3J0IHsgbWlsbGlzZWNvbmRzSW5NaW51dGUgfSBmcm9tIFwiLi9jb25zdGFudHMuanNcIjtcbmltcG9ydCB7IGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcyB9IGZyb20gXCIuL2RpZmZlcmVuY2VJbk1pbGxpc2Vjb25kcy5qc1wiO1xuXG4vKipcbiAqIFRoZSB7QGxpbmsgZGlmZmVyZW5jZUluTWludXRlc30gZnVuY3Rpb24gb3B0aW9ucy5cbiAqL1xuXG4vKipcbiAqIEBuYW1lIGRpZmZlcmVuY2VJbk1pbnV0ZXNcbiAqIEBjYXRlZ29yeSBNaW51dGUgSGVscGVyc1xuICogQHN1bW1hcnkgR2V0IHRoZSBudW1iZXIgb2YgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEdldCB0aGUgc2lnbmVkIG51bWJlciBvZiBmdWxsIChyb3VuZGVkIHRvd2FyZHMgMCkgbWludXRlcyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAqXG4gKiBAcGFyYW0gZGF0ZUxlZnQgLSBUaGUgbGF0ZXIgZGF0ZVxuICogQHBhcmFtIGRhdGVSaWdodCAtIFRoZSBlYXJsaWVyIGRhdGVcbiAqIEBwYXJhbSBvcHRpb25zIC0gQW4gb2JqZWN0IHdpdGggb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIG1pbnV0ZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gSG93IG1hbnkgbWludXRlcyBhcmUgYmV0d2VlbiAyIEp1bHkgMjAxNCAxMjowNzo1OSBhbmQgMiBKdWx5IDIwMTQgMTI6MjA6MDA/XG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgMjAsIDApLFxuICogICBuZXcgRGF0ZSgyMDE0LCA2LCAyLCAxMiwgNywgNTkpXG4gKiApXG4gKiAvLz0+IDEyXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhvdyBtYW55IG1pbnV0ZXMgYXJlIGJldHdlZW4gMTA6MDE6NTkgYW5kIDEwOjAwOjAwXG4gKiBjb25zdCByZXN1bHQgPSBkaWZmZXJlbmNlSW5NaW51dGVzKFxuICogICBuZXcgRGF0ZSgyMDAwLCAwLCAxLCAxMCwgMCwgMCksXG4gKiAgIG5ldyBEYXRlKDIwMDAsIDAsIDEsIDEwLCAxLCA1OSlcbiAqIClcbiAqIC8vPT4gLTFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZlcmVuY2VJbk1pbnV0ZXMoZGF0ZUxlZnQsIGRhdGVSaWdodCwgb3B0aW9ucykge1xuICBjb25zdCBkaWZmID1cbiAgICBkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMoZGF0ZUxlZnQsIGRhdGVSaWdodCkgLyBtaWxsaXNlY29uZHNJbk1pbnV0ZTtcbiAgcmV0dXJuIGdldFJvdW5kaW5nTWV0aG9kKG9wdGlvbnM/LnJvdW5kaW5nTWV0aG9kKShkaWZmKTtcbn1cblxuLy8gRmFsbGJhY2sgZm9yIG1vZHVsYXJpemVkIGltcG9ydHM6XG5leHBvcnQgZGVmYXVsdCBkaWZmZXJlbmNlSW5NaW51dGVzO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUE2Qk8sU0FBUyxXQUFXLE1BQU0sUUFBUSxTQUFTO0FBQ2hELFFBQU0sUUFBUSxPQUFPLE1BQU0sU0FBUyxFQUFFO0FBQ3RDLFFBQU0sUUFBUSxNQUFNLFFBQU8sSUFBSyxTQUFTLG9CQUFvQjtBQUM3RCxTQUFPO0FBQ1Q7QUNqQ08sU0FBUyxrQkFBa0IsUUFBUTtBQUN4QyxTQUFPLENBQUMsV0FBVztBQUNqQixVQUFNLFFBQVEsU0FBUyxLQUFLLE1BQU0sSUFBSSxLQUFLO0FBQzNDLFVBQU0sU0FBUyxNQUFNLE1BQU07QUFFM0IsV0FBTyxXQUFXLElBQUksSUFBSTtBQUFBLEVBQzVCO0FBQ0Y7QUNpQk8sU0FBUyx5QkFBeUIsV0FBVyxhQUFhO0FBQy9ELFNBQU8sQ0FBQyxPQUFPLFNBQVMsSUFBSSxDQUFDLE9BQU8sV0FBVztBQUNqRDtBQ1lPLFNBQVMsb0JBQW9CLFVBQVUsV0FBVyxTQUFTO0FBQ2hFLFFBQU0sT0FDSix5QkFBeUIsVUFBVSxTQUFTLElBQUk7QUFDbEQsU0FBTyxrQkFBa0IsU0FBUyxjQUFjLEVBQUUsSUFBSTtBQUN4RDsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDIsM119
|