UNPKG

feedbaby-client

Version:
26 lines (25 loc) 821 B
/// <reference types="node" /> import { Parser } from "json2csv"; import { json2csv } from "json2csv/JSON2CSVBase"; interface File { getFilename(): string; } export interface SaveableFile<T> extends File { save(data: T): Buffer; } export interface ReadableFile<T> extends File { read(data: Buffer): Promise<T>; } export declare abstract class CsvFile<T> implements SaveableFile<T[]>, ReadableFile<T[]> { private readonly parser; private static readonly CRLF; private static readonly DELIMITER; constructor(parser: Parser<T>); abstract getFilename(): string; protected static createOptions<T>(headers: string[]): json2csv.Options<T>; private static spaceHeaders; private static addTrailingNewline; save(data: T[]): Buffer; read(data: Buffer): Promise<T[]>; } export {};