1 | import { Transform, Readable } from "stream";
|
2 |
|
3 | import { Record } from "./record";
|
4 |
|
5 | interface CSVStreamConverterOptions {
|
6 | headers?: string[];
|
7 | nullValue?: string;
|
8 | }
|
9 |
|
10 | type SerializeOptions = CSVStreamConverterOptions;
|
11 |
|
12 | export class RecordStream<T> extends Transform {
|
13 | constructor();
|
14 |
|
15 | filter(fn: (record: Record<T>) => boolean): Serializable<T>;
|
16 | filter(fn: (record: Record<T>) => boolean): RecordStream<T>;
|
17 | map(fn: (record: Record<T>) => Record<T>): Serializable<T>;
|
18 | map(fn: (record: Record<T>) => Record<T>): RecordStream<T>;
|
19 | recordMapStream(record: Record<T>, noeval?: boolean): Serializable<T>;
|
20 | }
|
21 |
|
22 | export class Serializable<T> extends RecordStream<T> {
|
23 | stream(type?: string, options?: SerializeOptions): Readable;
|
24 | }
|
25 |
|
26 | export class Parsable<T> extends RecordStream<T> {
|
27 | stream(type?: string): Readable;
|
28 | }
|