-module(plunk@client). -compile([no_auto_import, nowarn_unused_vars]). -export([set_api_key/2, set_executor/2, send/2]). -export_type([client/2]). -type client(GMH, GMI) :: {client, binary(), fun((gleam@http@request:request(GMH)) -> gleam@http@response:response(GMI))}. -spec set_api_key(client(GMN, GMO), binary()) -> client(GMN, GMO). set_api_key(Client, Api_key) -> erlang:setelement(2, Client, Api_key). -spec set_executor( client(GMT, GMU), fun((gleam@http@request:request(GMT)) -> gleam@http@response:response(GMU)) ) -> client(GMT, GMU). set_executor(Client, Executor) -> erlang:setelement(3, Client, Executor). -spec send(client(GNB, GNC), gleam@http@request:request(GNB)) -> gleam@http@response:response(GNC). send(Client, Request) -> (erlang:element(3, Client))(Request).