UNPKG

@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
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;