public function fire($eventName, $data = null, $resultType = null, $limit = null)
{
if ($this->suppressEvents) {
return null;
}
if ($this->str($eventName)->endsWith('*')) {
return $this->fireWildcardEvents($eventName, $data, $resultType);
}
if (!$this->events->keyExists($eventName)) {
return null;
}
$eventListeners = $this->events->key($eventName);
if (!$this->isInstanceOf($data, '\\Webiny\\Component\\EventManager\\Event')) {
$data = new Event($data);
}
return $this->eventProcessor->process($eventListeners, $data, $resultType, $limit);
}