pub fn validate_node_id(s: &str) -> Result<(), AnalysisError>Expand description
Validates a node ID according to canonical rules.
A valid node ID is:
- non-empty
- uses forward slashes only (no backslashes)
- no leading
./ - no trailing
/ - no absolute path component (no leading
/) - no
..components
§Errors
Returns AnalysisError::InvalidNodeId with the offending string on failure.
§Examples
use sdivi_core::input::validate_node_id;
assert!(validate_node_id("src/lib.rs").is_ok());
assert!(validate_node_id("Cargo.toml").is_ok());
assert!(validate_node_id("./foo").is_err());
assert!(validate_node_id("foo/").is_err());
assert!(validate_node_id("").is_err());
assert!(validate_node_id("../foo").is_err());
assert!(validate_node_id("/foo").is_err());