oaspec/config

Types

Configuration for oaspec code generation.

pub type Config {
  Config(
    input: String,
    output_server: String,
    output_client: String,
    package: String,
    mode: GenerateMode,
  )
}

Constructors

  • Config(
      input: String,
      output_server: String,
      output_client: String,
      package: String,
      mode: GenerateMode,
    )

Errors that can occur when loading config.

pub type ConfigError {
  FileNotFound(path: String)
  FileReadError(path: String, detail: String)
  ParseError(detail: String)
  MissingField(field: String)
  InvalidValue(field: String, detail: String)
}

Constructors

  • FileNotFound(path: String)
  • FileReadError(path: String, detail: String)
  • ParseError(detail: String)
  • MissingField(field: String)
  • InvalidValue(field: String, detail: String)

Generation mode.

pub type GenerateMode {
  Server
  Client
  Both
}

Constructors

  • Server
  • Client
  • Both

Values

pub fn error_to_string(error: ConfigError) -> String

Convert config error to a human-readable string.

pub fn load(path: String) -> Result(Config, ConfigError)

Load config from a YAML file.

pub fn parse_mode(
  mode: String,
) -> Result(GenerateMode, ConfigError)

Parse a mode string into GenerateMode.

pub fn with_mode(config: Config, mode: GenerateMode) -> Config

Apply CLI overrides to a config.

pub fn with_output(
  config: Config,
  output: option.Option(String),
) -> Config

Apply output base directory override. Derives server/client paths as

/ and /_client.

Search Document