Skip to main content

face_core/
input.rs

1//! Input pipeline: format sniffing, parsing, and §4.2 items detection.
2//!
3//! The pipeline is two phases:
4//!
5//! 1. [`sniff::sniff_format`] peeks the first ~4 KiB of the reader and
6//!    returns the [`InputFormat`](crate::InputFormat) plus how many BOM
7//!    bytes were consumed. Content bytes are never consumed.
8//! 2. [`parse::parse`] reads from the same reader, parses the input as
9//!    that format, and returns a [`ParsedInput`] — the records to
10//!    cluster, optional sidecar metadata, and any per-record skip
11//!    reports (§11.1).
12//!
13pub mod items;
14pub mod parse;
15pub mod sniff;
16
17pub use items::{ItemsDetection, ItemsOptions, detect_items, detect_items_with_options};
18pub use parse::{
19    ParseOptions, ParsedInput, parse, parse_with_columns, parse_with_columns_and_options,
20};
21pub use sniff::{SniffOutcome, sniff_format};