(source_text: String)
| 66 | |
| 67 | #[wasm_bindgen] |
| 68 | pub fn minify(source_text: String) -> Result<String, serde_wasm_bindgen::Error> { |
| 69 | let allocator = Bump::default(); |
| 70 | let lexer = Lexer::new(&CssAtomSet::ATOMS, source_text.as_str()); |
| 71 | let mut result = Parser::new(&allocator, source_text.as_str(), lexer).parse_entirely::<StyleSheet>(); |
| 72 | if !result.errors.is_empty() { |
| 73 | return Err(serde_wasm_bindgen::Error::new("Parse error")); |
| 74 | } |
| 75 | let mut output_string = String::new(); |
| 76 | if let Some(ref mut stylesheet) = result.output { |
| 77 | let mut transformer = |
| 78 | Transformer::new_in(&allocator, CssMinifierFeature::all_bits(), &CssAtomSet::ATOMS, &source_text); |
| 79 | transformer.transform(stylesheet); |
| 80 | let overlays = transformer.overlays(); |
| 81 | { |
| 82 | let mut stream = CursorOverlaySink::new( |
| 83 | &source_text, |
| 84 | &overlays, |
| 85 | CursorCompactWriteSink::new(&source_text, &mut output_string), |
| 86 | ); |
| 87 | result.to_cursors(&mut stream); |
| 88 | } |
| 89 | } |
| 90 | Ok(output_string) |
| 91 | } |
| 92 | |
| 93 | #[wasm_bindgen] |
| 94 | pub fn format(source_text: String, options: JsValue) -> Result<String, serde_wasm_bindgen::Error> { |
no test coverage detected