UNPKG

valdo-js

Version:

JavaScript/WASM bindings for Valdo time series anomaly detection library

94 lines (66 loc) 2.26 kB
# Valdo JavaScript/WASM Bindings [![npm version](https://img.shields.io/npm/v/valdo-js.svg)](https://www.npmjs.com/package/valdo-js) [![license](https://img.shields.io/npm/l/valdo-js.svg)](https://github.com/shenxiangzhuang/valdo/blob/master/LICENSE) JavaScript and WebAssembly bindings for the Valdo time series anomaly detection library. ## Quick Start ### Installation ```bash npm install valdo-js ``` ### Basic Usage ```javascript 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: ```bash 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 targets ``` ### Development Server Run the example with a local server: ```bash npm run dev # Builds and serves example npm run serve # Just serves example (requires existing build) ``` ### Publishing ```bash npm run publish-dry # Test publication npm run publish-npm # Actual publication to npm ``` ## Example See the `example/` directory for a complete web application demonstrating real-time anomaly detection with interactive charts. Run the example: ```bash npm run dev # Open http://localhost:8000 ``` ## Package 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 configuration ``` ## API Documentation For complete API documentation, see the [package README](./pkg/README.md) or visit [npm](https://www.npmjs.com/package/valdo-js). ## License MIT © [Mathew Shen](https://github.com/shenxiangzhuang)