MCPcopy Index your code
hub / github.com/NativeScript/SimDeck / chrome_devtools_socket_session

Function chrome_devtools_socket_session

packages/server/src/api/routes.rs:1177–1211  ·  view source on GitHub ↗
(
    state: &AppState,
    udid: &str,
    target_id: &str,
)

Source from the content-addressed store, hash-verified

1175}
1176
1177async fn chrome_devtools_socket_session(
1178 state: &AppState,
1179 udid: &str,
1180 target_id: &str,
1181) -> Result<
1182 (
1183 devtools::ChromeDevToolsTargetRuntime,
1184 devtools::DevToolsQuery,
1185 ),
1186 String,
1187> {
1188 let process_identifier = target_id
1189 .strip_prefix("sdi-")
1190 .and_then(|value| value.parse::<i64>().ok())
1191 .ok_or_else(|| "Invalid Chrome DevTools target id.".to_owned())?;
1192 let session = inspector_session_for_process(state, udid, process_identifier).await?;
1193 let source = chrome_devtools_source_for_session(&session)
1194 .ok_or_else(|| "This app inspector does not expose a Chrome DevTools target.".to_owned())?;
1195 let target = devtools::build_target(
1196 udid,
1197 None,
1198 &session.info,
1199 session.process_identifier,
1200 source,
1201 );
1202 let runtime = devtools::runtime_from_target(&target);
1203 let query_state = state.clone();
1204 let query_session = session.clone();
1205 let query: devtools::DevToolsQuery = Arc::new(move |method, params| {
1206 let state = query_state.clone();
1207 let session = query_session.clone();
1208 Box::pin(async move { query_inspector_session(&state, &session, &method, params).await })
1209 });
1210 Ok((runtime, query))
1211}
1212
1213fn chrome_devtools_source_for_session(session: &InspectorSession) -> Option<&str> {
1214 if session

Callers 1

Calls 6

build_targetFunction · 0.85
runtime_from_targetFunction · 0.85
query_inspector_sessionFunction · 0.85
cloneMethod · 0.65

Tested by

no test coverage detected