Packages
oaspec
0.46.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/internal/openapi/parser_error.gleam
//// Pure helper for assembling `missing_field` diagnostics with a
//// "Check your OpenAPI spec structure. (...)" hint, used by the parser
//// modules. The detail string carries whatever extractor- or
//// selector-internal information would otherwise be silently dropped.
////
//// Target-neutral: this module knows nothing about `yay`. The
//// `yay` → detail-string conversion lives in the BEAM-coupled
//// `parser_yay_error` sibling.
import gleam/option.{Some}
import oaspec/openapi/diagnostic.{type Diagnostic, type SourceLoc, Diagnostic}
/// Build a `missing_field` diagnostic whose hint surfaces the given
/// detail string so an extractor- or selector-internal failure is not
/// silently dropped.
pub fn missing_field_with_hint(
detail detail: String,
path path: String,
field field: String,
loc loc: SourceLoc,
) -> Diagnostic {
let base = diagnostic.missing_field(path:, field:, loc:)
Diagnostic(
..base,
hint: Some("Check your OpenAPI spec structure. (" <> detail <> ")"),
)
}