v0.7.0: Node.js/TypeScript bindings via napi-rs
Node.js / TypeScript bindings
Native Rust performance in JavaScript via napi-rs. All I/O operations are async (libuv thread pool). Sync variants available for scripts/CLI.
Install
npm install qvdrsUsage
import { readQvd, saveQvd, JsExistsIndex } from 'qvdrs'
const table = await readQvd('data.qvd')
console.log(table.numRows, table.columns)
await saveQvd(table, 'copy.qvd')API
readQvd/readQvdSync— read QVD filessaveQvd/saveQvdSync— write QVD filesJsQvdTable— full table API (get, filter, head, toJson, symbols, normalize, concatenate, concatenatePk)JsExistsIndex— O(1) EXISTS() lookupsreadQvdFiltered— streaming filtered readsconcatenateQvd/concatenatePkQvd— file-level merge operations
Platforms
| Package | Platform |
|---|---|
qvdrs-win32-x64-msvc |
Windows x64 |
qvdrs-linux-x64-gnu |
Linux x64 |
qvdrs-linux-arm64-gnu |
Linux arm64 |
qvdrs-darwin-x64 |
macOS Intel |
qvdrs-darwin-arm64 |
macOS Apple Silicon |
Requirements
- Node.js 22+
- TypeScript types included
Testing
- 27 unit tests + 418 QVD file roundtrip tests — all passing