From 60ee3ed06b515cf9f31543879bfd4edc204db011 Mon Sep 17 00:00:00 2001 From: Carlos Scheidegger Date: Thu, 13 Nov 2025 17:33:23 -0600 Subject: [PATCH 1/2] wasm json source --- crates/wasm-qmd-parser/src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/wasm-qmd-parser/src/lib.rs b/crates/wasm-qmd-parser/src/lib.rs index 918f8ebf..174cd29b 100644 --- a/crates/wasm-qmd-parser/src/lib.rs +++ b/crates/wasm-qmd-parser/src/lib.rs @@ -83,9 +83,10 @@ fn pandoc_to_qmd(doc: &quarto_markdown_pandoc::pandoc::Pandoc) -> Result JsValue { +pub fn parse_qmd(input: JsValue, include_resolved_locations: JsValue) -> JsValue { let input = as_string(&input, "input"); - let json = wasm_entry_points::parse_qmd(input.as_bytes()); + let include_resolved_locations = as_string(&include_resolved_locations, "input") == "true"; + let json = wasm_entry_points::parse_qmd(input.as_bytes(), include_resolved_locations); JsValue::from_str(&json) } From 8ee43c309f35bd5256200387b778d7c44902520e Mon Sep 17 00:00:00 2001 From: Carlos Scheidegger Date: Thu, 13 Nov 2025 17:34:26 -0600 Subject: [PATCH 2/2] wasm json source --- .../src/wasm_entry_points/mod.rs | 11 ++++++++--- .../tests/test_wasm_entrypoints.rs | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/quarto-markdown-pandoc/src/wasm_entry_points/mod.rs b/crates/quarto-markdown-pandoc/src/wasm_entry_points/mod.rs index 2a6af97b..b5a14323 100644 --- a/crates/quarto-markdown-pandoc/src/wasm_entry_points/mod.rs +++ b/crates/quarto-markdown-pandoc/src/wasm_entry_points/mod.rs @@ -5,14 +5,19 @@ use crate::readers; use crate::utils::output::VerboseOutput; +use crate::writers::json::JsonConfig; use std::io; fn pandoc_to_json( doc: &crate::pandoc::Pandoc, context: &crate::pandoc::ast_context::ASTContext, + include_resolved_locations: bool, ) -> Result { let mut buf = Vec::new(); - match crate::writers::json::write(doc, context, &mut buf) { + let config = JsonConfig { + include_inline_locations: include_resolved_locations, + }; + match crate::writers::json::write_with_config(doc, context, &mut buf, &config) { Ok(_) => { // Nothing to do } @@ -49,7 +54,7 @@ pub fn qmd_to_pandoc( } } -pub fn parse_qmd(input: &[u8]) -> String { +pub fn parse_qmd(input: &[u8], include_resolved_locations: bool) -> String { let (pandoc, context) = qmd_to_pandoc(input).unwrap(); - pandoc_to_json(&pandoc, &context).unwrap() + pandoc_to_json(&pandoc, &context, include_resolved_locations).unwrap() } diff --git a/crates/quarto-markdown-pandoc/tests/test_wasm_entrypoints.rs b/crates/quarto-markdown-pandoc/tests/test_wasm_entrypoints.rs index c21b42a4..7acafcd4 100644 --- a/crates/quarto-markdown-pandoc/tests/test_wasm_entrypoints.rs +++ b/crates/quarto-markdown-pandoc/tests/test_wasm_entrypoints.rs @@ -6,6 +6,6 @@ #[test] fn test_wasm_read_entrypoint() { let input = "# hello _world_.\n"; - let result = quarto_markdown_pandoc::wasm_entry_points::parse_qmd(input.as_bytes()); + let result = quarto_markdown_pandoc::wasm_entry_points::parse_qmd(input.as_bytes(), true); eprintln!("result: {}", result); }