Current section
Files
Jump to
Current section
Files
src/nori@operation.erl
-module(nori@operation).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/nori/operation.gleam").
-export([new/0, with_id/1, empty_path_item/0, tag/1, tag_with_description/2]).
-export_type([operation/0, path_item/0, tag/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(
" Operation type for OpenAPI specifications.\n"
"\n"
" Describes a single API operation on a path.\n"
).
-type operation() :: {operation,
list(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(nori@schema:external_documentation()),
gleam@option:option(binary()),
list(nori@reference:ref(nori@parameter:parameter())),
gleam@option:option(nori@reference:ref(nori@request_body:request_body())),
gleam@dict:dict(binary(), nori@reference:ref(nori@response:response())),
gleam@dict:dict(binary(), nori@reference:ref(gleam@dict:dict(binary(), nori@reference:ref(path_item())))),
gleam@option:option(boolean()),
gleam@option:option(list(gleam@dict:dict(binary(), list(binary())))),
list(nori@server:server()),
gleam@dict:dict(binary(), gleam@json:json())}.
-type path_item() :: {path_item,
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
gleam@option:option(operation()),
list(nori@server:server()),
list(nori@reference:ref(nori@parameter:parameter())),
gleam@dict:dict(binary(), gleam@json:json())}.
-type tag() :: {tag,
binary(),
gleam@option:option(binary()),
gleam@option:option(nori@schema:external_documentation()),
gleam@dict:dict(binary(), gleam@json:json())}.
-file("src/nori/operation.gleam", 89).
?DOC(" Creates an empty `Operation`.\n").
-spec new() -> operation().
new() ->
{operation,
[],
none,
none,
none,
none,
[],
none,
maps:new(),
maps:new(),
none,
none,
[],
maps:new()}.
-file("src/nori/operation.gleam", 108).
?DOC(" Creates an `Operation` with an operation ID.\n").
-spec with_id(binary()) -> operation().
with_id(Operation_id) ->
{operation,
[],
none,
none,
none,
{some, Operation_id},
[],
none,
maps:new(),
maps:new(),
none,
none,
[],
maps:new()}.
-file("src/nori/operation.gleam", 127).
?DOC(" Creates an empty `PathItem`.\n").
-spec empty_path_item() -> path_item().
empty_path_item() ->
{path_item,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
none,
[],
[],
maps:new()}.
-file("src/nori/operation.gleam", 147).
?DOC(" Creates a `Tag` with just a name.\n").
-spec tag(binary()) -> tag().
tag(Name) ->
{tag, Name, none, none, maps:new()}.
-file("src/nori/operation.gleam", 157).
?DOC(" Creates a `Tag` with name and description.\n").
-spec tag_with_description(binary(), binary()) -> tag().
tag_with_description(Name, Description) ->
{tag, Name, {some, Description}, none, maps:new()}.