appium-chromedriver
Version:
Node.js wrapper around chromedriver.
47 lines • 1.46 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.toW3cCapName = toW3cCapName;
exports.toW3cCapNames = toW3cCapNames;
exports.getCapValue = getCapValue;
const lodash_1 = __importDefault(require("lodash"));
const base_driver_1 = require("@appium/base-driver");
const W3C_PREFIX = 'goog:';
/**
*
* @param {string} capName
*/
function toW3cCapName(capName) {
return (lodash_1.default.isString(capName) && !capName.includes(':') && !(0, base_driver_1.isStandardCap)(capName))
? `${W3C_PREFIX}${capName}`
: capName;
}
/**
*
* @param {Record<string,any>} allCaps
* @param {string} rawCapName
* @param {any} [defaultValue]
* @returns {any}
*/
function getCapValue(allCaps = {}, rawCapName, defaultValue) {
for (const [capName, capValue] of lodash_1.default.toPairs(allCaps)) {
if (toW3cCapName(capName) === toW3cCapName(rawCapName)) {
return capValue;
}
}
return defaultValue;
}
/**
*
* @param {any} originalCaps
* @returns {Record<string,any>}
*/
function toW3cCapNames(originalCaps = {}) {
return lodash_1.default.reduce(originalCaps, (acc, value, key) => {
acc[toW3cCapName(key)] = value;
return acc;
}, /** @type {Record<string,any>} */ ({}));
}
//# sourceMappingURL=protocol-helpers.js.map