Current section

Files

Jump to
oaspec src oaspec@internal@openapi@parser_error.erl
Raw

src/oaspec@internal@openapi@parser_error.erl

-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>>}}.