MCPcopy Create free account
hub / github.com/NativeScript/SimDeck / build_metro_target

Function build_metro_target

packages/server/src/devtools.rs:647–684  ·  view source on GitHub ↗
(
    udid: &str,
    http_origin: Option<&str>,
    access_token: Option<&str>,
    port: u16,
    entry: &Value,
)

Source from the content-addressed store, hash-verified

645}
646
647fn build_metro_target(
648 udid: &str,
649 http_origin: Option<&str>,
650 access_token: Option<&str>,
651 port: u16,
652 entry: &Value,
653) -> ChromeDevToolsTarget {
654 let metro_id = string_value(entry, "id").unwrap_or_else(|| "target".to_owned());
655 let id = format!("metro-{port}-{}", path_safe_id(&metro_id));
656 let app_id = string_value(entry, "appId");
657 let title = string_value(entry, "title")
658 .or_else(|| app_id.clone())
659 .unwrap_or_else(|| "React Native".to_owned());
660 let description = string_value(entry, "description")
661 .unwrap_or_else(|| "React Native Metro DevTools target".to_owned());
662 let web_socket_path = format!("/api/simulators/{udid}/devtools/targets/{id}/socket");
663 let web_socket_path = websocket_path_with_access_token(web_socket_path, access_token);
664 let web_socket_debugger_url = websocket_url(http_origin.unwrap_or(""), &web_socket_path);
665 let devtools_frontend_url = metro_devtools_frontend_url(port, entry, &web_socket_debugger_url);
666 let app_name = app_id.clone().or_else(|| Some(title.clone()));
667
668 ChromeDevToolsTarget {
669 id,
670 title,
671 target_type: string_value(entry, "type").unwrap_or_else(|| "node".to_owned()),
672 url: app_id
673 .as_deref()
674 .map(|app_id| format!("metro://{app_id}/{udid}"))
675 .unwrap_or_else(|| format!("metro://{udid}/{metro_id}")),
676 description,
677 devtools_frontend_url,
678 web_socket_debugger_url,
679 source: SOURCE_REACT_NATIVE_METRO.to_owned(),
680 process_identifier: 0,
681 bundle_identifier: app_id,
682 app_name,
683 }
684}
685
686fn metro_websocket_debugger_url(port: u16, entry: &Value) -> String {
687 chrome_inspector_websocket_debugger_url(port, entry)

Calls 5

string_valueFunction · 0.70
websocket_urlFunction · 0.70
cloneMethod · 0.65