-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).