Packages
oaspec
0.13.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_header/1, module_imports/1, module_declarations/1, declaration/2, declaration_doc/1, declaration_type_def/1]).
-export_type([module_/0, declaration/0, type_def/0, field/0, variant/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())}.
-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()}.
-file("src/oaspec/codegen/ir.gleam", 17).
?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", 26).
?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", 31).
?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", 36).
?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", 49).
?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", 57).
?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", 62).
?DOC(" The type definition carried by this declaration.\n").
-spec declaration_type_def(declaration()) -> type_def().
declaration_type_def(D) ->
erlang:element(3, D).