# ReifyDB Webassembly
WebAssembly bindings for [ReifyDB](https://github.com/reifydb/reifydb), enabling client-side database operations in browsers and Node.js.
## Features
- Browser Native: Run ReifyDB queries entirely in the browser
- In-Memory: Fast, pure-memory storage using HashMap and BTreeMap
- Lightweight: ~6 MB compressed bundle
- Full RQL: Complete ReifyDB Query Language support
## Quick Start
### Browser (ES Modules)
```javascript
import init, { WasmDB } from './pkg/web/reifydb_engine_wasm.js';
await init();
const db = new WasmDB();
const results = await db.query(`
FROM [{ name: "Alice", age: 30 }]
FILTER age > 25
`);
```
### Node.js
```javascript
const { WasmDB } = require('./pkg/node/reifydb_engine_wasm.js');
const db = new WasmDB();
// ... use db
```
## Building
### Prerequisites
```bash
# Install Rust
# Install wasm-pack
# Add WASM target
rustup target add wasm32-unknown-unknown
```
### Build All Targets
```bash
./build.sh
```
This generates:
- `pkg/web/` - Browser with ES modules
- `pkg/node/` - Node.js
- `pkg/bundler/` - Webpack/Vite/etc.
## Examples
See the `examples/` directory:
- `examples/browser/` - Interactive playground
## Documentation
Full API documentation and guides: [docs/](./docs/)
## License
Apache-2.0