UNPKG

react-native-stock-graphs

Version:

High-performance, interactive stock charts for React Native with TypeScript support

159 lines 4.38 kB
import { CandleData, LineData, DateRange, ChartDimensions } from '../types'; /** * Convert timestamp to x-coordinate */ export declare function timeToX(timestamp: number, timeRange: { min: number; max: number; }, dimensions: ChartDimensions): number; export declare function timeToX(timestamp: number, timeRange: { min: number; max: number; }, chartWidth: number, padding?: { left: number; right: number; }): number; /** * Convert price to y-coordinate */ export declare function priceToY(price: number, priceRange: { min: number; max: number; }, dimensions: ChartDimensions): number; export declare function priceToY(price: number, priceRange: { min: number; max: number; }, chartHeight: number, padding?: { top: number; bottom: number; }): number; /** * Convert x-coordinate to timestamp */ export declare function xToTime(x: number, timeRange: { min: number; max: number; }, dimensions: ChartDimensions): number; export declare function xToTime(x: number, timeRange: { min: number; max: number; }, chartWidth: number, padding?: { left: number; right: number; }): number; /** * Convert y-coordinate to price */ export declare function yToPrice(y: number, priceRange: { min: number; max: number; }, dimensions: ChartDimensions): number; export declare function yToPrice(y: number, priceRange: { min: number; max: number; }, chartHeight: number, padding?: { top: number; bottom: number; }): number; /** * Get time range from data */ export declare const getTimeRange: (data: CandleData[] | LineData[]) => { min: number; max: number; }; /** * Get price range from candle data or line data */ export declare function getPriceRange(data: CandleData[]): { min: number; max: number; }; export declare function getPriceRange(data: LineData[]): { min: number; max: number; }; /** * Get value range from line data */ export declare const getValueRange: (data: LineData[]) => { min: number; max: number; }; /** * Filter data by date range */ export declare const filterDataByRange: <T extends CandleData | LineData>(data: T[], range: DateRange | { min: number; max: number; }) => T[]; /** * Decimate data for performance (keep every nth point) */ export declare const decimateData: <T extends CandleData | LineData>(data: T[], maxPoints: number) => T[]; /** * Find nearest data point to coordinates */ export declare function findNearestDataPoint<T extends CandleData | LineData>(data: T[], targetTime: number): { point: T; index: number; time: number; } | null; export declare function findNearestDataPoint<T extends CandleData | LineData>(data: T[], x: number, timeRange: { min: number; max: number; }, chartWidth: number, padding?: { left: number; right: number; }): { point: T; index: number; } | null; /** * Generate nice tick values for axis */ export declare const generateTicks: (min: number, max: number, maxTicks?: number) => number[]; /** * Format price for display */ export declare const formatPrice: (price: number, decimals?: number) => string; /** * Format timestamp for display */ export declare const formatTime: (timestamp: number, format?: "time" | "date" | "datetime") => string; /** * Calculate visible data range based on zoom and pan */ export declare const calculateVisibleRange: (data: CandleData[] | LineData[], zoom: number, panX: number, chartWidth: number) => { startIndex: number; endIndex: number; visibleData: (CandleData | LineData)[]; }; /** * Clamp value between min and max */ export declare const clamp: (value: number, min: number, max: number) => number; /** * Linear interpolation */ export declare const lerp: (start: number, end: number, factor: number) => number; /** * Calculate distance between two points */ export declare function distance(point1: { x: number; y: number; }, point2: { x: number; y: number; }): number; export declare function distance(x1: number, y1: number, x2: number, y2: number): number; /** * Throttle function calls */ export declare const throttle: <T extends (...args: any[]) => any>(func: T, delay: number) => T; /** * Debounce function calls */ export declare const debounce: <T extends (...args: any[]) => any>(func: T, delay: number) => T; //# sourceMappingURL=chart.d.ts.map