Skip to main content

validate_node_id

Function validate_node_id 

Source
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());