"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
class TripsIdGenerator {
    /**
     * @example 2022-11-04T12:31:00+01:00_10_4873_220926_8215
     */
    static generateFromCommonRun(gtfsTrip, runInput) {
        const { start_timestamp, trip_id } = gtfsTrip;
        const { registration_number } = runInput;
        return `${start_timestamp}_${trip_id}_${registration_number}`;
    }
    /**
     * @example NOT_PUBLIC_67_1_2021-06-28T15:05:00+02:00_5572
     */
    static generateFromCommonRunNotPublic(runInput) {
        return (`NOT_PUBLIC_${runInput.route_id}_${runInput.run_number}_` +
            `${runInput.msg_start_timestamp}_${runInput.registration_number}`);
    }
    /**
     * @example 2022-11-04T12:37:35+01:00_991_416_220901_13_13
     */
    static generateFromMetroRun(gtfsTrip, runInput) {
        const { start_timestamp, trip_id, run_number } = gtfsTrip;
        const { trainSetNumberReal } = runInput;
        return `${start_timestamp}_${trip_id}_${run_number}_${trainSetNumberReal}`;
    }
    /**
     * @example 2022-11-04T12:37:35+01:00_991_416_220901_867377023797370
     */
    static generateFromRegionalBusRun(gtfsTrip, runInput) {
        const { start_timestamp, trip_id } = gtfsTrip;
        const { external_trip_id } = runInput;
        return `${start_timestamp}_${trip_id}_${external_trip_id}`;
    }
}
exports.default = TripsIdGenerator;
//# sourceMappingURL=TripsIdGenerator.js.map