Current section
Files
Jump to
Current section
Files
src/butterbee@webdriver.erl
-module(butterbee@webdriver).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/butterbee/webdriver.gleam").
-export([get_socket/1, get_context/1, get_config/1, get_state/1, new/0, with_context/2, with_config/2, with_state/2, with_socket/2, map_state/2, do/2]).
-export_type([web_driver/1, empty/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(" The webdriver module contains the WebDriver type and functions to create and configure webdriver sessions.\n").
-type web_driver(USN) :: {web_driver,
gleam@option:option(butterbee@internal@socket:web_driver_socket()),
gleam@option:option(butterbidi@browsing_context@types@browsing_context:browsing_context()),
gleam@option:option(butterbee@config:butterbee_config()),
{ok, USN} | {error, butterbee@internal@error:butterbee_error()}}.
-type empty() :: empty.
-file("src/butterbee/webdriver.gleam", 30).
-spec get_socket(web_driver(any())) -> {ok,
butterbee@internal@socket:web_driver_socket()} |
{error, butterbee@internal@error:butterbee_error()}.
get_socket(Driver) ->
case erlang:element(2, Driver) of
none ->
{error, driver_does_not_have_socket};
{some, Socket} ->
{ok, Socket}
end.
-file("src/butterbee/webdriver.gleam", 39).
-spec get_context(web_driver(any())) -> {ok,
butterbidi@browsing_context@types@browsing_context:browsing_context()} |
{error, butterbee@internal@error:butterbee_error()}.
get_context(Driver) ->
case erlang:element(3, Driver) of
none ->
{error, driver_does_not_have_context};
{some, Context} ->
{ok, Context}
end.
-file("src/butterbee/webdriver.gleam", 48).
-spec get_config(web_driver(any())) -> {ok, butterbee@config:butterbee_config()} |
{error, butterbee@internal@error:butterbee_error()}.
get_config(Driver) ->
case erlang:element(4, Driver) of
none ->
{error, driver_does_not_have_config};
{some, Config} ->
{ok, Config}
end.
-file("src/butterbee/webdriver.gleam", 57).
-spec get_state(web_driver(UTA)) -> {ok, UTA} |
{error, butterbee@internal@error:butterbee_error()}.
get_state(Webdriver) ->
erlang:element(5, Webdriver).
-file("src/butterbee/webdriver.gleam", 64).
?DOC(false).
-spec new() -> web_driver(empty()).
new() ->
{web_driver, none, none, none, {ok, empty}}.
-file("src/butterbee/webdriver.gleam", 69).
?DOC(false).
-spec with_context(
web_driver(UTF),
butterbidi@browsing_context@types@browsing_context:browsing_context()
) -> web_driver(UTF).
with_context(Webdriver, Context) ->
{web_driver,
erlang:element(2, Webdriver),
{some, Context},
erlang:element(4, Webdriver),
erlang:element(5, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 77).
?DOC(false).
-spec with_config(web_driver(UTI), butterbee@config:butterbee_config()) -> web_driver(UTI).
with_config(Webdriver, Config) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
{some, Config},
erlang:element(5, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 85).
?DOC(false).
-spec with_state(
web_driver(any()),
{ok, UTN} | {error, butterbee@internal@error:butterbee_error()}
) -> web_driver(UTN).
with_state(Webdriver, State) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
State}.
-file("src/butterbee/webdriver.gleam", 93).
?DOC(false).
-spec with_socket(
web_driver(UTR),
butterbee@internal@socket:web_driver_socket()
) -> web_driver(UTR).
with_socket(Webdriver, Socket) ->
{web_driver,
{some, Socket},
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
erlang:element(5, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 101).
?DOC(false).
-spec map_state(
{ok, UTU} | {error, butterbee@internal@error:butterbee_error()},
web_driver(any())
) -> web_driver(UTU).
map_state(State, Webdriver) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
State}.
-file("src/butterbee/webdriver.gleam", 110).
?DOC(false).
-spec do(web_driver(UUA), fun((web_driver(UUA)) -> web_driver(UUD))) -> web_driver(UUD).
do(Webdriver, Action) ->
Action(Webdriver).