chart-page-handler
v1.0.1
Published
Light weight chart page handler.
Readme
chart-page-handler
A lightweight utility for handling live chart data streams from the server and transforming them into candlestick chart data ready to display on the screen.
🚀 Features
- Live Data Handling: Receives real-time price updates from the server.
- Candlestick Generation: Automatically converts incoming data into OHLC (Open, High, Low, Close) candle structures.
- Chart Ready Output: Designed to work seamlessly with popular charting libraries.
- Lightweight & Fast: Minimal overhead with efficient data processing.
- Flexible Integration: Can be used with Express servers, WebSockets, REST APIs, or any custom data source.
💿 Installation
Install the package via npm:
npm install chart-page-handler🛠️ Usage
1. Create a Chart Handler
Initialize the handler and configure the candle interval:
import { ChartPageHandler } from 'chart-page-handler';
const chart = new ChartPageHandler({
interval: '1m'
});2. Feed Live Data
Pass incoming price data from your server:
chart.update({
price: 105.32,
timestamp: Date.now()
});3. Get Candlestick Data
Retrieve generated candle data for displaying on your chart:
const candles = chart.getCandles();
console.log(candles);Example output:
[
{
time: 1711111111111,
open: 104.80,
high: 105.50,
low: 104.70,
close: 105.32
}
]⚙️ Options
The ChartPageHandler constructor accepts a configuration object:
| Option | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| interval | string | "1m" | Candle timeframe (1m, 5m, 15m, 1h, etc.). |
| maxCandles | number | 500 | Maximum number of candles to keep in memory. |
| autoUpdate | boolean | true | Automatically updates candles when new data arrives. |
| timezone | string | "UTC" | Timezone used for candle timestamps. |
📊 Supported Chart Libraries
Works with any charting library that accepts OHLC candle data, including:
- TradingView Lightweight Charts
- ApexCharts
- Highcharts Stock
- ECharts
- Chart.js (with financial plugins)
🔄 Example with WebSocket
import { ChartPageHandler } from 'chart-page-handler';
const chart = new ChartPageHandler({
interval: '1m'
});
socket.on('price-update', (data) => {
chart.update(data);
const candles = chart.getCandles();
// Update your chart with the latest candles
updateChart(candles);
});⚡ Use Cases
- Crypto trading dashboards
- Stock market applications
- Forex charting tools
- Real-time analytics systems
- Financial monitoring platforms
⚖️ License
MIT
