-module(oaspec@internal@openapi@parser_error). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/oaspec/internal/openapi/parser_error.gleam"). -export([missing_field_from_extraction/4, missing_field_from_selector/4]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/oaspec/internal/openapi/parser_error.gleam", 15). ?DOC(false). -spec missing_field_from_extraction( yay:extraction_error(), binary(), binary(), oaspec@openapi@diagnostic:source_loc() ) -> oaspec@openapi@diagnostic:diagnostic(). missing_field_from_extraction(Err, Path, Field, Loc) -> Base = oaspec@openapi@diagnostic:missing_field(Path, Field, Loc), {diagnostic, erlang:element(2, Base), erlang:element(3, Base), erlang:element(4, Base), erlang:element(5, Base), erlang:element(6, Base), erlang:element(7, Base), erlang:element(8, Base), {some, <<<<"Check your OpenAPI spec structure. ("/utf8, (yay:extraction_error_to_string(Err))/binary>>/binary, ")"/utf8>>}}. -file("src/oaspec/internal/openapi/parser_error.gleam", 36). ?DOC(false). -spec missing_field_from_selector( yay:selector_error(), binary(), binary(), oaspec@openapi@diagnostic:source_loc() ) -> oaspec@openapi@diagnostic:diagnostic(). missing_field_from_selector(Err, Path, Field, Loc) -> Detail = case Err of {node_not_found, At} -> <<"selector resolved up to segment "/utf8, (erlang:integer_to_binary(At))/binary>>; selector_parse_error -> <<"selector parse error"/utf8>> end, Base = oaspec@openapi@diagnostic:missing_field(Path, Field, Loc), {diagnostic, erlang:element(2, Base), erlang:element(3, Base), erlang:element(4, Base), erlang:element(5, Base), erlang:element(6, Base), erlang:element(7, Base), erlang:element(8, Base), {some, <<<<"Check your OpenAPI spec structure. ("/utf8, Detail/binary>>/binary, ")"/utf8>>}}.