@ulachart/pro
Version:
Financial chart built out of the box based on Ula charts.
92 lines (87 loc) • 2.62 kB
TypeScript
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 {};