"use strict";
const config_1 = require("../config");
const binary_1 = require("./binary");
/**
 * The selenium server jar.
 */
class StandAlone extends binary_1.Binary {
    constructor(alternateCDN) {
        super(alternateCDN || config_1.Config.cdnUrls().selenium);
        this.name = 'selenium standalone';
        this.versionCustom = StandAlone.versionDefault;
        this.prefixDefault = 'selenium-server-standalone-';
        this.suffixDefault = '.jar';
    }
    id() {
        return StandAlone.id;
    }
    versionDefault() {
        return StandAlone.versionDefault;
    }
    url() {
        let urlBase = this.cdn + this.shortVersion(this.version()) + '/';
        let filename = this.prefix() + this.version() + this.suffix();
        return urlBase + filename;
    }
    executableSuffix(ostype) {
        return '.jar';
    }
}
StandAlone.os = [binary_1.OS.Windows_NT, binary_1.OS.Linux, binary_1.OS.Darwin];
StandAlone.id = 'standalone';
StandAlone.versionDefault = config_1.Config.binaryVersions().selenium;
StandAlone.isDefault = true;
StandAlone.shortName = ['standalone'];
exports.StandAlone = StandAlone;
//# sourceMappingURL=stand_alone.js.map