feat(data): expose CandleReader (CSV) natively in all 10 languages (#311)
Add the data-layer CSV candle reader to every binding so loading OHLCV candles from a CSV no longer needs a per-language CSV/dataframe dependency. - C ABI: wickra_candle_reader_new(bytes, len) / _count / _read / _free over an opaque CandleReader handle (parse the whole buffer up front, then drain). - Native: Node/WASM CandleReader.read() -> Candle[], Python read() -> list[tuple]. - C-ABI languages: Go Read() []Candle, C# Candle[] Read(), Java Candle[] read(), R read() S3 generic (n x 6 matrix); C / C++ call the C ABI directly. - Cross-language golden testdata/golden/data_csv*.csv pins the parsed candles bit-for-bit across every binding. Verified locally across Rust (test+clippy+fmt), Node, WASM, Python, C#, Go, Java, R, and the C/C++ cmake parity suite.
This commit is contained in:
Vendored
+11
@@ -5973,3 +5973,14 @@ export declare class Resampler {
|
||||
/** Emit the final, still-open candle (or `null` if none is pending). */
|
||||
flush(): CandleValue | null
|
||||
}
|
||||
export type CandleReaderNode = CandleReader
|
||||
/**
|
||||
* Parse OHLCV candles from a CSV string (header `timestamp,open,high,low,close,
|
||||
* volume`; a leading UTF-8 BOM is stripped).
|
||||
*/
|
||||
export declare class CandleReader {
|
||||
/** Parse the whole CSV up front; throws on a malformed header or row. */
|
||||
constructor(csv: string)
|
||||
/** Return every parsed candle as `{ open, high, low, close, volume, timestamp }`. */
|
||||
read(): Array<CandleValue>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user