Expand description
Adapter abstractions for framework-specific code generation.
This module provides traits that abstract away framework-specific details, allowing generators to be decoupled from specific libraries like clap, sqlx, etc.
§Architecture
Adapters are compile-time abstractions using generics for zero overhead. Each language generator is parameterized by adapter implementations.
§Available Adapters
CliAdapter- CLI framework abstraction (clap, argh, boune, etc.)DatabaseAdapter- Database connection/pool abstraction (sqlx, diesel, etc.)RuntimeAdapter- Async runtime abstraction (tokio, async-std, etc.)ErrorAdapter- Error handling abstraction (eyre, anyhow, etc.)
Structs§
- ArgMeta
- Framework-agnostic positional argument metadata.
- CliInfo
- Framework-agnostic CLI application info.
- Command
Meta - Framework-agnostic command metadata.
- Dependency
- Dependency specification for an adapter.
- Dispatch
Info - Info needed to generate command dispatch logic.
- Flag
Meta - Framework-agnostic flag metadata.
- IRArg
Meta - IR-based argument metadata for code generation.
- IRFlag
Meta - IR-based flag metadata for code generation.
- Import
Spec - Import specification for generated code.
- Pool
Config - Connection pool configuration.
- Pool
Init Info - Info needed to generate pool initialization.
- Runtime
Info - Info for generating async runtime setup.
- Sqlite
Options - SQLite-specific configuration options.
- Subcommand
Meta - Framework-agnostic subcommand metadata.
Traits§
- CliAdapter
- Trait for CLI framework adapters.
- Database
Adapter - Trait for database adapters.
- Error
Adapter - Trait for error handling adapters.
- Runtime
Adapter - Trait for async runtime adapters.
Functions§
- input_
type_ to_ arg_ type - Convert IR InputType to core ArgType.