UNPKG

@ulachart/pro

Version:

Financial chart built out of the box based on Ula charts.

92 lines (87 loc) 2.62 kB
import { DeepPartial, KLineData, Styles } from '@ulachart/core'; export interface SymbolInfo { ticker: string; name?: string; shortName?: string; exchange?: string; market?: string; pricePrecision?: number; volumePrecision?: number; priceCurrency?: string; type?: string; logo?: string; } export interface Period { multiplier: number; timespan: string; text: string; } export type DatafeedSubscribeCallback = (data: KLineData) => void; export interface Datafeed { searchSymbols(search?: string): Promise<SymbolInfo[]>; getHistoryKLineData(symbol: SymbolInfo, period: Period, from: number, to: number): Promise<KLineData[]>; subscribe(symbol: SymbolInfo, period: Period, callback: DatafeedSubscribeCallback): void; unsubscribe(symbol: SymbolInfo, period: Period): void; } export interface ChartProOptions { container: string | HTMLElement; styles?: DeepPartial<Styles>; watermark?: string | Node; theme?: string; locale?: string; drawingBarVisible?: boolean; symbol: SymbolInfo; period: Period; periods?: Period[]; timezone?: string; mainIndicators?: string[]; subIndicators?: string[]; datafeed: Datafeed; } export interface ChartPro { setTheme(theme: string): void; getTheme(): string; setStyles(styles: DeepPartial<Styles>): void; getStyles(): Styles; setLocale(locale: string): void; getLocale(): string; setTimezone(timezone: string): void; getTimezone(): string; setSymbol(symbol: SymbolInfo): void; getSymbol(): SymbolInfo; setPeriod(period: Period): void; getPeriod(): Period; } export declare class DefaultDatafeed implements Datafeed { constructor(apiKey: string); private _apiKey; private _prevSymbolMarket?; private _ws?; searchSymbols(search?: string): Promise<SymbolInfo[]>; getHistoryKLineData(symbol: SymbolInfo, period: Period, from: number, to: number): Promise<KLineData[]>; subscribe(symbol: SymbolInfo, period: Period, callback: DatafeedSubscribeCallback): void; unsubscribe(symbol: SymbolInfo, period: Period): void; } export declare class KLineChartPro implements ChartPro { constructor(options: ChartProOptions); private _container; private _chartApi; setTheme(theme: string): void; getTheme(): string; setStyles(styles: DeepPartial<Styles>): void; getStyles(): Styles; setLocale(locale: string): void; getLocale(): string; setTimezone(timezone: string): void; getTimezone(): string; setSymbol(symbol: SymbolInfo): void; getSymbol(): SymbolInfo; setPeriod(period: Period): void; getPeriod(): Period; } declare function load(key: string, ls: any): void; export { load as loadLocales, }; export as namespace ulachartpro; export {};