perfrunner
Version:
Command-line-interface for the perfrunner - automated UI performance test tool
58 lines (57 loc) • 2.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UrlBasedString = exports.Url = exports.Network = exports.StringOrNumber = exports.Bool = exports.ArgsLikeString = exports.LogLevel = void 0;
const perfrunner_core_1 = require("perfrunner-core");
const config_1 = require("../config");
const errors_1 = require("../errors");
const utils_1 = require("../utils");
const LogLevel = (maybeLogLevel) => {
if (!maybeLogLevel) {
return undefined;
}
return maybeLogLevel.toLowerCase().trim() === 'verbose' ? perfrunner_core_1.logger.LOG_LEVEL.VERBOSE : undefined;
};
exports.LogLevel = LogLevel;
const ArgsLikeString = (v) => (v ? `--${(0, utils_1.argsLike)(v)}` : '');
exports.ArgsLikeString = ArgsLikeString;
const Bool = (v) => (v && v.toLowerCase() === 'true' ? true : false);
exports.Bool = Bool;
const StringOrNumber = (v) => (v != null ? (parseInt(v).toString() === v ? parseInt(v) : v) : '');
exports.StringOrNumber = StringOrNumber;
const Network = (networkType) => {
switch (networkType) {
case 'online':
case 'original':
return config_1.Original;
case 'slow-3g':
case 'slow3g':
return config_1.Slow3g;
case 'hspa':
return config_1.HSPA;
case 'fast3g':
case 'fast-3g':
case 'hspaplus':
return config_1.HSPA_Plus;
case 'regular4g':
case 'regular-4g':
return config_1.FourG;
default:
throw new Error(`Unknow network setup: ${networkType}`);
}
};
exports.Network = Network;
const normalizeUrl = (url) => {
const loweredUrl = url.toLowerCase();
const isHttpSchemeSet = loweredUrl.startsWith(config_1.HTTP_SCHEME) || loweredUrl.startsWith(config_1.HTTPS_SCHEME);
return isHttpSchemeSet ? url : `${config_1.DEFAULT_HTTP_SCHEME}${url}`;
};
const Url = (v) => {
if (v == null || v.trim() === '') {
throw new Error(errors_1.URL_IS_EMPTY);
}
const urlString = normalizeUrl(v);
return new URL(urlString);
};
exports.Url = Url;
const UrlBasedString = (v) => (0, exports.Url)(v).href;
exports.UrlBasedString = UrlBasedString;