Packages
oaspec
0.18.0
0.68.0
0.67.0
0.66.0
0.65.0
0.64.0
0.63.0
0.62.0
0.61.0
0.60.0
0.59.0
0.58.1
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.19.0
0.18.0
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
0.6.3
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.1.3
Generate Gleam code from OpenAPI 3.x specifications
Current section
Files
Jump to
Current section
Files
src/oaspec.gleam
import argv
import gleam/io
import glint
import oaspec/cli
import oaspec/codegen/context
@external(erlang, "erlang", "halt")
fn halt(code: Int) -> Nil
/// CLI entry point for the oaspec code generator.
///
/// Routes diagnostic output to stderr while keeping requested output (such as
/// `--help` text) on stdout, following POSIX/CLIG conventions.
pub fn main() -> Nil {
let arguments = argv.load().arguments
case arguments {
["--version", ..] -> io.println("oaspec v" <> context.version)
_ -> run_glint(arguments)
}
}
fn run_glint(arguments: List(String)) -> Nil {
case glint.execute(cli.app(), arguments) {
Error(message) -> {
io.println_error(message)
halt(1)
}
Ok(glint.Help(text)) -> io.println(text)
Ok(glint.Out(_)) -> Nil
}
}