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}