Packages

package common

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. common
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type AuthorName = Refined[String, NonEmpty]
  2. type ConfigKey = Refined[String, And[NonEmpty, Trimmed]]
  3. type DescriptionText = Refined[String, NonEmpty]
  4. type PublisherName = Refined[String, NonEmpty]
  5. type PublishingDetails = Refined[String, NonEmpty]
  6. sealed abstract class SearchEngineCapabilities extends Product with Serializable

    All capabilities of our search engines.

    All capabilities of our search engines.

    An engine must return the proper capabilities it implements / supports.

  7. type SearchEngineName = Refined[String, And[NonEmpty, Trimmed]]
  8. type SearchEngineOutput = Refined[String, NonEmpty]
  9. type SearchEngineParserPattern = Refined[String, NonEmpty]
  10. sealed trait SearchMode extends Product with Serializable

    All supported search modes which are needed to instrument special modes of search engines.

    All supported search modes which are needed to instrument special modes of search engines.

    The GENERIC mode should be used as the default "web search" mode.

  11. final case class SearchProfile(engines: List[SearchEngineName], mode: Option[SearchMode]) extends Product with Serializable

    A search profile is used to bundle several search engines and settings to make customisation of the search experience easier.

    A search profile is used to bundle several search engines and settings to make customisation of the search experience easier.

    engines

    A list of search engine names.

    mode

    An optional SearchMode to be used.

  12. type SearchProfileName = Refined[String, And[NonEmpty, Trimmed]]
  13. final case class SearchProfiles(profiles: Map[SearchProfileName, SearchProfile]) extends Product with Serializable

    A container for defined SearchProfile entries.

    A container for defined SearchProfile entries.

    profiles

    A map of the profile names with their corresponding definitions.

  14. final case class SearchQuery(query: String, region: Option[Alpha2CountryCode], results: PosInt) extends Product with Serializable

    Simple wrapper for search queries.

    Simple wrapper for search queries.

    query

    The query string to pass into a search engine.

    region

    The region into which the search should be restricted if possible.

    results

    The desired number of results.

  15. final case class SearchResult(authors: List[AuthorName], description: Option[DescriptionText], imageUrl: Option[Uri], published: Option[OffsetDateTime], publisher: List[PublisherName], publishingDetails: List[PublishingDetails], searchEngines: List[SearchEngineName], title: Option[TitleString], url: Option[Uri], number: SearchResultNumber) extends Product with Serializable

    A container for the data we collect for each search result.

    A container for the data we collect for each search result.

    A search result implements a semigroup which allows us to combine several results into one using the cats syntax a

    |+| b |+| c. This is useful to combine results which are equal but come from different search engines. While all fields are combined using common semigroups there are exceptions. Notably the following fields are not combined but overridden by their "right" counterpart in the equation of that is defined:

    1. imageUrl 2. published 3. url 4. number

    Because combining datetimes or urls in general doesn't make sense.

    authors

    A list of author names (e.g. writers of a blog post or paper) if feasible which may be empty.

    description

    A textual description of the content which usually equals the teaser text shown by search engines.

    imageUrl

    An optional URL pointing to an image related to the result.

    published

    An optional publishing date and time.

    publisher

    A list of publisher names (e.g. publishing houses for books or papers) which might be empty.

    publishingDetails

    A list of details about the published item e.g. a science magazine issue with page numbers or an ISBN.

    searchEngines

    A list of search engine names which returned this result.

    title

    A short summary of the search result (i.e. a title).

    url

    The URL pointing to the actual result which is usually a website.

    number

    The "number" represents the position of it in the returned result set of a search engine and thus reflects the "importance", the lower the better.

  16. type SearchResultNumber = Refined[Int, NonNegative]
  17. type TitleString = Refined[String, NonEmpty]

Value Members

  1. implicit val descriptionTextSemigroup: Semigroup[DescriptionText]
  2. implicit val eqOrgJsoupNodesElement: Eq[Element]
  3. implicit val eqSttpModelUri: Eq[Uri]
  4. implicit val jsonDecodeSttpModelUri: Decoder[Uri]
  5. implicit val jsonEncodeSttpModelUri: Encoder[Uri]
  6. implicit val showSttpModelUri: Show[Uri]
  7. object AuthorName extends RefinedTypeOps[AuthorName, String] with CatsRefinedTypeOpsSyntax
  8. object ConfigKey extends RefinedTypeOps[ConfigKey, String] with CatsRefinedTypeOpsSyntax
  9. object DescriptionText extends RefinedTypeOps[DescriptionText, String] with CatsRefinedTypeOpsSyntax
  10. object PublisherName extends RefinedTypeOps[PublisherName, String] with CatsRefinedTypeOpsSyntax
  11. object PublishingDetails extends RefinedTypeOps[PublishingDetails, String] with CatsRefinedTypeOpsSyntax
  12. object SearchEngineCapabilities extends Serializable
  13. object SearchEngineName extends RefinedTypeOps[SearchEngineName, String] with CatsRefinedTypeOpsSyntax
  14. object SearchEngineOutput extends RefinedTypeOps[SearchEngineOutput, String] with CatsRefinedTypeOpsSyntax
  15. object SearchEngineParserPattern extends RefinedTypeOps[SearchEngineParserPattern, String] with CatsRefinedTypeOpsSyntax
  16. object SearchMode extends Serializable
  17. object SearchProfileName extends RefinedTypeOps[SearchProfileName, String] with CatsRefinedTypeOpsSyntax
  18. object SearchProfiles extends Serializable
  19. object SearchResult extends Serializable
  20. object SearchResultNumber extends RefinedTypeOps[SearchResultNumber, Int] with CatsRefinedTypeOpsSyntax
  21. object TitleString extends RefinedTypeOps[TitleString, String] with CatsRefinedTypeOpsSyntax

Inherited from AnyRef

Inherited from Any

Ungrouped