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};