UNPKG

appium-lg-webos-driver

Version:
84 lines 2.45 kB
import { AppiumLogger } from '@appium/types'; import { JsonPrimitive, SetRequired, Writable } from 'type-fest'; import { KnownKey } from './keys'; import { AuthPayload, MessageType } from './remote/constants'; import { ValueBox } from './remote/valuebox'; /** * Extra caps that cannot be inferred from constraints. */ export interface ExtraWebOsCaps { deviceInfo: Record<string, string>; } /** * The message format sent between the WebOS websocket server and client. */ export interface InboundMsg<P extends SerializableObject = any> extends OutboundMsg<P> { error?: string; } export interface OutboundMsg<P extends SerializableObject | void = void> { id: `${MessageType}_${number}`; type: MessageType; uri?: string; payload: P; } export interface PromptMsg extends InboundMsg<{ pairingType: 'PROMPT'; }> { type: 'response'; } export interface RegisteredMsg extends InboundMsg<SetRequired<AuthPayload, 'client-key'>> { type: 'registered'; } /** * A plain object which can be serialized to JSON. * * Makes readonly types writable. */ export type SerializableObject = { -readonly [K in string]?: Writable<Serializable>; }; /** * Represents a value which is serializable to JSON. */ export type Serializable = SerializableObject | Serializable[] | JsonPrimitive; export interface StartChromedriverOptions { debuggerHost: string; debuggerPort: number; executable?: string; executableDir?: string; isAutodownloadEnabled: boolean; verbose?: boolean; } /** * The callback function passed to the script executed via `execute/async`. * * If this function was called without a parameter, it would respond still with `null` to the requester, * so we demand `null` at minimum here for consistency. * * @template [T=null] * @callback AsyncCallback * @param {T extends undefined ? never : T} result * @returns {void} */ export type AsyncCallback<T = null> = (result: T extends undefined ? never : T) => void; export interface PressKeyOptions { key: KnownKey; duration?: number; } export interface LGSocketClientOpts { deviceName: string; url: string; urlSecure: string; useSecureWebsocket: boolean; valueBox: ValueBox; clientKey?: string; log?: AppiumLogger; clientKeyFile?: string; saveClientKey?: boolean; remoteKeyCooldown?: number; } export interface Delta { dx: number; dy: number; } //# sourceMappingURL=types.d.ts.map