refactor: use options object for WASM function args, improve docs

- Add relevant links to all READMEs and source code
- Resolve clippy lints

czv:

- Add more docs for top-level items
- Add suggestion to use builder methods instead of functions
- Disable slice and slice tests until operation is complete

czv-wasm:

- Use tsify_next for allowing objects as parameters
- Add nodejs example and instructions
This commit is contained in:
rzmk 2024-06-20 16:28:53 -04:00
parent ce260e9491
commit e84c5bec8b
No known key found for this signature in database
20 changed files with 564 additions and 168 deletions

View file

@ -2,8 +2,17 @@
czv is CSV content manipulation/analysis libraries with support for Rust, Python, and WebAssembly (JavaScript and TypeScript).
## Links
- czv GitHub repository: <https://github.com/rzmk/czv>
- Rust: [crates.io/crates/czv](https://crates.io/crates/czv) ([source code](https://github.com/rzmk/czv/tree/main/czv))
- WebAssembly (JavaScript/TypeScript): [npmjs.com/package/czv](https://www.npmjs.com/package/czv) ([source code](https://github.com/rzmk/czv/tree/main/czv-wasm))
- Python: [pypi.org/project/czv](https://pypi.org/project/czv/) ([source code](https://github.com/rzmk/czv/tree/main/czv-python))
## Installation and examples
In the following examples we'll get the total number of rows in the CSV data including the header row.
### Rust
```bash
@ -11,10 +20,7 @@ cargo install czv
```
```rust
use czv::{
count::RowCount,
Result
};
use czv::{RowCount, Result};
fn main() -> Result<()> {
let data = "\
@ -25,8 +31,9 @@ strawberry,1.50
";
let output = RowCount::new()
.file_data(data)
.include_header_row(true)
.execute()?;
println!("{output}"); // 3
println!("{output}"); // 4
Ok(())
}
```
@ -49,7 +56,11 @@ apple,2.50
banana,3.00
strawberry,1.50`;
const output = czv.rowCount(data);
const output = czv.rowCount({
file_data: data,
include_header_row: true,
});
console.log(output);
```