@a1um1/lightweight-charts-react-wrapper
Version:

53 lines (52 loc) • 2.48 kB
TypeScript
import { type ISeriesApi, type SeriesDataItemTypeMap, type AreaSeriesPartialOptions, type BarSeriesPartialOptions, type CandlestickSeriesPartialOptions, type HistogramSeriesPartialOptions, type LineSeriesPartialOptions, type BaselineSeriesPartialOptions, type CustomSeriesPartialOptions, type SeriesOptionsMap, type SeriesMarker, type Time, type ICustomSeriesPaneView } from "lightweight-charts";
import { type ActionResult } from "./utils.js";
import type { ChartActionResult } from "./chart.js";
export interface AreaSeriesParams extends AreaSeriesPartialOptions {
type: "Area";
reactive?: boolean;
data: SeriesDataItemTypeMap["Area"][];
markers?: SeriesMarker<Time>[];
}
export interface BarSeriesParams extends BarSeriesPartialOptions {
type: "Bar";
reactive?: boolean;
data: SeriesDataItemTypeMap["Bar"][];
markers?: SeriesMarker<Time>[];
}
export interface CandlestickSeriesParams extends CandlestickSeriesPartialOptions {
type: "Candlestick";
reactive?: boolean;
data: SeriesDataItemTypeMap["Candlestick"][];
markers?: SeriesMarker<Time>[];
}
export interface HistogramSeriesParams extends HistogramSeriesPartialOptions {
type: "Histogram";
reactive?: boolean;
data: SeriesDataItemTypeMap["Histogram"][];
markers?: SeriesMarker<Time>[];
}
export interface LineSeriesParams extends LineSeriesPartialOptions {
type: "Line";
reactive?: boolean;
data: SeriesDataItemTypeMap["Line"][];
markers?: SeriesMarker<Time>[];
}
export interface BaselineSeriesParams extends BaselineSeriesPartialOptions {
type: "Baseline";
reactive?: boolean;
data: SeriesDataItemTypeMap["Baseline"][];
markers?: SeriesMarker<Time>[];
}
export interface CustomSeriesParams extends CustomSeriesPartialOptions {
type: "Custom";
reactive?: boolean;
view: ICustomSeriesPaneView<Time, SeriesDataItemTypeMap["Custom"], SeriesOptionsMap["Custom"]>;
data: SeriesDataItemTypeMap["Custom"][];
markers?: SeriesMarker<Time>[];
}
export declare type SeriesActionParams = AreaSeriesParams | BarSeriesParams | CandlestickSeriesParams | HistogramSeriesParams | LineSeriesParams | BaselineSeriesParams | CustomSeriesParams;
export declare type SeriesActionResult<T extends SeriesActionParams> = ActionResult<T> & {
subject(): ISeriesApi<T["type"]>;
alive(): boolean;
};
export declare function series<T extends SeriesActionParams>(target: ChartActionResult, params: T): SeriesActionResult<T>;