Skip to main content

jjpwrgem_parse/
lib.rs

1#![feature(portable_simd, new_range)]
2pub mod ast;
3mod check;
4pub mod diagnostics;
5pub mod error;
6pub mod format;
7pub mod jsonlines;
8pub mod tokens;
9mod traverse;
10
11pub use check::validate_str;
12
13pub use crate::error::{Error, ErrorKind, Result};
14
15pub fn format_str(json: &str, request: &format::FormatRequest) -> Result<String> {
16    match request {
17        format::FormatRequest::Json(mode) => match mode {
18            format::JsonMode::Prettify(opts) => {
19                format::prettify_str(json, opts.preferred_width, opts.line_ending)
20            }
21            format::JsonMode::Uglify => format::uglify_str(json),
22        },
23        format::FormatRequest::Jsonlines(opts) => jsonlines::format(json, opts.line_ending),
24    }
25}