czv-wasm
v0.0.1
Published
WASM library for performing CSV-related functions for data engineering and analysis.
Readme
czv-wasm
WebAssembly (JavaScript and TypeScript) library for czv. czv is a library of CSV-related operations for data engineering and analysis tasks.
Links
- czv GitHub repository: https://github.com/rzmk/czv
- Rust: crates.io/crates/czv (source code)
- WebAssembly (JavaScript/TypeScript): npmjs.com/package/czv-wasm (source code)
- Python: pypi.org/project/czv (source code)
Installation and example
bun install czv-wasmOr use npm, pnpm, or yarn instead of bun.
The following example is written in TypeScript:
import init, * as czv from "czv-wasm";
// 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: number = 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-packBuild WASM for web
wasm-pack build --release --target webNote: 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 --releaseYou may replace --firefox with another browser such as --chrome and --safari.
Publish package to npmjs.com
Getting a Package name too similar to existing package csv when trying to publish the package as czv so we publish the package as czv-wasm.
- Build the
pkgfolder withwasm-pack build --release --target web. - Run
cd pkg.
- Run
npm pkg fixas suggested. - Run
npm publish.
