Packages
oaspec
0.14.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@codegen@ir.erl
-module(oaspec@codegen@ir).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oaspec/codegen/ir.gleam").
-export([module/3, module_with_header_records/4, module_header/1, module_imports/1, module_declarations/1, declaration/2, declaration_doc/1, declaration_type_def/1, module_header_records/1]).
-export_type([module_/0, declaration/0, type_def/0, field/0, variant/0, response_header_record/0]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
-opaque module_() :: {module,
binary(),
list(binary()),
list(declaration()),
list(response_header_record())}.
-opaque declaration() :: {declaration,
gleam@option:option(binary()),
type_def()}.
-type type_def() :: {type_alias, binary(), binary()} |
{record_type, binary(), list(field())} |
{union_type, binary(), list(variant())} |
{enum_type, binary(), list(binary())}.
-type field() :: {field, binary(), binary()}.
-type variant() :: {variant_with_type, binary(), binary()} |
{variant_empty, binary()}.
-type response_header_record() :: {response_header_record,
binary(),
list(field())}.
-file("src/oaspec/codegen/ir.gleam", 22).
?DOC(" Construct a `Module` from its three component pieces.\n").
-spec module(binary(), list(binary()), list(declaration())) -> module_().
module(Header, Imports, Declarations) ->
{module, Header, Imports, Declarations, []}.
-file("src/oaspec/codegen/ir.gleam", 31).
?DOC(" Construct a `Module` with header records.\n").
-spec module_with_header_records(
binary(),
list(binary()),
list(declaration()),
list(response_header_record())
) -> module_().
module_with_header_records(Header, Imports, Declarations, Header_records) ->
{module, Header, Imports, Declarations, Header_records}.
-file("src/oaspec/codegen/ir.gleam", 41).
?DOC(" File header string (e.g. the \"Code generated by...\" banner).\n").
-spec module_header(module_()) -> binary().
module_header(M) ->
erlang:element(2, M).
-file("src/oaspec/codegen/ir.gleam", 46).
?DOC(" Module imports, in the order they should be rendered.\n").
-spec module_imports(module_()) -> list(binary()).
module_imports(M) ->
erlang:element(3, M).
-file("src/oaspec/codegen/ir.gleam", 51).
?DOC(" Top-level declarations inside the module.\n").
-spec module_declarations(module_()) -> list(declaration()).
module_declarations(M) ->
erlang:element(4, M).
-file("src/oaspec/codegen/ir.gleam", 64).
?DOC(" Construct a `Declaration` from its optional doc and type definition.\n").
-spec declaration(gleam@option:option(binary()), type_def()) -> declaration().
declaration(Doc, Type_def) ->
{declaration, Doc, Type_def}.
-file("src/oaspec/codegen/ir.gleam", 72).
?DOC(" Optional doc comment attached to this declaration.\n").
-spec declaration_doc(declaration()) -> gleam@option:option(binary()).
declaration_doc(D) ->
erlang:element(2, D).
-file("src/oaspec/codegen/ir.gleam", 77).
?DOC(" The type definition carried by this declaration.\n").
-spec declaration_type_def(declaration()) -> type_def().
declaration_type_def(D) ->
erlang:element(3, D).
-file("src/oaspec/codegen/ir.gleam", 112).
?DOC(" Response header records inside the module.\n").
-spec module_header_records(module_()) -> list(response_header_record()).
module_header_records(M) ->
erlang:element(5, M).