Current section
Files
Jump to
Current section
Files
src/butterbidi@script@types@remote_reference.erl
-module(butterbidi@script@types@remote_reference).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/butterbidi/script/types/remote_reference.gleam").
-export([shared_reference_to_json/1, remote_reference_to_json/1, shared_reference_from_id/1, remote_reference_from_id/1, shared_reference_with_handle/2]).
-export_type([remote_reference/0, shared_reference/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.
-type remote_reference() :: {shared, shared_reference()}.
-type shared_reference() :: {shared_reference,
binary(),
gleam@option:option(binary())}.
-file("src/butterbidi/script/types/remote_reference.gleam", 28).
-spec shared_reference_to_json(shared_reference()) -> gleam@json:json().
shared_reference_to_json(Shared_reference) ->
{shared_reference, Shared_id, Handle} = Shared_reference,
Handle@1 = case Handle of
none ->
[];
{some, Value} ->
[{<<"handle"/utf8>>, gleam@json:string(Value)}]
end,
gleam@json:object(
begin
_pipe = [{<<"sharedId"/utf8>>, gleam@json:string(Shared_id)}],
lists:append(_pipe, Handle@1)
end
).
-file("src/butterbidi/script/types/remote_reference.gleam", 10).
-spec remote_reference_to_json(remote_reference()) -> gleam@json:json().
remote_reference_to_json(Remote_reference) ->
case Remote_reference of
{shared, Shared_reference} ->
shared_reference_to_json(Shared_reference)
end.
-file("src/butterbidi/script/types/remote_reference.gleam", 43).
?DOC(" Creates a new shared reference from a shared id\n").
-spec shared_reference_from_id(binary()) -> shared_reference().
shared_reference_from_id(Shared_id) ->
{shared_reference, Shared_id, none}.
-file("src/butterbidi/script/types/remote_reference.gleam", 20).
-spec remote_reference_from_id(binary()) -> remote_reference().
remote_reference_from_id(Shared_id) ->
{shared, shared_reference_from_id(Shared_id)}.
-file("src/butterbidi/script/types/remote_reference.gleam", 47).
-spec shared_reference_with_handle(shared_reference(), binary()) -> shared_reference().
shared_reference_with_handle(Shared_reference, Handle) ->
{shared_reference, erlang:element(2, Shared_reference), {some, Handle}}.