@golemio/pid
Version:
Golemio PID Module
33 lines • 1.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.VehicleDescriptor = void 0;
const GtfsRealtimeInterfaces_1 = require("../interfaces/GtfsRealtimeInterfaces");
const VehicleIdGenerator_1 = require("./VehicleIdGenerator");
class VehicleDescriptor {
static wheelchairAccessibleToGtfsRt(accessible) {
if (accessible === null) {
return GtfsRealtimeInterfaces_1.WheelchairAccessible.UNKNOWN;
}
return accessible ? GtfsRealtimeInterfaces_1.WheelchairAccessible.WHEELCHAIR_ACCESSIBLE : GtfsRealtimeInterfaces_1.WheelchairAccessible.WHEELCHAIR_INACCESSIBLE;
}
getVehicleDescriptor(tripRecord) {
return {
id: VehicleIdGenerator_1.VehicleIdGenerator.getVehicleId(tripRecord.id, tripRecord.gtfs_route_type, tripRecord.provider_source_type, tripRecord.gtfs_route_short_name, tripRecord.cis_trip_number, tripRecord.vehicle_registration_number, tripRecord.run_number, tripRecord.internal_run_number),
...(tripRecord.vehicle_registration_number && {
label: tripRecord.vehicle_registration_number.toString(),
}),
wheelchairAccessible: VehicleDescriptor.wheelchairAccessibleToGtfsRt(tripRecord.wheelchair_accessible),
".transit_realtime.ovapiVehicleDescriptor": {
wheelchairAccessible: tripRecord.wheelchair_accessible ?? null,
vehicleType: tripRecord.vehicle_descriptor
? JSON.stringify({
airConditioned: tripRecord.vehicle_descriptor.is_air_conditioned,
usbChargers: tripRecord.vehicle_descriptor.has_usb_chargers,
})
: undefined,
},
};
}
}
exports.VehicleDescriptor = VehicleDescriptor;
//# sourceMappingURL=VehicleDescriptor.js.map