private function searchEntries()

in src/APIIndex.php [112:153]


  private function searchEntries(
    string $term,
    APIDefinitionType $type,
  ): vec<SearchResult> {
    $results = vec[];

    $entries = $this->getIndexForType($type);
    foreach ($entries as $_ => $entry) {
      $name = $entry['name'];

      $score = SearchTermMatcher::matchTerm($name, $term);
      if ($score !== null) {
        $results[] = new APISearchResult(
          $this->product,
          $type,
          $name,
          $entry['urlPath'],
          $score,
        );
      }

      $methods = $this->getMethods($entry);
      if ($methods === null) {
        continue;
      }
      foreach ($methods as $method) {
        $name = $entry['name'].'::'.$method['name'];
        $score = SearchTermMatcher::matchTerm($name, $term);
        if ($score !== null) {
          $results[] = new APISearchResult(
            $this->product,
            APIDefinitionType::FUNCTION_DEF,
            $name,
            $method['urlPath'],
            $score,
          );
        }
      }
    }

    return $results;
  }