valdo-js
v0.0.1
Published
JavaScript/WASM bindings for Valdo time series anomaly detection library
Maintainers
Readme
Valdo JavaScript/WASM Bindings
JavaScript and WebAssembly bindings for the Valdo time series anomaly detection library.
Quick Start
Installation
npm install valdo-jsBasic Usage
import init, { Detector, AnomalyStatus } from 'valdo-js';
// Initialize WASM
await init();
// Create detector
const detector = new Detector(BigInt(10), 0.0001, 0.998, BigInt(200));
// Train on historical data
const timestamps = new Float64Array([1, 2, 3, 4, 5]);
const values = new Float64Array([10, 11, 12, 13, 14]);
detector.train(timestamps, values);
// Detect anomalies
const result = detector.detect(6, 20);
console.log(result === AnomalyStatus.Normal ? 'Normal' : 'Anomaly');
// Always cleanup
detector.free();Development
Building
Build the WASM package:
npm run build # Build for web (default)
npm run build-nodejs # Build for Node.js
npm run build-bundler # Build for bundlers
npm run build-all # Build all targetsDevelopment Server
Run the example with a local server:
npm run dev # Builds and serves example
npm run serve # Just serves example (requires existing build)Publishing
npm run publish-dry # Test publication
npm run publish-npm # Actual publication to npmExample
See the example/ directory for a complete web application demonstrating real-time anomaly detection with interactive charts.
Run the example:
npm run dev
# Open http://localhost:8000Package Structure
bindings/js/
├── src/ # Rust source code
├── pkg/ # Generated WASM package (npm publishable)
├── example/ # Web demo application
├── Cargo.toml # Rust package configuration
└── package.json # npm package configurationAPI Documentation
For complete API documentation, see the package README or visit npm.
License
MIT © Mathew Shen
