jsonptr/
lib.rs

1// rustdoc + README hack: https://linebender.org/blog/doc-include
2//! <style>.rustdoc-hidden { display: none; }</style>
3//! [`Pointer`]: https://docs.rs/jsonptr/latest/jsonptr/struct.Pointer.html
4//! [`Pointer::tokens`]: crate::Pointer::tokens
5//! [`Pointer::components`]: crate::Pointer::components
6//! [`Pointer::parse`]: crate::Pointer::parse
7//! [`Pointer::resolve`]: crate::Pointer::resolve
8//! [`Pointer::resolve_mut`]: crate::Pointer::resolve_mut
9//! [`Pointer::assign`]: crate::Pointer::assign
10//! [`Pointer::delete`]: crate::Pointer::delete
11//! [`PointerBuf::parse`]: crate::PointerBuf::parse
12//! [`PointerBuf`]: crate::PointerBuf
13//! [`from_tokens`]: crate::PointerBuf::from_tokens
14//! [`Token`]: crate::Token
15//! [`Tokens`]: crate::Tokens
16//! [`Components`]: crate::Components
17//! [`Component`]: crate::Component
18//! [`index`]: crate::index
19//! [`tokens`]: crate::Pointer::tokens
20//! [`components`]: crate::Pointer::components
21//! [`resolve`]: crate::resolve
22//! [`assign`]: crate::asign
23//! [`delete`]: crate::delete
24//! [`Resolve`]: crate::resolve::Resolve
25//! [`ResolveMut`]: crate::resolve::ResolveMut
26//! [`Assign`]: crate::assign::Assign
27//! [`Delete`]: crate::delete::Delete
28//! [`serde`]: https://docs.rs/serde/1.0/serde/index
29//! [`serde_json`]: https://docs.rs/serde_json/1.0/serde_json/enum.Value.html
30//! [`serde_json::Value`]: https://docs.rs/serde_json/1.0/serde_json/enum.Value.html
31//! [`toml`]: https://docs.rs/toml/0.8/toml/enum.Value.html
32//! [`toml::Value`]: https://docs.rs/toml/0.8/toml/enum.Value.html
33//! [`Path`]: https://doc.rust-lang.org/std/path/struct.Path.html
34//! [`PathBuf`]: https://doc.rust-lang.org/std/path/struct.PathBuf.html
35
36#![doc = include_str!("../README.md")]
37#![warn(missing_docs)]
38#![deny(clippy::all, clippy::pedantic)]
39#![cfg_attr(not(feature = "std"), no_std)]
40#![allow(
41    clippy::module_name_repetitions,
42    clippy::into_iter_without_iter,
43    clippy::needless_pass_by_value,
44    clippy::expect_fun_call,
45    clippy::must_use_candidate,
46    clippy::similar_names
47)]
48
49#[cfg_attr(not(feature = "std"), macro_use)]
50extern crate alloc;
51
52#[cfg(feature = "assign")]
53pub mod assign;
54#[cfg(feature = "assign")]
55pub use assign::Assign;
56
57#[cfg(feature = "delete")]
58pub mod delete;
59#[cfg(feature = "delete")]
60pub use delete::Delete;
61
62#[cfg(feature = "resolve")]
63pub mod resolve;
64#[cfg(feature = "resolve")]
65pub use resolve::{Resolve, ResolveMut};
66
67mod pointer;
68pub use pointer::{ParseError, Pointer, PointerBuf};
69
70mod token;
71pub use token::{InvalidEncodingError, Token, Tokens};
72
73pub mod index;
74
75mod component;
76pub use component::{Component, Components};
77
78#[cfg(test)]
79mod arbitrary;