Current section
Files
Jump to
Current section
Files
src/kitazith@component@separator.erl
-module(kitazith@component@separator).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/kitazith/component/separator.gleam").
-export([new/0, with_id/2, with_divider/2, with_spacing/2, to_json/1]).
-export_type([separator_spacing/0, separator/0]).
-type separator_spacing() :: small | large.
-type separator() :: {separator,
gleam@option:option(integer()),
gleam@option:option(boolean()),
gleam@option:option(separator_spacing())}.
-file("src/kitazith/component/separator.gleam", 24).
-spec new() -> separator().
new() ->
{separator, none, none, none}.
-file("src/kitazith/component/separator.gleam", 28).
-spec with_id(separator(), integer()) -> separator().
with_id(Separator, Id) ->
{separator,
{some, Id},
erlang:element(3, Separator),
erlang:element(4, Separator)}.
-file("src/kitazith/component/separator.gleam", 32).
-spec with_divider(separator(), boolean()) -> separator().
with_divider(Separator, Divider) ->
{separator,
erlang:element(2, Separator),
{some, Divider},
erlang:element(4, Separator)}.
-file("src/kitazith/component/separator.gleam", 36).
-spec with_spacing(separator(), separator_spacing()) -> separator().
with_spacing(Separator, Spacing) ->
{separator,
erlang:element(2, Separator),
erlang:element(3, Separator),
{some, Spacing}}.
-file("src/kitazith/component/separator.gleam", 52).
-spec spacing_to_json(separator_spacing()) -> gleam@json:json().
spacing_to_json(Spacing) ->
case Spacing of
small ->
gleam@json:int(1);
large ->
gleam@json:int(2)
end.
-file("src/kitazith/component/separator.gleam", 43).
-spec to_json(separator()) -> gleam@json:json().
to_json(Separator) ->
kitazith@internal@json_helper:object_omit_none(
[{some, {<<"type"/utf8>>, gleam@json:int(14)}},
kitazith@internal@json_helper:optional(
<<"id"/utf8>>,
erlang:element(2, Separator),
fun gleam@json:int/1
),
kitazith@internal@json_helper:optional(
<<"divider"/utf8>>,
erlang:element(3, Separator),
fun gleam@json:bool/1
),
kitazith@internal@json_helper:optional(
<<"spacing"/utf8>>,
erlang:element(4, Separator),
fun spacing_to_json/1
)]
).