czv/czv-wasm/README.md
rzmk e84c5bec8b
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
2024-06-20 16:28:53 -04:00

1.6 KiB

czv-wasm

WebAssembly (JavaScript and TypeScript) library for czv. czv is a library of CSV-related operations for data engineering and analysis tasks.

Installation and example

bun install czv

Or use npm, pnpm, or yarn instead of bun.

import init, * as czv from "czv";
// Must run `await init()` or `initSync()` first for web use
await init();

const data = `fruits,price
apple,2.50
banana,3.00
strawberry,1.50`;

const output = czv.rowCount({
    file_data: data,
    include_header_row: true,
});

console.log(output);

Development

You must have wasm-pack installed. If you have Cargo installed you may run:

cargo install wasm-pack

Build WASM for web

wasm-pack build --release --target web --out-name czv

Note: Currently you must modify the pkg/package.json by replacing the name from czv-wasm to czv.

Test WASM for browser

wasm-pack test --firefox --release

You may replace --firefox with another browser such as --chrome and --safari.