Skip to main content

parse_dsn

Function parse_dsn 

Source
pub fn parse_dsn(url: &str) -> Option<(&str, DsnTarget<'_>)>
Expand description

Parse a dsn: URL into a datasource name and target.

Returns None if the URL doesn’t start with dsn: or has no name.

§Examples

use what_core::datasource::{parse_dsn, DsnTarget};

let (name, target) = parse_dsn("dsn:users.profiles").unwrap();
assert_eq!(name, "users");
assert_eq!(target, DsnTarget::Collection("profiles"));

let (name, target) = parse_dsn("dsn:inventory/products").unwrap();
assert_eq!(name, "inventory");
assert_eq!(target, DsnTarget::Path("/products"));

let (name, target) = parse_dsn("dsn:mydb").unwrap();
assert_eq!(name, "mydb");
assert_eq!(target, DsnTarget::Root);