"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MPVRouteTypesEnum = exports.GTFSRouteTypeEnum = void 0;
exports.getGtfsRouteType = getGtfsRouteType;
exports.getGtfsRouteTypesAsStrings = getGtfsRouteTypesAsStrings;
var GTFSRouteTypeEnum;
(function (GTFSRouteTypeEnum) {
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["TRAM"] = 0] = "TRAM";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["METRO"] = 1] = "METRO";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["TRAIN"] = 2] = "TRAIN";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["BUS"] = 3] = "BUS";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["FERRY"] = 4] = "FERRY";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["FUNICULAR"] = 7] = "FUNICULAR";
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["TROLLEYBUS"] = 11] = "TROLLEYBUS";
    // Extended types
    // https://developers.google.com/transit/gtfs/reference/extended-route-types
    GTFSRouteTypeEnum[GTFSRouteTypeEnum["EXT_MISCELLANEOUS"] = 1700] = "EXT_MISCELLANEOUS";
})(GTFSRouteTypeEnum || (exports.GTFSRouteTypeEnum = GTFSRouteTypeEnum = {}));
var MPVRouteTypesEnum;
(function (MPVRouteTypesEnum) {
    MPVRouteTypesEnum[MPVRouteTypesEnum["UNKNOWN"] = 0] = "UNKNOWN";
    MPVRouteTypesEnum[MPVRouteTypesEnum["METRO"] = 1] = "METRO";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TRAM"] = 2] = "TRAM";
    MPVRouteTypesEnum[MPVRouteTypesEnum["BUS_CITY"] = 3] = "BUS_CITY";
    MPVRouteTypesEnum[MPVRouteTypesEnum["BUS_REGIONAL"] = 4] = "BUS_REGIONAL";
    MPVRouteTypesEnum[MPVRouteTypesEnum["BUS_NIGHT"] = 5] = "BUS_NIGHT";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TRAM_NIGHT"] = 6] = "TRAM_NIGHT";
    MPVRouteTypesEnum[MPVRouteTypesEnum["BUS_SUBSTITUTE"] = 7] = "BUS_SUBSTITUTE";
    MPVRouteTypesEnum[MPVRouteTypesEnum["FUNICULAR"] = 8] = "FUNICULAR";
    MPVRouteTypesEnum[MPVRouteTypesEnum["SCHOOL"] = 9] = "SCHOOL";
    MPVRouteTypesEnum[MPVRouteTypesEnum["DISABILITY"] = 10] = "DISABILITY";
    MPVRouteTypesEnum[MPVRouteTypesEnum["CONTRACTUAL"] = 11] = "CONTRACTUAL";
    MPVRouteTypesEnum[MPVRouteTypesEnum["FERRY"] = 12] = "FERRY";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TRAIN"] = 13] = "TRAIN";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TRAIN_SUBSTITUTE"] = 14] = "TRAIN_SUBSTITUTE";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TRAM_SUBSTITUTE"] = 15] = "TRAM_SUBSTITUTE";
    MPVRouteTypesEnum[MPVRouteTypesEnum["BUS_NIGHT_REGIONAL"] = 16] = "BUS_NIGHT_REGIONAL";
    MPVRouteTypesEnum[MPVRouteTypesEnum["OTHER"] = 17] = "OTHER";
    MPVRouteTypesEnum[MPVRouteTypesEnum["TROLLEYBUS"] = 18] = "TROLLEYBUS";
})(MPVRouteTypesEnum || (exports.MPVRouteTypesEnum = MPVRouteTypesEnum = {}));
function getGtfsRouteType(value) {
    value = value.toUpperCase();
    if ("TRAM" === value) {
        return GTFSRouteTypeEnum.TRAM;
    }
    else if ("METRO" === value) {
        return GTFSRouteTypeEnum.METRO;
    }
    else if ("TRAIN" === value) {
        return GTFSRouteTypeEnum.TRAIN;
    }
    else if ("BUS" === value) {
        return GTFSRouteTypeEnum.BUS;
    }
    else if ("FERRY" === value) {
        return GTFSRouteTypeEnum.FERRY;
    }
    else if ("FUNICULAR" === value) {
        return GTFSRouteTypeEnum.FUNICULAR;
    }
    else if ("TROLLEYBUS" === value) {
        return GTFSRouteTypeEnum.TROLLEYBUS;
    }
    return GTFSRouteTypeEnum.EXT_MISCELLANEOUS;
}
function getGtfsRouteTypesAsStrings() {
    return ["tram", "metro", "train", "bus", "ferry", "funicular", "trolleybus"];
}
//# sourceMappingURL=RouteTypeEnums.js.map