Webiny\Component\EventManager\EventManager::fireWildcardEvents PHP Method

fireWildcardEvents() private method

Process events starting with given prefix (ex: webiny.* will process all events starting with 'webiny.')
private fireWildcardEvents ( $eventName, $data, $resultType ) : null | array
$eventName
$data
$resultType
return null | array
    private function fireWildcardEvents($eventName, $data, $resultType)
    {
        // Get event prefix
        $eventPrefix = $this->str($eventName)->subString(0, -1)->val();
        // Find events starting with the prefix
        $events = [];
        foreach ($this->events as $eventName => $eventListeners) {
            if ($this->str($eventName)->startsWith($eventPrefix)) {
                $events[$eventName] = $eventListeners;
            }
        }
        if ($this->arr($events)->count() > 0) {
            if (!$this->isInstanceOf($data, '\\Webiny\\Component\\EventManager\\Event')) {
                $data = new Event($data);
            }
            $results = $this->arr();
            foreach ($events as $eventListeners) {
                $result = $this->eventProcessor->process($eventListeners, $data, $resultType);
                $results->merge($result);
            }
            return $results->val();
        }
        return null;
    }