1#![deny(missing_docs)]
18#![deny(rust_2018_idioms)]
19#![deny(clippy::pedantic)]
20#![deny(clippy::nursery)]
21#![deny(clippy::cargo)]
22#![allow(clippy::multiple_crate_versions)]
24
25pub mod diffable;
27pub mod error;
29pub mod format;
31pub mod operations;
33pub mod patchable;
35pub mod path;
37pub mod predicate;
39pub mod schema;
41pub mod tape_source;
43pub mod value;
45pub mod value_builder;
47
48pub use error::{DsonError, Result};
50pub use format::{
51 Confidence, DetectionResult, FormatKind, FormatSpecificKind, NodeKind, ParsingContext,
52};
53pub use operations::{DsonOperation, MergeStrategy};
54pub use path::{
55 ParsedPath, PathCache, PathComponent, PathComponentRange, PathComponentRef, parse_simd,
56 parse_simd_ref_into,
57};
58pub use predicate::{
59 ContextPredicate, FidelityAnnotation, KindPredicate, LossCategory, ParsedPredicate,
60};
61pub use schema::{CompiledSchema, MatchType, SchemaFilter, SchemaPattern};
62pub use value::OperationValue;
63
64pub use tape_source::{TapeIterator, TapeNodeKind, TapeNodeRef, TapeSource, TapeValue};
66pub use value_builder::{JsonBuilder, PathSegment, ValueBuilder, set_at_path_json};
67
68#[cfg(feature = "toml")]
70pub use value_builder::TomlBuilder;
71#[cfg(feature = "yaml")]
72pub use value_builder::YamlBuilder;
73#[cfg(feature = "csv")]
74pub use value_builder::{CsvBuilder, CsvValue};
75#[cfg(feature = "ison")]
76pub use value_builder::{IsonBuilder, IsonValue};
77#[cfg(feature = "toon")]
78pub use value_builder::{ToonBuilder, ToonValue};
79
80pub use diffable::{
82 DiffOptions, DiffValueKind, DiffableValue, GenericPatch, GenericPatchOperation,
83};
84pub use patchable::{PatchError, Patchable};