Innovenergy_trunk/frontend/node_modules/testcafe-browser-tools/lib/api/get-browser-info.js

35 lines
4.0 KiB
JavaScript
Raw Normal View History

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const get_installations_1 = __importDefault(require("./get-installations"));
const fs_exists_promised_1 = __importDefault(require("../utils/fs-exists-promised"));
const find_alias_1 = __importDefault(require("../utils/find-alias"));
//Const
const DEFAULT_ALIAS = {
cmd: '',
macOpenCmdTemplate: 'open -n -a "{{{path}}}" --args {{{pageUrl}}}'
};
//API
/**
* Returns information about the specified browser.
* @function
* @async
* @name getBrowserInfo
* @param {string} browser - A browser alias ('chrome', 'firefox', etc.) or a path to the browser's executable file.
* @returns {BrowserInfo} An object that contains information about the specified browser.
*/
async function default_1(browser) {
const installations = await get_installations_1.default();
const browserAsAlias = browser.trim().toLowerCase();
if (installations[browserAsAlias])
return installations[browserAsAlias];
if (!await fs_exists_promised_1.default(browser))
return null;
const detectedAlias = find_alias_1.default(browser);
const { cmd, macOpenCmdTemplate } = detectedAlias ? detectedAlias.alias : DEFAULT_ALIAS;
return { path: browser, cmd, macOpenCmdTemplate };
}
exports.default = default_1;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJyb3dzZXItaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvZ2V0LWJyb3dzZXItaW5mby5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRFQUFtRDtBQUNuRCxxRkFBaUQ7QUFDakQscUVBQTRDO0FBRzVDLE9BQU87QUFDUCxNQUFNLGFBQWEsR0FBRztJQUNsQixHQUFHLEVBQWlCLEVBQUU7SUFDdEIsa0JBQWtCLEVBQUUsOENBQThDO0NBQ3JFLENBQUM7QUFHRixLQUFLO0FBQ0w7Ozs7Ozs7R0FPRztBQUNZLEtBQUssb0JBQVcsT0FBTztJQUNsQyxNQUFNLGFBQWEsR0FBRyxNQUFNLDJCQUFnQixFQUFFLENBQUM7SUFFL0MsTUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBELElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQztRQUM3QixPQUFPLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUMsTUFBTSw0QkFBTSxDQUFDLE9BQU8sQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQztJQUVoQixNQUFNLGFBQWEsR0FBRyxvQkFBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXpDLE1BQU0sRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUV4RixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztBQUN0RCxDQUFDO0FBaEJELDRCQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRJbnN0YWxsYXRpb25zIGZyb20gJy4vZ2V0LWluc3RhbGxhdGlvbnMnO1xuaW1wb3J0IGV4aXN0cyBmcm9tICcuLi91dGlscy9mcy1leGlzdHMtcHJvbWlzZWQnO1xuaW1wb3J0IGZpbmRBbGlhcyBmcm9tICcuLi91dGlscy9maW5kLWFsaWFzJztcblxuXG4vL0NvbnN0XG5jb25zdCBERUZBVUxUX0FMSUFTID0ge1xuICAgIGNtZDogICAgICAgICAgICAgICAgJycsXG4gICAgbWFjT3BlbkNtZFRlbXBsYXRlOiAnb3BlbiAtbiAtYSBcInt7e3BhdGh9fX1cIiAtLWFyZ3Mge3t7cGFnZVVybH19fSdcbn07XG5cblxuLy9BUElcbi8qKlxuICogUmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIGJyb3dzZXIuXG4gKiBAZnVuY3Rpb25cbiAqIEBhc3luY1xuICogQG5hbWUgZ2V0QnJvd3NlckluZm9cbiAqIEBwYXJhbSB7c3RyaW5nfSBicm93c2VyIC0gQSBicm93c2VyIGFsaWFzICgnY2hyb21lJywgJ2ZpcmVmb3gnLCBldGMuKSBvciBhIHBhdGggdG8gdGhlIGJyb3dzZXIncyBleGVjdXRhYmxlIGZpbGUuXG4gKiBAcmV0dXJucyB7QnJvd3NlckluZm99IEFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcGVjaWZpZWQgYnJvd3Nlci5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gKGJyb3dzZXIpIHtcbiAgICBjb25zdCBpbnN0YWxsYXRpb25zID0gYXdhaXQgZ2V0SW5zdGFsbGF0aW9ucygpO1xuXG4gICAgY29uc3QgYnJvd3NlckFzQWxpYXMgPSBicm93c2VyLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgaWYgKGluc3RhbGxhdGlvbnNbYnJvd3NlckFzQWxpYXNdKVxuICAgICAgICByZXR1cm4gaW5zdGFsbGF0aW9uc1ticm93c2VyQXNBbGlhc107XG5cbiAgICBpZiAoIWF3YWl0IGV4aXN0cyhicm93c2VyKSlcbiAgICAgICAgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBkZXRlY3RlZEFsaWFzID0gZmluZEFsaWFzKGJyb3dzZXIpO1xuXG4gICAgY29uc3QgeyBjbWQsIG1hY09wZW5DbWRUZW1wbGF0ZSB9ID0gZGV0ZWN0ZWRBbGlhcyA/IGRldGVjdGVkQWxpYXMuYWxpYXMgOiBERUZBVUxUX0FMSUFTO1xuXG4gICAgcmV0dXJuIHsgcGF0aDogYnJvd3NlciwgY21kLCBtYWNPcGVuQ21kVGVtcGxhdGUgfTtcbn1cbiJdfQ==