SponsoredAd placement · top

Developers

Convert Buddy

A streaming data processing engine for JavaScript, powered by Rust + WebAssembly.

Install

npm install convert-buddy-js
  • Streaming parsing
  • Format & structure detection
  • Inline transformation
  • High-throughput conversion
  • Browser + Node support
  • Progress & cancellation

Architecture

  • Rust core for deterministic streaming.
  • WASM bindings for browser and Node.
  • Streaming memory model with visibility into telemetry.

Minimal example

import { ConvertBuddy } from "convert-buddy-js";

const csv = 'name,age,city\nAlice,30,NYC\nBob,25,LA';

const cb = new ConvertBuddy({ outputFormat: 'ndjson' });

// Stream API (preferred)
const controller = cb.stream(csv, {
  recordBatchSize: 100,
  onRecords: async (ctrl, records, stats, total) => {
    // process batch
      // Note: async `onRecords` handlers are awaited by the converter,
      // providing automatic backpressure (the converter pauses until the handler resolves).
    await saveToDatabase(records);
    // progress available here via stats / ctrl.recordCount
    console.log(`Processed ${ctrl.recordCount} records; speed=${stats.throughputMbPerSec.toFixed(2)} MB/s`);
  },
  onDone: (stats) => console.log('Done', stats)
});

await controller.done;

Advanced example

const buddy = new ConvertBuddy({
  transform: (r) => ({ ...r, age_group: r.age > 50 ? "senior" : "adult" }),
  onProgress: (stats) => console.log(stats.throughputMbPerSec)
});
SponsoredAd placement · bottom