linereader2
Version:
Asynchronous, buffered, chunk-by-chunk file reader with customizable buffer size on Node.js.
37 lines (36 loc) • 1.18 kB
TypeScript
import { ChunkReaderOptions } from 'chunkreader2';
export interface LineReaderOptions extends ChunkReaderOptions {
lineSeparator?: LineSeparator;
skipBlank?: boolean;
skipNumbers?: (number | NumberRange)[];
}
declare class LineReader {
private options;
private reader;
private mutex;
private buffer;
private cutted?;
private separator?;
private count;
private skips;
get filePath(): string;
get bytesLength(): number;
get lineSeparator(): string | undefined;
get linesRead(): number;
get bytesRead(): number;
get isClosed(): boolean;
get isOpened(): boolean;
constructor(options: LineReaderOptions);
_determineSeparator(): Promise<void>;
_nextChunk(): Promise<string>;
readLinesWithNumbers(limit?: number): Promise<[string, number][]>;
readLines(limit?: number): Promise<string[]>;
readLineWithNumber(): Promise<[string, number] | undefined>;
readLine(): Promise<string | undefined>;
resetReader(): void;
openReader(): void;
closeReader(): void;
}
type NumberRange = [number, number];
type LineSeparator = '\r\n' | '\r' | '\n' | string;
export default LineReader;