Skip to content

davebryson/did-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DID Parser

A Rust parser for a decentralized identifier

How to use

  use did_parser::Did;
 
  let example_did = "did:example:21tDAKCERh95uGgKbJNHYp;name=dave/a/b/c?query=hello&say=what#key1";  
  let (_, did)= Did::parse(example_did).unwrap();
  assert_eq!("21tDAKCERh95uGgKbJNHYp", did.id.clone());
  assert_eq!("example", did.method.clone());
        
  // method params
  let map = did.method_params.unwrap();
  assert_eq!(Some(&"dave"), map.get("name"));

  // path
  assert_eq!(vec!["a", "b", "c"], did.path.unwrap());

  // query 
  let map = did.query.unwrap();
  assert_eq!(Some(&"hello"), map.get("query"));
  assert_eq!(Some(&"what"), map.get("say"));

  // fragment
  assert_eq!("key1", did.frag.unwrap()); 

About

🔧 A Rust parser for Decentralized Identifiers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages