Mountain/Command/LanguageFeature/
validation.rs

1//! # LanguageFeature - Validation
2//!
3//! Validation helper for language feature requests
4
5use serde_json;
6
7/// Validates language feature request parameters.
8pub(super) fn validate_language_feature_request(
9	request_type:&str,
10	uri:&str,
11	position:&serde_json::Value,
12) -> Result<(), String> {
13	if uri.is_empty() {
14		return Err(format!("Empty URI for {} request", request_type));
15	}
16
17	// Validate position format
18	if let Some(line) = position.get("line") {
19		if !line.is_u64() {
20			return Err(format!("Invalid line position for {} request", request_type));
21		}
22	} else {
23		return Err(format!("Missing line position for {} request", request_type));
24	}
25
26	if let Some(character) = position.get("character") {
27		if !character.is_u64() {
28			return Err(format!("Invalid character position for {} request", request_type));
29		}
30	} else {
31		return Err(format!("Missing character position for {} request", request_type));
32	}
33
34	Ok(())
35}