Chris@0: getOutputData(); Chris@0: } Chris@0: Chris@0: $hooks = [ Chris@0: HookManager::EXTRACT_OUTPUT, Chris@0: ]; Chris@0: $extractors = $this->getHooks($hooks); Chris@0: foreach ($extractors as $extractor) { Chris@0: $structuredOutput = $this->callExtractor($extractor, $result); Chris@0: if (isset($structuredOutput)) { Chris@0: return $structuredOutput; Chris@0: } Chris@0: } Chris@0: Chris@0: return $result; Chris@0: } Chris@0: Chris@0: protected function callExtractor($extractor, $result) Chris@0: { Chris@0: if ($extractor instanceof ExtractOutputInterface) { Chris@0: return $extractor->extractOutput($result); Chris@0: } Chris@0: if (is_callable($extractor)) { Chris@0: return $extractor($result); Chris@0: } Chris@0: } Chris@0: }