Current section

Files

Jump to
oaspec src oaspec@internal@codegen@ir.erl
Raw

src/oaspec@internal@codegen@ir.erl

-module(oaspec@internal@codegen@ir).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oaspec/internal/codegen/ir.gleam").
-export([module/3, module_with_header_records/4, 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.
?MODULEDOC(false).
-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()} |
{variant_with_type_and_headers, binary(), binary(), binary()} |
{variant_with_headers, binary(), binary()}.
-type response_header_record() :: {response_header_record,
binary(),
list(field())}.
-file("src/oaspec/internal/codegen/ir.gleam", 22).
?DOC(false).
-spec module(binary(), list(binary()), list(declaration())) -> module_().
module(Header, Imports, Declarations) ->
{module, Header, Imports, Declarations, []}.
-file("src/oaspec/internal/codegen/ir.gleam", 31).
?DOC(false).
-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/internal/codegen/ir.gleam", 41).
?DOC(false).
-spec module_imports(module_()) -> list(binary()).
module_imports(M) ->
erlang:element(3, M).
-file("src/oaspec/internal/codegen/ir.gleam", 46).
?DOC(false).
-spec module_declarations(module_()) -> list(declaration()).
module_declarations(M) ->
erlang:element(4, M).
-file("src/oaspec/internal/codegen/ir.gleam", 59).
?DOC(false).
-spec declaration(gleam@option:option(binary()), type_def()) -> declaration().
declaration(Doc, Type_def) ->
{declaration, Doc, Type_def}.
-file("src/oaspec/internal/codegen/ir.gleam", 67).
?DOC(false).
-spec declaration_doc(declaration()) -> gleam@option:option(binary()).
declaration_doc(D) ->
erlang:element(2, D).
-file("src/oaspec/internal/codegen/ir.gleam", 72).
?DOC(false).
-spec declaration_type_def(declaration()) -> type_def().
declaration_type_def(D) ->
erlang:element(3, D).
-file("src/oaspec/internal/codegen/ir.gleam", 117).
?DOC(false).
-spec module_header_records(module_()) -> list(response_header_record()).
module_header_records(M) ->
erlang:element(5, M).