18 lines
661 B
TypeScript
18 lines
661 B
TypeScript
import { Converter } from "./Converter";
|
|
import P from "bluebird";
|
|
import { JSONResult } from "./lineToJson";
|
|
import { CSVParseParam } from "./Parameters";
|
|
import { ParseRuntime } from "./ParseRuntime";
|
|
|
|
export abstract class Processor {
|
|
protected params: CSVParseParam;
|
|
protected runtime: ParseRuntime;
|
|
constructor(protected converter: Converter) {
|
|
this.params = converter.parseParam;
|
|
this.runtime = converter.parseRuntime;
|
|
}
|
|
abstract process(chunk: Buffer,finalChunk?:boolean): P<ProcessLineResult[]>
|
|
abstract destroy():P<void>;
|
|
abstract flush(): P<ProcessLineResult[]>;
|
|
}
|
|
export type ProcessLineResult = string | string[] | JSONResult;
|