1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! FraiseQL CLI library - exposes internal modules for testing and reuse
// Reason: push_str + format! is clearer for incremental SQL/query string building
// Reason: style preference — if let chains are more readable in command handlers
// Reason: API consistency; command handler functions receive owned values from clap
// Reason: output/builder methods don't require #[must_use] in CLI context
// Reason: standard Rust API style (e.g. CliError, CliConfig, CliOutput)
// Reason: CLI help text uses backtick-free prose intentionally for readability
// Reason: some command handlers are inherently long (e.g. generate.rs)
// Reason: API consistency — some fns return Result for future extensibility
// Reason: explicit duplicate arms improve readability for exhaustive schema matches
// Reason: domain names (type_name/type_kind, field_name/field_type) are intentionally similar
// Reason: schema config structs use bool flags by design (per CLAUDE.md)
// Reason: Eq not derivable for all schema structs (contain f64 fields)
// Reason: const fn not stable for all patterns used here
// Reason: this is the CLI crate; user-facing output is the contract
/// The `anyhow` this crate's public API is built against (#1198).
pub use anyhow;
/// The `clap` this crate's public API is built against (#1198).
pub use clap;
/// The `deadpool_postgres` behind [`connection::postgres_pool`]'s `Pool` (#1198).
pub use deadpool_postgres;
/// The `indexmap` this crate's public API is built against (#1198).
pub use indexmap;
pub use run;
/// The `serde_json` this crate's public API is built against (#1198).
pub use serde_json;
/// The `toml` this crate's public API is built against (#1198).
pub use toml;