results[] = $result; } public function getIterator(): \Traversable { return new \ArrayIterator($this->results); } public function count(): int { return count($this->results); } /** * @return JavaScriptModuleInstruction[] */ public function getJavaScriptModules(): array { $modules = []; foreach ($this->results as $result) { foreach ($result->javaScriptModules as $module) { if (!in_array($module, $modules, true)) { $modules[] = $module; } } } return $modules; } /** * @return string[] */ public function getStylesheetFiles(): array { $files = []; foreach ($this->results as $result) { foreach ($result->stylesheetFiles as $file) { $files[] = $file; } } return array_unique($files); } /** * @return string[] */ public function getInlineData(): array { $inlineData = []; foreach ($this->results as $result) { ArrayUtility::mergeRecursiveWithOverrule($inlineData, $result->inlineData); } return $inlineData; } /** * @return string[] */ public function getAdditionalInlineLanguageLabelFiles(): array { $files = []; foreach ($this->results as $result) { foreach ($result->additionalInlineLanguageLabelFiles as $file) { $files[] = $file; } } return array_unique($files); } public function getHtml(): string { $html = ''; foreach ($this->results as $result) { $html .= $result->html; } return $html; } }