Function dmntk_common::to_rdnn

source ·
pub fn to_rdnn(input: &str) -> Option<String>
Expand description

Converts an URI into its RDNN-like equivalent.

Unless the input namespace URI is invalid or does not contain a domain name, this function returns its RDNN-like equivalent. Domain name segments are reversed, path segments order is preserved, all segments are joined with the forward slash / character.

Returns None for namespace URIs that can not be converted to its RDNN-like equivalent.

§Examples

use dmntk_common::to_rdnn;

let rdnn = to_rdnn("https://dmntk.io/system-1/component-1");
assert_eq!(Some("io/dmntk/system-1/component-1".to_string()), rdnn);

let rdnn = to_rdnn("https://dmntk.io");
assert_eq!(Some("io/dmntk".to_string()), rdnn);

let rdnn = to_rdnn("dmntk.io");
assert_eq!(None, rdnn);