MCPcopy Create free account
hub / github.com/aeroxy/chrome-devtools-cli / validate_args

Function validate_args

src/commands/executor.rs:83–108  ·  view source on GitHub ↗

Check for unknown arguments and return an error message if any are found.

(cmd: &str, args: &serde_json::Value)

Source from the content-addressed store, hash-verified

81
82/// Check for unknown arguments and return an error message if any are found.
83fn validate_args(cmd: &str, args: &serde_json::Value) -> Result<()> {
84 let known = known_args(cmd);
85 if let Some(obj) = args.as_object() {
86 let unknown: Vec<&String> = obj
87 .keys()
88 .filter(|k| {
89 let key = k.as_str();
90 // dialog_action is handled globally for all page-level commands
91 if key == "dialog_action" && !is_browser_level(cmd) {
92 return false;
93 }
94 !known.contains(&key)
95 })
96 .collect();
97 if !unknown.is_empty() {
98 let unknown_names: Vec<&str> = unknown.iter().map(|s| s.as_str()).collect();
99 bail!(
100 "Unknown argument(s) for '{}': {}. Expected: {}",
101 cmd,
102 unknown_names.join(", "),
103 known.join(", ")
104 );
105 }
106 }
107 Ok(())
108}
109
110/// Whether a command operates at the browser level (no page session needed).
111///

Callers 1

execute_commandFunction · 0.85

Calls 3

known_argsFunction · 0.85
is_browser_levelFunction · 0.85
is_emptyMethod · 0.80

Tested by

no test coverage detected