// Type definitions for D3JS d3-dsv module v1.0.1 // Project: https://github.com/d3/d3-dsv/ // Definitions by: Tom Wanzek , Alex Ford , Boris Yankov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // ------------------------------------------------------------------------------------------ // Shared Types and Interfaces // ------------------------------------------------------------------------------------------ export interface DSVRowString { [key: string]: string; } export interface DSVRowAny { [key: string]: any; } export interface DSVParsedArray extends Array { columns: Array; } // ------------------------------------------------------------------------------------------ // CSV Parsers and Formatters // ------------------------------------------------------------------------------------------ // csvParse(...) ============================================================================ export function csvParse(csvString: string): DSVParsedArray; export function csvParse(csvString: string, row: (rawRow: DSVRowString, index: number, columns: Array) => ParsedRow): DSVParsedArray; // csvParseRows(...) ======================================================================== export function csvParseRows(csvString: string): Array>; export function csvParseRows(csvString: string, row: (rawRow: Array, index: number) => ParsedRow): Array; // csvFormat(...) ============================================================================ export function csvFormat(rows: Array): string; export function csvFormat(rows: Array, columns: Array): string; // csvFormatRows(...) ======================================================================== export function csvFormatRows(rows: Array>): string; // ------------------------------------------------------------------------------------------ // TSV Parsers and Formatters // ------------------------------------------------------------------------------------------ // tsvParse(...) ============================================================================ export function tsvParse(tsvString: string): DSVParsedArray; export function tsvParse(tsvString: string, row: (rawRow: DSVRowString, index: number, columns: Array) => MappedRow): DSVParsedArray; // tsvParseRows(...) ======================================================================== export function tsvParseRows(tsvString: string): Array>; export function tsvParseRows(tsvString: string, row: (rawRow: Array, index: number) => MappedRow): Array; // tsvFormat(...) ============================================================================ export function tsvFormat(rows: Array): string; export function tsvFormat(rows: Array, columns: Array): string; // tsvFormatRows(...) ======================================================================== export function tsvFormatRows(rows: Array>): string; // ------------------------------------------------------------------------------------------ // DSV Generalized Parsers and Formatters // ------------------------------------------------------------------------------------------ export interface DSV { parse(dsvString: string): DSVParsedArray; parse(dsvString: string, row: (rawRow: DSVRowString, index: number, columns: Array) => ParsedRow): DSVParsedArray; parseRows(dsvString: string): Array>; parseRows(dsvString: string, row: (rawRow: Array, index: number) => ParsedRow): Array; format(rows: Array): string; format(rows: Array, columns: Array): string; formatRows(rows: Array>): string; } export function dsvFormat(delimiter: string): DSV;