UNPKG

perfrunner

Version:

Command-line-interface for the perfrunner - automated UI performance test tool

58 lines (57 loc) 2.23 kB
"use strict"; 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;