#json #pointers #yaml #index #content #line-column #information

lincolns

A JSON Pointer index for line/column information within JSON and YAML content

3 unstable releases

0.1.1 Sep 25, 2019
0.1.0 Sep 23, 2019
0.0.0 Sep 23, 2019

#2573 in Parser implementations

31 downloads per month

MIT license

14KB
292 lines

👉 #️⃣

lincolns

A JSON Pointer index for line/column information within JSON and YAML content


📦 install

Add the following to your Cargo.toml file's [dependencies] heading

[dependencies]
lincolns = "0.1"

🤸 usage

Lincolns exposes two sets of operations: one to load YAML/JSON content into an index for lookup and one to perform the lookup

use lincolns::Position;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
  Ok(
    println!(
      "{:#?}",
      from_str("path/to/file.yml")?.get("/path/to/field")
    )
  )
}

If you care to see what JSON pointer paths are available you can iterate over them using iter

use lincolns::from_str;
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
  for (ptr, pos) in from_str("path/to/file.yml")?.iter() {
    println!("{} => {:?}", ptr, pos);
  }
  Ok(())
}

That's it.

🤔 lincolns?

lin(e and )col(umn)n(umber)s

Doug Tangren (softprops) 2019

Dependencies

~275KB