tabnas-transduce (Rust)
The tabnas-transduce crate, library tabnas_transduce. See the
repository README and AGENTS.md, and
docs/architecture.md for the design.
use ;
let value = parse?;
let mut count = default;
ValueSource.run?;
assert_eq!; // { key [ 1 2 3 ] } end
# Ok::
The whole chain, from a text to table rows, with the rows streamed from the parse and pruned from the engine's tree as they go:
use ;
let text = r#"{"meta":[{"title":"Id","path":["id"]}],"rows":[{"id":1},{"id":2}]}"#;
let rows = root.property.each_index;
let binding = TableBinding ;
let table = new?;
let = new
.grammar
.mode
.run_owned;
outcome?;
let table = table.into_inner;
assert_eq!;
assert_eq!;
assert!;
# Ok::
The engine and the grammars are sibling checkouts named by path in
Cargo.toml. From this directory: cargo test --all-targets,
cargo test --doc, cargo clippy --all-targets --all-features -- -D warnings.