class Playwright::Channel

def async_send_message_to_server(method, params = {})

Parameters:
  • params (Hash) --
  • method (String) --
def async_send_message_to_server(method, params = {})
  check_not_collected
  with_logging do |metadata|
    @connection.async_send_message_to_server(@guid, method, params, metadata: metadata)
  end
end

def build_metadata_payload_from(api_name, stacks)

def build_metadata_payload_from(api_name, stacks)
Time: (Time.now.to_f * 1000).to_i,
ame: api_name,
k: stacks.map do |loc|
file: loc.absolute_path || '', line: loc.lineno, function: loc.label }

def check_not_collected

def check_not_collected
ject.was_collected?
e "The object has been collected to prevent unbounded heap growth."

def initialize(connection, guid, object:)

Parameters:
  • object (Playwright::ChannelOwner) --
  • guid (String) --
  • connection (Playwright::Connection) --
def initialize(connection, guid, object:)
  @connection = connection
  @guid = guid
  @object = object
end

def send_message_to_server(method, params = {})

Returns:
  • (Playwright::ChannelOwner|nil) -

Parameters:
  • params (Hash) --
  • method (String) --
def send_message_to_server(method, params = {})
  result = send_message_to_server_result(method, params)
  if result.is_a?(Hash)
    _type, channel_owner = result.first
    channel_owner
  else
    nil
  end
end

def send_message_to_server_result(method, params)

Returns:
  • (Hash) -

Parameters:
  • params (Hash) --
  • method (String) --
def send_message_to_server_result(method, params)
  check_not_collected
  with_logging do |metadata|
    @connection.send_message_to_server(@guid, method, params, metadata: metadata)
  end
end

def with_logging(&block)

def with_logging(&block)
ons = caller_locations
api_call_location_idx = locations.index { |loc| loc.absolute_path&.include?('playwright_api') }
 first_api_call_location_idx
rn block.call(nil)
ons = locations.slice(first_api_call_location_idx..-1)
ll_location = locations.shift
ass = File.basename(api_call_location.absolute_path, '.rb')
thod = api_call_location.label
me = "#{api_class}##{api_method}"
 = locations
ta = build_metadata_payload_from(api_name, stacks)
call(metadata)