Skip to content

primitives csv data and columns

Douwe de Vries edited this page Jul 2, 2026 · 1 revision

CSV data and columns

Active contributors: Douwe de Vries

Purpose

CSV data and column metadata are the inputs to every workflow. The backend stores raw headers and rows, while the frontend receives column metadata plus virtual JSON headers.

Key abstractions

Name File Description
CsvData src/data/types.rs Optional file path, headers, and row matrix.
ColumnInfo src/data/types.rs Column index, name, and inferred data type.
ColumnDataType src/data/types.rs String, integer, float, or date enum.
FileLoadResponse src/presentation/responses.rs Public load response with headers, virtual headers, columns, and row count.
AppFile frontend/src/types/ui.ts Frontend file metadata stored in workflow state.

How it works

src/data/csv_loader.rs produces CsvData. src/backend/workflow.rs augments it with detected columns and virtual headers, then src/presentation/responses.rs serializes a FileLoadResponse for the UI.

Integration points

Column labels feed mapping UI in frontend/src/components/MappingConfig.tsx, validation in src/backend/validation.rs, and selection extraction in src/data/json_fields.rs.

Key source files

File Purpose
src/data/types.rs Core CSV and column types.
src/data/csv_loader.rs Parser and type detection.
src/presentation/responses.rs File-load response shape.
frontend/src/types/ui.ts Frontend app file type.
frontend/src/types/api.ts Frontend API response type.

See data loading and JSON fields for the parsing flow.

Clone this wiki locally