convert-csv-to-json2
Version:
Convert CSV to JSON
45 lines (42 loc) • 1.81 kB
text/typescript
import { PathOrFileDescriptor } from 'fs';
import { ENCODING } from './common/constants.cjs';
type CsvJsonRow = Record<string, string | number | boolean | (string | number | boolean)[]>;
declare class ConvertCsvToJson {
printValueFormatByType?: boolean;
isSupportQuotedField?: boolean;
delimiter?: string;
isTrimHeaderFieldWhiteSpace?: boolean;
_indexHeader?: number;
parseSubArrayDelimiter?: string;
parseSubArraySeparator?: string;
encoding: ENCODING;
formatValueByType(active?: boolean): this;
supportQuotedField(active?: boolean): this;
fieldDelimiter(delimiter: string): this;
trimHeaderFieldWhiteSpace(active?: boolean): this;
indexHeader(indexHeader: number): this;
parseSubArray(delimiter?: string, separator?: string): this;
customEncoding(encoding: ENCODING): this;
utf8Encoding(): this;
ucs2Encoding(): this;
utf16leEncoding(): this;
latin1Encoding(): this;
asciiEncoding(): this;
base64Encoding(): this;
hexEncoding(): this;
generateJsonFileFromCsv(fileInputName: PathOrFileDescriptor, fileOutputName: string): void;
getJsonFromCsvStringified(fileInputName: PathOrFileDescriptor): string;
getJsonFromCsv(fileInputName: PathOrFileDescriptor): CsvJsonRow[];
csvStringToJson(csvString: string): CsvJsonRow[];
csvToJson(parsedCsv: string): CsvJsonRow[];
buildJsonResult(headers: string[], currentLine: string[]): CsvJsonRow;
hasQuotes(line: string): boolean;
split(line: string): string[];
validateInputConfig(): void;
/**
* @deprecated Use generateJsonFileFromCsv()
*/
jsonToCsv(inputFileName: PathOrFileDescriptor, outputFileName: string): void;
}
declare const _default: ConvertCsvToJson;
export { ConvertCsvToJson, type CsvJsonRow, _default as default };