UNPKG

testcafe

Version:

Automated browser testing for the modern web development stack.

33 lines 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getValidPort = exports.getValidHostname = void 0; const runtime_1 = require("../errors/runtime"); const types_1 = require("../errors/types"); const endpoint_utils_1 = require("../utils/endpoint-utils"); async function getValidHostname(hostname) { var _a; if (hostname) { const valid = await (0, endpoint_utils_1.isMyHostname)(hostname); if (!valid) throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.invalidHostname, hostname); } else { hostname = (_a = (0, endpoint_utils_1.getIPAddress)()) !== null && _a !== void 0 ? _a : ''; if (!hostname) throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.invalidHostname, hostname); } return hostname; } exports.getValidHostname = getValidHostname; async function getValidPort(port) { if (port) { const isFree = await (0, endpoint_utils_1.isFreePort)(port); if (!isFree) throw new runtime_1.GeneralError(types_1.RUNTIME_ERRORS.portIsNotFree, port); } else port = await (0, endpoint_utils_1.getFreePort)(); return port; } exports.getValidPort = getValidPort; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBaUQ7QUFDakQsMkNBQWlEO0FBQ2pELDREQUtpQztBQUUxQixLQUFLLFVBQVUsZ0JBQWdCLENBQUUsUUFBZ0I7O0lBQ3BELElBQUksUUFBUSxFQUFFO1FBQ1YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLDZCQUFZLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUs7WUFDTixNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUN4RTtTQUNJO1FBQ0QsUUFBUSxHQUFHLE1BQUEsSUFBQSw2QkFBWSxHQUFFLG1DQUFJLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsUUFBUTtZQUNULE1BQU0sSUFBSSxzQkFBWSxDQUFDLHNCQUFjLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQztBQWZELDRDQWVDO0FBRU0sS0FBSyxVQUFVLFlBQVksQ0FBRSxJQUFZO0lBQzVDLElBQUksSUFBSSxFQUFFO1FBQ04sTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLDJCQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLE1BQU07WUFDUCxNQUFNLElBQUksc0JBQVksQ0FBQyxzQkFBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNsRTs7UUFFRyxJQUFJLEdBQUcsTUFBTSxJQUFBLDRCQUFXLEdBQUUsQ0FBQztJQUUvQixPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBWEQsb0NBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmFsRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvcnVudGltZSc7XG5pbXBvcnQgeyBSVU5USU1FX0VSUk9SUyB9IGZyb20gJy4uL2Vycm9ycy90eXBlcyc7XG5pbXBvcnQge1xuICAgIGlzTXlIb3N0bmFtZSxcbiAgICBnZXRJUEFkZHJlc3MsXG4gICAgaXNGcmVlUG9ydCxcbiAgICBnZXRGcmVlUG9ydCxcbn0gZnJvbSAnLi4vdXRpbHMvZW5kcG9pbnQtdXRpbHMnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmFsaWRIb3N0bmFtZSAoaG9zdG5hbWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgaWYgKGhvc3RuYW1lKSB7XG4gICAgICAgIGNvbnN0IHZhbGlkID0gYXdhaXQgaXNNeUhvc3RuYW1lKGhvc3RuYW1lKTtcblxuICAgICAgICBpZiAoIXZhbGlkKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEdlbmVyYWxFcnJvcihSVU5USU1FX0VSUk9SUy5pbnZhbGlkSG9zdG5hbWUsIGhvc3RuYW1lKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGhvc3RuYW1lID0gZ2V0SVBBZGRyZXNzKCkgPz8gJyc7XG5cbiAgICAgICAgaWYgKCFob3N0bmFtZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBHZW5lcmFsRXJyb3IoUlVOVElNRV9FUlJPUlMuaW52YWxpZEhvc3RuYW1lLCBob3N0bmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhvc3RuYW1lO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VmFsaWRQb3J0IChwb3J0OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGlmIChwb3J0KSB7XG4gICAgICAgIGNvbnN0IGlzRnJlZSA9IGF3YWl0IGlzRnJlZVBvcnQocG9ydCk7XG5cbiAgICAgICAgaWYgKCFpc0ZyZWUpXG4gICAgICAgICAgICB0aHJvdyBuZXcgR2VuZXJhbEVycm9yKFJVTlRJTUVfRVJST1JTLnBvcnRJc05vdEZyZWUsIHBvcnQpO1xuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIHBvcnQgPSBhd2FpdCBnZXRGcmVlUG9ydCgpO1xuXG4gICAgcmV0dXJuIHBvcnQ7XG59XG4iXX0=