Modules
An Ash extension for moving CSV data in and out of Ash resources. Resources that use it expose
Spark DSL section for AshCsvInterchange. Declares the csv_imports block
resources use to register one or more CSV import types.
An AshCsvInterchange error or non-fatal warning, used by both the
import and export sides.
Builds the lazy stream of CSV chunks for an export type.
Renders Ash records into CSV cells per the column declarations on an
AshCsvInterchange.Export.Type.
Resolved DSL config for one csv_export entity. Spark builds one
struct per entity in a resource's csv_exports block, keyed by id.
Validates a parsed CSV header row against the type's declared headers. Header names are compared after whitespace trim and ASCII case-fold.
Runs the CSV import pipeline. import_csv/4 returns a bounded
%RunReport{}. stream_import/4 returns lazy per-row outcomes.
RFC 4180 CSV parser with an eager path and a streaming path.
The result of processing a single CSV row.
Structured result of a CSV import run.
Aggregate counts derived from the per-row outcomes. created and
updated are commit-mode only.
Struct that holds a single csv_import entity's resolved DSL config.
Each entity inside a resource's csv_imports do ... end block is built
into one %AshCsvInterchange.Import.Type{} keyed by id.
Introspection helpers for AshCsvInterchange-using resources.
Compile-time validation for AshCsvInterchange DSL config. For every
csv_import entity declared on the resource
Compile-time validation for csv_exports entities. For every
csv_export entity declared on the resource