1mod decoder;
2mod encoder;
3mod error;
4mod input;
5mod options;
6mod quoting;
7mod tokens;
8mod validator;
9
10pub use crate::decoder::{decode_reader, decode_str};
11pub use crate::encoder::encode_value;
12pub use crate::error::ToonifyError;
13pub use crate::input::{load_from_reader, load_from_str, SourceFormat};
14pub use crate::options::{
15 DecoderOptions, Delimiter, EncoderOptions, KeyFoldingMode, PathExpansionMode,
16};
17pub use crate::tokens::{count_tokens, TokenModel};
18pub use crate::validator::{validate_reader, validate_str};
19
20pub fn convert_str(
22 input: &str,
23 format: SourceFormat,
24 options: EncoderOptions,
25) -> Result<String, ToonifyError> {
26 let value = load_from_str(input, format)?;
27 encode_value(&value, &options)
28}
29
30pub fn convert_reader<R: std::io::Read>(
32 mut reader: R,
33 format: SourceFormat,
34 options: EncoderOptions,
35) -> Result<String, ToonifyError> {
36 let mut buf = String::new();
37 std::io::Read::read_to_string(&mut reader, &mut buf)?;
38 convert_str(&buf, format, options)
39}