public function parse(array $data, ParsingDispatcher $parsingDispatcher)
{
$valueData = [];
if (!array_key_exists('searchHits', $data) || !is_array($data['searchHits'])) {
throw new Exceptions\Parser("Missing or invalid SearchHits in ViewResult data");
}
if (!array_key_exists('searchHit', $data['searchHits']) || !is_array($data['searchHits']['searchHit'])) {
throw new Exceptions\Parser("Missing or invalid searchHits.searchHit in ViewResult data");
}
$valueData['searchHits'] = [];
foreach ($data['searchHits']['searchHit'] as $searchHit) {
$valueData['searchHits'][] = $parsingDispatcher->parse($searchHit, $searchHit['_media-type']);
}
return new ViewResultValue($valueData);
}