lt-public-transport-sdk 1.0.0 → 1.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/LICENSE +21 -21
- package/README.md +495 -283
- package/dist/config.d.ts +41 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -0
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +12 -13
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/gtfs/index.d.ts +2 -2
- package/dist/gtfs/index.d.ts.map +1 -1
- package/dist/gtfs/index.js +2 -2
- package/dist/gtfs/index.js.map +1 -1
- package/dist/gtfs/parser.d.ts +49 -2
- package/dist/gtfs/parser.d.ts.map +1 -1
- package/dist/gtfs/parser.js +328 -2
- package/dist/gtfs/parser.js.map +1 -1
- package/dist/gtfs/sync.d.ts +26 -2
- package/dist/gtfs/sync.d.ts.map +1 -1
- package/dist/gtfs/sync.js +205 -12
- package/dist/gtfs/sync.js.map +1 -1
- package/dist/index.d.ts +151 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +254 -36
- package/dist/index.js.map +1 -1
- package/dist/parsers/gps-lite.d.ts +34 -36
- package/dist/parsers/gps-lite.d.ts.map +1 -1
- package/dist/parsers/gps-lite.js +77 -69
- package/dist/parsers/gps-lite.js.map +1 -1
- package/dist/parsers/index.d.ts +2 -1
- package/dist/parsers/index.d.ts.map +1 -1
- package/dist/parsers/index.js +4 -1
- package/dist/parsers/index.js.map +1 -1
- package/dist/schemas.d.ts +242 -13
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +183 -33
- package/dist/schemas.js.map +1 -1
- package/dist/types.d.ts +106 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/scripts/test-city-specific.d.ts +0 -2
- package/dist/scripts/test-city-specific.d.ts.map +0 -1
- package/dist/scripts/test-city-specific.js +0 -264
- package/dist/scripts/test-city-specific.js.map +0 -1
- package/dist/scripts/test-config-options.d.ts +0 -2
- package/dist/scripts/test-config-options.d.ts.map +0 -1
- package/dist/scripts/test-config-options.js +0 -166
- package/dist/scripts/test-config-options.js.map +0 -1
- package/dist/scripts/test-data-quality.d.ts +0 -2
- package/dist/scripts/test-data-quality.d.ts.map +0 -1
- package/dist/scripts/test-data-quality.js +0 -204
- package/dist/scripts/test-data-quality.js.map +0 -1
- package/dist/scripts/test-error-handling.d.ts +0 -2
- package/dist/scripts/test-error-handling.d.ts.map +0 -1
- package/dist/scripts/test-error-handling.js +0 -146
- package/dist/scripts/test-error-handling.js.map +0 -1
- package/dist/scripts/test-live.d.ts +0 -2
- package/dist/scripts/test-live.d.ts.map +0 -1
- package/dist/scripts/test-live.js +0 -121
- package/dist/scripts/test-live.js.map +0 -1
package/dist/gtfs/sync.js
CHANGED
|
@@ -12,7 +12,7 @@ import { join } from 'node:path';
|
|
|
12
12
|
import * as yauzl from 'yauzl-promise';
|
|
13
13
|
import { CITY_CONFIGS } from '../config.js';
|
|
14
14
|
import { GtfsSyncError } from '../errors.js';
|
|
15
|
-
import { parseRoutesContent, parseStopsContent } from './parser.js';
|
|
15
|
+
import { parseRoutesContent, parseStopsContent, parseTripsContent, parseShapesContent, parseCalendarContent, parseCalendarDatesContent, parseAgencyContent, parseStopTimesContent, } from './parser.js';
|
|
16
16
|
// =============================================================================
|
|
17
17
|
// Default Values
|
|
18
18
|
// =============================================================================
|
|
@@ -120,6 +120,140 @@ async function saveStops(cacheDir, city, stops) {
|
|
|
120
120
|
await writeFile(join(cityDir, 'stops.json'), JSON.stringify(stops));
|
|
121
121
|
}
|
|
122
122
|
// =============================================================================
|
|
123
|
+
// Trips Cache Functions
|
|
124
|
+
// =============================================================================
|
|
125
|
+
export async function loadCachedTrips(cacheDir, city) {
|
|
126
|
+
const tripsPath = join(cacheDir, city, 'trips.json');
|
|
127
|
+
if (!existsSync(tripsPath)) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const content = await readFile(tripsPath, 'utf-8');
|
|
132
|
+
const entries = JSON.parse(content);
|
|
133
|
+
return new Map(entries);
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
async function saveTrips(cacheDir, city, trips) {
|
|
140
|
+
const cityDir = join(cacheDir, city);
|
|
141
|
+
await ensureDir(cityDir);
|
|
142
|
+
const entries = Array.from(trips.entries());
|
|
143
|
+
await writeFile(join(cityDir, 'trips.json'), JSON.stringify(entries));
|
|
144
|
+
}
|
|
145
|
+
// =============================================================================
|
|
146
|
+
// Shapes Cache Functions
|
|
147
|
+
// =============================================================================
|
|
148
|
+
export async function loadCachedShapes(cacheDir, city) {
|
|
149
|
+
const shapesPath = join(cacheDir, city, 'shapes.json');
|
|
150
|
+
if (!existsSync(shapesPath)) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
const content = await readFile(shapesPath, 'utf-8');
|
|
155
|
+
const entries = JSON.parse(content);
|
|
156
|
+
return new Map(entries);
|
|
157
|
+
}
|
|
158
|
+
catch {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async function saveShapes(cacheDir, city, shapes) {
|
|
163
|
+
const cityDir = join(cacheDir, city);
|
|
164
|
+
await ensureDir(cityDir);
|
|
165
|
+
const entries = Array.from(shapes.entries());
|
|
166
|
+
await writeFile(join(cityDir, 'shapes.json'), JSON.stringify(entries));
|
|
167
|
+
}
|
|
168
|
+
// =============================================================================
|
|
169
|
+
// Calendar Cache Functions
|
|
170
|
+
// =============================================================================
|
|
171
|
+
export async function loadCachedCalendar(cacheDir, city) {
|
|
172
|
+
const calendarPath = join(cacheDir, city, 'calendar.json');
|
|
173
|
+
if (!existsSync(calendarPath)) {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
const content = await readFile(calendarPath, 'utf-8');
|
|
178
|
+
const entries = JSON.parse(content);
|
|
179
|
+
return new Map(entries);
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
async function saveCalendar(cacheDir, city, calendar) {
|
|
186
|
+
const cityDir = join(cacheDir, city);
|
|
187
|
+
await ensureDir(cityDir);
|
|
188
|
+
const entries = Array.from(calendar.entries());
|
|
189
|
+
await writeFile(join(cityDir, 'calendar.json'), JSON.stringify(entries));
|
|
190
|
+
}
|
|
191
|
+
// =============================================================================
|
|
192
|
+
// Calendar Dates Cache Functions
|
|
193
|
+
// =============================================================================
|
|
194
|
+
export async function loadCachedCalendarDates(cacheDir, city) {
|
|
195
|
+
const calendarDatesPath = join(cacheDir, city, 'calendar_dates.json');
|
|
196
|
+
if (!existsSync(calendarDatesPath)) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
try {
|
|
200
|
+
const content = await readFile(calendarDatesPath, 'utf-8');
|
|
201
|
+
return JSON.parse(content);
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
async function saveCalendarDates(cacheDir, city, calendarDates) {
|
|
208
|
+
const cityDir = join(cacheDir, city);
|
|
209
|
+
await ensureDir(cityDir);
|
|
210
|
+
await writeFile(join(cityDir, 'calendar_dates.json'), JSON.stringify(calendarDates));
|
|
211
|
+
}
|
|
212
|
+
// =============================================================================
|
|
213
|
+
// Agencies Cache Functions
|
|
214
|
+
// =============================================================================
|
|
215
|
+
export async function loadCachedAgencies(cacheDir, city) {
|
|
216
|
+
const agenciesPath = join(cacheDir, city, 'agencies.json');
|
|
217
|
+
if (!existsSync(agenciesPath)) {
|
|
218
|
+
return null;
|
|
219
|
+
}
|
|
220
|
+
try {
|
|
221
|
+
const content = await readFile(agenciesPath, 'utf-8');
|
|
222
|
+
return JSON.parse(content);
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
async function saveAgencies(cacheDir, city, agencies) {
|
|
229
|
+
const cityDir = join(cacheDir, city);
|
|
230
|
+
await ensureDir(cityDir);
|
|
231
|
+
await writeFile(join(cityDir, 'agencies.json'), JSON.stringify(agencies));
|
|
232
|
+
}
|
|
233
|
+
// =============================================================================
|
|
234
|
+
// Stop Times Cache Functions
|
|
235
|
+
// =============================================================================
|
|
236
|
+
export async function loadCachedStopTimes(cacheDir, city) {
|
|
237
|
+
const stopTimesPath = join(cacheDir, city, 'stop_times.json');
|
|
238
|
+
if (!existsSync(stopTimesPath)) {
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
const content = await readFile(stopTimesPath, 'utf-8');
|
|
243
|
+
const entries = JSON.parse(content);
|
|
244
|
+
return new Map(entries);
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
async function saveStopTimes(cacheDir, city, stopTimes) {
|
|
251
|
+
const cityDir = join(cacheDir, city);
|
|
252
|
+
await ensureDir(cityDir);
|
|
253
|
+
const entries = Array.from(stopTimes.entries());
|
|
254
|
+
await writeFile(join(cityDir, 'stop_times.json'), JSON.stringify(entries));
|
|
255
|
+
}
|
|
256
|
+
// =============================================================================
|
|
123
257
|
// Main Sync Function
|
|
124
258
|
// =============================================================================
|
|
125
259
|
/**
|
|
@@ -190,20 +324,44 @@ export async function syncGtfs(city, options = {}) {
|
|
|
190
324
|
await writeFile(tempPath, zipBuffer);
|
|
191
325
|
let routes = new Map();
|
|
192
326
|
let stops = [];
|
|
327
|
+
let trips = new Map();
|
|
328
|
+
let shapes = new Map();
|
|
329
|
+
let calendar = new Map();
|
|
330
|
+
let calendarDates = [];
|
|
331
|
+
let agencies = [];
|
|
332
|
+
let stopTimes = new Map();
|
|
193
333
|
try {
|
|
194
334
|
// Extract with yauzl
|
|
195
335
|
const zip = await yauzl.open(tempPath);
|
|
196
336
|
try {
|
|
197
337
|
for await (const entry of zip) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
routes
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
338
|
+
const stream = await entry.openReadStream();
|
|
339
|
+
const content = await streamToString(stream);
|
|
340
|
+
switch (entry.filename) {
|
|
341
|
+
case 'routes.txt':
|
|
342
|
+
routes = parseRoutesContent(content);
|
|
343
|
+
break;
|
|
344
|
+
case 'stops.txt':
|
|
345
|
+
stops = parseStopsContent(content);
|
|
346
|
+
break;
|
|
347
|
+
case 'trips.txt':
|
|
348
|
+
trips = parseTripsContent(content);
|
|
349
|
+
break;
|
|
350
|
+
case 'shapes.txt':
|
|
351
|
+
shapes = parseShapesContent(content);
|
|
352
|
+
break;
|
|
353
|
+
case 'calendar.txt':
|
|
354
|
+
calendar = parseCalendarContent(content);
|
|
355
|
+
break;
|
|
356
|
+
case 'calendar_dates.txt':
|
|
357
|
+
calendarDates = parseCalendarDatesContent(content);
|
|
358
|
+
break;
|
|
359
|
+
case 'agency.txt':
|
|
360
|
+
agencies = parseAgencyContent(content);
|
|
361
|
+
break;
|
|
362
|
+
case 'stop_times.txt':
|
|
363
|
+
stopTimes = parseStopTimesContent(content);
|
|
364
|
+
break;
|
|
207
365
|
}
|
|
208
366
|
}
|
|
209
367
|
}
|
|
@@ -220,6 +378,11 @@ export async function syncGtfs(city, options = {}) {
|
|
|
220
378
|
// Ignore cleanup errors
|
|
221
379
|
}
|
|
222
380
|
}
|
|
381
|
+
// Count stop times (sum of all arrays)
|
|
382
|
+
let stopTimeCount = 0;
|
|
383
|
+
for (const times of stopTimes.values()) {
|
|
384
|
+
stopTimeCount += times.length;
|
|
385
|
+
}
|
|
223
386
|
// Save to cache
|
|
224
387
|
const syncedAt = new Date();
|
|
225
388
|
const meta = {
|
|
@@ -227,10 +390,22 @@ export async function syncGtfs(city, options = {}) {
|
|
|
227
390
|
syncedAt: syncedAt.toISOString(),
|
|
228
391
|
routeCount: routes.size,
|
|
229
392
|
stopCount: stops.length,
|
|
393
|
+
tripCount: trips.size,
|
|
394
|
+
shapeCount: shapes.size,
|
|
395
|
+
calendarCount: calendar.size,
|
|
396
|
+
calendarDateCount: calendarDates.length,
|
|
397
|
+
agencyCount: agencies.length,
|
|
398
|
+
stopTimeCount,
|
|
230
399
|
};
|
|
231
400
|
await saveCacheMeta(cacheDir, city, meta);
|
|
232
401
|
await saveRoutes(cacheDir, city, routes);
|
|
233
402
|
await saveStops(cacheDir, city, stops);
|
|
403
|
+
await saveTrips(cacheDir, city, trips);
|
|
404
|
+
await saveShapes(cacheDir, city, shapes);
|
|
405
|
+
await saveCalendar(cacheDir, city, calendar);
|
|
406
|
+
await saveCalendarDates(cacheDir, city, calendarDates);
|
|
407
|
+
await saveAgencies(cacheDir, city, agencies);
|
|
408
|
+
await saveStopTimes(cacheDir, city, stopTimes);
|
|
234
409
|
return {
|
|
235
410
|
city,
|
|
236
411
|
status: 'updated',
|
|
@@ -249,7 +424,7 @@ export async function syncGtfs(city, options = {}) {
|
|
|
249
424
|
}
|
|
250
425
|
/**
|
|
251
426
|
* Load GTFS cache for a city.
|
|
252
|
-
* Returns null if not
|
|
427
|
+
* Returns null if cache is not available.
|
|
253
428
|
*
|
|
254
429
|
* @param city - City to load
|
|
255
430
|
* @param cacheDir - Cache directory
|
|
@@ -261,11 +436,29 @@ export async function loadGtfsCache(city, cacheDir) {
|
|
|
261
436
|
if (!meta) {
|
|
262
437
|
return null;
|
|
263
438
|
}
|
|
439
|
+
// Load core data (required)
|
|
264
440
|
const routes = await loadCachedRoutes(dir, city);
|
|
265
441
|
const stops = await loadCachedStops(dir, city);
|
|
266
442
|
if (!routes || !stops) {
|
|
267
443
|
return null;
|
|
268
444
|
}
|
|
269
|
-
|
|
445
|
+
// Load extended data (optional, default to empty if not present)
|
|
446
|
+
const trips = await loadCachedTrips(dir, city) ?? new Map();
|
|
447
|
+
const shapes = await loadCachedShapes(dir, city) ?? new Map();
|
|
448
|
+
const calendar = await loadCachedCalendar(dir, city) ?? new Map();
|
|
449
|
+
const calendarDates = await loadCachedCalendarDates(dir, city) ?? [];
|
|
450
|
+
const agencies = await loadCachedAgencies(dir, city) ?? [];
|
|
451
|
+
const stopTimes = await loadCachedStopTimes(dir, city) ?? new Map();
|
|
452
|
+
return {
|
|
453
|
+
meta,
|
|
454
|
+
routes,
|
|
455
|
+
stops,
|
|
456
|
+
trips,
|
|
457
|
+
shapes,
|
|
458
|
+
calendar,
|
|
459
|
+
calendarDates,
|
|
460
|
+
agencies,
|
|
461
|
+
stopTimes,
|
|
462
|
+
};
|
|
270
463
|
}
|
|
271
464
|
//# sourceMappingURL=sync.js.map
|
package/dist/gtfs/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/gtfs/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/gtfs/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* @module
|
|
24
24
|
*/
|
|
25
|
-
import type { CityId, Route, Stop, SyncResult, Vehicle } from './types.js';
|
|
25
|
+
import type { CityId, Route, Stop, Trip, ShapePoint, Calendar, CalendarDate, Agency, StopTime, SyncResult, Vehicle } from './types.js';
|
|
26
26
|
import { type CityConfig } from './config.js';
|
|
27
27
|
/**
|
|
28
28
|
* Configuration options for LtTransport client.
|
|
@@ -64,6 +64,43 @@ export interface LtTransportConfig {
|
|
|
64
64
|
* @default false
|
|
65
65
|
*/
|
|
66
66
|
filterStale?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Add custom cities not yet included in the SDK.
|
|
69
|
+
* Allows using new cities immediately without waiting for SDK updates.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const transport = new LtTransport({
|
|
74
|
+
* customCities: {
|
|
75
|
+
* marijampole: {
|
|
76
|
+
* id: 'marijampole',
|
|
77
|
+
* tier: 'silver',
|
|
78
|
+
* gps: { enabled: true, format: 'lite', url: 'https://www.stops.lt/marijampole/gps.txt' },
|
|
79
|
+
* gtfs: { enabled: true, url: 'https://www.stops.lt/marijampole/marijampole/gtfs.zip' },
|
|
80
|
+
* liteFormat: { minColumns: 9, vehicleIdIndex: 7, routeIndex: 1, coordIndices: [3, 2], speedIndex: 4, bearingIndex: 5 }
|
|
81
|
+
* }
|
|
82
|
+
* }
|
|
83
|
+
* });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
customCities?: Record<string, CityConfig>;
|
|
87
|
+
/**
|
|
88
|
+
* Override configuration for existing built-in cities.
|
|
89
|
+
* Useful when a city changes its data format before SDK is updated.
|
|
90
|
+
* Overrides are deeply merged with the built-in configuration.
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typescript
|
|
94
|
+
* const transport = new LtTransport({
|
|
95
|
+
* cityOverrides: {
|
|
96
|
+
* panevezys: {
|
|
97
|
+
* liteFormat: { minColumns: 10, vehicleIdIndex: 8, ... } // They added a column
|
|
98
|
+
* }
|
|
99
|
+
* }
|
|
100
|
+
* });
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
cityOverrides?: Partial<Record<CityId, Partial<CityConfig>>>;
|
|
67
104
|
}
|
|
68
105
|
/**
|
|
69
106
|
* Lithuanian Public Transport SDK client.
|
|
@@ -91,6 +128,13 @@ export declare class LtTransport {
|
|
|
91
128
|
private readonly autoEnrich;
|
|
92
129
|
private readonly filterInvalidCoords;
|
|
93
130
|
private readonly filterStale;
|
|
131
|
+
/**
|
|
132
|
+
* Effective city configurations (built-in + custom + overrides merged).
|
|
133
|
+
* This is the source of truth for city configs in this instance.
|
|
134
|
+
*/
|
|
135
|
+
private readonly effectiveCityConfigs;
|
|
136
|
+
/** Sorted list of all effective city IDs */
|
|
137
|
+
private readonly effectiveCityIds;
|
|
94
138
|
/** In-memory route cache for fast enrichment */
|
|
95
139
|
private readonly routeCaches;
|
|
96
140
|
/** Last sync timestamps for throttling */
|
|
@@ -99,18 +143,33 @@ export declare class LtTransport {
|
|
|
99
143
|
* Create a new LtTransport client.
|
|
100
144
|
*
|
|
101
145
|
* @param config - Client configuration options
|
|
146
|
+
* @throws {ZodError} If config validation fails (includes helpful error messages)
|
|
102
147
|
*/
|
|
103
148
|
constructor(config?: LtTransportConfig);
|
|
149
|
+
/**
|
|
150
|
+
* Build effective city configurations by merging built-in, custom, and overrides.
|
|
151
|
+
*/
|
|
152
|
+
private buildEffectiveCityConfigs;
|
|
153
|
+
/**
|
|
154
|
+
* Deep merge a city config with partial overrides.
|
|
155
|
+
*/
|
|
156
|
+
private mergeCityConfig;
|
|
157
|
+
/**
|
|
158
|
+
* Get effective city config for a city ID.
|
|
159
|
+
* Checks the merged config map which includes built-in, custom, and overridden configs.
|
|
160
|
+
*/
|
|
161
|
+
private getEffectiveCityConfig;
|
|
104
162
|
/**
|
|
105
163
|
* Get real-time vehicle positions for a city.
|
|
106
164
|
*
|
|
107
|
-
* For silver-tier cities
|
|
108
|
-
*
|
|
165
|
+
* For silver-tier cities, vehicles will be enriched with GTFS data
|
|
166
|
+
* if `sync()` has been called and `autoEnrich` is enabled.
|
|
109
167
|
*
|
|
110
|
-
* @param city - City identifier
|
|
168
|
+
* @param city - City identifier (built-in or custom)
|
|
111
169
|
* @returns Array of vehicle positions
|
|
112
|
-
* @throws {GpsNotAvailableError} If city
|
|
170
|
+
* @throws {GpsNotAvailableError} If city has no GPS data (bronze tier)
|
|
113
171
|
* @throws {TransportNetworkError} If network request fails
|
|
172
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
114
173
|
*
|
|
115
174
|
* @example
|
|
116
175
|
* ```typescript
|
|
@@ -118,7 +177,7 @@ export declare class LtTransport {
|
|
|
118
177
|
* console.log(`Found ${vehicles.length} vehicles`);
|
|
119
178
|
* ```
|
|
120
179
|
*/
|
|
121
|
-
getVehicles(city:
|
|
180
|
+
getVehicles(city: string): Promise<Vehicle[]>;
|
|
122
181
|
/**
|
|
123
182
|
* Sync GTFS static data for a city.
|
|
124
183
|
*
|
|
@@ -127,10 +186,11 @@ export declare class LtTransport {
|
|
|
127
186
|
*
|
|
128
187
|
* Throttled to minimum 60 seconds between calls for same city.
|
|
129
188
|
*
|
|
130
|
-
* @param city - City to sync
|
|
189
|
+
* @param city - City to sync (built-in or custom)
|
|
131
190
|
* @param force - Force re-download even if cache is current
|
|
132
191
|
* @returns Sync result with counts and status
|
|
133
192
|
* @throws {GtfsSyncError} If sync fails
|
|
193
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
134
194
|
*
|
|
135
195
|
* @example
|
|
136
196
|
* ```typescript
|
|
@@ -138,7 +198,7 @@ export declare class LtTransport {
|
|
|
138
198
|
* console.log(`Synced ${result.routeCount} routes`);
|
|
139
199
|
* ```
|
|
140
200
|
*/
|
|
141
|
-
sync(city:
|
|
201
|
+
sync(city: string, force?: boolean): Promise<SyncResult>;
|
|
142
202
|
/**
|
|
143
203
|
* Get static stop data for a city.
|
|
144
204
|
*
|
|
@@ -147,6 +207,7 @@ export declare class LtTransport {
|
|
|
147
207
|
* @param city - City to get stops for
|
|
148
208
|
* @returns Array of stops
|
|
149
209
|
* @throws {SyncRequiredError} If GTFS data not synced
|
|
210
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
150
211
|
*
|
|
151
212
|
* @example
|
|
152
213
|
* ```typescript
|
|
@@ -155,7 +216,7 @@ export declare class LtTransport {
|
|
|
155
216
|
* console.log(`Found ${stops.length} stops`);
|
|
156
217
|
* ```
|
|
157
218
|
*/
|
|
158
|
-
getStops(city:
|
|
219
|
+
getStops(city: string): Promise<Stop[]>;
|
|
159
220
|
/**
|
|
160
221
|
* Get route information for a city.
|
|
161
222
|
*
|
|
@@ -164,6 +225,7 @@ export declare class LtTransport {
|
|
|
164
225
|
* @param city - City to get routes for
|
|
165
226
|
* @returns Array of routes
|
|
166
227
|
* @throws {SyncRequiredError} If GTFS data not synced
|
|
228
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
167
229
|
*
|
|
168
230
|
* @example
|
|
169
231
|
* ```typescript
|
|
@@ -172,19 +234,90 @@ export declare class LtTransport {
|
|
|
172
234
|
* console.log(`Found ${routes.length} routes`);
|
|
173
235
|
* ```
|
|
174
236
|
*/
|
|
175
|
-
getRoutes(city:
|
|
237
|
+
getRoutes(city: string): Promise<Route[]>;
|
|
176
238
|
/**
|
|
177
|
-
* Get list of all
|
|
239
|
+
* Get list of all available city IDs.
|
|
240
|
+
* Includes built-in cities and any custom cities added via config.
|
|
178
241
|
*/
|
|
179
|
-
getCities(): readonly
|
|
242
|
+
getCities(): readonly string[];
|
|
180
243
|
/**
|
|
181
244
|
* Get configuration for a specific city.
|
|
245
|
+
* Returns effective config (with any overrides applied).
|
|
246
|
+
*
|
|
247
|
+
* @throws {InvalidCityError} If city is not found
|
|
248
|
+
*/
|
|
249
|
+
getCityConfig(city: string): CityConfig;
|
|
250
|
+
/**
|
|
251
|
+
* Get trip data for a city.
|
|
252
|
+
*
|
|
253
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
254
|
+
*
|
|
255
|
+
* @param city - City to get trips for
|
|
256
|
+
* @returns Array of trips
|
|
257
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
258
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
259
|
+
*/
|
|
260
|
+
getTrips(city: string): Promise<Trip[]>;
|
|
261
|
+
/**
|
|
262
|
+
* Get shape data for a city (geographic paths for routes).
|
|
263
|
+
*
|
|
264
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
265
|
+
* Returns a Map where keys are shape IDs and values are arrays of points.
|
|
266
|
+
*
|
|
267
|
+
* @param city - City to get shapes for
|
|
268
|
+
* @returns Map from shape ID to array of ShapePoint
|
|
269
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
270
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
271
|
+
*/
|
|
272
|
+
getShapes(city: string): Promise<Map<string, ShapePoint[]>>;
|
|
273
|
+
/**
|
|
274
|
+
* Get service calendar data for a city.
|
|
275
|
+
*
|
|
276
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
277
|
+
*
|
|
278
|
+
* @param city - City to get calendar for
|
|
279
|
+
* @returns Array of Calendar entries
|
|
280
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
281
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
282
|
+
*/
|
|
283
|
+
getCalendar(city: string): Promise<Calendar[]>;
|
|
284
|
+
/**
|
|
285
|
+
* Get calendar date exceptions for a city.
|
|
286
|
+
*
|
|
287
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
288
|
+
*
|
|
289
|
+
* @param city - City to get calendar dates for
|
|
290
|
+
* @returns Array of CalendarDate exceptions
|
|
291
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
292
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
293
|
+
*/
|
|
294
|
+
getCalendarDates(city: string): Promise<CalendarDate[]>;
|
|
295
|
+
/**
|
|
296
|
+
* Get agency information for a city.
|
|
297
|
+
*
|
|
298
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
299
|
+
*
|
|
300
|
+
* @param city - City to get agencies for
|
|
301
|
+
* @returns Array of Agency objects
|
|
302
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
303
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
182
304
|
*/
|
|
183
|
-
|
|
305
|
+
getAgencies(city: string): Promise<Agency[]>;
|
|
184
306
|
/**
|
|
185
|
-
*
|
|
307
|
+
* Get stop times (schedule) data for a city.
|
|
308
|
+
*
|
|
309
|
+
* **Warning**: This dataset is large (~25MB for Vilnius) and will consume
|
|
310
|
+
* significant memory (~150-200MB) when loaded.
|
|
311
|
+
*
|
|
312
|
+
* Requires prior `sync()` call to download GTFS data.
|
|
313
|
+
* Returns a Map where keys are trip IDs and values are arrays of stop times.
|
|
314
|
+
*
|
|
315
|
+
* @param city - City to get schedule for
|
|
316
|
+
* @returns Map from trip ID to array of StopTime
|
|
317
|
+
* @throws {SyncRequiredError} If GTFS data not synced
|
|
318
|
+
* @throws {InvalidCityError} If city is not recognized
|
|
186
319
|
*/
|
|
187
|
-
|
|
320
|
+
getSchedule(city: string): Promise<Map<string, StopTime[]>>;
|
|
188
321
|
/**
|
|
189
322
|
* Fetch text content from URL.
|
|
190
323
|
*/
|
|
@@ -194,10 +327,10 @@ export declare class LtTransport {
|
|
|
194
327
|
*/
|
|
195
328
|
private getRouteCache;
|
|
196
329
|
}
|
|
197
|
-
export type { CityId, CityTier, VehicleType, Vehicle, Stop, Route, SyncResult, } from './types.js';
|
|
330
|
+
export type { CityId, CityTier, VehicleType, Vehicle, Stop, Route, Trip, ShapePoint, Calendar, CalendarDate, Agency, StopTime, SyncResult, } from './types.js';
|
|
198
331
|
export { GTFS_ROUTE_TYPE_MAP, LT_TRANSPORT_TYPE_MAP } from './types.js';
|
|
199
|
-
export { CITY_CONFIGS, ALL_CITY_IDS, getCityConfig, getCitiesByTier, hasGpsData, hasGtfsData } from './config.js';
|
|
200
|
-
export type { CityConfig, GpsConfig, GtfsConfig } from './config.js';
|
|
332
|
+
export { CITY_CONFIGS, ALL_CITY_IDS, getCityConfig, getCitiesByTier, hasGpsData, hasGtfsData, LITE_FORMAT_DESCRIPTORS } from './config.js';
|
|
333
|
+
export type { CityConfig, GpsConfig, GtfsConfig, LiteFormatDescriptor } from './config.js';
|
|
201
334
|
export { TransportError, TransportNetworkError, GpsNotAvailableError, SyncRequiredError, GtfsSyncError, ParseError, InvalidCityError, isTransportError, isNetworkError, } from './errors.js';
|
|
202
335
|
export { normalizeCoordinate, isValidLithuaniaCoord, LITHUANIA_BOUNDS, repairMojibake, secondsFromMidnightToDate, isDataStale, } from './utils/index.js';
|
|
203
336
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|