<?php
namespace Fuse\Core;
use function Fuse\Core\config;
function format(array $results, array $docs, array $options = []): array
{
$includeMatches = $options['includeMatches'] ?? config('includeMatches');
$includeScore = $options['includeScore'] ?? config('includeScore');
$transformers = [];
if ($includeMatches) {
$transformers[] = '\Fuse\Transform\transformMatches';
}
if ($includeScore) {
$transformers[] = '\Fuse\Transform\transformScore';
}
return array_map(function (array $result) use ($docs, $transformers) {
$data = [
'item' => $docs[$result['idx']],
'refIndex' => $result['idx'],
];
if (sizeof($transformers) > 0) {
foreach ($transformers as $transformer) {
$transformer($result, $data);
}
}
return $data;
}, $results);
}
|