Current section
Files
Jump to
Current section
Files
src/butterbidi@script@commands@call_function.erl
-module(butterbidi@script@commands@call_function).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/butterbidi/script/commands/call_function.gleam").
-export([call_function_parameters_to_json/1, new/1, with_function/2, with_await_promise/1, with_arguments/2, with_this/2]).
-export_type([call_function_parameters/0]).
-type call_function_parameters() :: {call_function_parameters,
binary(),
boolean(),
butterbidi@script@types@target:target(),
gleam@option:option(list(butterbidi@script@types@local_value:local_value())),
gleam@option:option(butterbidi@script@types@local_value:local_value())}.
-file("src/butterbidi/script/commands/call_function.gleam", 19).
-spec call_function_parameters_to_json(call_function_parameters()) -> gleam@json:json().
call_function_parameters_to_json(Call_function_parameters) ->
{call_function_parameters,
Function_declaration,
Await_promise,
Target,
Arguments,
This} = Call_function_parameters,
gleam@json:object(
[{<<"functionDeclaration"/utf8>>,
gleam@json:string(Function_declaration)},
{<<"awaitPromise"/utf8>>, gleam@json:bool(Await_promise)},
{<<"target"/utf8>>,
butterbidi@script@types@target:target_to_json(Target)},
{<<"arguments"/utf8>>, case Arguments of
none ->
gleam@json:null();
{some, Value} ->
gleam@json:array(
Value,
fun butterbidi@script@types@local_value:local_value_to_json/1
)
end},
{<<"this"/utf8>>, case This of
none ->
gleam@json:null();
{some, Value@1} ->
butterbidi@script@types@local_value:local_value_to_json(
Value@1
)
end}]
).
-file("src/butterbidi/script/commands/call_function.gleam", 44).
-spec new(butterbidi@script@types@target:target()) -> call_function_parameters().
new(Target) ->
{call_function_parameters, <<""/utf8>>, false, Target, none, none}.
-file("src/butterbidi/script/commands/call_function.gleam", 54).
-spec with_function(call_function_parameters(), binary()) -> call_function_parameters().
with_function(Call_function_parameters, Function) ->
{call_function_parameters,
Function,
erlang:element(3, Call_function_parameters),
erlang:element(4, Call_function_parameters),
erlang:element(5, Call_function_parameters),
erlang:element(6, Call_function_parameters)}.
-file("src/butterbidi/script/commands/call_function.gleam", 64).
-spec with_await_promise(call_function_parameters()) -> call_function_parameters().
with_await_promise(Call_function_parameters) ->
{call_function_parameters,
erlang:element(2, Call_function_parameters),
true,
erlang:element(4, Call_function_parameters),
erlang:element(5, Call_function_parameters),
erlang:element(6, Call_function_parameters)}.
-file("src/butterbidi/script/commands/call_function.gleam", 70).
-spec with_arguments(
call_function_parameters(),
list(butterbidi@script@types@local_value:local_value())
) -> call_function_parameters().
with_arguments(Call_function_parameters, Arguments) ->
{call_function_parameters,
erlang:element(2, Call_function_parameters),
erlang:element(3, Call_function_parameters),
erlang:element(4, Call_function_parameters),
{some, Arguments},
erlang:element(6, Call_function_parameters)}.
-file("src/butterbidi/script/commands/call_function.gleam", 77).
-spec with_this(
call_function_parameters(),
butterbidi@script@types@local_value:local_value()
) -> call_function_parameters().
with_this(Call_function_parameters, This) ->
{call_function_parameters,
erlang:element(2, Call_function_parameters),
erlang:element(3, Call_function_parameters),
erlang:element(4, Call_function_parameters),
erlang:element(5, Call_function_parameters),
{some, This}}.