czv/czv-wasm
2024-06-20 17:11:28 -04:00
..
examples docs: update info about WASM web-demo example 2024-06-20 17:11:28 -04:00
src docs: update info about WASM web-demo example 2024-06-20 17:11:28 -04:00
tests refactor: use options object for WASM function args, improve docs 2024-06-20 16:28:53 -04:00
Cargo.toml refactor: use options object for WASM function args, improve docs 2024-06-20 16:28:53 -04:00
README.md docs: clarify WASM docs example written in TS 2024-06-20 17:05:30 -04:00

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.

The following example is written in TypeScript:

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: 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-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.