module Playwright::EventEmitter

def emit(event, *args)

Parameters:
  • event (String) --
def emit(event, *args)
  handled = false
  (@__event_emitter ||= {})[event.to_s]&.each do |callback|
    perform_event_emitter_callback(event, callback, args)
    handled = true
  end
  handled
end

def listener_count(event)

def listener_count(event)
vent_emitter ||= {})[event.to_s] ||= Set.new).count

def off(event, callback)

Parameters:
  • callback (Proc) --
  • event (String) --
def off(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?
  cb = (@__event_emitter_callback ||= {})["#{event}/#{callback.object_id}"]
  if cb
    (@__event_emitter ||= {})[event.to_s]&.delete(cb)
  end
  self
end

def on(event, callback)

Parameters:
  • callback (Proc) --
  • event (String) --
def on(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?
  cb = (@__event_emitter_callback ||= {})["#{event}/#{callback.object_id}"] ||= EventEmitterCallback.new(callback)
  ((@__event_emitter ||= {})[event.to_s] ||= Set.new) << cb
  self
end

def once(event, callback)

Parameters:
  • callback (Proc) --
  • event (String) --
def once(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?
  cb = (@__event_emitter_callback ||= {})["#{event}/once/#{callback.object_id}"] ||= EventEmitterOnceCallback.new(callback)
  ((@__event_emitter ||= {})[event.to_s] ||= Set.new) << cb
  self
end

def perform_event_emitter_callback(event, callback, args)

can be overriden
def perform_event_emitter_callback(event, callback, args)
ck.call(*args)