UNPKG

appium-mac2-driver

Version:

XCTest-based Appium driver for macOS apps automation

37 lines 1.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.execute = execute; const lodash_1 = __importDefault(require("lodash")); const EXECUTE_SCRIPT_PREFIX = 'macos:'; /** * * @this {Mac2Driver} * @param {string} script * @param {any[]|import('@appium/types').StringRecord} [args] * @returns {Promise<any>} */ async function execute(script, args) { this.log.info(`Executing extension command '${script}'`); const formattedScript = String(script).trim().replace(/^macos:\s*/, `${EXECUTE_SCRIPT_PREFIX} `); const preprocessedArgs = preprocessExecuteMethodArgs(args); return await this.executeMethod(formattedScript, [preprocessedArgs]); } ; /** * Massages the arguments going into an execute method. * * @param {ExecuteMethodArgs} [args] * @returns {StringRecord} */ function preprocessExecuteMethodArgs(args) { return /** @type {StringRecord} */ ((lodash_1.default.isArray(args) ? lodash_1.default.first(args) : args) ?? {}); } /** * @typedef {import('../driver').Mac2Driver} Mac2Driver * @typedef {import('@appium/types').StringRecord} StringRecord * @typedef {readonly any[] | readonly [StringRecord] | Readonly<StringRecord>} ExecuteMethodArgs */ //# sourceMappingURL=execute.js.map