Skip to main content

canonize

Function canonize 

Source
pub fn canonize(ke: &str) -> Option<String>
Expand description

Returns the canonical form of a key expression, or None if it is invalid.

§Arguments

  • ke - the key expression to canonicalize.

§Returns

Some(canonical) for a valid ke, applying the canonical-form rules (**/** to **, **/* to */**, $*$* to $*, and a $* chunk to *); None if ke is not a valid key expression.

§Examples

use pamoja_zenoh::keyexpr::canonize;

assert_eq!(canonize("robot/sensor/**/*").as_deref(), Some("robot/sensor/*/**"));
assert_eq!(canonize("a/**/**/b").as_deref(), Some("a/**/b"));
assert_eq!(canonize("a//b"), None); // a doubled slash is not a valid key expression