@bridgeline-digital/hawksearch-handlebars-ui
    Preparing search index...

    Class SearchService

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    baseUrl: string = ...
    fieldMappings: ServiceFieldMappings
    queryStringParams: {
        disableSpellcheck: string;
        page: string;
        pageSize: string;
        query: string;
        requestType: string;
        searchWithin: string;
        sort: string;
    } = ...
    searchUrl: string = ...
    variantFieldMappings: ServiceVariantFieldMappings

    Accessors

    • get onSearchPage(): boolean

      Returns boolean

    Methods

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Parameters

      Returns void

    • Builds the request headers for HawkSearch API calls.

      User-Agent, X-Forwarded-For, X-HawkSearch-ClientGuid, and X-HawkSearch-IgnoreTracking are values a server-side HawkSearch SDK would normally populate automatically. Because this library calls the API directly from the browser, it reconstructs them here by hand.

      Everything is best-effort and defensive on purpose:

      • User-Agent is a browser "forbidden header" — fetch may silently drop it or throw when it's set.
      • The library also runs in sandboxed iframes (e.g. BigCommerce), SSR / hydration, and jsdom tests, where window / navigator / the HawkSearch global may be undefined, or where new Headers() / headers.set() themselves can throw.

      These headers are optional enrichment (analytics / geo / tracking), never required for the request to succeed — so a failure to build any one of them must never break a search. Each header is resolved and set in its own try/catch (see setHeaderSafe): a failing header is logged in debug mode and skipped while the rest still go out.

      Returns Headers

    • Parameters

      • url: string | undefined
      • prefix: string | undefined

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • OptionaldefaultValue: number

      Returns number | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • OptionaldefaultValue: string

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]
      • Optionalprefix: string

      Returns string | undefined

    • Parameters

      • data: object
      • fieldMappings: string[]

      Returns string[] | undefined

    • Type Parameters

      • T

      Parameters

      • relativeUrl: string
      • Optionalbody: any
      • OptionalcustomHeaders: any
      • OptionalisAbsoluteUrl: boolean

      Returns Promise<T>

    • Parameters

      • query: { queryString: string; requestType: RequestType }
      • OptionalselectedFacets: SelectedFacets
      • OptionaldisableSpellcheck: boolean

      Returns Promise<void | SearchResponse>

      Pass query string and requestType as separate parameters: query(queryString, requestType, selectedFacets?, disableSpellcheck?)

    • Parameters

      • Optionalquery: string
      • OptionalselectedFacets: SelectedFacets
      • OptionaldisableSpellcheck: boolean

      Returns Promise<void | SearchResponse>

      Pass requestType as the second parameter: query(queryString, requestType, selectedFacets?, disableSpellcheck?)

    • Parameters

      • Optionalquery: string
      • OptionalrequestType: RequestType
      • OptionalselectedFacets: SelectedFacets
      • OptionaldisableSpellcheck: boolean

      Returns Promise<void | SearchResponse>

      Pass query string and requestType as separate parameters: query(queryString, requestType, selectedFacets?, disableSpellcheck?)

    • Parameters

      • input: string

      Returns string

    • Type Parameters

      • T

      Parameters

      • name: string
      • data: T

      Returns void