n8n
Version:
n8n Workflow Automation Tool
62 lines (61 loc) • 2.11 kB
TypeScript
import type { CsvAggregateInput, CsvDistinctInput, CsvProfileInput, CsvQueryInput } from './schemas';
import type { WorkspaceFiles } from './file-references';
export declare function queryCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvQueryInput): Promise<{
fileName: string;
relativePath: string;
columns: string[];
rowNumbers: number[];
rows: string[][];
records: {
rowNumber: number;
fileLineNumber: number;
values: Record<string, string>;
}[];
rowCount: number;
truncated: boolean;
rowNumberBase: string;
ambiguity: {
matchedRows: number;
message: string;
suggestedColumns: string[];
sampleDistinctValues: {
[k: string]: string[];
} | undefined;
} | undefined;
}>;
export declare function profileCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvProfileInput): Promise<{
fileName: string;
relativePath: string;
columns: string[];
rowCount: number;
sampleRows: Record<string, string>[];
columnProfiles: {
name: string;
inferredType: "string" | "number" | "boolean" | "empty" | "date" | "integer";
emptyCount: number;
distinctCount: number;
distinctCountTruncated: boolean;
sampleValues: string[];
}[];
likelyKeyColumns: string[];
likelyDisambiguatingColumns: string[];
}>;
export declare function distinctCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvDistinctInput): Promise<{
fileName: string;
relativePath: string;
column: string;
values: string[];
distinctCount: number;
truncated: boolean;
}>;
export declare function aggregateCsv(workspaceRoot: string, files: WorkspaceFiles, input: CsvAggregateInput): Promise<{
fileName: string;
relativePath: string;
rowCount: number;
functions: ("max" | "min" | "count" | "sum" | "avg")[];
metrics: string[];
groupBy: string[] | undefined;
results: Record<string, string | number | null>[];
truncated: boolean;
skippedNonNumeric: Record<string, number>;
}>;