Module adapters

Module adapters 

Source
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.
CommandMeta
Framework-agnostic command metadata.
Dependency
Dependency specification for an adapter.
DispatchInfo
Info needed to generate command dispatch logic.
FlagMeta
Framework-agnostic flag metadata.
IRArgMeta
IR-based argument metadata for code generation.
IRFlagMeta
IR-based flag metadata for code generation.
ImportSpec
Import specification for generated code.
PoolConfig
Connection pool configuration.
PoolInitInfo
Info needed to generate pool initialization.
RuntimeInfo
Info for generating async runtime setup.
SqliteOptions
SQLite-specific configuration options.
SubcommandMeta
Framework-agnostic subcommand metadata.

Traits§

CliAdapter
Trait for CLI framework adapters.
DatabaseAdapter
Trait for database adapters.
ErrorAdapter
Trait for error handling adapters.
RuntimeAdapter
Trait for async runtime adapters.

Functions§

input_type_to_arg_type
Convert IR InputType to core ArgType.