-module(oaspec@internal@codegen@operation_ir). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/oaspec/internal/codegen/operation_ir.gleam"). -export([effective_explode/1, delimiter_for_style/1, is_deep_object_param/2]). -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/codegen/operation_ir.gleam", 9). ?DOC(false). -spec effective_explode( oaspec@openapi@spec:parameter(oaspec@openapi@spec:resolved()) ) -> boolean(). effective_explode(Param) -> case erlang:element(8, Param) of {some, V} -> V; none -> case erlang:element(7, Param) of {some, form_style} -> true; {some, deep_object_style} -> true; none -> true; _ -> false end end. -file("src/oaspec/internal/codegen/operation_ir.gleam", 22). ?DOC(false). -spec delimiter_for_style( gleam@option:option(oaspec@openapi@spec:parameter_style()) ) -> binary(). delimiter_for_style(Style) -> case Style of {some, pipe_delimited_style} -> <<"|"/utf8>>; {some, space_delimited_style} -> <<" "/utf8>>; _ -> <<","/utf8>> end. -file("src/oaspec/internal/codegen/operation_ir.gleam", 32). ?DOC(false). -spec is_deep_object_param( oaspec@openapi@spec:parameter(oaspec@openapi@spec:resolved()), oaspec@internal@codegen@context:context() ) -> boolean(). is_deep_object_param(Param, Ctx) -> case {erlang:element(3, Param), erlang:element(7, Param), oaspec@openapi@spec:parameter_schema(Param)} of {in_query, {some, deep_object_style}, {some, {reference, _, _} = Schema_ref}} -> case oaspec@internal@codegen@context:resolve_schema_ref( Schema_ref, Ctx ) of {ok, {object_schema, _, _, _, _, _, _}} -> true; _ -> false end; {in_query, {some, deep_object_style}, {some, {inline, {object_schema, _, _, _, _, _, _}}}} -> true; {_, _, _} -> false end.