MCPcopy Index your code
hub / github.com/callstack/agent-device / dispatchDirectIosSelectorWait

Function dispatchDirectIosSelectorWait

src/daemon/selector-runtime.ts:303–332  ·  view source on GitHub ↗
(
  params: SelectorRuntimeParams & {
    session: SessionState | undefined;
    device: SessionState['device'];
    selectorExpression: string;
    timeoutMs: number | null;
  },
)

Source from the content-addressed store, hash-verified

301}
302
303async function dispatchDirectIosSelectorWait(
304 params: SelectorRuntimeParams & {
305 session: SessionState | undefined;
306 device: SessionState['device'];
307 selectorExpression: string;
308 timeoutMs: number | null;
309 },
310): Promise<DaemonResponse | null> {
311 const selector = readSimpleIosSelectorTarget({
312 session: params.session,
313 selectorExpression: params.selectorExpression,
314 });
315 if (!params.session || !selector) return null;
316 const startedAt = Date.now();
317 const result = await queryDirectIosSelectorOrFallback(params, params.session, selector);
318 if (isDirectIosSelectorErrorResult(result)) return result.response;
319 if (!result?.found) return null;
320 const payload = {
321 kind: 'selector',
322 selector: selector.raw,
323 waitedMs: Date.now() - startedAt,
324 selectorChain: [selector.raw],
325 };
326 recordIfSession(params.sessionStore, params.sessionName, params.req, payload);
327 const response: DaemonResponse = { ok: true, data: payload };
328 return await maybeWaitTimeoutSurfaceResponse(
329 { req: params.req, logPath: params.logPath, session: params.session, device: params.device },
330 response,
331 );
332}
333
334async function resolveDirectIosSelectorQuery(
335 params: SelectorRuntimeParams,

Callers 1

dispatchWaitViaRuntimeFunction · 0.85

Tested by

no test coverage detected