appium-xcuitest-driver
Version:
Appium driver for iOS using XCUITest for backend
39 lines • 1.59 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MAX_BUFFERED_EVENTS_COUNT = exports.MAX_JSON_LOG_LENGTH = exports.DEFAULT_LOG_LEVEL = void 0;
exports.toLogEntry = toLogEntry;
exports.grepFile = grepFile;
const support_1 = require("appium/support");
const node_readline_1 = require("node:readline");
const lodash_1 = __importDefault(require("lodash"));
exports.DEFAULT_LOG_LEVEL = 'ALL';
exports.MAX_JSON_LOG_LENGTH = 200;
exports.MAX_BUFFERED_EVENTS_COUNT = 5000;
/** Converts raw log message fields into a WebDriver-style log entry. */
function toLogEntry(message, timestamp, level = exports.DEFAULT_LOG_LEVEL) {
return {
timestamp,
level,
message,
};
}
/** Returns true if the file contains the provided string. */
async function grepFile(fullPath, str, opts = {}) {
const input = support_1.fs.createReadStream(fullPath);
const rl = (0, node_readline_1.createInterface)({ input });
return await new Promise((resolve, reject) => {
input.once('error', reject);
rl.on('line', (line) => {
if ((opts.caseInsensitive && lodash_1.default.toLower(line).includes(lodash_1.default.toLower(str))) ||
(!opts.caseInsensitive && line.includes(str))) {
resolve(true);
input.close();
}
});
input.once('end', () => resolve(false));
});
}
//# sourceMappingURL=helpers.js.map