-module(oaspec@internal@codegen@types). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/oaspec/internal/codegen/types.gleam"). -export([schema_to_gleam_type/2, generate/1, merge_allof_schemas/2, schema_has_additional_properties/2, schema_has_forbidden_additional_properties/2, schema_has_non_discriminator_oneof/2, schema_has_optional_fields/2, schema_ref_is_read_only/2, schema_ref_is_write_only/2, filter_read_only_properties/2, filter_write_only_properties/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/types.gleam", 44). ?DOC(false). -spec generate_types(oaspec@internal@codegen@context:context()) -> binary(). generate_types(Ctx) -> _pipe = oaspec@internal@codegen@ir_build:build_types_module(Ctx), oaspec@internal@codegen@ir_render:render(_pipe). -file("src/oaspec/internal/codegen/types.gleam", 51). ?DOC(false). -spec schema_to_gleam_type( oaspec@internal@openapi@schema:schema_object(), oaspec@internal@codegen@context:context() ) -> binary(). schema_to_gleam_type(Schema, _) -> oaspec@internal@codegen@schema_dispatch:schema_type(Schema). -file("src/oaspec/internal/codegen/types.gleam", 59). ?DOC(false). -spec generate_request_types( oaspec@internal@codegen@context:context(), list({binary(), oaspec@internal@openapi@spec:operation(oaspec@internal@openapi@spec:resolved()), binary(), oaspec@internal@openapi@spec:http_method()}) ) -> binary(). generate_request_types(Ctx, _) -> _pipe = oaspec@internal@codegen@ir_build:build_request_types_module(Ctx), oaspec@internal@codegen@ir_render:render(_pipe). -file("src/oaspec/internal/codegen/types.gleam", 73). ?DOC(false). -spec generate_response_types( oaspec@internal@codegen@context:context(), list({binary(), oaspec@internal@openapi@spec:operation(oaspec@internal@openapi@spec:resolved()), binary(), oaspec@internal@openapi@spec:http_method()}) ) -> binary(). generate_response_types(Ctx, _) -> _pipe = oaspec@internal@codegen@ir_build:build_response_types_module(Ctx), oaspec@internal@codegen@ir_render:render(_pipe). -file("src/oaspec/internal/codegen/types.gleam", 14). ?DOC(false). -spec generate(oaspec@internal@codegen@context:context()) -> list(oaspec@internal@codegen@context:generated_file()). generate(Ctx) -> Operations = oaspec@internal@openapi@operations:collect_operations(Ctx), Types_content = generate_types(Ctx), Request_types_content = generate_request_types(Ctx, Operations), Response_types_content = generate_response_types(Ctx, Operations), [{generated_file, <<"types.gleam"/utf8>>, Types_content, shared_target, overwrite}, {generated_file, <<"request_types.gleam"/utf8>>, Request_types_content, shared_target, overwrite}, {generated_file, <<"response_types.gleam"/utf8>>, Response_types_content, shared_target, overwrite}]. -file("src/oaspec/internal/codegen/types.gleam", 89). ?DOC(false). -spec merge_allof_schemas( list(oaspec@internal@openapi@schema:schema_ref()), oaspec@internal@codegen@context:context() ) -> oaspec@internal@codegen@allof_merge:merged_all_of(). merge_allof_schemas(Schemas, Ctx) -> oaspec@internal@codegen@allof_merge:merge_allof_schemas(Schemas, Ctx). -file("src/oaspec/internal/codegen/types.gleam", 97). ?DOC(false). -spec schema_has_additional_properties( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_has_additional_properties(Schema_ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_has_additional_properties( Schema_ref, Ctx ). -file("src/oaspec/internal/codegen/types.gleam", 106). ?DOC(false). -spec schema_has_forbidden_additional_properties( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_has_forbidden_additional_properties(Schema_ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_has_forbidden_additional_properties( Schema_ref, Ctx ). -file("src/oaspec/internal/codegen/types.gleam", 116). ?DOC(false). -spec schema_has_non_discriminator_oneof( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_has_non_discriminator_oneof(Schema_ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_has_non_discriminator_oneof( Schema_ref, Ctx ). -file("src/oaspec/internal/codegen/types.gleam", 124). ?DOC(false). -spec schema_has_optional_fields( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_has_optional_fields(Schema_ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_has_optional_fields( Schema_ref, Ctx ). -file("src/oaspec/internal/codegen/types.gleam", 129). ?DOC(false). -spec schema_ref_is_read_only( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_ref_is_read_only(Ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_ref_is_read_only(Ref, Ctx). -file("src/oaspec/internal/codegen/types.gleam", 134). ?DOC(false). -spec schema_ref_is_write_only( oaspec@internal@openapi@schema:schema_ref(), oaspec@internal@codegen@context:context() ) -> boolean(). schema_ref_is_write_only(Ref, Ctx) -> oaspec@internal@codegen@schema_utils:schema_ref_is_write_only(Ref, Ctx). -file("src/oaspec/internal/codegen/types.gleam", 140). ?DOC(false). -spec filter_read_only_properties( oaspec@internal@openapi@schema:schema_object(), oaspec@internal@codegen@context:context() ) -> oaspec@internal@openapi@schema:schema_object(). filter_read_only_properties(Schema_obj, Ctx) -> oaspec@internal@codegen@schema_utils:filter_read_only_properties( Schema_obj, Ctx ). -file("src/oaspec/internal/codegen/types.gleam", 149). ?DOC(false). -spec filter_write_only_properties( oaspec@internal@openapi@schema:schema_object(), oaspec@internal@codegen@context:context() ) -> oaspec@internal@openapi@schema:schema_object(). filter_write_only_properties(Schema_obj, Ctx) -> oaspec@internal@codegen@schema_utils:filter_write_only_properties( Schema_obj, Ctx ).