ts-export-to-csv
Version:
Easily create CSV data from json collection
76 lines (75 loc) • 1.89 kB
TypeScript
export interface Options {
filename?: string;
fieldSeparator?: string;
quoteStrings?: string;
decimalSeparator?: string;
showLabels?: boolean;
showTitle?: boolean;
title?: string;
useTextFile?: boolean;
useBom?: boolean;
additionalHeaders?: Header[];
columnHeaders?: string[];
useKeysAsHeaders?: boolean;
}
export declare class Header {
columns: string[];
}
export declare class CsvConfigConsts {
static EOL: string;
static BOM: string;
static DEFAULT_FIELD_SEPARATOR: string;
static DEFAULT_DECIMAL_SEPARATOR: string;
static DEFAULT_QUOTE: string;
static DEFAULT_SHOW_TITLE: boolean;
static DEFAULT_TITLE: string;
static DEFAULT_FILENAME: string;
static DEFAULT_SHOW_LABELS: boolean;
static DEFAULT_USE_TEXT_FILE: boolean;
static DEFAULT_USE_BOM: boolean;
static DEFAULT_HEADER: string[];
static DEFAULT_KEYS_AS_HEADERS: boolean;
}
export declare const ConfigDefaults: Options;
export declare class ExportToCsv {
private _data;
private _options;
private _csv;
options: Options;
constructor(options?: Options);
/**
* Generate and Download Csv
*/
generateCsv(jsonData: any, shouldReturnCsv?: boolean): void | any;
/**
* Create CSV Headers
*/
private _getHeaders;
/**
* Create Column Headers
*/
private _getColumnHeaders;
/**
* Create Body
*/
private _getBody;
/**
* Format Data
* @param {any} data
*/
private _formatData;
/**
* Check if is Float
* @param {any} input
*/
private _isFloat;
/**
* Parse the collection given to it
*
* @private
* @param {*} jsonData
* @returns {any[]}
* @memberof ExportToCsv
*/
private _parseData;
}