class Playwright::EventEmitterProxy

def initialize(api, impl)

Parameters:
  • dest (EventEmitter) --
  • src (PlaywrightApi) --
def initialize(api, impl)
  @api = api
  @impl = impl
  @listeners = {}
end

def off(event, callback)

def off(event, callback)
  super
  if listener_count(event) == 0
    unsubscribe(event)
  end
end

def on(event, callback)

def on(event, callback)
  if listener_count(event) == 0
    subscribe(event)
  end
  super
end

def once(event, callback)

def once(event, callback)
  if listener_count(event) == 0
    subscribe(event)
  end
  super
end

def subscribe(event)

def subscribe(event)
ners[event] = ->(*args) {
ped_args = args.map { |arg| ::Playwright::PlaywrightApi.wrap(arg) }
(event, *wrapped_args)
on(event, @listeners[event])

def unsubscribe(event)

def unsubscribe(event)
er = @listeners.delete(event)
tener
l.off(event, listener)