gtfs 3.5.1 → 3.6.1
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 +17 -0
- package/README.md +187 -147
- package/lib/db.js +1 -1
- package/lib/gtfs/areas.js +30 -0
- package/lib/gtfs/fare-leg-rules.js +30 -0
- package/lib/gtfs/fare-products.js +30 -0
- package/lib/gtfs/fare-transfer-rules.js +30 -0
- package/lib/gtfs/stop-areas.js +30 -0
- package/lib/gtfs.js +20 -0
- package/lib/utils.js +8 -1
- package/models/gtfs/areas.js +17 -0
- package/models/gtfs/attributions.js +1 -5
- package/models/gtfs/fare-leg-rules.js +28 -0
- package/models/gtfs/fare-products.js +27 -0
- package/models/gtfs/fare-rules.js +0 -2
- package/models/gtfs/fare-transfer-rules.js +45 -0
- package/models/gtfs/levels.js +1 -0
- package/models/gtfs/pathways.js +2 -0
- package/models/gtfs/routes.js +5 -0
- package/models/gtfs/stop-areas.js +17 -0
- package/models/gtfs/stops.js +1 -0
- package/models/gtfs/transfers.js +18 -3
- package/models/gtfs/trips.js +6 -5
- package/models/models.js +10 -0
- package/package.json +12 -11
- package/test/mocha/get-routes.js +5 -0
package/lib/db.js
CHANGED
|
@@ -26,7 +26,7 @@ export async function setupDb(db) {
|
|
|
26
26
|
if (!db) {
|
|
27
27
|
if (Object.keys(dbs).length > 1) {
|
|
28
28
|
throw new Error(
|
|
29
|
-
'Multiple database connections. Pass the db you want to
|
|
29
|
+
'Multiple database connections. Pass the db you want to setup as a parameter to `setupDb`.'
|
|
30
30
|
);
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sqlString from 'sqlstring-sqlite';
|
|
2
|
+
|
|
3
|
+
import { getDb } from '../db.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
formatOrderByClause,
|
|
7
|
+
formatSelectClause,
|
|
8
|
+
formatWhereClauses,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
import areas from '../../models/gtfs/areas.js';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Returns an array of all areas that match the query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export async function getAreas(
|
|
16
|
+
query = {},
|
|
17
|
+
fields = [],
|
|
18
|
+
orderBy = [],
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const db = options.db ?? (await getDb());
|
|
22
|
+
const tableName = sqlString.escapeId(areas.filenameBase);
|
|
23
|
+
const selectClause = formatSelectClause(fields);
|
|
24
|
+
const whereClause = formatWhereClauses(query);
|
|
25
|
+
const orderByClause = formatOrderByClause(orderBy);
|
|
26
|
+
|
|
27
|
+
return db.all(
|
|
28
|
+
`${selectClause} FROM ${tableName} ${whereClause} ${orderByClause};`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sqlString from 'sqlstring-sqlite';
|
|
2
|
+
|
|
3
|
+
import { getDb } from '../db.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
formatOrderByClause,
|
|
7
|
+
formatSelectClause,
|
|
8
|
+
formatWhereClauses,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
import fareLegRules from '../../models/gtfs/fare-leg-rules.js';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Returns an array of all fare leg rules that match the query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export async function getFareLegRules(
|
|
16
|
+
query = {},
|
|
17
|
+
fields = [],
|
|
18
|
+
orderBy = [],
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const db = options.db ?? (await getDb());
|
|
22
|
+
const tableName = sqlString.escapeId(fareLegRules.filenameBase);
|
|
23
|
+
const selectClause = formatSelectClause(fields);
|
|
24
|
+
const whereClause = formatWhereClauses(query);
|
|
25
|
+
const orderByClause = formatOrderByClause(orderBy);
|
|
26
|
+
|
|
27
|
+
return db.all(
|
|
28
|
+
`${selectClause} FROM ${tableName} ${whereClause} ${orderByClause};`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sqlString from 'sqlstring-sqlite';
|
|
2
|
+
|
|
3
|
+
import { getDb } from '../db.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
formatOrderByClause,
|
|
7
|
+
formatSelectClause,
|
|
8
|
+
formatWhereClauses,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
import fareProducts from '../../models/gtfs/fare-products.js';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Returns an array of all fare products that match the query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export async function getFareProducts(
|
|
16
|
+
query = {},
|
|
17
|
+
fields = [],
|
|
18
|
+
orderBy = [],
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const db = options.db ?? (await getDb());
|
|
22
|
+
const tableName = sqlString.escapeId(fareProducts.filenameBase);
|
|
23
|
+
const selectClause = formatSelectClause(fields);
|
|
24
|
+
const whereClause = formatWhereClauses(query);
|
|
25
|
+
const orderByClause = formatOrderByClause(orderBy);
|
|
26
|
+
|
|
27
|
+
return db.all(
|
|
28
|
+
`${selectClause} FROM ${tableName} ${whereClause} ${orderByClause};`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sqlString from 'sqlstring-sqlite';
|
|
2
|
+
|
|
3
|
+
import { getDb } from '../db.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
formatOrderByClause,
|
|
7
|
+
formatSelectClause,
|
|
8
|
+
formatWhereClauses,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
import fareTransferRules from '../../models/gtfs/fare-transfer-rules.js';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Returns an array of all fare transfer rules that match the query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export async function getFareTransferRules(
|
|
16
|
+
query = {},
|
|
17
|
+
fields = [],
|
|
18
|
+
orderBy = [],
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const db = options.db ?? (await getDb());
|
|
22
|
+
const tableName = sqlString.escapeId(fareTransferRules.filenameBase);
|
|
23
|
+
const selectClause = formatSelectClause(fields);
|
|
24
|
+
const whereClause = formatWhereClauses(query);
|
|
25
|
+
const orderByClause = formatOrderByClause(orderBy);
|
|
26
|
+
|
|
27
|
+
return db.all(
|
|
28
|
+
`${selectClause} FROM ${tableName} ${whereClause} ${orderByClause};`
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import sqlString from 'sqlstring-sqlite';
|
|
2
|
+
|
|
3
|
+
import { getDb } from '../db.js';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
formatOrderByClause,
|
|
7
|
+
formatSelectClause,
|
|
8
|
+
formatWhereClauses,
|
|
9
|
+
} from '../utils.js';
|
|
10
|
+
import stopAreas from '../../models/gtfs/stop-areas.js';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Returns an array of all stop areas that match the query parameters.
|
|
14
|
+
*/
|
|
15
|
+
export async function getStopAreas(
|
|
16
|
+
query = {},
|
|
17
|
+
fields = [],
|
|
18
|
+
orderBy = [],
|
|
19
|
+
options = {}
|
|
20
|
+
) {
|
|
21
|
+
const db = options.db ?? (await getDb());
|
|
22
|
+
const tableName = sqlString.escapeId(stopAreas.filenameBase);
|
|
23
|
+
const selectClause = formatSelectClause(fields);
|
|
24
|
+
const whereClause = formatWhereClauses(query);
|
|
25
|
+
const orderByClause = formatOrderByClause(orderBy);
|
|
26
|
+
|
|
27
|
+
return db.all(
|
|
28
|
+
`${selectClause} FROM ${tableName} ${whereClause} ${orderByClause};`
|
|
29
|
+
);
|
|
30
|
+
}
|
package/lib/gtfs.js
CHANGED
|
@@ -6,17 +6,22 @@ import exportGtfs from './export.js';
|
|
|
6
6
|
|
|
7
7
|
// Standard GTFS Filenames
|
|
8
8
|
import { getAgencies } from './gtfs/agencies.js';
|
|
9
|
+
import { getAreas } from './gtfs/areas.js';
|
|
9
10
|
import { getAttributions } from './gtfs/attributions.js';
|
|
10
11
|
import { getCalendarDates } from './gtfs/calendar-dates.js';
|
|
11
12
|
import { getCalendars } from './gtfs/calendars.js';
|
|
12
13
|
import { getFareAttributes } from './gtfs/fare-attributes.js';
|
|
14
|
+
import { getFareLegRules } from './gtfs/fare-leg-rules.js';
|
|
15
|
+
import { getFareProducts } from './gtfs/fare-products.js';
|
|
13
16
|
import { getFareRules } from './gtfs/fare-rules.js';
|
|
17
|
+
import { getFareTransferRules } from './gtfs/fare-transfer-rules.js';
|
|
14
18
|
import { getFeedInfo } from './gtfs/feed-info.js';
|
|
15
19
|
import { getFrequencies } from './gtfs/frequencies.js';
|
|
16
20
|
import { getLevels } from './gtfs/levels.js';
|
|
17
21
|
import { getPathways } from './gtfs/pathways.js';
|
|
18
22
|
import { getRoutes } from './gtfs/routes.js';
|
|
19
23
|
import { getShapes, getShapesAsGeoJSON } from './gtfs/shapes.js';
|
|
24
|
+
import { getStopAreas } from './gtfs/stop-areas.js';
|
|
20
25
|
import { getStops, getStopsAsGeoJSON } from './gtfs/stops.js';
|
|
21
26
|
import { getStoptimes } from './gtfs/stop-times.js';
|
|
22
27
|
import { getTransfers } from './gtfs/transfers.js';
|
|
@@ -60,6 +65,9 @@ export { _exportGtfs as exportGtfs };
|
|
|
60
65
|
const _getAgencies = getAgencies;
|
|
61
66
|
export { _getAgencies as getAgencies };
|
|
62
67
|
|
|
68
|
+
const _getAreas = getAreas;
|
|
69
|
+
export { _getAreas as getAreas };
|
|
70
|
+
|
|
63
71
|
const _getAttributions = getAttributions;
|
|
64
72
|
export { _getAttributions as getAttributions };
|
|
65
73
|
|
|
@@ -72,9 +80,18 @@ export { _getCalendars as getCalendars };
|
|
|
72
80
|
const _getFareAttributes = getFareAttributes;
|
|
73
81
|
export { _getFareAttributes as getFareAttributes };
|
|
74
82
|
|
|
83
|
+
const _getFareLegRules = getFareLegRules;
|
|
84
|
+
export { _getFareLegRules as getFareLegRules };
|
|
85
|
+
|
|
86
|
+
const _getFareProducts = getFareProducts;
|
|
87
|
+
export { _getFareProducts as getFareProducts };
|
|
88
|
+
|
|
75
89
|
const _getFareRules = getFareRules;
|
|
76
90
|
export { _getFareRules as getFareRules };
|
|
77
91
|
|
|
92
|
+
const _getFareTransferRules = getFareTransferRules;
|
|
93
|
+
export { _getFareTransferRules as getFareTransferRules };
|
|
94
|
+
|
|
78
95
|
const _getFeedInfo = getFeedInfo;
|
|
79
96
|
export { _getFeedInfo as getFeedInfo };
|
|
80
97
|
|
|
@@ -95,6 +112,9 @@ export { _getShapes as getShapes };
|
|
|
95
112
|
const _getShapesAsGeoJSON = getShapesAsGeoJSON;
|
|
96
113
|
export { _getShapesAsGeoJSON as getShapesAsGeoJSON };
|
|
97
114
|
|
|
115
|
+
const _getStopAreas = getStopAreas;
|
|
116
|
+
export { _getStopAreas as getStopAreas };
|
|
117
|
+
|
|
98
118
|
const _getStops = getStops;
|
|
99
119
|
export { _getStops as getStops };
|
|
100
120
|
const _getStopsAsGeoJSON = getStopsAsGeoJSON;
|
package/lib/utils.js
CHANGED
|
@@ -81,9 +81,16 @@ export function formatJoinClause(joinObject) {
|
|
|
81
81
|
|
|
82
82
|
export function formatWhereClause(key, value) {
|
|
83
83
|
if (Array.isArray(value)) {
|
|
84
|
-
|
|
84
|
+
let whereClause = `${sqlString.escapeId(key)} IN (${value
|
|
85
|
+
.filter((v) => v !== null)
|
|
85
86
|
.map((v) => sqlString.escape(v))
|
|
86
87
|
.join(', ')})`;
|
|
88
|
+
|
|
89
|
+
if (value.includes(null)) {
|
|
90
|
+
whereClause = `(${whereClause} OR ${sqlString.escapeId(key)} IS NULL)`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return whereClause;
|
|
87
94
|
}
|
|
88
95
|
|
|
89
96
|
if (value === null) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const model = {
|
|
2
|
+
filenameBase: 'fare_leg_rules',
|
|
3
|
+
schema: [
|
|
4
|
+
{
|
|
5
|
+
name: 'leg_group_id',
|
|
6
|
+
type: 'varchar(255)',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'network_id',
|
|
10
|
+
type: 'varchar(255)',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'from_area_id',
|
|
14
|
+
type: 'varchar(255)',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
name: 'to_area_id',
|
|
18
|
+
type: 'varchar(255)',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
name: 'fare_product_id',
|
|
22
|
+
type: 'varchar(255)',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default model;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const model = {
|
|
2
|
+
filenameBase: 'fare_products',
|
|
3
|
+
schema: [
|
|
4
|
+
{
|
|
5
|
+
name: 'fare_product_id',
|
|
6
|
+
type: 'varchar(255)',
|
|
7
|
+
required: true,
|
|
8
|
+
primary: true,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: 'fare_product_name',
|
|
12
|
+
type: 'varchar(255)',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'amount',
|
|
16
|
+
type: 'real',
|
|
17
|
+
required: true,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'currency',
|
|
21
|
+
type: 'varchar(255)',
|
|
22
|
+
required: true,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default model;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const model = {
|
|
2
|
+
filenameBase: 'fare_transfer_rules',
|
|
3
|
+
schema: [
|
|
4
|
+
{
|
|
5
|
+
name: 'from_leg_group_id',
|
|
6
|
+
type: 'varchar(255)',
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
name: 'to_leg_group_id',
|
|
10
|
+
type: 'varchar(255)',
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'transfer_count',
|
|
14
|
+
type: 'integer',
|
|
15
|
+
min: -1,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: 'transfer_id',
|
|
19
|
+
type: 'varchar(255)',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: 'duration_limit',
|
|
23
|
+
type: 'integer',
|
|
24
|
+
min: 0,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: 'duration_limit_type',
|
|
28
|
+
type: 'integer',
|
|
29
|
+
min: 0,
|
|
30
|
+
max: 3,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'fare_transfer_type',
|
|
34
|
+
type: 'integer',
|
|
35
|
+
min: 0,
|
|
36
|
+
max: 2,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'fare_product_id',
|
|
40
|
+
type: 'varchar(255)',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export default model;
|
package/models/gtfs/levels.js
CHANGED
package/models/gtfs/pathways.js
CHANGED
|
@@ -5,6 +5,7 @@ const model = {
|
|
|
5
5
|
name: 'pathway_id',
|
|
6
6
|
type: 'varchar(255)',
|
|
7
7
|
primary: true,
|
|
8
|
+
required: true,
|
|
8
9
|
},
|
|
9
10
|
{
|
|
10
11
|
name: 'from_stop_id',
|
|
@@ -33,6 +34,7 @@ const model = {
|
|
|
33
34
|
{
|
|
34
35
|
name: 'length',
|
|
35
36
|
type: 'real',
|
|
37
|
+
min: 0,
|
|
36
38
|
},
|
|
37
39
|
{
|
|
38
40
|
name: 'traversal_time',
|
package/models/gtfs/routes.js
CHANGED
|
@@ -5,6 +5,7 @@ const model = {
|
|
|
5
5
|
name: 'route_id',
|
|
6
6
|
type: 'varchar(255)',
|
|
7
7
|
primary: true,
|
|
8
|
+
required: true,
|
|
8
9
|
},
|
|
9
10
|
{
|
|
10
11
|
name: 'agency_id',
|
|
@@ -64,6 +65,10 @@ const model = {
|
|
|
64
65
|
min: 0,
|
|
65
66
|
max: 3,
|
|
66
67
|
},
|
|
68
|
+
{
|
|
69
|
+
name: 'network_id',
|
|
70
|
+
type: 'varchar(255)',
|
|
71
|
+
},
|
|
67
72
|
],
|
|
68
73
|
};
|
|
69
74
|
|
package/models/gtfs/stops.js
CHANGED
package/models/gtfs/transfers.js
CHANGED
|
@@ -9,20 +9,35 @@ const model = {
|
|
|
9
9
|
{
|
|
10
10
|
name: 'from_stop_id',
|
|
11
11
|
type: 'varchar(255)',
|
|
12
|
-
required: true,
|
|
13
12
|
index: true,
|
|
14
13
|
},
|
|
15
14
|
{
|
|
16
15
|
name: 'to_stop_id',
|
|
17
16
|
type: 'varchar(255)',
|
|
18
|
-
required: true,
|
|
19
17
|
index: true,
|
|
20
18
|
},
|
|
19
|
+
{
|
|
20
|
+
name: 'from_route_id',
|
|
21
|
+
type: 'varchar(255)',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'to_route_id',
|
|
25
|
+
type: 'varchar(255)',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: 'from_trip_id',
|
|
29
|
+
type: 'varchar(255)',
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: 'to_trip_id',
|
|
33
|
+
type: 'varchar(255)',
|
|
34
|
+
},
|
|
21
35
|
{
|
|
22
36
|
name: 'transfer_type',
|
|
23
37
|
type: 'integer',
|
|
24
38
|
min: 0,
|
|
25
|
-
max:
|
|
39
|
+
max: 5,
|
|
40
|
+
required: true,
|
|
26
41
|
},
|
|
27
42
|
{
|
|
28
43
|
name: 'min_transfer_time',
|
package/models/gtfs/trips.js
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
const model = {
|
|
2
2
|
filenameBase: 'trips',
|
|
3
3
|
schema: [
|
|
4
|
-
{
|
|
5
|
-
name: 'trip_id',
|
|
6
|
-
type: 'varchar(255)',
|
|
7
|
-
primary: true,
|
|
8
|
-
},
|
|
9
4
|
{
|
|
10
5
|
name: 'route_id',
|
|
11
6
|
type: 'varchar(255)',
|
|
@@ -18,6 +13,12 @@ const model = {
|
|
|
18
13
|
required: true,
|
|
19
14
|
index: true,
|
|
20
15
|
},
|
|
16
|
+
{
|
|
17
|
+
name: 'trip_id',
|
|
18
|
+
type: 'varchar(255)',
|
|
19
|
+
primary: true,
|
|
20
|
+
required: true,
|
|
21
|
+
},
|
|
21
22
|
{
|
|
22
23
|
name: 'trip_headsign',
|
|
23
24
|
type: 'varchar(255)',
|
package/models/models.js
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import agency from '../models/gtfs/agency.js';
|
|
2
|
+
import areas from '../models/gtfs/areas.js';
|
|
2
3
|
import attributions from '../models/gtfs/attributions.js';
|
|
3
4
|
import calendarDates from '../models/gtfs/calendar-dates.js';
|
|
4
5
|
import calendar from '../models/gtfs/calendar.js';
|
|
5
6
|
import fareAttributes from '../models/gtfs/fare-attributes.js';
|
|
7
|
+
import fareLegRules from '../models/gtfs/fare-leg-rules.js';
|
|
8
|
+
import fareProducts from '../models/gtfs/fare-products.js';
|
|
6
9
|
import fareRules from '../models/gtfs/fare-rules.js';
|
|
10
|
+
import fareTransferRules from '../models/gtfs/fare-transfer-rules.js';
|
|
7
11
|
import feedInfo from '../models/gtfs/feed-info.js';
|
|
8
12
|
import frequencies from '../models/gtfs/frequencies.js';
|
|
9
13
|
import levels from '../models/gtfs/levels.js';
|
|
10
14
|
import pathways from '../models/gtfs/pathways.js';
|
|
11
15
|
import routes from '../models/gtfs/routes.js';
|
|
12
16
|
import shapes from '../models/gtfs/shapes.js';
|
|
17
|
+
import stopAreas from '../models/gtfs/stop-areas.js';
|
|
13
18
|
import stopTimes from '../models/gtfs/stop-times.js';
|
|
14
19
|
import stops from '../models/gtfs/stops.js';
|
|
15
20
|
import transfers from '../models/gtfs/transfers.js';
|
|
@@ -39,17 +44,22 @@ import serviceAlertTargets from './gtfs-realtime/service-alert-targets.js';
|
|
|
39
44
|
|
|
40
45
|
const models = [
|
|
41
46
|
agency,
|
|
47
|
+
areas,
|
|
42
48
|
attributions,
|
|
43
49
|
calendarDates,
|
|
44
50
|
calendar,
|
|
45
51
|
fareAttributes,
|
|
52
|
+
fareLegRules,
|
|
53
|
+
fareProducts,
|
|
46
54
|
fareRules,
|
|
55
|
+
fareTransferRules,
|
|
47
56
|
feedInfo,
|
|
48
57
|
frequencies,
|
|
49
58
|
levels,
|
|
50
59
|
pathways,
|
|
51
60
|
routes,
|
|
52
61
|
shapes,
|
|
62
|
+
stopAreas,
|
|
53
63
|
stopTimes,
|
|
54
64
|
stops,
|
|
55
65
|
transfers,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gtfs",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.1",
|
|
4
4
|
"description": "Import GTFS transit data into SQLite and query routes, stops, times, fares and more",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"transit",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"Jean-François Vial <jeff@modulaweb.fr>",
|
|
36
36
|
"wdalrymple",
|
|
37
37
|
"Ivan Yulaev",
|
|
38
|
+
"Ivy Rose",
|
|
38
39
|
"Adam Pitchie",
|
|
39
40
|
"Daniel Demidov",
|
|
40
41
|
"gerlacdt",
|
|
@@ -72,34 +73,34 @@
|
|
|
72
73
|
},
|
|
73
74
|
"dependencies": {
|
|
74
75
|
"@turf/helpers": "^6.5.0",
|
|
75
|
-
"csv-parse": "^5.3.
|
|
76
|
-
"csv-stringify": "^6.2.
|
|
76
|
+
"csv-parse": "^5.3.2",
|
|
77
|
+
"csv-stringify": "^6.2.1",
|
|
77
78
|
"gtfs-realtime-bindings": "^0.0.6",
|
|
78
79
|
"lodash-es": "^4.17.21",
|
|
79
|
-
"long": "^5.2.
|
|
80
|
-
"node-fetch": "^3.2.
|
|
80
|
+
"long": "^5.2.1",
|
|
81
|
+
"node-fetch": "^3.2.10",
|
|
81
82
|
"pluralize": "^8.0.0",
|
|
82
83
|
"pretty-error": "^4.0.0",
|
|
83
84
|
"promise-map-series": "^0.3.0",
|
|
84
85
|
"recursive-copy": "^2.0.14",
|
|
85
86
|
"sanitize-filename": "^1.6.3",
|
|
86
87
|
"sqlite": "^4.1.2",
|
|
87
|
-
"sqlite3": "^5.
|
|
88
|
+
"sqlite3": "^5.1.2",
|
|
88
89
|
"sqlstring-sqlite": "^0.1.1",
|
|
89
90
|
"strip-bom-stream": "^5.0.0",
|
|
90
91
|
"tmp-promise": "^3.0.3",
|
|
91
92
|
"untildify": "^4.0.0",
|
|
92
93
|
"unzipper": "^0.10.11",
|
|
93
|
-
"yargs": "^17.
|
|
94
|
+
"yargs": "^17.6.2",
|
|
94
95
|
"yoctocolors": "^1.0.0"
|
|
95
96
|
},
|
|
96
97
|
"devDependencies": {
|
|
97
98
|
"dtslint": "^4.2.1",
|
|
98
|
-
"eslint": "^8.
|
|
99
|
+
"eslint": "^8.27.0",
|
|
99
100
|
"eslint-config-prettier": "^8.5.0",
|
|
100
|
-
"eslint-config-xo": "^0.
|
|
101
|
-
"husky": "^8.0.
|
|
102
|
-
"mocha": "^10.
|
|
101
|
+
"eslint-config-xo": "^0.43.1",
|
|
102
|
+
"husky": "^8.0.2",
|
|
103
|
+
"mocha": "^10.1.0",
|
|
103
104
|
"prettier": "^2.7.1",
|
|
104
105
|
"pretty-quick": "^3.1.3",
|
|
105
106
|
"should": "^13.2.3"
|
package/test/mocha/get-routes.js
CHANGED
|
@@ -43,6 +43,7 @@ describe('getRoutes():', () => {
|
|
|
43
43
|
route_sort_order: null,
|
|
44
44
|
continuous_pickup: null,
|
|
45
45
|
continuous_drop_off: null,
|
|
46
|
+
network_id: null,
|
|
46
47
|
},
|
|
47
48
|
{
|
|
48
49
|
route_id: 'Li-16APR',
|
|
@@ -57,6 +58,7 @@ describe('getRoutes():', () => {
|
|
|
57
58
|
route_sort_order: null,
|
|
58
59
|
continuous_pickup: null,
|
|
59
60
|
continuous_drop_off: null,
|
|
61
|
+
network_id: null,
|
|
60
62
|
},
|
|
61
63
|
{
|
|
62
64
|
route_id: 'Lo-16APR',
|
|
@@ -71,6 +73,7 @@ describe('getRoutes():', () => {
|
|
|
71
73
|
route_sort_order: null,
|
|
72
74
|
continuous_pickup: null,
|
|
73
75
|
continuous_drop_off: null,
|
|
76
|
+
network_id: null,
|
|
74
77
|
},
|
|
75
78
|
{
|
|
76
79
|
route_id: 'TaSj-16APR',
|
|
@@ -85,6 +88,7 @@ describe('getRoutes():', () => {
|
|
|
85
88
|
route_sort_order: null,
|
|
86
89
|
continuous_pickup: null,
|
|
87
90
|
continuous_drop_off: null,
|
|
91
|
+
network_id: null,
|
|
88
92
|
},
|
|
89
93
|
];
|
|
90
94
|
|
|
@@ -114,6 +118,7 @@ describe('getRoutes():', () => {
|
|
|
114
118
|
route_sort_order: null,
|
|
115
119
|
continuous_pickup: null,
|
|
116
120
|
continuous_drop_off: null,
|
|
121
|
+
network_id: null,
|
|
117
122
|
},
|
|
118
123
|
];
|
|
119
124
|
|