@iwsio/json-csv-node
Version:
ESM/CJS module that easily converts JSON to CSV. This package supports streaming and buffered conversion to CSV.
72 lines (71 loc) • 3.86 kB
text/typescript
import { Transform } from 'stream';
import { buffered as bufferedCore } from '@iwsio/json-csv-core';
import type { NodeExportOptions } from './exporter.cjs';
import { StringWriter } from './string-writer.cjs';
export { StringWriter } from './string-writer.cjs';
type StreamCallback = (err?: Error | null, result?: Transform) => void;
type BufferedCallback = (err?: Error | null, result?: string) => void;
/**
* Generate a CSV transform for a stream of objects.
* @param options Export options
* @param callback Optional callback for classic style Node. If null or undefined, returns a promise
* @returns If callback provided, return void; otherwise, returns Transform stream
*/
export declare const stream: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
/**
* Generate a CSV transform for a stream of objects.
* @param options Export options
* @param callback Optional callback for classic style Node. If null or undefined, returns a promise
* @returns If callback provided, return void; otherwise, returns Transform stream
*/
export declare const toCsvStream: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
/**
* Convert array of objects to CSV in a synchronous operation
* @param data Array of objects to be transformed
* @param options CSV Options
* @returns The result CSV string
*/
export declare const bufferedSync: typeof bufferedCore;
/**
* Convert array of objects to CSV in a synchronous operation
* @param data Array of objects to be transformed
* @param options CSV Options
* @returns The result CSV string
*/
export declare const toCsvSync: typeof bufferedCore;
/**
* Convert array of objects to CSV
* @param data Array of objects to be transformed
* @param options CSV Options
* @param callback (optional): If provided, calls back with the result error or CSV string
* @returns If callback provided, returns void; otherwise, returns a promise of the result CSV string
*/
export declare const buffered: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
/**
* Convert array of objects to CSV
* @param data Array of objects to be transformed
* @param options CSV Options
* @param callback (optional): If provided, calls back with the result error or CSV string
* @returns If callback provided, returns void; otherwise, returns a promise of the result CSV string
*/
export declare const toCsv: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
/**
* @deprecated Please use stream or toCsvStream
*/
export declare const csv: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
/**
* @deprecated Please use buffered or toCsv
*/
export declare const csvBuffered: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
declare const _default: {
buffered: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
bufferedSync: typeof bufferedCore;
stream: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
toCsv: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
toCsvSync: typeof bufferedCore;
toCsvStream: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
StringWriter: typeof StringWriter;
csv: (options: Partial<NodeExportOptions>, callback?: StreamCallback) => Transform | void;
csvBuffered: (data: Record<string, any>[], options: Partial<NodeExportOptions>, callback?: BufferedCallback) => Promise<string> | void;
};
export default _default;