-module(chrobot@protocol@target). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([encode__target_id/1, decode__target_id/1, encode__session_id/1, decode__session_id/1, encode__target_info/1, decode__target_info/1, decode__attach_to_target_response/1, decode__create_browser_context_response/1, decode__get_browser_contexts_response/1, decode__create_target_response/1, decode__get_targets_response/1, activate_target/2, attach_to_target/3, close_target/2, create_browser_context/1, get_browser_contexts/1, create_target/6, detach_from_target/2, dispose_browser_context/2, get_targets/1, set_auto_attach/3, set_discover_targets/2]). -export_type([target_id/0, session_id/0, target_info/0, attach_to_target_response/0, create_browser_context_response/0, get_browser_contexts_response/0, create_target_response/0, get_targets_response/0]). -type target_id() :: {target_id, binary()}. -type session_id() :: {session_id, binary()}. -type target_info() :: {target_info, target_id(), binary(), binary(), binary(), boolean(), gleam@option:option(target_id())}. -type attach_to_target_response() :: {attach_to_target_response, session_id()}. -type create_browser_context_response() :: {create_browser_context_response, binary()}. -type get_browser_contexts_response() :: {get_browser_contexts_response, list(binary())}. -type create_target_response() :: {create_target_response, target_id()}. -type get_targets_response() :: {get_targets_response, list(target_info())}. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 25). -spec encode__target_id(target_id()) -> gleam@json:json(). encode__target_id(Value__) -> case Value__ of {target_id, Inner_value__} -> gleam@json:string(Inner_value__) end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 32). -spec decode__target_id(gleam@dynamic:dynamic_()) -> {ok, target_id()} | {error, list(gleam@dynamic:decode_error())}. decode__target_id(Value__) -> _pipe = Value__, (gleam@dynamic:decode1( fun(Field@0) -> {target_id, Field@0} end, fun gleam@dynamic:string/1 ))(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 42). -spec encode__session_id(session_id()) -> gleam@json:json(). encode__session_id(Value__) -> case Value__ of {session_id, Inner_value__} -> gleam@json:string(Inner_value__) end. -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 49). -spec decode__session_id(gleam@dynamic:dynamic_()) -> {ok, session_id()} | {error, list(gleam@dynamic:decode_error())}. decode__session_id(Value__) -> _pipe = Value__, (gleam@dynamic:decode1( fun(Field@0) -> {session_id, Field@0} end, fun gleam@dynamic:string/1 ))(_pipe). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 68). -spec encode__target_info(target_info()) -> gleam@json:json(). encode__target_info(Value__) -> gleam@json:object( begin _pipe = [{<<"targetId"/utf8>>, encode__target_id(erlang:element(2, Value__))}, {<<"type"/utf8>>, gleam@json:string(erlang:element(3, Value__))}, {<<"title"/utf8>>, gleam@json:string(erlang:element(4, Value__))}, {<<"url"/utf8>>, gleam@json:string(erlang:element(5, Value__))}, {<<"attached"/utf8>>, gleam@json:bool(erlang:element(6, Value__))}], chrobot@internal@utils:add_optional( _pipe, erlang:element(7, Value__), fun(Inner_value__) -> {<<"openerId"/utf8>>, encode__target_id(Inner_value__)} end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 84). -spec decode__target_info(gleam@dynamic:dynamic_()) -> {ok, target_info()} | {error, list(gleam@dynamic:decode_error())}. decode__target_info(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"targetId"/utf8>>, fun decode__target_id/1))( Value__ ), fun(Target_id) -> gleam@result:'try'( (gleam@dynamic:field( <<"type"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Type_) -> gleam@result:'try'( (gleam@dynamic:field( <<"title"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Title) -> gleam@result:'try'( (gleam@dynamic:field( <<"url"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Url) -> gleam@result:'try'( (gleam@dynamic:field( <<"attached"/utf8>>, fun gleam@dynamic:bool/1 ))(Value__), fun(Attached) -> gleam@result:'try'( (gleam@dynamic:optional_field( <<"openerId"/utf8>>, fun decode__target_id/1 ))(Value__), fun(Opener_id) -> {ok, {target_info, Target_id, Type_, Title, Url, Attached, Opener_id}} end ) end ) end ) end ) end ) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 117). -spec decode__attach_to_target_response(gleam@dynamic:dynamic_()) -> {ok, attach_to_target_response()} | {error, list(gleam@dynamic:decode_error())}. decode__attach_to_target_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"sessionId"/utf8>>, fun decode__session_id/1))( Value__ ), fun(Session_id) -> {ok, {attach_to_target_response, Session_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 135). -spec decode__create_browser_context_response(gleam@dynamic:dynamic_()) -> {ok, create_browser_context_response()} | {error, list(gleam@dynamic:decode_error())}. decode__create_browser_context_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"browserContextId"/utf8>>, fun gleam@dynamic:string/1 ))(Value__), fun(Browser_context_id) -> {ok, {create_browser_context_response, Browser_context_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 154). -spec decode__get_browser_contexts_response(gleam@dynamic:dynamic_()) -> {ok, get_browser_contexts_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_browser_contexts_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"browserContextIds"/utf8>>, gleam@dynamic:list(fun gleam@dynamic:string/1) ))(Value__), fun(Browser_context_ids) -> {ok, {get_browser_contexts_response, Browser_context_ids}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 173). -spec decode__create_target_response(gleam@dynamic:dynamic_()) -> {ok, create_target_response()} | {error, list(gleam@dynamic:decode_error())}. decode__create_target_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field(<<"targetId"/utf8>>, fun decode__target_id/1))( Value__ ), fun(Target_id) -> {ok, {create_target_response, Target_id}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 191). -spec decode__get_targets_response(gleam@dynamic:dynamic_()) -> {ok, get_targets_response()} | {error, list(gleam@dynamic:decode_error())}. decode__get_targets_response(Value__) -> gleam@result:'try'( (gleam@dynamic:field( <<"targetInfos"/utf8>>, gleam@dynamic:list(fun decode__target_info/1) ))(Value__), fun(Target_infos) -> {ok, {get_targets_response, Target_infos}} end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 207). -spec activate_target( fun((binary(), gleam@option:option(gleam@json:json())) -> AKUF), target_id() ) -> AKUF. activate_target(Callback__, Target_id) -> Callback__( <<"Target.activateTarget"/utf8>>, {some, gleam@json:object( [{<<"targetId"/utf8>>, encode__target_id(Target_id)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 225). -spec attach_to_target( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), target_id(), gleam@option:option(boolean()) ) -> {ok, attach_to_target_response()} | {error, chrobot@chrome:request_error()}. attach_to_target(Callback__, Target_id, Flatten) -> gleam@result:'try'( Callback__( <<"Target.attachToTarget"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"targetId"/utf8>>, encode__target_id(Target_id)}], chrobot@internal@utils:add_optional( _pipe, Flatten, fun(Inner_value__) -> {<<"flatten"/utf8>>, gleam@json:bool(Inner_value__)} end ) end )} ), fun(Result__) -> _pipe@1 = decode__attach_to_target_response(Result__), gleam@result:replace_error(_pipe@1, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 251). -spec close_target( fun((binary(), gleam@option:option(gleam@json:json())) -> AKUY), target_id() ) -> AKUY. close_target(Callback__, Target_id) -> Callback__( <<"Target.closeTarget"/utf8>>, {some, gleam@json:object( [{<<"targetId"/utf8>>, encode__target_id(Target_id)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 266). -spec create_browser_context( fun((binary(), gleam@option:option(any())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}) ) -> {ok, create_browser_context_response()} | {error, chrobot@chrome:request_error()}. create_browser_context(Callback__) -> gleam@result:'try'( Callback__(<<"Target.createBrowserContext"/utf8>>, none), fun(Result__) -> _pipe = decode__create_browser_context_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 279). -spec get_browser_contexts( fun((binary(), gleam@option:option(any())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}) ) -> {ok, get_browser_contexts_response()} | {error, chrobot@chrome:request_error()}. get_browser_contexts(Callback__) -> gleam@result:'try'( Callback__(<<"Target.getBrowserContexts"/utf8>>, none), fun(Result__) -> _pipe = decode__get_browser_contexts_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 302). -spec create_target( fun((binary(), gleam@option:option(gleam@json:json())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}), binary(), gleam@option:option(integer()), gleam@option:option(integer()), gleam@option:option(boolean()), gleam@option:option(boolean()) ) -> {ok, create_target_response()} | {error, chrobot@chrome:request_error()}. create_target(Callback__, Url, Width, Height, New_window, Background) -> gleam@result:'try'( Callback__( <<"Target.createTarget"/utf8>>, {some, gleam@json:object( begin _pipe = [{<<"url"/utf8>>, gleam@json:string(Url)}], _pipe@1 = chrobot@internal@utils:add_optional( _pipe, Width, fun(Inner_value__) -> {<<"width"/utf8>>, gleam@json:int(Inner_value__)} end ), _pipe@2 = chrobot@internal@utils:add_optional( _pipe@1, Height, fun(Inner_value__@1) -> {<<"height"/utf8>>, gleam@json:int(Inner_value__@1)} end ), _pipe@3 = chrobot@internal@utils:add_optional( _pipe@2, New_window, fun(Inner_value__@2) -> {<<"newWindow"/utf8>>, gleam@json:bool(Inner_value__@2)} end ), chrobot@internal@utils:add_optional( _pipe@3, Background, fun(Inner_value__@3) -> {<<"background"/utf8>>, gleam@json:bool(Inner_value__@3)} end ) end )} ), fun(Result__) -> _pipe@4 = decode__create_target_response(Result__), gleam@result:replace_error(_pipe@4, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 340). -spec detach_from_target( fun((binary(), gleam@option:option(gleam@json:json())) -> AKWT), gleam@option:option(session_id()) ) -> AKWT. detach_from_target(Callback__, Session_id) -> Callback__( <<"Target.detachFromTarget"/utf8>>, {some, gleam@json:object( begin _pipe = [], chrobot@internal@utils:add_optional( _pipe, Session_id, fun(Inner_value__) -> {<<"sessionId"/utf8>>, encode__session_id(Inner_value__)} end ) end )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 363). -spec dispose_browser_context( fun((binary(), gleam@option:option(gleam@json:json())) -> AKXA), binary() ) -> AKXA. dispose_browser_context(Callback__, Browser_context_id) -> Callback__( <<"Target.disposeBrowserContext"/utf8>>, {some, gleam@json:object( [{<<"browserContextId"/utf8>>, gleam@json:string(Browser_context_id)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 382). -spec get_targets( fun((binary(), gleam@option:option(any())) -> {ok, gleam@dynamic:dynamic_()} | {error, chrobot@chrome:request_error()}) ) -> {ok, get_targets_response()} | {error, chrobot@chrome:request_error()}. get_targets(Callback__) -> gleam@result:'try'( Callback__(<<"Target.getTargets"/utf8>>, none), fun(Result__) -> _pipe = decode__get_targets_response(Result__), gleam@result:replace_error(_pipe, protocol_error) end ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 402). -spec set_auto_attach( fun((binary(), gleam@option:option(gleam@json:json())) -> AKXQ), boolean(), boolean() ) -> AKXQ. set_auto_attach(Callback__, Auto_attach, Wait_for_debugger_on_start) -> Callback__( <<"Target.setAutoAttach"/utf8>>, {some, gleam@json:object( [{<<"autoAttach"/utf8>>, gleam@json:bool(Auto_attach)}, {<<"waitForDebuggerOnStart"/utf8>>, gleam@json:bool(Wait_for_debugger_on_start)}] )} ). -file("/Users/jonas/Projects/chrobot/src/chrobot/protocol/target.gleam", 426). -spec set_discover_targets( fun((binary(), gleam@option:option(gleam@json:json())) -> AKXV), boolean() ) -> AKXV. set_discover_targets(Callback__, Discover) -> Callback__( <<"Target.setDiscoverTargets"/utf8>>, {some, gleam@json:object( [{<<"discover"/utf8>>, gleam@json:bool(Discover)}] )} ).