@dsnp/parquetjs
Version:
fully asynchronous, pure JavaScript implementation of the Parquet file format
30 lines (29 loc) • 897 B
TypeScript
import { Statistics } from '../gen-nodejs/parquet_types';
import { ParquetEnvelopeReader } from './reader';
import { FileMetaDataExt } from './declare';
export interface BufferReaderOptions {
maxSpan?: number;
maxLength?: number;
queueWait?: number;
default_dictionary_size?: number;
metadata?: FileMetaDataExt;
rawStatistics?: Statistics;
}
interface BufferReaderQueueRow {
offset: number;
length: number;
resolve: (buf: Buffer) => void;
reject: unknown;
}
export default class BufferReader {
maxSpan: number;
maxLength: number;
queueWait: number;
scheduled?: boolean;
queue: BufferReaderQueueRow[];
envelopeReader: ParquetEnvelopeReader;
constructor(envelopeReader: ParquetEnvelopeReader, options: BufferReaderOptions);
read(offset: number, length: number): Promise<Buffer>;
processQueue(): Promise<void>;
}
export {};