hvv-client 0.0.11 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/build/src/client/getTrip.d.ts +36 -0
- package/build/src/client/getTrip.js +3 -0
- package/build/src/client/getTrip.js.map +1 -0
- package/build/src/client/hvvClient.d.ts +12 -0
- package/build/src/client/hvvClient.js +54 -9
- package/build/src/client/hvvClient.js.map +1 -1
- package/build/src/converters/coordinate.converter.d.ts +6 -0
- package/build/src/converters/coordinate.converter.js +18 -0
- package/build/src/converters/coordinate.converter.js.map +1 -0
- package/build/src/converters/date.converter.d.ts +3 -2
- package/build/src/converters/date.converter.js +4 -4
- package/build/src/converters/date.converter.js.map +1 -1
- package/build/src/converters/line.converter.js +4 -3
- package/build/src/converters/line.converter.js.map +1 -1
- package/build/src/converters/lineStop.converter.d.ts +5 -0
- package/build/src/converters/lineStop.converter.js +81 -0
- package/build/src/converters/lineStop.converter.js.map +1 -0
- package/build/src/converters/routePoint.converter.js +0 -4
- package/build/src/converters/routePoint.converter.js.map +1 -1
- package/build/src/index.d.ts +1 -0
- package/build/src/index.js +1 -0
- package/build/src/index.js.map +1 -1
- package/build/src/models/index.d.ts +2 -0
- package/build/src/models/index.js +2 -0
- package/build/src/models/index.js.map +1 -1
- package/build/src/models/line.d.ts +3 -0
- package/build/src/models/line.js.map +1 -1
- package/build/src/models/lineStop.d.ts +15 -0
- package/build/src/models/lineStop.js +3 -0
- package/build/src/models/lineStop.js.map +1 -0
- package/build/src/models/routePoint.d.ts +0 -4
- package/build/src/models/service.d.ts +1 -1
- package/build/src/models/stopInformation.d.ts +12 -0
- package/build/src/models/stopInformation.js +3 -0
- package/build/src/models/stopInformation.js.map +1 -0
- package/build/src/utils/index.d.ts +1 -0
- package/build/src/utils/index.js +18 -0
- package/build/src/utils/index.js.map +1 -0
- package/build/src/utils/lineColor.d.ts +9 -0
- package/build/src/utils/lineColor.js +45 -0
- package/build/src/utils/lineColor.js.map +1 -0
- package/build/src/validators/apiResponse/gtiCheckName.d.ts +10 -10
- package/build/src/validators/apiResponse/gtiDepartureCourse.d.ts +646 -0
- package/build/src/validators/apiResponse/gtiDepartureCourse.js +9 -0
- package/build/src/validators/apiResponse/gtiDepartureCourse.js.map +1 -0
- package/build/src/validators/gtiCoordinate.d.ts +1 -0
- package/build/src/validators/gtiCourseElement.d.ts +525 -0
- package/build/src/validators/gtiCourseElement.js +84 -0
- package/build/src/validators/gtiCourseElement.js.map +1 -0
- package/build/src/validators/gtiDateTime.d.ts +12 -0
- package/build/src/validators/gtiDateTime.js +17 -0
- package/build/src/validators/gtiDateTime.js.map +1 -0
- package/build/src/validators/gtiPath.d.ts +23 -0
- package/build/src/validators/gtiPath.js +9 -0
- package/build/src/validators/gtiPath.js.map +1 -0
- package/build/src/validators/gtiSDName.d.ts +6 -6
- package/build/src/validators/gtiServiceType.d.ts +1 -1
- package/build/src/validators/gtiServiceType.js +2 -0
- package/build/src/validators/gtiServiceType.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.0](https://github.com/alexregier/hvv-client/compare/v0.1.0...v0.2.0) (2025-01-04)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* include color of line ([d802b47](https://github.com/alexregier/hvv-client/commit/d802b4702f160490cd1c39c122c0dbdaaf10b55c))
|
|
9
|
+
|
|
10
|
+
## [0.1.0](https://github.com/alexregier/hvv-client/compare/v0.0.11...v0.1.0) (2025-01-03)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* dedicated coordinate converter ([ad14668](https://github.com/alexregier/hvv-client/commit/ad14668c1faea9b99b22c5d5286d157a1f5a6a73))
|
|
16
|
+
* Get Trip function ([4af5116](https://github.com/alexregier/hvv-client/commit/4af5116e7139d076d182ca64428fe918b596a33d))
|
|
17
|
+
|
|
3
18
|
## [0.0.11](https://github.com/alexregier/hvv-client/compare/v0.0.10...v0.0.11) (2025-01-03)
|
|
4
19
|
|
|
5
20
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { RoutePointStationSimple } from '../models';
|
|
2
|
+
import { LineStop } from '../models/lineStop';
|
|
3
|
+
export type GetTripParams = {
|
|
4
|
+
station: RoutePointStationSimple;
|
|
5
|
+
/**
|
|
6
|
+
* Line Key of the line to request.
|
|
7
|
+
* E.g. `HHA U:U1_HHA-U`
|
|
8
|
+
*/
|
|
9
|
+
lineKey: string;
|
|
10
|
+
/**
|
|
11
|
+
* Departure time at the requested `station`.
|
|
12
|
+
* This field is always required, even if a `serviceId` can be specified.
|
|
13
|
+
*/
|
|
14
|
+
time: Date;
|
|
15
|
+
/**
|
|
16
|
+
* Which segments should be returned.
|
|
17
|
+
*/
|
|
18
|
+
segments?: 'only_before' | 'only_after' | 'all';
|
|
19
|
+
/**
|
|
20
|
+
* Whether the path of the course should be returned as well.
|
|
21
|
+
*/
|
|
22
|
+
returnPath?: boolean;
|
|
23
|
+
} & ({
|
|
24
|
+
/**
|
|
25
|
+
* Uniquely defines a single service of a line.
|
|
26
|
+
*/
|
|
27
|
+
serviceId: number;
|
|
28
|
+
} | {
|
|
29
|
+
/**
|
|
30
|
+
* Direction of the line.
|
|
31
|
+
*/
|
|
32
|
+
direction: string;
|
|
33
|
+
});
|
|
34
|
+
export type GetTripResult = {
|
|
35
|
+
stops: LineStop[];
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTrip.js","sourceRoot":"","sources":["../../../src/client/getTrip.ts"],"names":[],"mappings":""}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { ZodSchema } from 'zod';
|
|
1
2
|
import { HvvClientOptions } from './hvvClientOptions';
|
|
2
3
|
import { RoutePoint, RoutePointStation, RoutePointStationSimple } from '../models/routePoint';
|
|
3
4
|
import { Filter } from '../models/filter';
|
|
4
5
|
import { Service } from '../models/service';
|
|
5
6
|
import { StationDepartureInfo } from '../models/stationDepartureInfo';
|
|
6
7
|
import { Coordinate } from '../models/coordinate';
|
|
8
|
+
import { GetTripParams, GetTripResult } from './getTrip';
|
|
7
9
|
export declare class HvvClient {
|
|
8
10
|
private readonly options;
|
|
9
11
|
constructor(options: HvvClientOptions);
|
|
@@ -50,6 +52,16 @@ export declare class HvvClient {
|
|
|
50
52
|
}): Promise<{
|
|
51
53
|
departures: StationDepartureInfo[];
|
|
52
54
|
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Returns a trip a single service is taking on a line including all stations along the route.
|
|
57
|
+
*/
|
|
58
|
+
getTrip(params: GetTripParams): Promise<GetTripResult>;
|
|
59
|
+
customRequest<ValidatorOutput, ConverterOutput>({ endpoint, body, responseSchema, converter, }: {
|
|
60
|
+
endpoint: string;
|
|
61
|
+
body: Record<string, unknown>;
|
|
62
|
+
responseSchema?: ZodSchema<ValidatorOutput>;
|
|
63
|
+
converter?: (data: ValidatorOutput) => ConverterOutput;
|
|
64
|
+
}): Promise<ConverterOutput>;
|
|
53
65
|
private makeRequest;
|
|
54
66
|
private getAuthHeaders;
|
|
55
67
|
}
|
|
@@ -11,11 +11,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.HvvClient = void 0;
|
|
13
13
|
const crypto_1 = require("crypto");
|
|
14
|
+
const zod_1 = require("zod");
|
|
14
15
|
const date_converter_1 = require("../converters/date.converter");
|
|
15
16
|
const gtiDepartureList_1 = require("../validators/apiResponse/gtiDepartureList");
|
|
16
17
|
const lineDepartureConverter_1 = require("../converters/lineDepartureConverter");
|
|
17
18
|
const routePoint_converter_1 = require("../converters/routePoint.converter");
|
|
18
19
|
const gtiCheckName_1 = require("../validators/apiResponse/gtiCheckName");
|
|
20
|
+
const gtiDepartureCourse_1 = require("../validators/apiResponse/gtiDepartureCourse");
|
|
21
|
+
const coordinate_converter_1 = require("../converters/coordinate.converter");
|
|
22
|
+
const lineStop_converter_1 = require("../converters/lineStop.converter");
|
|
19
23
|
const defaultOptions = {
|
|
20
24
|
user: '',
|
|
21
25
|
key: '',
|
|
@@ -43,7 +47,7 @@ class HvvClient {
|
|
|
43
47
|
return yield this.makeRequest({
|
|
44
48
|
endpoint: 'checkName',
|
|
45
49
|
body,
|
|
46
|
-
|
|
50
|
+
responseSchema: gtiCheckName_1.gtiCheckNameResponseSchema,
|
|
47
51
|
converter: data => ({
|
|
48
52
|
routePoints: data.results.map(result => routePoint_converter_1.routePointConverter.toDto(result)),
|
|
49
53
|
}),
|
|
@@ -58,10 +62,7 @@ class HvvClient {
|
|
|
58
62
|
const body = {
|
|
59
63
|
theName: {
|
|
60
64
|
type: 'STATION',
|
|
61
|
-
coordinate:
|
|
62
|
-
x: coordinate.long,
|
|
63
|
-
y: coordinate.lat,
|
|
64
|
-
},
|
|
65
|
+
coordinate: coordinate_converter_1.coordinateConverter.toGti(coordinate),
|
|
65
66
|
},
|
|
66
67
|
maxDistance: maxDistanceMeters,
|
|
67
68
|
coordinateType: 'EPSG_4326',
|
|
@@ -74,7 +75,7 @@ class HvvClient {
|
|
|
74
75
|
return yield this.makeRequest({
|
|
75
76
|
endpoint: 'checkName',
|
|
76
77
|
body,
|
|
77
|
-
|
|
78
|
+
responseSchema: gtiCheckName_1.gtiCheckNameCoordinatesResponseSchema,
|
|
78
79
|
converter: data => {
|
|
79
80
|
// filter stations
|
|
80
81
|
const filtered = data.results.filter(item => {
|
|
@@ -116,7 +117,7 @@ class HvvClient {
|
|
|
116
117
|
return yield this.makeRequest({
|
|
117
118
|
endpoint: 'departureList',
|
|
118
119
|
body,
|
|
119
|
-
|
|
120
|
+
responseSchema: gtiDepartureList_1.gtiDepartureListResponseSchema,
|
|
120
121
|
converter: data => {
|
|
121
122
|
const departures = data.departures.map(departure => {
|
|
122
123
|
var _a, _b;
|
|
@@ -138,9 +139,53 @@ class HvvClient {
|
|
|
138
139
|
});
|
|
139
140
|
});
|
|
140
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Returns a trip a single service is taking on a line including all stations along the route.
|
|
144
|
+
*/
|
|
145
|
+
getTrip(params) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
var _a;
|
|
148
|
+
const segments = params.segments === 'only_before'
|
|
149
|
+
? 'BEFORE'
|
|
150
|
+
: params.segments === 'only_after'
|
|
151
|
+
? 'AFTER'
|
|
152
|
+
: 'ALL';
|
|
153
|
+
const body = {
|
|
154
|
+
station: routePoint_converter_1.routePointConverter.dtoToGti(params.station),
|
|
155
|
+
lineKey: params.lineKey,
|
|
156
|
+
time: date_converter_1.dateConverter.dateToApiDateTime(params.time),
|
|
157
|
+
segments,
|
|
158
|
+
showPath: (_a = params.returnPath) !== null && _a !== void 0 ? _a : false,
|
|
159
|
+
};
|
|
160
|
+
if ('serviceId' in params) {
|
|
161
|
+
body.serviceId = params.serviceId;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
body.direction = params.direction;
|
|
165
|
+
}
|
|
166
|
+
return yield this.makeRequest({
|
|
167
|
+
endpoint: 'departureCourse',
|
|
168
|
+
body,
|
|
169
|
+
responseSchema: gtiDepartureCourse_1.gtiDepartureCourseResponseSchema,
|
|
170
|
+
converter: data => ({
|
|
171
|
+
stops: lineStop_converter_1.lineStopConverter.gtiCourseElementsToDtos(data.courseElements),
|
|
172
|
+
}),
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
customRequest(_a) {
|
|
177
|
+
return __awaiter(this, arguments, void 0, function* ({ endpoint, body, responseSchema = zod_1.z.any(), converter = data => data, }) {
|
|
178
|
+
return this.makeRequest({
|
|
179
|
+
endpoint,
|
|
180
|
+
body,
|
|
181
|
+
responseSchema,
|
|
182
|
+
converter,
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
141
186
|
// ---
|
|
142
187
|
makeRequest(_a) {
|
|
143
|
-
return __awaiter(this, arguments, void 0, function* ({ endpoint, body,
|
|
188
|
+
return __awaiter(this, arguments, void 0, function* ({ endpoint, body, responseSchema, converter, }) {
|
|
144
189
|
const fullBody = Object.assign({ version: this.options.version }, body);
|
|
145
190
|
const headers = Object.assign(Object.assign({}, this.getAuthHeaders(fullBody)), { 'Content-Type': 'application/json' });
|
|
146
191
|
console.log('full API request body', fullBody);
|
|
@@ -151,7 +196,7 @@ class HvvClient {
|
|
|
151
196
|
});
|
|
152
197
|
const responseBody = yield response.json();
|
|
153
198
|
console.dir(responseBody);
|
|
154
|
-
const { success, data, error } =
|
|
199
|
+
const { success, data, error } = responseSchema.safeParse(responseBody);
|
|
155
200
|
if (!success) {
|
|
156
201
|
// eslint-disable-next-line no-debugger
|
|
157
202
|
debugger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hvvClient.js","sourceRoot":"","sources":["../../../src/client/hvvClient.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAkC;
|
|
1
|
+
{"version":3,"file":"hvvClient.js","sourceRoot":"","sources":["../../../src/client/hvvClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coordinateConverter = void 0;
|
|
4
|
+
exports.coordinateConverter = {
|
|
5
|
+
toGti(coordinate) {
|
|
6
|
+
return {
|
|
7
|
+
x: coordinate.long,
|
|
8
|
+
y: coordinate.lat,
|
|
9
|
+
};
|
|
10
|
+
},
|
|
11
|
+
toDto(gtiCoordinate) {
|
|
12
|
+
return {
|
|
13
|
+
long: gtiCoordinate.x,
|
|
14
|
+
lat: gtiCoordinate.y,
|
|
15
|
+
};
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=coordinate.converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinate.converter.js","sourceRoot":"","sources":["../../../src/converters/coordinate.converter.ts"],"names":[],"mappings":";;;AAGa,QAAA,mBAAmB,GAAG;IACjC,KAAK,CAAC,UAAsB;QAC1B,OAAO;YACL,CAAC,EAAE,UAAU,CAAC,IAAI;YAClB,CAAC,EAAE,UAAU,CAAC,GAAG;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAA4B;QAChC,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,CAAC;YACrB,GAAG,EAAE,aAAa,CAAC,CAAC;SACrB,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TimeRealtime } from '../models/timeRealtime';
|
|
2
2
|
import { TimeRange } from '../models/timeRange';
|
|
3
|
+
import { GtiDateTime } from '../validators/gtiDateTime';
|
|
3
4
|
export type GtiTime = {
|
|
4
5
|
date: string;
|
|
5
6
|
time: string;
|
|
@@ -23,9 +24,9 @@ export declare const dateConverter: {
|
|
|
23
24
|
* @param date
|
|
24
25
|
*/
|
|
25
26
|
dateToApiDateTime(date: Date): string;
|
|
26
|
-
|
|
27
|
+
gtiDateTimeToDate(gtiDateTime: GtiDateTime): Date;
|
|
27
28
|
gtiTimeToDate(gtiTime: GtiTime): Date;
|
|
28
29
|
gtiTimeRangeToDto(gtiTimeRange: GtiTimeRange): TimeRange;
|
|
29
30
|
gtiTimeRealtimeCancelToDto(gtiTime: GtiTime, delaySeconds: number | null, isCancelled: boolean): TimeRealtime;
|
|
30
|
-
|
|
31
|
+
gtiDateTimeToTimeRealtime(apiDateTime: GtiDateTime, delaySeconds: number | null): TimeRealtime;
|
|
31
32
|
};
|
|
@@ -33,8 +33,8 @@ exports.dateConverter = {
|
|
|
33
33
|
// remove last letter from isoString
|
|
34
34
|
return isoString.slice(0, -1) + '+0000';
|
|
35
35
|
},
|
|
36
|
-
|
|
37
|
-
return new Date(
|
|
36
|
+
gtiDateTimeToDate(gtiDateTime) {
|
|
37
|
+
return new Date(gtiDateTime);
|
|
38
38
|
},
|
|
39
39
|
gtiTimeToDate(gtiTime) {
|
|
40
40
|
const dateParts = gtiTime.date.split('.');
|
|
@@ -58,8 +58,8 @@ exports.dateConverter = {
|
|
|
58
58
|
delaySeconds,
|
|
59
59
|
};
|
|
60
60
|
},
|
|
61
|
-
|
|
62
|
-
const planned = exports.dateConverter.
|
|
61
|
+
gtiDateTimeToTimeRealtime(apiDateTime, delaySeconds) {
|
|
62
|
+
const planned = exports.dateConverter.gtiDateTimeToDate(apiDateTime);
|
|
63
63
|
return {
|
|
64
64
|
planned,
|
|
65
65
|
actual: (0, date_fns_1.addSeconds)(planned, delaySeconds !== null && delaySeconds !== void 0 ? delaySeconds : 0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.converter.js","sourceRoot":"","sources":["../../../src/converters/date.converter.ts"],"names":[],"mappings":";;;AAAA,6CAA+D;AAC/D,uCAAoC;
|
|
1
|
+
{"version":3,"file":"date.converter.js","sourceRoot":"","sources":["../../../src/converters/date.converter.ts"],"names":[],"mappings":";;;AAAA,6CAA+D;AAC/D,uCAAoC;AAQpC,MAAM,YAAY,GAAG,eAAe,CAAC;AAExB,QAAA,aAAa,GAAG;IAC3B;;;OAGG;IACH,aAAa,CAAC,IAAU;QACtB,kFAAkF;QAClF,0EAA0E;QAE1E,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAA,yBAAW,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,IAAA,oBAAM,EAAC,WAAW,EAAE,SAAS,CAAC;YACpC,IAAI,EAAE,IAAA,oBAAM,EAAC,WAAW,EAAE,OAAO,CAAC;SACnC,CAAC;QAEF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,IAAU;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,oCAAoC;QACpC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,WAAwB;QACxC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,aAAa,CAAC,OAAgB;QAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,IAAI,IAAI,CAC1B,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAClE,CAAC;QACF,MAAM,GAAG,GAAG,IAAA,2BAAa,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAErD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,YAA0B;QAC1C,MAAM,mBAAmB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAErD,OAAO;YACL,IAAI,EAAE,IAAA,2BAAa,EAAC,mBAAmB,EAAE,YAAY,CAAC;YACtD,EAAE,EAAE,IAAA,2BAAa,EAAC,iBAAiB,EAAE,YAAY,CAAC;SACnD,CAAC;IACJ,CAAC;IAED,0BAA0B,CACxB,OAAgB,EAChB,YAA2B,EAC3B,WAAoB;QAEpB,MAAM,OAAO,GAAG,qBAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO;YACL,OAAO;YACP,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAU,EAAC,OAAO,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC,CAAC;YACnE,YAAY;SACb,CAAC;IACJ,CAAC;IAED,yBAAyB,CACvB,WAAwB,EACxB,YAA2B;QAE3B,MAAM,OAAO,GAAG,qBAAa,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO;YACP,MAAM,EAAE,IAAA,qBAAU,EAAC,OAAO,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,CAAC,CAAC;YAC9C,YAAY;SACb,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.lineConverter = void 0;
|
|
4
4
|
const gtiService_1 = require("../validators/gtiService");
|
|
5
5
|
const gtiDirection_1 = require("../validators/gtiDirection");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
6
7
|
function getLineImageUrl(lineId) {
|
|
7
8
|
return `https://cloud.geofox.de/icon/line?height=28&lineKey=${lineId}`;
|
|
8
9
|
}
|
|
@@ -21,15 +22,15 @@ exports.lineConverter = {
|
|
|
21
22
|
case gtiService_1.GtiSimpleServiceType.BUS:
|
|
22
23
|
return Object.assign(Object.assign({}, base), { type: 'bus', direction: gti.direction, directionType: gti.directionId === gtiDirection_1.GtiDirection.FORWARDS
|
|
23
24
|
? 'forward'
|
|
24
|
-
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id) });
|
|
25
|
+
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id), color: (0, utils_1.getLineColor)({ type: 'bus', name: base.name }) });
|
|
25
26
|
case gtiService_1.GtiSimpleServiceType.TRAIN:
|
|
26
27
|
return Object.assign(Object.assign({}, base), { type: 'train', direction: gti.direction, directionType: gti.directionId === gtiDirection_1.GtiDirection.FORWARDS
|
|
27
28
|
? 'forward'
|
|
28
|
-
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id) });
|
|
29
|
+
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id), color: (0, utils_1.getLineColor)({ type: 'train', name: base.name }) });
|
|
29
30
|
case gtiService_1.GtiSimpleServiceType.SHIP:
|
|
30
31
|
return Object.assign(Object.assign({}, base), { type: 'ship', direction: gti.direction, directionType: gti.directionId === gtiDirection_1.GtiDirection.FORWARDS
|
|
31
32
|
? 'forward'
|
|
32
|
-
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id) });
|
|
33
|
+
: 'backward', id: gti.id, iconUrl: getLineImageUrl(gti.id), color: (0, utils_1.getLineColor)({ type: 'ship', name: base.name }) });
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
switch (gti.type.simpleType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.converter.js","sourceRoot":"","sources":["../../../src/converters/line.converter.ts"],"names":[],"mappings":";;;AAAA,yDAIkC;AAClC,6DAAwD;
|
|
1
|
+
{"version":3,"file":"line.converter.js","sourceRoot":"","sources":["../../../src/converters/line.converter.ts"],"names":[],"mappings":";;;AAAA,yDAIkC;AAClC,6DAAwD;AAExD,oCAAsC;AAEtC,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,uDAAuD,MAAM,EAAE,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACU,QAAA,aAAa,GAAG;IAC3B,KAAK,CAAC,GAAe;QACnB,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QAEF,IAAI,IAAA,wCAA2B,EAAC,GAAG,CAAC,EAAE,CAAC;YACrC,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,KAAK,iCAAoB,CAAC,GAAG;oBAC3B,uCACK,IAAI,KACP,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,aAAa,EACX,GAAG,CAAC,WAAW,KAAK,2BAAY,CAAC,QAAQ;4BACvC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU,EAChB,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,IAAA,oBAAY,EAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,IACnD;gBACJ,KAAK,iCAAoB,CAAC,KAAK;oBAC7B,uCACK,IAAI,KACP,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,aAAa,EACX,GAAG,CAAC,WAAW,KAAK,2BAAY,CAAC,QAAQ;4BACvC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU,EAChB,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,IAAA,oBAAY,EAAC,EAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,IACrD;gBACJ,KAAK,iCAAoB,CAAC,IAAI;oBAC5B,uCACK,IAAI,KACP,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,GAAG,CAAC,SAAS,EACxB,aAAa,EACX,GAAG,CAAC,WAAW,KAAK,2BAAY,CAAC,QAAQ;4BACvC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,UAAU,EAChB,EAAE,EAAE,GAAG,CAAC,EAAE,EACV,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,IAAA,oBAAY,EAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,IACpD;YACN,CAAC;QACH,CAAC;QAED,QAAQ,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,KAAK,iCAAoB,CAAC,OAAO;gBAC/B,uCACK,IAAI,KACP,IAAI,EAAE,SAAS,IACf;YACJ,KAAK,iCAAoB,CAAC,QAAQ;gBAChC,uCACK,IAAI,KACP,IAAI,EAAE,UAAU,IAChB;YACJ,KAAK,iCAAoB,CAAC,MAAM;gBAC9B,uCACK,IAAI,KACP,IAAI,EAAE,eAAe,IACrB;YACJ,KAAK,iCAAoB,CAAC,oBAAoB;gBAC5C,uCACK,IAAI,KACP,IAAI,EAAE,gBAAgB,IACtB;QACN,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lineStopConverter = void 0;
|
|
4
|
+
const routePoint_converter_1 = require("./routePoint.converter");
|
|
5
|
+
const date_converter_1 = require("./date.converter");
|
|
6
|
+
const coordinate_converter_1 = require("./coordinate.converter");
|
|
7
|
+
exports.lineStopConverter = {
|
|
8
|
+
/*
|
|
9
|
+
gtiJourneyToDto(gtiJourneySDName: any): LineStopDto {
|
|
10
|
+
const routePoint = routePointConverter.stationToDto(gtiJourneySDName);
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
...routePoint,
|
|
14
|
+
arrival: gtiJourneySDName.arrTime
|
|
15
|
+
? dateConverter.gtiTimeRealtimeCancelToDto(
|
|
16
|
+
gtiJourneySDName.arrTime,
|
|
17
|
+
gtiJourneySDName.arrDelay ?? null,
|
|
18
|
+
gtiJourneySDName.cancelled,
|
|
19
|
+
)
|
|
20
|
+
: null,
|
|
21
|
+
departure: gtiJourneySDName.depTime
|
|
22
|
+
? dateConverter.gtiTimeRealtimeCancelToDto(
|
|
23
|
+
gtiJourneySDName.depTime,
|
|
24
|
+
gtiJourneySDName.depDelay ?? null,
|
|
25
|
+
gtiJourneySDName.cancelled,
|
|
26
|
+
)
|
|
27
|
+
: null,
|
|
28
|
+
};
|
|
29
|
+
},
|
|
30
|
+
*/
|
|
31
|
+
gtiCourseElementsToDtos(gtiCourseElements) {
|
|
32
|
+
var _a, _b, _c, _d, _e, _f;
|
|
33
|
+
if (gtiCourseElements.length < 2) {
|
|
34
|
+
throw new Error('Must have at least two courseElements');
|
|
35
|
+
}
|
|
36
|
+
/*
|
|
37
|
+
* Explanation:
|
|
38
|
+
* Every `gtiCourseElement` represents a connection between two stops.
|
|
39
|
+
* It always contains information about the departure-stop and the arrival-stop.
|
|
40
|
+
*/
|
|
41
|
+
const firstCourseElement = gtiCourseElements[0];
|
|
42
|
+
const firstStop = {
|
|
43
|
+
station: routePoint_converter_1.routePointConverter.stationToDto(firstCourseElement.fromStation),
|
|
44
|
+
stop: {
|
|
45
|
+
isCancelled: firstCourseElement.fromCancelled === true,
|
|
46
|
+
isExtra: firstCourseElement.fromExtra === true,
|
|
47
|
+
platformPlanned: (_a = firstCourseElement.fromPlatform) !== null && _a !== void 0 ? _a : null,
|
|
48
|
+
platformActual: (_b = firstCourseElement.fromRealtimePlatform) !== null && _b !== void 0 ? _b : null,
|
|
49
|
+
arrival: null,
|
|
50
|
+
departure: null, // will be filled by for-loop
|
|
51
|
+
},
|
|
52
|
+
path: null,
|
|
53
|
+
vehicleModel: null,
|
|
54
|
+
};
|
|
55
|
+
const stops = [firstStop];
|
|
56
|
+
for (const gtiCourseElement of gtiCourseElements) {
|
|
57
|
+
// add departure information to previous stop
|
|
58
|
+
const previousStop = stops[stops.length - 1];
|
|
59
|
+
previousStop.stop.departure = date_converter_1.dateConverter.gtiDateTimeToTimeRealtime(gtiCourseElement.depTime, (_c = gtiCourseElement.depDelay) !== null && _c !== void 0 ? _c : null);
|
|
60
|
+
// handle new destination stop of current course element
|
|
61
|
+
const stop = {
|
|
62
|
+
station: routePoint_converter_1.routePointConverter.stationToDto(gtiCourseElement.toStation),
|
|
63
|
+
stop: {
|
|
64
|
+
isCancelled: gtiCourseElement.toCancelled === true,
|
|
65
|
+
isExtra: gtiCourseElement.toExtra === true,
|
|
66
|
+
platformPlanned: (_d = gtiCourseElement.toPlatform) !== null && _d !== void 0 ? _d : null,
|
|
67
|
+
platformActual: (_e = gtiCourseElement.toRealtimePlatform) !== null && _e !== void 0 ? _e : null,
|
|
68
|
+
arrival: date_converter_1.dateConverter.gtiDateTimeToTimeRealtime(gtiCourseElement.arrTime, (_f = gtiCourseElement.arrDelay) !== null && _f !== void 0 ? _f : null),
|
|
69
|
+
departure: null,
|
|
70
|
+
},
|
|
71
|
+
path: gtiCourseElement.path
|
|
72
|
+
? gtiCourseElement.path.track.map(coordinate_converter_1.coordinateConverter.toDto)
|
|
73
|
+
: null,
|
|
74
|
+
vehicleModel: gtiCourseElement.model,
|
|
75
|
+
};
|
|
76
|
+
stops.push(stop);
|
|
77
|
+
}
|
|
78
|
+
return stops;
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=lineStop.converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lineStop.converter.js","sourceRoot":"","sources":["../../../src/converters/lineStop.converter.ts"],"names":[],"mappings":";;;AAEA,iEAA2D;AAC3D,qDAA+C;AAC/C,iEAA2D;AAE9C,QAAA,iBAAiB,GAAG;IAC/B;;;;;;;;;;;;;;;;;;;;;;MAsBE;IAEF,uBAAuB,CAAC,iBAAqC;;QAC3D,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED;;;;WAIG;QAEH,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAa;YAC1B,OAAO,EAAE,0CAAmB,CAAC,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC;YACzE,IAAI,EAAE;gBACJ,WAAW,EAAE,kBAAkB,CAAC,aAAa,KAAK,IAAI;gBACtD,OAAO,EAAE,kBAAkB,CAAC,SAAS,KAAK,IAAI;gBAC9C,eAAe,EAAE,MAAA,kBAAkB,CAAC,YAAY,mCAAI,IAAI;gBACxD,cAAc,EAAE,MAAA,kBAAkB,CAAC,oBAAoB,mCAAI,IAAI;gBAE/D,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI,EAAE,6BAA6B;aAC/C;YACD,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,MAAM,KAAK,GAAe,CAAC,SAAS,CAAC,CAAC;QAEtC,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YACjD,6CAA6C;YAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC,SAAS,GAAG,8BAAa,CAAC,yBAAyB,CACnE,gBAAgB,CAAC,OAAO,EACxB,MAAA,gBAAgB,CAAC,QAAQ,mCAAI,IAAI,CAClC,CAAC;YAEF,wDAAwD;YACxD,MAAM,IAAI,GAAa;gBACrB,OAAO,EAAE,0CAAmB,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC;gBAErE,IAAI,EAAE;oBACJ,WAAW,EAAE,gBAAgB,CAAC,WAAW,KAAK,IAAI;oBAClD,OAAO,EAAE,gBAAgB,CAAC,OAAO,KAAK,IAAI;oBAC1C,eAAe,EAAE,MAAA,gBAAgB,CAAC,UAAU,mCAAI,IAAI;oBACpD,cAAc,EAAE,MAAA,gBAAgB,CAAC,kBAAkB,mCAAI,IAAI;oBAE3D,OAAO,EAAE,8BAAa,CAAC,yBAAyB,CAC9C,gBAAgB,CAAC,OAAO,EACxB,MAAA,gBAAgB,CAAC,QAAQ,mCAAI,IAAI,CAClC;oBAED,SAAS,EAAE,IAAI;iBAChB;gBAED,IAAI,EAAE,gBAAgB,CAAC,IAAI;oBACzB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0CAAmB,CAAC,KAAK,CAAC;oBAC5D,CAAC,CAAC,IAAI;gBACR,YAAY,EAAE,gBAAgB,CAAC,KAAK;aACrC,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
|
|
@@ -42,10 +42,6 @@ function stationToDto(gti) {
|
|
|
42
42
|
type: 'station',
|
|
43
43
|
services: gti.serviceTypes,
|
|
44
44
|
servicesIconUrl: getServiceImageUrl((_a = gti.serviceTypes) !== null && _a !== void 0 ? _a : []),
|
|
45
|
-
platformPlanned: null, // gti.platform ?? null,
|
|
46
|
-
platformActual: null, // gti.realtimePlatform ?? null,
|
|
47
|
-
isCancelled: false, // gti.cancelled ?? false,
|
|
48
|
-
isExtra: false, //gti.extra ?? false,
|
|
49
45
|
};
|
|
50
46
|
return dto;
|
|
51
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routePoint.converter.js","sourceRoot":"","sources":["../../../src/converters/routePoint.converter.ts"],"names":[],"mappings":";;;AAMA,uDAKiC;AAEjC,SAAS,kBAAkB,CAAC,YAAsB;IAChD,sCAAsC;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC;QACE,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,OAAO;QACP,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,YAAY;QACZ,YAAY;QACZ,KAAK;QACL,KAAK;QACL,SAAS;KACV,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,8CAA8C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;AACpG,CAAC;AAED,SAAS,YAAY,CAAC,GAAqB;;IACzC,MAAM,GAAG,GAAsB;QAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,YAAY;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,GAAG,CAAC,YAAY;QAC1B,eAAe,EAAE,kBAAkB,CAAC,MAAA,GAAG,CAAC,YAAY,mCAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"routePoint.converter.js","sourceRoot":"","sources":["../../../src/converters/routePoint.converter.ts"],"names":[],"mappings":";;;AAMA,uDAKiC;AAEjC,SAAS,kBAAkB,CAAC,YAAsB;IAChD,sCAAsC;IACtC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC;QACE,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,GAAG;QACH,OAAO;QACP,OAAO;QACP,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,YAAY;QACZ,YAAY;QACZ,KAAK;QACL,KAAK;QACL,SAAS;KACV,CAAC,QAAQ,CAAC,CAAC,CAAC,CACd,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,8CAA8C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC;AACpG,CAAC;AAED,SAAS,YAAY,CAAC,GAAqB;;IACzC,MAAM,GAAG,GAAsB;QAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,YAAY;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,GAAG,CAAC,YAAY;QAC1B,eAAe,EAAE,kBAAkB,CAAC,MAAA,GAAG,CAAC,YAAY,mCAAI,EAAE,CAAC;KAC5D,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,KAAK,CAAC,GAAc;IAC3B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAsB;gBAC7B,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,YAAY;gBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,SAAS;aAChB,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAEY,QAAA,mBAAmB,GAAG;IACjC,YAAY;IACZ,KAAK;IAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsDE;IAEF,QAAQ,CAAC,GAAyC;QAChD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,qBAAS,CAAC,OAAO;iBACxB,CAAC;YACJ,KAAK,SAAS;gBACZ,OAAO;oBACL,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,qBAAS,CAAC,OAAO;iBACxB,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC"}
|
package/build/src/index.d.ts
CHANGED
package/build/src/index.js
CHANGED
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./client"), exports);
|
|
18
18
|
__exportStar(require("./models"), exports);
|
|
19
|
+
__exportStar(require("./utils"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -4,8 +4,10 @@ export * from './direction';
|
|
|
4
4
|
export * from './filter';
|
|
5
5
|
export * from './line';
|
|
6
6
|
export * from './lineDeparture';
|
|
7
|
+
export * from './lineStop';
|
|
7
8
|
export * from './routePoint';
|
|
8
9
|
export * from './service';
|
|
9
10
|
export * from './stationDepartureInfo';
|
|
11
|
+
export * from './stopInformation';
|
|
10
12
|
export * from './timeRange';
|
|
11
13
|
export * from './timeRealtime';
|
|
@@ -20,9 +20,11 @@ __exportStar(require("./direction"), exports);
|
|
|
20
20
|
__exportStar(require("./filter"), exports);
|
|
21
21
|
__exportStar(require("./line"), exports);
|
|
22
22
|
__exportStar(require("./lineDeparture"), exports);
|
|
23
|
+
__exportStar(require("./lineStop"), exports);
|
|
23
24
|
__exportStar(require("./routePoint"), exports);
|
|
24
25
|
__exportStar(require("./service"), exports);
|
|
25
26
|
__exportStar(require("./stationDepartureInfo"), exports);
|
|
27
|
+
__exportStar(require("./stopInformation"), exports);
|
|
26
28
|
__exportStar(require("./timeRange"), exports);
|
|
27
29
|
__exportStar(require("./timeRealtime"), exports);
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,yCAAuB;AACvB,kDAAgC;AAChC,+CAA6B;AAC7B,4CAA0B;AAC1B,yDAAuC;AACvC,8CAA4B;AAC5B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAC5B,2CAAyB;AACzB,yCAAuB;AACvB,kDAAgC;AAChC,6CAA2B;AAC3B,+CAA6B;AAC7B,4CAA0B;AAC1B,yDAAuC;AACvC,oDAAkC;AAClC,8CAA4B;AAC5B,iDAA+B"}
|
|
@@ -8,6 +8,7 @@ export type LineBus = BaseLine & {
|
|
|
8
8
|
directionType: Direction;
|
|
9
9
|
id: string;
|
|
10
10
|
iconUrl: string;
|
|
11
|
+
color: string;
|
|
11
12
|
};
|
|
12
13
|
export type LineTrain = BaseLine & {
|
|
13
14
|
type: 'train';
|
|
@@ -15,6 +16,7 @@ export type LineTrain = BaseLine & {
|
|
|
15
16
|
directionType: Direction;
|
|
16
17
|
id: string;
|
|
17
18
|
iconUrl: string;
|
|
19
|
+
color: string;
|
|
18
20
|
};
|
|
19
21
|
export type LineShip = BaseLine & {
|
|
20
22
|
type: 'ship';
|
|
@@ -22,6 +24,7 @@ export type LineShip = BaseLine & {
|
|
|
22
24
|
directionType: Direction;
|
|
23
25
|
id: string;
|
|
24
26
|
iconUrl: string;
|
|
27
|
+
color: string;
|
|
25
28
|
};
|
|
26
29
|
export type LineAirplane = BaseLine & {
|
|
27
30
|
type: 'airplane';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../src/models/line.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../src/models/line.ts"],"names":[],"mappings":";;AAmEA,kCAEC;AAED,gCAEC;AAED,wCAEC;AAED,sCAEC;AAED,wCAEC;AAED,kDAEC;AAED,oDAEC;AAED,sDAEC;AAlCD,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAC7B,CAAC;AAED,SAAgB,WAAW,CAAC,IAAU;IACpC,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED,SAAgB,UAAU,CAAC,IAAU;IACnC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,SAAgB,cAAc,CAAC,IAAU;IACvC,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;AAClC,CAAC;AAED,SAAgB,aAAa,CAAC,IAAU;IACtC,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;AACjC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAU;IACvC,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;AAClC,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC;AACvC,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAU;IAC7C,OAAO,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACxC,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAU;IAC9C,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RoutePointStation } from './routePoint';
|
|
2
|
+
import { Coordinate } from './coordinate';
|
|
3
|
+
import { StopInformation } from './stopInformation';
|
|
4
|
+
/**
|
|
5
|
+
* Represents a stop that a line takes on its route.
|
|
6
|
+
*
|
|
7
|
+
* Contains information about the station, arrival and departure information
|
|
8
|
+
* and optionally the geo-path that is taken to reach this station.
|
|
9
|
+
*/
|
|
10
|
+
export type LineStop = {
|
|
11
|
+
station: RoutePointStation;
|
|
12
|
+
stop: StopInformation;
|
|
13
|
+
path: Coordinate[] | null;
|
|
14
|
+
vehicleModel: string | null;
|
|
15
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lineStop.js","sourceRoot":"","sources":["../../../src/models/lineStop.ts"],"names":[],"mappings":""}
|
|
@@ -12,10 +12,6 @@ export type RoutePointStation = {
|
|
|
12
12
|
city: string;
|
|
13
13
|
services: Service[];
|
|
14
14
|
servicesIconUrl: string | null;
|
|
15
|
-
platformPlanned: string | null;
|
|
16
|
-
platformActual: string | null;
|
|
17
|
-
isCancelled: boolean;
|
|
18
|
-
isExtra: boolean;
|
|
19
15
|
};
|
|
20
16
|
export type RoutePointAddress = {
|
|
21
17
|
type: 'address';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export type Service = 'a' | 's' | 'u' | 'r' | 'bus' | 'faehre' | 'ast' | 'fbus';
|
|
1
|
+
export type Service = 'a' | 's' | 'u' | 'r' | 'train' | 'bus' | 'faehre' | 'ship' | 'ast' | 'fbus';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TimeRealtime } from './timeRealtime';
|
|
2
|
+
/**
|
|
3
|
+
* Contains information about a stop, like the platform.
|
|
4
|
+
*/
|
|
5
|
+
export type StopInformation = {
|
|
6
|
+
platformPlanned: string | null;
|
|
7
|
+
platformActual: string | null;
|
|
8
|
+
arrival: TimeRealtime | null;
|
|
9
|
+
departure: TimeRealtime | null;
|
|
10
|
+
isCancelled: boolean;
|
|
11
|
+
isExtra: boolean;
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopInformation.js","sourceRoot":"","sources":["../../../src/models/stopInformation.ts"],"names":[],"mappings":""}
|