UNPKG

chart-0714

Version:

Professional trading chart library with advanced customization for trading journal apps

88 lines (87 loc) 2.15 kB
export interface LineSeriesOptions { id?: string; name: string; data: Array<{ time: number; value: number; }>; color?: string; lineWidth?: number; visible?: boolean; yAxisPosition?: 'left' | 'right'; showInLegend?: boolean; } export interface LineSeries { id: string; name: string; values: Float32Array; times: Float64Array; color: string; lineWidth: number; visible: boolean; yAxisPosition: 'left' | 'right'; showInLegend: boolean; priceRange: [number, number]; } export declare class LineSeriesManager { private series; private nextId; /** * 라인 시리즈 추가 */ addLineSeries(options: LineSeriesOptions): string; /** * 라인 시리즈 업데이트 */ updateLineSeries(id: string, data: Array<{ time: number; value: number; }>): void; /** * 라인 시리즈 제거 */ removeLineSeries(id: string): void; /** * 라인 시리즈 가시성 토글 */ toggleVisibility(id: string): void; /** * 라인 시리즈 스타일 업데이트 */ updateStyle(id: string, style: Partial<Pick<LineSeries, 'color' | 'lineWidth'>>): void; /** * 라인 시리즈 표시/숨김 설정 */ setSeriesVisibility(id: string, visible: boolean): void; /** * 모든 라인 시리즈 가져오기 */ getAllSeries(): LineSeries[]; /** * 가시적인 라인 시리즈만 가져오기 */ getVisibleSeries(): LineSeries[]; /** * 특정 라인 시리즈 가져오기 */ getSeries(id: string): LineSeries | undefined; /** * 전체 가격 범위 계산 */ getTotalPriceRange(): [number, number]; /** * 특정 시간 범위의 데이터 포인트 가져오기 */ getDataInTimeRange(timeRange: [number, number]): Map<string, { times: Float64Array; values: Float32Array; }>; /** * 이진 탐색으로 시간 인덱스 찾기 */ private binarySearchTime; /** * 모든 라인 시리즈 제거 */ clear(): void; }