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([new/3, with_socket/2, with_context/2, with_config/2, with_state/2, with_browser/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(OUA) :: {web_driver,
butterbee@internal@socket:web_driver_socket(),
gleam@option:option(butterbidi@browsing_context@types@browsing_context:browsing_context()),
butterbee@config:butterbee_config(),
{ok, OUA} | {error, butterbee@internal@error:butterbee_error()},
butterbee@internal@browser:browser()}.
-type empty() :: empty.
-file("src/butterbee/webdriver.gleam", 33).
?DOC(false).
-spec new(
butterbee@internal@socket:web_driver_socket(),
butterbee@config:butterbee_config(),
butterbee@internal@browser:browser()
) -> web_driver(empty()).
new(Socket, Config, Browser) ->
{web_driver, Socket, none, Config, {ok, empty}, Browser}.
-file("src/butterbee/webdriver.gleam", 48).
?DOC(false).
-spec with_socket(
web_driver(OUC),
butterbee@internal@socket:web_driver_socket()
) -> web_driver(OUC).
with_socket(Webdriver, Socket) ->
{web_driver,
Socket,
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
erlang:element(5, Webdriver),
erlang:element(6, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 56).
?DOC(false).
-spec with_context(
web_driver(OUF),
butterbidi@browsing_context@types@browsing_context:browsing_context()
) -> web_driver(OUF).
with_context(Webdriver, Context) ->
{web_driver,
erlang:element(2, Webdriver),
{some, Context},
erlang:element(4, Webdriver),
erlang:element(5, Webdriver),
erlang:element(6, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 64).
?DOC(false).
-spec with_config(web_driver(OUI), butterbee@config:butterbee_config()) -> web_driver(OUI).
with_config(Webdriver, Config) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
Config,
erlang:element(5, Webdriver),
erlang:element(6, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 72).
?DOC(false).
-spec with_state(
web_driver(any()),
{ok, OUN} | {error, butterbee@internal@error:butterbee_error()}
) -> web_driver(OUN).
with_state(Webdriver, State) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
State,
erlang:element(6, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 80).
?DOC(false).
-spec with_browser(web_driver(OUR), butterbee@internal@browser:browser()) -> web_driver(OUR).
with_browser(Webdriver, Browser) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
erlang:element(5, Webdriver),
Browser}.
-file("src/butterbee/webdriver.gleam", 88).
?DOC(false).
-spec map_state(
{ok, OUU} | {error, butterbee@internal@error:butterbee_error()},
web_driver(any())
) -> web_driver(OUU).
map_state(State, Webdriver) ->
{web_driver,
erlang:element(2, Webdriver),
erlang:element(3, Webdriver),
erlang:element(4, Webdriver),
State,
erlang:element(6, Webdriver)}.
-file("src/butterbee/webdriver.gleam", 97).
?DOC(false).
-spec do(web_driver(OVA), fun((web_driver(OVA)) -> web_driver(OVD))) -> web_driver(OVD).
do(Webdriver, Action) ->
Action(Webdriver).