gtfs 4.15.7 → 4.15.9

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.
@@ -346,12 +346,7 @@ var bookingRules = {
346
346
  },
347
347
  {
348
348
  name: "prior_notice_last_time",
349
- type: "text"
350
- },
351
- {
352
- name: "prior_notice_last_timestamp",
353
- type: "integer",
354
- index: true
349
+ type: "time"
355
350
  },
356
351
  {
357
352
  name: "prior_notice_start_day",
@@ -360,12 +355,7 @@ var bookingRules = {
360
355
  },
361
356
  {
362
357
  name: "prior_notice_start_time",
363
- type: "text"
364
- },
365
- {
366
- name: "prior_notice_start_timestamp",
367
- type: "integer",
368
- index: true
358
+ type: "time"
369
359
  },
370
360
  {
371
361
  name: "prior_notice_service_id",
@@ -831,23 +821,15 @@ var frequencies = {
831
821
  },
832
822
  {
833
823
  name: "start_time",
834
- type: "text",
824
+ type: "time",
835
825
  required: true,
836
826
  primary: true
837
827
  },
838
- {
839
- name: "start_timestamp",
840
- type: "integer"
841
- },
842
828
  {
843
829
  name: "end_time",
844
- type: "text",
830
+ type: "time",
845
831
  required: true
846
832
  },
847
- {
848
- name: "end_timestamp",
849
- type: "integer"
850
- },
851
833
  {
852
834
  name: "headway_secs",
853
835
  type: "integer",
@@ -1214,21 +1196,11 @@ var stopTimes = {
1214
1196
  },
1215
1197
  {
1216
1198
  name: "arrival_time",
1217
- type: "text"
1218
- },
1219
- {
1220
- name: "arrival_timestamp",
1221
- type: "integer",
1222
- index: true
1199
+ type: "time"
1223
1200
  },
1224
1201
  {
1225
1202
  name: "departure_time",
1226
- type: "text"
1227
- },
1228
- {
1229
- name: "departure_timestamp",
1230
- type: "integer",
1231
- index: true
1203
+ type: "time"
1232
1204
  },
1233
1205
  {
1234
1206
  name: "location_group_id",
@@ -1263,12 +1235,7 @@ var stopTimes = {
1263
1235
  },
1264
1236
  {
1265
1237
  name: "start_pickup_drop_off_window",
1266
- type: "text"
1267
- },
1268
- {
1269
- name: "start_pickup_drop_off_window_timestamp",
1270
- type: "integer",
1271
- index: true
1238
+ type: "time"
1272
1239
  },
1273
1240
  {
1274
1241
  name: "pickup_type",
@@ -1418,12 +1385,12 @@ var timeframes = {
1418
1385
  },
1419
1386
  {
1420
1387
  name: "start_time",
1421
- type: "text",
1388
+ type: "time",
1422
1389
  primary: true
1423
1390
  },
1424
1391
  {
1425
1392
  name: "end_time",
1426
- type: "text",
1393
+ type: "time",
1427
1394
  primary: true
1428
1395
  },
1429
1396
  {
@@ -1696,19 +1663,11 @@ var timetables = {
1696
1663
  },
1697
1664
  {
1698
1665
  name: "start_time",
1699
- type: "text"
1700
- },
1701
- {
1702
- name: "start_timestamp",
1703
- type: "integer"
1666
+ type: "time"
1704
1667
  },
1705
1668
  {
1706
1669
  name: "end_time",
1707
- type: "text"
1708
- },
1709
- {
1710
- name: "end_timestamp",
1711
- type: "integer"
1670
+ type: "time"
1712
1671
  },
1713
1672
  {
1714
1673
  name: "timetable_label",
@@ -2148,21 +2107,11 @@ var boardAlight = {
2148
2107
  },
2149
2108
  {
2150
2109
  name: "service_arrival_time",
2151
- type: "text"
2152
- },
2153
- {
2154
- name: "service_arrival_timestamp",
2155
- type: "integer",
2156
- index: true
2110
+ type: "time"
2157
2111
  },
2158
2112
  {
2159
2113
  name: "service_departure_time",
2160
- type: "text"
2161
- },
2162
- {
2163
- name: "service_departure_timestamp",
2164
- type: "integer",
2165
- index: true
2114
+ type: "time"
2166
2115
  },
2167
2116
  {
2168
2117
  name: "source",
@@ -2229,21 +2178,11 @@ var riderTrip = {
2229
2178
  },
2230
2179
  {
2231
2180
  name: "boarding_time",
2232
- type: "text"
2233
- },
2234
- {
2235
- name: "boarding_timestamp",
2236
- type: "integer",
2237
- index: true
2181
+ type: "time"
2238
2182
  },
2239
2183
  {
2240
2184
  name: "alighting_time",
2241
- type: "text"
2242
- },
2243
- {
2244
- name: "alighting_timestamp",
2245
- type: "integer",
2246
- index: true
2185
+ type: "time"
2247
2186
  },
2248
2187
  {
2249
2188
  name: "rider_type",
@@ -2317,21 +2256,11 @@ var ridership = {
2317
2256
  },
2318
2257
  {
2319
2258
  name: "ridership_start_time",
2320
- type: "text"
2321
- },
2322
- {
2323
- name: "ridership_start_timestamp",
2324
- type: "integer",
2325
- index: true
2259
+ type: "time"
2326
2260
  },
2327
2261
  {
2328
2262
  name: "ridership_end_time",
2329
- type: "text"
2330
- },
2331
- {
2332
- name: "ridership_end_timestamp",
2333
- type: "integer",
2334
- index: true
2263
+ type: "time"
2335
2264
  },
2336
2265
  {
2337
2266
  name: "service_id",
@@ -2510,7 +2439,7 @@ var tripUpdates = {
2510
2439
  extension: "gtfs-realtime",
2511
2440
  schema: [
2512
2441
  {
2513
- name: "update_id",
2442
+ name: "id",
2514
2443
  type: "text",
2515
2444
  required: true,
2516
2445
  primary: true,
@@ -2674,7 +2603,7 @@ var vehiclePositions = {
2674
2603
  extension: "gtfs-realtime",
2675
2604
  schema: [
2676
2605
  {
2677
- name: "update_id",
2606
+ name: "id",
2678
2607
  type: "text",
2679
2608
  required: true,
2680
2609
  primary: true,
@@ -2913,39 +2842,24 @@ var deadheadTimes = {
2913
2842
  nonstandard: true,
2914
2843
  extension: "ods",
2915
2844
  schema: [
2916
- {
2917
- name: "id",
2918
- type: "integer",
2919
- primary: true,
2920
- prefix: true
2921
- },
2922
2845
  {
2923
2846
  name: "deadhead_id",
2924
2847
  type: "text",
2925
2848
  required: true,
2926
2849
  index: true,
2850
+ primary: true,
2927
2851
  prefix: true
2928
2852
  },
2929
2853
  {
2930
2854
  name: "arrival_time",
2931
- type: "text",
2855
+ type: "time",
2932
2856
  required: true
2933
2857
  },
2934
- {
2935
- name: "arrival_timestamp",
2936
- type: "integer",
2937
- index: true
2938
- },
2939
2858
  {
2940
2859
  name: "departure_time",
2941
- type: "text",
2860
+ type: "time",
2942
2861
  required: true
2943
2862
  },
2944
- {
2945
- name: "departure_timestamp",
2946
- type: "integer",
2947
- index: true
2948
- },
2949
2863
  {
2950
2864
  name: "ops_location_id",
2951
2865
  type: "text",
@@ -2960,6 +2874,7 @@ var deadheadTimes = {
2960
2874
  name: "location_sequence",
2961
2875
  type: "integer",
2962
2876
  required: true,
2877
+ primary: true,
2963
2878
  min: 0,
2964
2879
  index: true
2965
2880
  },
@@ -3279,21 +3194,15 @@ function setDefaultConfig(initialConfig) {
3279
3194
  ...initialConfig
3280
3195
  };
3281
3196
  }
3282
-
3283
- // src/lib/import-gtfs.ts
3284
- var TIME_COLUMN_NAMES = [
3285
- "start_time",
3286
- "end_time",
3287
- "arrival_time",
3288
- "departure_time",
3289
- "prior_notice_last_time",
3290
- "prior_notice_start_time",
3291
- "start_pickup_drop_off_window"
3292
- ];
3293
- var TIME_COLUMN_PAIRS = TIME_COLUMN_NAMES.map((name) => [
3294
- name,
3295
- name.endsWith("time") ? `${name}stamp` : `${name}_timestamp`
3296
- ]);
3197
+ function formatCurrency(value, currency) {
3198
+ const parts = new Intl.NumberFormat(void 0, {
3199
+ style: "currency",
3200
+ currency
3201
+ }).formatToParts(value);
3202
+ const integerPart = parts.find((part) => part.type === "integer")?.value ?? "0";
3203
+ const fractionPart = parts.find((part) => part.type === "fraction")?.value ?? "";
3204
+ return `${integerPart}${fractionPart !== "" ? `.${fractionPart}` : ""}`;
3205
+ }
3297
3206
 
3298
3207
  // src/lib/export.ts
3299
3208
  import path2 from "node:path";
@@ -3364,19 +3273,7 @@ var exportGtfs = async (initialConfig) => {
3364
3273
  return;
3365
3274
  }
3366
3275
  if (model.filenameExtension === "txt") {
3367
- const excludeColumns = [
3368
- "id",
3369
- "arrival_timestamp",
3370
- "departure_timestamp",
3371
- "start_timestamp",
3372
- "end_timestamp",
3373
- "service_arrival_timestamp",
3374
- "service_departure_timestamp",
3375
- "boarding_timestamp",
3376
- "alighting_timestamp",
3377
- "ridership_start_timestamp",
3378
- "ridership_end_timestamp"
3379
- ];
3276
+ const excludeColumns = [];
3380
3277
  if (model.filenameBase === "routes") {
3381
3278
  const routesWithAgencyId = db.prepare(
3382
3279
  "SELECT agency_id FROM routes WHERE agency_id IS NOT NULL;"
@@ -3384,6 +3281,14 @@ var exportGtfs = async (initialConfig) => {
3384
3281
  if (!routesWithAgencyId || routesWithAgencyId.length === 0) {
3385
3282
  excludeColumns.push("agency_id");
3386
3283
  }
3284
+ } else if (model.filenameBase === "fare_attributes") {
3285
+ for (const line of lines) {
3286
+ line.price = formatCurrency(line.price, line.currency_type);
3287
+ }
3288
+ } else if (model.filenameBase === "fare_products") {
3289
+ for (const line of lines) {
3290
+ line.amount = formatCurrency(line.amount, line.currency);
3291
+ }
3387
3292
  }
3388
3293
  const columns = without(
3389
3294
  model.schema.map((column) => column.name),