UNPKG

appium-xcuitest-driver

Version:

Appium driver for iOS using XCUITest for backend

41 lines (36 loc) 1.09 kB
import type { LogEntry } from '../../commands/types'; import { fs } from 'appium/support'; import { createInterface } from 'node:readline'; import _ from 'lodash'; export const DEFAULT_LOG_LEVEL = 'ALL'; export const MAX_JSON_LOG_LENGTH = 200; export const MAX_BUFFERED_EVENTS_COUNT = 5000; export function toLogEntry(message: string, timestamp: number, level: string = DEFAULT_LOG_LEVEL): LogEntry { return { timestamp, level, message, }; } export interface GrepOptions { caseInsensitive?: boolean; } export async function grepFile( fullPath: string, str: string, opts: GrepOptions = {} ): Promise<boolean> { const input = fs.createReadStream(fullPath); const rl = createInterface({input}); return await new Promise((resolve, reject) => { input.once('error', reject); rl.on('line', (line) => { if (opts.caseInsensitive && _.toLower(line).includes(_.toLower(str)) || !opts.caseInsensitive && line.includes(str)) { resolve(true); input.close(); } }); input.once('end', () => resolve(false)); }); }