Packages

A webdriver bidi client written in Gleam, for Gleam.

Current section

Files

Jump to
butterbee src butterbee@internal@commands@script.erl
Raw

src/butterbee@internal@commands@script.erl

-module(butterbee@internal@commands@script).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/butterbee/internal/commands/script.gleam").
-export([call_function/2]).
-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(false).
-file("src/butterbee/internal/commands/script.gleam", 30).
?DOC(false).
-spec call_function(
butterbee@webdriver:web_driver(any()),
butterbidi@script@commands@call_function:call_function_parameters()
) -> {ok, butterbidi@script@types@evaluate_result:evaluate_result()} |
{error, butterbee@internal@error:butterbee_error()}.
call_function(Driver, Params) ->
Command = {script_command, call_function},
Request = butterbidi@definition:command_to_json(
{command,
butterbee@internal@id:from_unix(),
Command,
[{<<"params"/utf8>>,
butterbidi@script@commands@call_function:call_function_parameters_to_json(
Params
)}]}
),
case butterbee@internal@socket:send_request(
erlang:element(2, Driver),
Request,
Command
) of
{error, Error} ->
{error, Error};
{ok, Response} ->
case erlang:element(4, Response) of
{script_result, Result} ->
{ok, erlang:element(2, Result)};
_ ->
{error, unexpected_script_result_type}
end
end.