-module(chrobot@protocol@dom). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([encode__node_id/1, decode__node_id/1, encode__backend_node_id/1, decode__backend_node_id/1, encode__backend_node/1, decode__backend_node/1, encode__pseudo_type/1, decode__pseudo_type/1, encode__shadow_root_type/1, decode__shadow_root_type/1, encode__compatibility_mode/1, decode__compatibility_mode/1, encode__physical_axes/1, decode__physical_axes/1, encode__logical_axes/1, decode__logical_axes/1, encode__scroll_orientation/1, decode__scroll_orientation/1, encode__node/1, decode__node/1, encode__rgba/1, decode__rgba/1, encode__quad/1, decode__quad/1, encode__shape_outside_info/1, encode__box_model/1, decode__shape_outside_info/1, decode__box_model/1, encode__rect/1, decode__rect/1, encode__css_computed_style_property/1, decode__css_computed_style_property/1, decode__describe_node_response/1, decode__get_attributes_response/1, decode__get_box_model_response/1, decode__get_document_response/1, decode__get_node_for_location_response/1, decode__get_outer_html_response/1, decode__move_to_response/1, decode__query_selector_response/1, decode__query_selector_all_response/1, decode__request_node_response/1, decode__resolve_node_response/1, decode__set_node_name_response/1, describe_node/6, scroll_into_view_if_needed/5, disable/1, enable/1, focus/4, get_attributes/2, get_box_model/4, get_document/3, get_node_for_location/5, get_outer_html/4, hide_highlight/1, highlight_node/1, highlight_rect/1, move_to/4, query_selector/3, query_selector_all/3, remove_attribute/3, remove_node/2, request_child_nodes/4, request_node/2, resolve_node/5, set_attribute_value/4, set_attributes_as_text/4, set_file_input_files/5, set_node_name/3, set_node_value/3, set_outer_html/3]). -export_type([node_id/0, backend_node_id/0, backend_node/0, pseudo_type/0, shadow_root_type/0, compatibility_mode/0, physical_axes/0, logical_axes/0, scroll_orientation/0, node_/0, rgba/0, quad/0, box_model/0, shape_outside_info/0, rect/0, css_computed_style_property/0, describe_node_response/0, get_attributes_response/0, get_box_model_response/0, get_document_response/0, get_node_for_location_response/0, get_outer_html_response/0, move_to_response/0, query_selector_response/0, query_selector_all_response/0, request_node_response/0, resolve_node_response/0, set_node_name_response/0]). -type node_id() :: {node_id, integer()}. -type backend_node_id() :: {backend_node_id, integer()}. -type backend_node() :: {backend_node, integer(), binary(), backend_node_id()}. -type pseudo_type() :: pseudo_type_first_line | pseudo_type_first_letter | pseudo_type_before | pseudo_type_after | pseudo_type_marker | pseudo_type_backdrop | pseudo_type_selection | pseudo_type_target_text | pseudo_type_spelling_error | pseudo_type_grammar_error | pseudo_type_highlight | pseudo_type_first_line_inherited | pseudo_type_scroll_marker | pseudo_type_scroll_markers | pseudo_type_scrollbar | pseudo_type_scrollbar_thumb | pseudo_type_scrollbar_button | pseudo_type_scrollbar_track | pseudo_type_scrollbar_track_piece | pseudo_type_scrollbar_corner | pseudo_type_resizer | pseudo_type_input_list_button | pseudo_type_view_transition | pseudo_type_view_transition_group | pseudo_type_view_transition_image_pair | pseudo_type_view_transition_old | pseudo_type_view_transition_new. -type shadow_root_type() :: shadow_root_type_user_agent | shadow_root_type_open | shadow_root_type_closed. -type compatibility_mode() :: compatibility_mode_quirks_mode | compatibility_mode_limited_quirks_mode | compatibility_mode_no_quirks_mode. -type physical_axes() :: physical_axes_horizontal | physical_axes_vertical | physical_axes_both. -type logical_axes() :: logical_axes_inline | logical_axes_block | logical_axes_both. -type scroll_orientation() :: scroll_orientation_horizontal | scroll_orientation_vertical. -type node_() :: {node, node_id(), gleam@option:option(node_id()), backend_node_id(), integer(), binary(), binary(), binary(), gleam@option:option(integer()), gleam@option:option(list(node_())), gleam@option:option(list(binary())), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(pseudo_type()), gleam@option:option(binary()), gleam@option:option(shadow_root_type()), gleam@option:option(binary()), gleam@option:option(node_()), gleam@option:option(list(node_())), gleam@option:option(node_()), gleam@option:option(list(node_())), gleam@option:option(list(backend_node())), gleam@option:option(boolean()), gleam@option:option(compatibility_mode()), gleam@option:option(backend_node())}. -type rgba() :: {rgba, integer(), integer(), integer(), gleam@option:option(float())}. -type quad() :: {quad, list(float())}. -type box_model() :: {box_model, quad(), quad(), quad(), quad(), integer(), integer(), gleam@option:option(shape_outside_info())}. -type shape_outside_info() :: {shape_outside_info, quad(), list(gleam@dynamic:dynamic_()), list(gleam@dynamic:dynamic_())}. -type rect() :: {rect, float(), float(), float(), float()}. -type css_computed_style_property() :: {css_computed_style_property, binary(), binary()}. -type describe_node_response() :: {describe_node_response, node_()}. -type get_attributes_response() :: {get_attributes_response, list(binary())}. -type get_box_model_response() :: {get_box_model_response, box_model()}. -type get_document_response() :: {get_document_response, node_()}. -type get_node_for_location_response() :: {get_node_for_location_response, backend_node_id(), binary(), gleam@option:option(node_id())}. -type get_outer_html_response() :: {get_outer_html_response, binary()}. -type move_to_response() :: {move_to_response, node_id()}. -type query_selector_response() :: {query_selector_response, node_id()}. -type query_selector_all_response() :: {query_selector_all_response, list(node_id())}. -type request_node_response() :: {request_node_response, node_id()}. -type resolve_node_response() :: {resolve_node_response, chrobot@protocol@runtime:remote_object()}. -type set_node_name_response() :: {set_node_name_response, node_id()}. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 33). -spec encode__node_id(node_id()) -> gleam@json:json(). encode__node_id(Value__) -> case Value__ of {node_id, Inner_value__} -> gleam@json:int(Inner_value__) end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 40). -spec decode__node_id(gleam@dynamic:dynamic_()) -> {ok, node_id()} | {error, list(gleam@dynamic:decode_error())}. decode__node_id(Value__) -> _pipe = Value__, (gleam@dynamic:decode1( fun(Field@0) -> {node_id, Field@0} end, fun gleam@dynamic:int/1 ))(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 51). -spec encode__backend_node_id(backend_node_id()) -> gleam@json:json(). encode__backend_node_id(Value__) -> case Value__ of {backend_node_id, Inner_value__} -> gleam@json:int(Inner_value__) end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 58). -spec decode__backend_node_id(gleam@dynamic:dynamic_()) -> {ok, backend_node_id()} | {error, list(gleam@dynamic:decode_error())}. decode__backend_node_id(Value__) -> _pipe = Value__, (gleam@dynamic:decode1( fun(Field@0) -> {backend_node_id, Field@0} end, fun gleam@dynamic:int/1 ))(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 74). -spec encode__backend_node(backend_node()) -> gleam@json:json(). encode__backend_node(Value__) -> gleam@json:object( [{<<"nodeType"/utf8>>, gleam@json:int(erlang:element(2, Value__))}, {<<"nodeName"/utf8>>, gleam@json:string(erlang:element(3, Value__))}, {<<"backendNodeId"/utf8>>, encode__backend_node_id(erlang:element(4, Value__))}] ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 83). -spec decode__backend_node(gleam@dynamic:dynamic_()) -> {ok, backend_node()} | {error, list(gleam@dynamic:decode_error())}. decode__backend_node(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeType"/utf8>>, fun gleam@dynamic:int/1))( Value__ ), fun(Node_type) -> gleam@result:'try'( (gleam@dynamic:field( <<"nodeName"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Node_name) -> gleam@result:'try'( (gleam@dynamic:field( <<"backendNodeId"/utf8>>, fun decode__backend_node_id/1 ))(Value__), fun(Backend_node_id) -> {ok, {backend_node, Node_type, Node_name, Backend_node_id}} end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 130). -spec encode__pseudo_type(pseudo_type()) -> gleam@json:json(). encode__pseudo_type(Value__) -> _pipe = case Value__ of pseudo_type_first_line -> <<"first-line"/utf8>>; pseudo_type_first_letter -> <<"first-letter"/utf8>>; pseudo_type_before -> <<"before"/utf8>>; pseudo_type_after -> <<"after"/utf8>>; pseudo_type_marker -> <<"marker"/utf8>>; pseudo_type_backdrop -> <<"backdrop"/utf8>>; pseudo_type_selection -> <<"selection"/utf8>>; pseudo_type_target_text -> <<"target-text"/utf8>>; pseudo_type_spelling_error -> <<"spelling-error"/utf8>>; pseudo_type_grammar_error -> <<"grammar-error"/utf8>>; pseudo_type_highlight -> <<"highlight"/utf8>>; pseudo_type_first_line_inherited -> <<"first-line-inherited"/utf8>>; pseudo_type_scroll_marker -> <<"scroll-marker"/utf8>>; pseudo_type_scroll_markers -> <<"scroll-markers"/utf8>>; pseudo_type_scrollbar -> <<"scrollbar"/utf8>>; pseudo_type_scrollbar_thumb -> <<"scrollbar-thumb"/utf8>>; pseudo_type_scrollbar_button -> <<"scrollbar-button"/utf8>>; pseudo_type_scrollbar_track -> <<"scrollbar-track"/utf8>>; pseudo_type_scrollbar_track_piece -> <<"scrollbar-track-piece"/utf8>>; pseudo_type_scrollbar_corner -> <<"scrollbar-corner"/utf8>>; pseudo_type_resizer -> <<"resizer"/utf8>>; pseudo_type_input_list_button -> <<"input-list-button"/utf8>>; pseudo_type_view_transition -> <<"view-transition"/utf8>>; pseudo_type_view_transition_group -> <<"view-transition-group"/utf8>>; pseudo_type_view_transition_image_pair -> <<"view-transition-image-pair"/utf8>>; pseudo_type_view_transition_old -> <<"view-transition-old"/utf8>>; pseudo_type_view_transition_new -> <<"view-transition-new"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 164). -spec decode__pseudo_type(gleam@dynamic:dynamic_()) -> {ok, pseudo_type()} | {error, list(gleam@dynamic:decode_error())}. decode__pseudo_type(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"first-line"/utf8>>} -> {ok, pseudo_type_first_line}; {ok, <<"first-letter"/utf8>>} -> {ok, pseudo_type_first_letter}; {ok, <<"before"/utf8>>} -> {ok, pseudo_type_before}; {ok, <<"after"/utf8>>} -> {ok, pseudo_type_after}; {ok, <<"marker"/utf8>>} -> {ok, pseudo_type_marker}; {ok, <<"backdrop"/utf8>>} -> {ok, pseudo_type_backdrop}; {ok, <<"selection"/utf8>>} -> {ok, pseudo_type_selection}; {ok, <<"target-text"/utf8>>} -> {ok, pseudo_type_target_text}; {ok, <<"spelling-error"/utf8>>} -> {ok, pseudo_type_spelling_error}; {ok, <<"grammar-error"/utf8>>} -> {ok, pseudo_type_grammar_error}; {ok, <<"highlight"/utf8>>} -> {ok, pseudo_type_highlight}; {ok, <<"first-line-inherited"/utf8>>} -> {ok, pseudo_type_first_line_inherited}; {ok, <<"scroll-marker"/utf8>>} -> {ok, pseudo_type_scroll_marker}; {ok, <<"scroll-markers"/utf8>>} -> {ok, pseudo_type_scroll_markers}; {ok, <<"scrollbar"/utf8>>} -> {ok, pseudo_type_scrollbar}; {ok, <<"scrollbar-thumb"/utf8>>} -> {ok, pseudo_type_scrollbar_thumb}; {ok, <<"scrollbar-button"/utf8>>} -> {ok, pseudo_type_scrollbar_button}; {ok, <<"scrollbar-track"/utf8>>} -> {ok, pseudo_type_scrollbar_track}; {ok, <<"scrollbar-track-piece"/utf8>>} -> {ok, pseudo_type_scrollbar_track_piece}; {ok, <<"scrollbar-corner"/utf8>>} -> {ok, pseudo_type_scrollbar_corner}; {ok, <<"resizer"/utf8>>} -> {ok, pseudo_type_resizer}; {ok, <<"input-list-button"/utf8>>} -> {ok, pseudo_type_input_list_button}; {ok, <<"view-transition"/utf8>>} -> {ok, pseudo_type_view_transition}; {ok, <<"view-transition-group"/utf8>>} -> {ok, pseudo_type_view_transition_group}; {ok, <<"view-transition-image-pair"/utf8>>} -> {ok, pseudo_type_view_transition_image_pair}; {ok, <<"view-transition-old"/utf8>>} -> {ok, pseudo_type_view_transition_old}; {ok, <<"view-transition-new"/utf8>>} -> {ok, pseudo_type_view_transition_new}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 213). -spec encode__shadow_root_type(shadow_root_type()) -> gleam@json:json(). encode__shadow_root_type(Value__) -> _pipe = case Value__ of shadow_root_type_user_agent -> <<"user-agent"/utf8>>; shadow_root_type_open -> <<"open"/utf8>>; shadow_root_type_closed -> <<"closed"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 223). -spec decode__shadow_root_type(gleam@dynamic:dynamic_()) -> {ok, shadow_root_type()} | {error, list(gleam@dynamic:decode_error())}. decode__shadow_root_type(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"user-agent"/utf8>>} -> {ok, shadow_root_type_user_agent}; {ok, <<"open"/utf8>>} -> {ok, shadow_root_type_open}; {ok, <<"closed"/utf8>>} -> {ok, shadow_root_type_closed}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 248). -spec encode__compatibility_mode(compatibility_mode()) -> gleam@json:json(). encode__compatibility_mode(Value__) -> _pipe = case Value__ of compatibility_mode_quirks_mode -> <<"QuirksMode"/utf8>>; compatibility_mode_limited_quirks_mode -> <<"LimitedQuirksMode"/utf8>>; compatibility_mode_no_quirks_mode -> <<"NoQuirksMode"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 258). -spec decode__compatibility_mode(gleam@dynamic:dynamic_()) -> {ok, compatibility_mode()} | {error, list(gleam@dynamic:decode_error())}. decode__compatibility_mode(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"QuirksMode"/utf8>>} -> {ok, compatibility_mode_quirks_mode}; {ok, <<"LimitedQuirksMode"/utf8>>} -> {ok, compatibility_mode_limited_quirks_mode}; {ok, <<"NoQuirksMode"/utf8>>} -> {ok, compatibility_mode_no_quirks_mode}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 283). -spec encode__physical_axes(physical_axes()) -> gleam@json:json(). encode__physical_axes(Value__) -> _pipe = case Value__ of physical_axes_horizontal -> <<"Horizontal"/utf8>>; physical_axes_vertical -> <<"Vertical"/utf8>>; physical_axes_both -> <<"Both"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 293). -spec decode__physical_axes(gleam@dynamic:dynamic_()) -> {ok, physical_axes()} | {error, list(gleam@dynamic:decode_error())}. decode__physical_axes(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"Horizontal"/utf8>>} -> {ok, physical_axes_horizontal}; {ok, <<"Vertical"/utf8>>} -> {ok, physical_axes_vertical}; {ok, <<"Both"/utf8>>} -> {ok, physical_axes_both}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 318). -spec encode__logical_axes(logical_axes()) -> gleam@json:json(). encode__logical_axes(Value__) -> _pipe = case Value__ of logical_axes_inline -> <<"Inline"/utf8>>; logical_axes_block -> <<"Block"/utf8>>; logical_axes_both -> <<"Both"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 328). -spec decode__logical_axes(gleam@dynamic:dynamic_()) -> {ok, logical_axes()} | {error, list(gleam@dynamic:decode_error())}. decode__logical_axes(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"Inline"/utf8>>} -> {ok, logical_axes_inline}; {ok, <<"Block"/utf8>>} -> {ok, logical_axes_block}; {ok, <<"Both"/utf8>>} -> {ok, logical_axes_both}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 352). -spec encode__scroll_orientation(scroll_orientation()) -> gleam@json:json(). encode__scroll_orientation(Value__) -> _pipe = case Value__ of scroll_orientation_horizontal -> <<"horizontal"/utf8>>; scroll_orientation_vertical -> <<"vertical"/utf8>> end, gleam@json:string(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 361). -spec decode__scroll_orientation(gleam@dynamic:dynamic_()) -> {ok, scroll_orientation()} | {error, list(gleam@dynamic:decode_error())}. decode__scroll_orientation(Value__) -> case gleam@dynamic:string(Value__) of {ok, <<"horizontal"/utf8>>} -> {ok, scroll_orientation_horizontal}; {ok, <<"vertical"/utf8>>} -> {ok, scroll_orientation_vertical}; {error, Error} -> {error, Error}; {ok, Other} -> {error, [{decode_error, <<"valid enum property"/utf8>>, Other, [<<"enum decoder"/utf8>>]}]} end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 446). -spec encode__node(node_()) -> gleam@json:json(). encode__node(Value__) -> gleam@json:object( begin _pipe = [{<<"nodeId"/utf8>>, encode__node_id(erlang:element(2, Value__))}, {<<"backendNodeId"/utf8>>, encode__backend_node_id(erlang:element(4, Value__))}, {<<"nodeType"/utf8>>, gleam@json:int(erlang:element(5, Value__))}, {<<"nodeName"/utf8>>, gleam@json:string(erlang:element(6, Value__))}, {<<"localName"/utf8>>, gleam@json:string(erlang:element(7, Value__))}, {<<"nodeValue"/utf8>>, gleam@json:string(erlang:element(8, Value__))}], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, erlang:element(3, Value__), fun(Inner_value__) -> {<<"parentId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, erlang:element(9, Value__), fun(Inner_value__@1) -> {<<"childNodeCount"/utf8>>, gleam@json:int(Inner_value__@1)} end ), _pipe@3 = chrobot@internal@utils:add_optional( _pipe@2, erlang:element(10, Value__), fun(Inner_value__@2) -> {<<"children"/utf8>>, gleam@json:array(Inner_value__@2, fun encode__node/1)} end ), _pipe@4 = chrobot@internal@utils:add_optional( _pipe@3, erlang:element(11, Value__), fun(Inner_value__@3) -> {<<"attributes"/utf8>>, gleam@json:array( Inner_value__@3, fun gleam@json:string/1 )} end ), _pipe@5 = chrobot@internal@utils:add_optional( _pipe@4, erlang:element(12, Value__), fun(Inner_value__@4) -> {<<"documentURL"/utf8>>, gleam@json:string(Inner_value__@4)} end ), _pipe@6 = chrobot@internal@utils:add_optional( _pipe@5, erlang:element(13, Value__), fun(Inner_value__@5) -> {<<"baseURL"/utf8>>, gleam@json:string(Inner_value__@5)} end ), _pipe@7 = chrobot@internal@utils:add_optional( _pipe@6, erlang:element(14, Value__), fun(Inner_value__@6) -> {<<"publicId"/utf8>>, gleam@json:string(Inner_value__@6)} end ), _pipe@8 = chrobot@internal@utils:add_optional( _pipe@7, erlang:element(15, Value__), fun(Inner_value__@7) -> {<<"systemId"/utf8>>, gleam@json:string(Inner_value__@7)} end ), _pipe@9 = chrobot@internal@utils:add_optional( _pipe@8, erlang:element(16, Value__), fun(Inner_value__@8) -> {<<"internalSubset"/utf8>>, gleam@json:string(Inner_value__@8)} end ), _pipe@10 = chrobot@internal@utils:add_optional( _pipe@9, erlang:element(17, Value__), fun(Inner_value__@9) -> {<<"xmlVersion"/utf8>>, gleam@json:string(Inner_value__@9)} end ), _pipe@11 = chrobot@internal@utils:add_optional( _pipe@10, erlang:element(18, Value__), fun(Inner_value__@10) -> {<<"name"/utf8>>, gleam@json:string(Inner_value__@10)} end ), _pipe@12 = chrobot@internal@utils:add_optional( _pipe@11, erlang:element(19, Value__), fun(Inner_value__@11) -> {<<"value"/utf8>>, gleam@json:string(Inner_value__@11)} end ), _pipe@13 = chrobot@internal@utils:add_optional( _pipe@12, erlang:element(20, Value__), fun(Inner_value__@12) -> {<<"pseudoType"/utf8>>, encode__pseudo_type(Inner_value__@12)} end ), _pipe@14 = chrobot@internal@utils:add_optional( _pipe@13, erlang:element(21, Value__), fun(Inner_value__@13) -> {<<"pseudoIdentifier"/utf8>>, gleam@json:string(Inner_value__@13)} end ), _pipe@15 = chrobot@internal@utils:add_optional( _pipe@14, erlang:element(22, Value__), fun(Inner_value__@14) -> {<<"shadowRootType"/utf8>>, encode__shadow_root_type(Inner_value__@14)} end ), _pipe@16 = chrobot@internal@utils:add_optional( _pipe@15, erlang:element(23, Value__), fun(Inner_value__@15) -> {<<"frameId"/utf8>>, gleam@json:string(Inner_value__@15)} end ), _pipe@17 = chrobot@internal@utils:add_optional( _pipe@16, erlang:element(24, Value__), fun(Inner_value__@16) -> {<<"contentDocument"/utf8>>, encode__node(Inner_value__@16)} end ), _pipe@18 = chrobot@internal@utils:add_optional( _pipe@17, erlang:element(25, Value__), fun(Inner_value__@17) -> {<<"shadowRoots"/utf8>>, gleam@json:array(Inner_value__@17, fun encode__node/1)} end ), _pipe@19 = chrobot@internal@utils:add_optional( _pipe@18, erlang:element(26, Value__), fun(Inner_value__@18) -> {<<"templateContent"/utf8>>, encode__node(Inner_value__@18)} end ), _pipe@20 = chrobot@internal@utils:add_optional( _pipe@19, erlang:element(27, Value__), fun(Inner_value__@19) -> {<<"pseudoElements"/utf8>>, gleam@json:array(Inner_value__@19, fun encode__node/1)} end ), _pipe@21 = chrobot@internal@utils:add_optional( _pipe@20, erlang:element(28, Value__), fun(Inner_value__@20) -> {<<"distributedNodes"/utf8>>, gleam@json:array( Inner_value__@20, fun encode__backend_node/1 )} end ), _pipe@22 = chrobot@internal@utils:add_optional( _pipe@21, erlang:element(29, Value__), fun(Inner_value__@21) -> {<<"isSVG"/utf8>>, gleam@json:bool(Inner_value__@21)} end ), _pipe@23 = chrobot@internal@utils:add_optional( _pipe@22, erlang:element(30, Value__), fun(Inner_value__@22) -> {<<"compatibilityMode"/utf8>>, encode__compatibility_mode(Inner_value__@22)} end ), chrobot@internal@utils:add_optional( _pipe@23, erlang:element(31, Value__), fun(Inner_value__@23) -> {<<"assignedSlot"/utf8>>, encode__backend_node(Inner_value__@23)} end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 532). -spec decode__node(gleam@dynamic:dynamic_()) -> {ok, node_()} | {error, list(gleam@dynamic:decode_error())}. decode__node(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeId"/utf8>>, fun decode__node_id/1))(Value__), fun(Node_id) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"parentId"/utf8>>, fun decode__node_id/1 ))(Value__), fun(Parent_id) -> gleam@result:'try'( (gleam@dynamic:field( <<"backendNodeId"/utf8>>, fun decode__backend_node_id/1 ))(Value__), fun(Backend_node_id) -> gleam@result:'try'( (gleam@dynamic:field( <<"nodeType"/utf8>>, fun gleam@dynamic:int/1 ))(Value__), fun(Node_type) -> gleam@result:'try'( (gleam@dynamic:field( <<"nodeName"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Node_name) -> gleam@result:'try'( (gleam@dynamic:field( <<"localName"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Local_name) -> gleam@result:'try'( (gleam@dynamic:field( <<"nodeValue"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Node_value) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"childNodeCount"/utf8>>, fun gleam@dynamic:int/1 ))(Value__), fun( Child_node_count ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"children"/utf8>>, gleam@dynamic:list( fun decode__node/1 ) ))( Value__ ), fun( Children ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"attributes"/utf8>>, gleam@dynamic:list( fun gleam@dynamic:string/1 ) ))( Value__ ), fun( Attributes ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"documentURL"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Document_url ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"baseURL"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Base_url ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"publicId"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Public_id ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"systemId"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( System_id ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"internalSubset"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Internal_subset ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"xmlVersion"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Xml_version ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"name"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Name ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"value"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Value ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"pseudoType"/utf8>>, fun decode__pseudo_type/1 ))( Value__ ), fun( Pseudo_type ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"pseudoIdentifier"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Pseudo_identifier ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"shadowRootType"/utf8>>, fun decode__shadow_root_type/1 ))( Value__ ), fun( Shadow_root_type ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"frameId"/utf8>>, fun gleam@dynamic:string/1 ))( Value__ ), fun( Frame_id ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"contentDocument"/utf8>>, fun decode__node/1 ))( Value__ ), fun( Content_document ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"shadowRoots"/utf8>>, gleam@dynamic:list( fun decode__node/1 ) ))( Value__ ), fun( Shadow_roots ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"templateContent"/utf8>>, fun decode__node/1 ))( Value__ ), fun( Template_content ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"pseudoElements"/utf8>>, gleam@dynamic:list( fun decode__node/1 ) ))( Value__ ), fun( Pseudo_elements ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"distributedNodes"/utf8>>, gleam@dynamic:list( fun decode__backend_node/1 ) ))( Value__ ), fun( Distributed_nodes ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"isSVG"/utf8>>, fun gleam@dynamic:bool/1 ))( Value__ ), fun( Is_svg ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"compatibilityMode"/utf8>>, fun decode__compatibility_mode/1 ))( Value__ ), fun( Compatibility_mode ) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"assignedSlot"/utf8>>, fun decode__backend_node/1 ))( Value__ ), fun( Assigned_slot ) -> {ok, {node, Node_id, Parent_id, Backend_node_id, Node_type, Node_name, Local_name, Node_value, Child_node_count, Children, Attributes, Document_url, Base_url, Public_id, System_id, Internal_subset, Xml_version, Name, Value, Pseudo_type, Pseudo_identifier, Shadow_root_type, Frame_id, Content_document, Shadow_roots, Template_content, Pseudo_elements, Distributed_nodes, Is_svg, Compatibility_mode, Assigned_slot}} end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 683). -spec encode__rgba(rgba()) -> gleam@json:json(). encode__rgba(Value__) -> gleam@json:object( begin _pipe = [{<<"r"/utf8>>, gleam@json:int(erlang:element(2, Value__))}, {<<"g"/utf8>>, gleam@json:int(erlang:element(3, Value__))}, {<<"b"/utf8>>, gleam@json:int(erlang:element(4, Value__))}], chrobot@internal@utils:add_optional( _pipe, erlang:element(5, Value__), fun(Inner_value__) -> {<<"a"/utf8>>, gleam@json:float(Inner_value__)} end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 697). -spec decode__rgba(gleam@dynamic:dynamic_()) -> {ok, rgba()} | {error, list(gleam@dynamic:decode_error())}. decode__rgba(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"r"/utf8>>, fun gleam@dynamic:int/1))(Value__), fun(R) -> gleam@result:'try'( (gleam@dynamic:field(<<"g"/utf8>>, fun gleam@dynamic:int/1))( Value__ ), fun(G) -> gleam@result:'try'( (gleam@dynamic:field( <<"b"/utf8>>, fun gleam@dynamic:int/1 ))(Value__), fun(B) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"a"/utf8>>, fun gleam@dynamic:float/1 ))(Value__), fun(A) -> {ok, {rgba, R, G, B, A}} end ) end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 712). -spec encode__quad(quad()) -> gleam@json:json(). encode__quad(Value__) -> case Value__ of {quad, Inner_value__} -> gleam@json:array(Inner_value__, fun gleam@json:float/1) end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 719). -spec decode__quad(gleam@dynamic:dynamic_()) -> {ok, quad()} | {error, list(gleam@dynamic:decode_error())}. decode__quad(Value__) -> _pipe = Value__, (gleam@dynamic:decode1( fun(Field@0) -> {quad, Field@0} end, gleam@dynamic:list(fun gleam@dynamic:float/1) ))(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 797). -spec encode__shape_outside_info(shape_outside_info()) -> gleam@json:json(). encode__shape_outside_info(Value__) -> gleam@json:object( [{<<"bounds"/utf8>>, encode__quad(erlang:element(2, Value__))}, {<<"shape"/utf8>>, gleam@json:null()}, {<<"marginShape"/utf8>>, gleam@json:null()}] ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 744). -spec encode__box_model(box_model()) -> gleam@json:json(). encode__box_model(Value__) -> gleam@json:object( begin _pipe = [{<<"content"/utf8>>, encode__quad(erlang:element(2, Value__))}, {<<"padding"/utf8>>, encode__quad(erlang:element(3, Value__))}, {<<"border"/utf8>>, encode__quad(erlang:element(4, Value__))}, {<<"margin"/utf8>>, encode__quad(erlang:element(5, Value__))}, {<<"width"/utf8>>, gleam@json:int(erlang:element(6, Value__))}, {<<"height"/utf8>>, gleam@json:int(erlang:element(7, Value__))}], chrobot@internal@utils:add_optional( _pipe, erlang:element(8, Value__), fun(Inner_value__) -> {<<"shapeOutside"/utf8>>, encode__shape_outside_info(Inner_value__)} end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 814). -spec decode__shape_outside_info(gleam@dynamic:dynamic_()) -> {ok, shape_outside_info()} | {error, list(gleam@dynamic:decode_error())}. decode__shape_outside_info(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"bounds"/utf8>>, fun decode__quad/1))(Value__), fun(Bounds) -> gleam@result:'try'( (gleam@dynamic:field( <<"shape"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:dynamic/1) ))(Value__), fun(Shape) -> gleam@result:'try'( (gleam@dynamic:field( <<"marginShape"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:dynamic/1) ))(Value__), fun(Margin_shape) -> {ok, {shape_outside_info, Bounds, Shape, Margin_shape}} end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 761). -spec decode__box_model(gleam@dynamic:dynamic_()) -> {ok, box_model()} | {error, list(gleam@dynamic:decode_error())}. decode__box_model(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"content"/utf8>>, fun decode__quad/1))(Value__), fun(Content) -> gleam@result:'try'( (gleam@dynamic:field(<<"padding"/utf8>>, fun decode__quad/1))( Value__ ), fun(Padding) -> gleam@result:'try'( (gleam@dynamic:field( <<"border"/utf8>>, fun decode__quad/1 ))(Value__), fun(Border) -> gleam@result:'try'( (gleam@dynamic:field( <<"margin"/utf8>>, fun decode__quad/1 ))(Value__), fun(Margin) -> gleam@result:'try'( (gleam@dynamic:field( <<"width"/utf8>>, fun gleam@dynamic:int/1 ))(Value__), fun(Width) -> gleam@result:'try'( (gleam@dynamic:field( <<"height"/utf8>>, fun gleam@dynamic:int/1 ))(Value__), fun(Height) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"shapeOutside"/utf8>>, fun decode__shape_outside_info/1 ))(Value__), fun(Shape_outside) -> {ok, {box_model, Content, Padding, Border, Margin, Width, Height, Shape_outside}} end ) end ) end ) end ) end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 842). -spec encode__rect(rect()) -> gleam@json:json(). encode__rect(Value__) -> gleam@json:object( [{<<"x"/utf8>>, gleam@json:float(erlang:element(2, Value__))}, {<<"y"/utf8>>, gleam@json:float(erlang:element(3, Value__))}, {<<"width"/utf8>>, gleam@json:float(erlang:element(4, Value__))}, {<<"height"/utf8>>, gleam@json:float(erlang:element(5, Value__))}] ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 852). -spec decode__rect(gleam@dynamic:dynamic_()) -> {ok, rect()} | {error, list(gleam@dynamic:decode_error())}. decode__rect(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"x"/utf8>>, fun gleam@dynamic:float/1))(Value__), fun(X) -> gleam@result:'try'( (gleam@dynamic:field(<<"y"/utf8>>, fun gleam@dynamic:float/1))( Value__ ), fun(Y) -> gleam@result:'try'( (gleam@dynamic:field( <<"width"/utf8>>, fun gleam@dynamic:float/1 ))(Value__), fun(Width) -> gleam@result:'try'( (gleam@dynamic:field( <<"height"/utf8>>, fun gleam@dynamic:float/1 ))(Value__), fun(Height) -> {ok, {rect, X, Y, Width, Height}} end ) end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 871). -spec encode__css_computed_style_property(css_computed_style_property()) -> gleam@json:json(). encode__css_computed_style_property(Value__) -> gleam@json:object( [{<<"name"/utf8>>, gleam@json:string(erlang:element(2, Value__))}, {<<"value"/utf8>>, gleam@json:string(erlang:element(3, Value__))}] ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 879). -spec decode__css_computed_style_property(gleam@dynamic:dynamic_()) -> {ok, css_computed_style_property()} | {error, list(gleam@dynamic:decode_error())}. decode__css_computed_style_property(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"name"/utf8>>, fun gleam@dynamic:string/1))( Value__ ), fun(Name) -> gleam@result:'try'( (gleam@dynamic:field( <<"value"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Value) -> {ok, {css_computed_style_property, Name, Value}} end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 896). -spec decode__describe_node_response(gleam@dynamic:dynamic_()) -> {ok, describe_node_response()} | {error, list(gleam@dynamic:decode_error())}. decode__describe_node_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"node"/utf8>>, fun decode__node/1))(Value__), fun(Node) -> {ok, {describe_node_response, Node}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 912). -spec decode__get_attributes_response(gleam@dynamic:dynamic_()) -> {ok, get_attributes_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_attributes_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"attributes"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:string/1) ))(Value__), fun(Attributes) -> {ok, {get_attributes_response, Attributes}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 931). -spec decode__get_box_model_response(gleam@dynamic:dynamic_()) -> {ok, get_box_model_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_box_model_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"model"/utf8>>, fun decode__box_model/1))( Value__ ), fun(Model) -> {ok, {get_box_model_response, Model}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 947). -spec decode__get_document_response(gleam@dynamic:dynamic_()) -> {ok, get_document_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_document_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"root"/utf8>>, fun decode__node/1))(Value__), fun(Root) -> {ok, {get_document_response, Root}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 967). -spec decode__get_node_for_location_response(gleam@dynamic:dynamic_()) -> {ok, get_node_for_location_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_node_for_location_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"backendNodeId"/utf8>>, fun decode__backend_node_id/1 ))(Value__), fun(Backend_node_id) -> gleam@result:'try'( (gleam@dynamic:field( <<"frameId"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Frame_id) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"nodeId"/utf8>>, fun decode__node_id/1 ))(Value__), fun(Node_id) -> {ok, {get_node_for_location_response, Backend_node_id, Frame_id, Node_id}} end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 994). -spec decode__get_outer_html_response(gleam@dynamic:dynamic_()) -> {ok, get_outer_html_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_outer_html_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"outerHTML"/utf8>>, fun gleam@dynamic:string/1))( Value__ ), fun(Outer_html) -> {ok, {get_outer_html_response, Outer_html}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1012). -spec decode__move_to_response(gleam@dynamic:dynamic_()) -> {ok, move_to_response()} | {error, list(gleam@dynamic:decode_error())}. decode__move_to_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeId"/utf8>>, fun decode__node_id/1))(Value__), fun(Node_id) -> {ok, {move_to_response, Node_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1028). -spec decode__query_selector_response(gleam@dynamic:dynamic_()) -> {ok, query_selector_response()} | {error, list(gleam@dynamic:decode_error())}. decode__query_selector_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeId"/utf8>>, fun decode__node_id/1))(Value__), fun(Node_id) -> {ok, {query_selector_response, Node_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1044). -spec decode__query_selector_all_response(gleam@dynamic:dynamic_()) -> {ok, query_selector_all_response()} | {error, list(gleam@dynamic:decode_error())}. decode__query_selector_all_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"nodeIds"/utf8>>, gleam@dynamic:list(fun decode__node_id/1) ))(Value__), fun(Node_ids) -> {ok, {query_selector_all_response, Node_ids}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1063). -spec decode__request_node_response(gleam@dynamic:dynamic_()) -> {ok, request_node_response()} | {error, list(gleam@dynamic:decode_error())}. decode__request_node_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeId"/utf8>>, fun decode__node_id/1))(Value__), fun(Node_id) -> {ok, {request_node_response, Node_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1079). -spec decode__resolve_node_response(gleam@dynamic:dynamic_()) -> {ok, resolve_node_response()} | {error, list(gleam@dynamic:decode_error())}. decode__resolve_node_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"object"/utf8>>, fun chrobot@protocol@runtime:decode__remote_object/1 ))(Value__), fun(Object) -> {ok, {resolve_node_response, Object}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1098). -spec decode__set_node_name_response(gleam@dynamic:dynamic_()) -> {ok, set_node_name_response()} | {error, list(gleam@dynamic:decode_error())}. decode__set_node_name_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"nodeId"/utf8>>, fun decode__node_id/1))(Value__), fun(Node_id) -> {ok, {set_node_name_response, Node_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1119). -spec describe_node( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()), gleam@option:option(integer()), gleam@option:option(boolean()) ) -> {ok, describe_node_response()} | {error, chrobot@chrome:request_error()}. describe_node(Callback__, Node_id, Backend_node_id, Object_id, Depth, Pierce) -> gleam@result:'try'( Callback__( <<"DOM.describeNode"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), _pipe@3 = chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ), _pipe@4 = chrobot@internal@utils:add_optional( _pipe@3, Depth, fun(Inner_value__@3) -> {<<"depth"/utf8>>, gleam@json:int(Inner_value__@3)} end ), chrobot@internal@utils:add_optional( _pipe@4, Pierce, fun(Inner_value__@4) -> {<<"pierce"/utf8>>, gleam@json:bool(Inner_value__@4)} end ) end )} ), fun(Result__) -> _pipe@5 = decode__describe_node_response(Result__), gleam@result:replace_error(_pipe@5, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1166). -spec scroll_into_view_if_needed( fun((binary(), gleam@option:option(gleam@json:json())) -> AFZY), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()), gleam@option:option(rect()) ) -> AFZY. scroll_into_view_if_needed( Callback__, Node_id, Backend_node_id, Object_id, Rect ) -> Callback__( <<"DOM.scrollIntoViewIfNeeded"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), _pipe@3 = chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ), chrobot@internal@utils:add_optional( _pipe@3, Rect, fun(Inner_value__@3) -> {<<"rect"/utf8>>, encode__rect(Inner_value__@3)} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1195). -spec disable(fun((binary(), gleam@option:option(any())) -> AGAL)) -> AGAL. disable(Callback__) -> Callback__(<<"DOM.disable"/utf8>>, none). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1205). -spec enable(fun((binary(), gleam@option:option(any())) -> AGAP)) -> AGAP. enable(Callback__) -> Callback__(<<"DOM.enable"/utf8>>, none). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1218). -spec focus( fun((binary(), gleam@option:option(gleam@json:json())) -> AGAT), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()) ) -> AGAT. focus(Callback__, Node_id, Backend_node_id, Object_id) -> Callback__( <<"DOM.focus"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1249). -spec get_attributes( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), node_id() ) -> {ok, get_attributes_response()} | {error, chrobot@chrome:request_error()}. get_attributes(Callback__, Node_id) -> gleam@result:'try'( Callback__( <<"DOM.getAttributes"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}] )} ), fun(Result__) -> _pipe = decode__get_attributes_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1269). -spec get_box_model( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()) ) -> {ok, get_box_model_response()} | {error, chrobot@chrome:request_error()}. get_box_model(Callback__, Node_id, Backend_node_id, Object_id) -> gleam@result:'try'( Callback__( <<"DOM.getBoxModel"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ) end )} ), fun(Result__) -> _pipe@3 = decode__get_box_model_response(Result__), gleam@result:replace_error(_pipe@3, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1307). -spec get_document( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), gleam@option:option(integer()), gleam@option:option(boolean()) ) -> {ok, get_document_response()} | {error, chrobot@chrome:request_error()}. get_document(Callback__, Depth, Pierce) -> gleam@result:'try'( Callback__( <<"DOM.getDocument"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Depth, fun(Inner_value__) -> {<<"depth"/utf8>>, gleam@json:int(Inner_value__)} end ), chrobot@internal@utils:add_optional( _pipe@1, Pierce, fun(Inner_value__@1) -> {<<"pierce"/utf8>>, gleam@json:bool(Inner_value__@1)} end ) end )} ), fun(Result__) -> _pipe@2 = decode__get_document_response(Result__), gleam@result:replace_error(_pipe@2, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1343). -spec get_node_for_location( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), integer(), integer(), gleam@option:option(boolean()), gleam@option:option(boolean()) ) -> {ok, get_node_for_location_response()} | {error, chrobot@chrome:request_error()}. get_node_for_location( Callback__, X, Y, Include_user_agent_shadow_dom, Ignore_pointer_events_none ) -> gleam@result:'try'( Callback__( <<"DOM.getNodeForLocation"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"x"/utf8>>, gleam@json:int(X)}, {<<"y"/utf8>>, gleam@json:int(Y)}], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Include_user_agent_shadow_dom, fun(Inner_value__) -> {<<"includeUserAgentShadowDOM"/utf8>>, gleam@json:bool(Inner_value__)} end ), chrobot@internal@utils:add_optional( _pipe@1, Ignore_pointer_events_none, fun(Inner_value__@1) -> {<<"ignorePointerEventsNone"/utf8>>, gleam@json:bool(Inner_value__@1)} end ) end )} ), fun(Result__) -> _pipe@2 = decode__get_node_for_location_response(Result__), gleam@result:replace_error(_pipe@2, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1379). -spec get_outer_html( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()) ) -> {ok, get_outer_html_response()} | {error, chrobot@chrome:request_error()}. get_outer_html(Callback__, Node_id, Backend_node_id, Object_id) -> gleam@result:'try'( Callback__( <<"DOM.getOuterHTML"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ) end )} ), fun(Result__) -> _pipe@3 = decode__get_outer_html_response(Result__), gleam@result:replace_error(_pipe@3, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1407). -spec hide_highlight(fun((binary(), gleam@option:option(any())) -> AGEG)) -> AGEG. hide_highlight(Callback__) -> Callback__(<<"DOM.hideHighlight"/utf8>>, none). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1413). -spec highlight_node(fun((binary(), gleam@option:option(any())) -> AGEK)) -> AGEK. highlight_node(Callback__) -> Callback__(<<"DOM.highlightNode"/utf8>>, none). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1419). -spec highlight_rect(fun((binary(), gleam@option:option(any())) -> AGEO)) -> AGEO. highlight_rect(Callback__) -> Callback__(<<"DOM.highlightRect"/utf8>>, none). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1434). -spec move_to( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), node_id(), node_id(), gleam@option:option(node_id()) ) -> {ok, move_to_response()} | {error, chrobot@chrome:request_error()}. move_to(Callback__, Node_id, Target_node_id, Insert_before_node_id) -> gleam@result:'try'( Callback__( <<"DOM.moveTo"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"targetNodeId"/utf8>>, encode__node_id(Target_node_id)}], chrobot@internal@utils:add_optional( _pipe, Insert_before_node_id, fun(Inner_value__) -> {<<"insertBeforeNodeId"/utf8>>, encode__node_id(Inner_value__)} end ) end )} ), fun(Result__) -> _pipe@1 = decode__move_to_response(Result__), gleam@result:replace_error(_pipe@1, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1466). -spec query_selector( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), node_id(), binary() ) -> {ok, query_selector_response()} | {error, chrobot@chrome:request_error()}. query_selector(Callback__, Node_id, Selector) -> gleam@result:'try'( Callback__( <<"DOM.querySelector"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"selector"/utf8>>, gleam@json:string(Selector)}] )} ), fun(Result__) -> _pipe = decode__query_selector_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1494). -spec query_selector_all( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), node_id(), binary() ) -> {ok, query_selector_all_response()} | {error, chrobot@chrome:request_error()}. query_selector_all(Callback__, Node_id, Selector) -> gleam@result:'try'( Callback__( <<"DOM.querySelectorAll"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"selector"/utf8>>, gleam@json:string(Selector)}] )} ), fun(Result__) -> _pipe = decode__query_selector_all_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1521). -spec remove_attribute( fun((binary(), gleam@option:option(gleam@json:json())) -> AGGE), node_id(), binary() ) -> AGGE. remove_attribute(Callback__, Node_id, Name) -> Callback__( <<"DOM.removeAttribute"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"name"/utf8>>, gleam@json:string(Name)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1540). -spec remove_node( fun((binary(), gleam@option:option(gleam@json:json())) -> AGGJ), node_id() ) -> AGGJ. remove_node(Callback__, Node_id) -> Callback__( <<"DOM.removeNode"/utf8>>, {some, gleam@json:object([{<<"nodeId"/utf8>>, encode__node_id(Node_id)}])} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1560). -spec request_child_nodes( fun((binary(), gleam@option:option(gleam@json:json())) -> AGGO), node_id(), gleam@option:option(integer()), gleam@option:option(boolean()) ) -> AGGO. request_child_nodes(Callback__, Node_id, Depth, Pierce) -> Callback__( <<"DOM.requestChildNodes"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Depth, fun(Inner_value__) -> {<<"depth"/utf8>>, gleam@json:int(Inner_value__)} end ), chrobot@internal@utils:add_optional( _pipe@1, Pierce, fun(Inner_value__@1) -> {<<"pierce"/utf8>>, gleam@json:bool(Inner_value__@1)} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1590). -spec request_node( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), chrobot@protocol@runtime:remote_object_id() ) -> {ok, request_node_response()} | {error, chrobot@chrome:request_error()}. request_node(Callback__, Object_id) -> gleam@result:'try'( Callback__( <<"DOM.requestNode"/utf8>>, {some, gleam@json:object( [{<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Object_id )}] )} ), fun(Result__) -> _pipe = decode__request_node_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1613). -spec resolve_node( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(binary()), gleam@option:option(chrobot@protocol@runtime:execution_context_id()) ) -> {ok, resolve_node_response()} | {error, chrobot@chrome:request_error()}. resolve_node( Callback__, Node_id, Backend_node_id, Object_group, Execution_context_id ) -> gleam@result:'try'( Callback__( <<"DOM.resolveNode"/utf8>>, {some, gleam@json:object( begin _pipe = [], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), _pipe@3 = chrobot@internal@utils:add_optional( _pipe@2, Object_group, fun(Inner_value__@2) -> {<<"objectGroup"/utf8>>, gleam@json:string(Inner_value__@2)} end ), chrobot@internal@utils:add_optional( _pipe@3, Execution_context_id, fun(Inner_value__@3) -> {<<"executionContextId"/utf8>>, chrobot@protocol@runtime:encode__execution_context_id( Inner_value__@3 )} end ) end )} ), fun(Result__) -> _pipe@4 = decode__resolve_node_response(Result__), gleam@result:replace_error(_pipe@4, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1657). -spec set_attribute_value( fun((binary(), gleam@option:option(gleam@json:json())) -> AGID), node_id(), binary(), binary() ) -> AGID. set_attribute_value(Callback__, Node_id, Name, Value) -> Callback__( <<"DOM.setAttributeValue"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"name"/utf8>>, gleam@json:string(Name)}, {<<"value"/utf8>>, gleam@json:string(Value)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1686). -spec set_attributes_as_text( fun((binary(), gleam@option:option(gleam@json:json())) -> AGII), node_id(), binary(), gleam@option:option(binary()) ) -> AGII. set_attributes_as_text(Callback__, Node_id, Text, Name) -> Callback__( <<"DOM.setAttributesAsText"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"text"/utf8>>, gleam@json:string(Text)}], chrobot@internal@utils:add_optional( _pipe, Name, fun(Inner_value__) -> {<<"name"/utf8>>, gleam@json:string(Inner_value__)} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1713). -spec set_file_input_files( fun((binary(), gleam@option:option(gleam@json:json())) -> AGIP), list(binary()), gleam@option:option(node_id()), gleam@option:option(backend_node_id()), gleam@option:option(chrobot@protocol@runtime:remote_object_id()) ) -> AGIP. set_file_input_files(Callback__, Files, Node_id, Backend_node_id, Object_id) -> Callback__( <<"DOM.setFileInputFiles"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"files"/utf8>>, gleam@json:array(Files, fun gleam@json:string/1)}], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Node_id, fun(Inner_value__) -> {<<"nodeId"/utf8>>, encode__node_id(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Backend_node_id, fun(Inner_value__@1) -> {<<"backendNodeId"/utf8>>, encode__backend_node_id(Inner_value__@1)} end ), chrobot@internal@utils:add_optional( _pipe@2, Object_id, fun(Inner_value__@2) -> {<<"objectId"/utf8>>, chrobot@protocol@runtime:encode__remote_object_id( Inner_value__@2 )} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1746). -spec set_node_name( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), node_id(), binary() ) -> {ok, set_node_name_response()} | {error, chrobot@chrome:request_error()}. set_node_name(Callback__, Node_id, Name) -> gleam@result:'try'( Callback__( <<"DOM.setNodeName"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"name"/utf8>>, gleam@json:string(Name)}] )} ), fun(Result__) -> _pipe = decode__set_node_name_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1769). -spec set_node_value( fun((binary(), gleam@option:option(gleam@json:json())) -> AGJN), node_id(), binary() ) -> AGJN. set_node_value(Callback__, Node_id, Value) -> Callback__( <<"DOM.setNodeValue"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"value"/utf8>>, gleam@json:string(Value)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/dom.gleam", 1789). -spec set_outer_html( fun((binary(), gleam@option:option(gleam@json:json())) -> AGJS), node_id(), binary() ) -> AGJS. set_outer_html(Callback__, Node_id, Outer_html) -> Callback__( <<"DOM.setOuterHTML"/utf8>>, {some, gleam@json:object( [{<<"nodeId"/utf8>>, encode__node_id(Node_id)}, {<<"outerHTML"/utf8>>, gleam@json:string(Outer_html)}] )} ).