Skip to main content

src/rocksky@types.erl

-module(rocksky@types).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/rocksky/types.gleam").
-export_type([api_key/0, shout/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(
    " Public types returned by Rocksky endpoint functions.\n"
    "\n"
    " Most types are lex-derived aliases — see `rocksky/generated/types`. A\n"
    " handful (`ApiKey`, `Shout`) carry SDK-specific shapes that the lexicon\n"
    " does not yet model and stay hand-written.\n"
).

-type api_key() :: {api_key,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary())}.

-type shout() :: {shout,
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(binary()),
        gleam@option:option(integer()),
        gleam@option:option(integer()),
        gleam@option:option(boolean())}.