@algolia/autocomplete-preset-algolia 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-preset-algolia 1.6.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-preset-algolia 1.6.2 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -121,7 +121,7 @@
121
121
  }, record);
122
122
  }
123
123
 
124
- var version = '1.6.1';
124
+ var version = '1.6.2';
125
125
 
126
126
  var userAgents = [{
127
127
  segment: 'autocomplete-core',
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../src/constants/index.ts","../../src/highlight/parseAttribute.ts","../../src/highlight/parseAlgoliaHitHighlight.ts","../../src/highlight/isPartHighlighted.ts","../../src/highlight/reverseHighlightedParts.ts","../../src/highlight/parseAlgoliaHitReverseHighlight.ts","../../src/highlight/parseAlgoliaHitSnippet.ts","../../src/highlight/parseAlgoliaHitReverseSnippet.ts","../../src/requester/createRequester.ts","../../src/search/fetchAlgoliaResults.ts","../../src/requester/createAlgoliaRequester.ts","../../src/requester/getAlgoliaFacets.ts","../../src/requester/getAlgoliaResults.ts"],"sourcesContent":["export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var version = '1.6.1';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","export const HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport const HIGHLIGHT_POST_TAG = '__/aa-highlight__';\n","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nimport { ParsedAttribute } from './ParsedAttribute';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet(initialValue: ParsedAttribute[] = []) {\n const value = initialValue;\n\n return {\n get() {\n return value;\n },\n add(part: ParsedAttribute) {\n const lastPart: ParsedAttribute | undefined = value[value.length - 1];\n\n if (lastPart?.isHighlighted === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted,\n };\n } else {\n value.push(part);\n }\n },\n };\n}\n\ntype ParseAttributeParams = {\n highlightedValue: string;\n};\n\nexport function parseAttribute({\n highlightedValue,\n}: ParseAttributeParams): ParsedAttribute[] {\n const preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n const firstValue = preTagParts.shift();\n const parts = createAttributeSet(\n firstValue ? [{ value: firstValue, isHighlighted: false }] : []\n );\n\n preTagParts.forEach((part) => {\n const postTagParts = part.split(HIGHLIGHT_POST_TAG);\n\n parts.add({\n value: postTagParts[0],\n isHighlighted: true,\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false,\n });\n }\n });\n\n return parts.get();\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { HighlightedHit } from './HighlightedHit';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_highlightResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToHighlight\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParsedAttribute } from './ParsedAttribute';\n\nconst htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\",\n};\nconst hasAlphanumeric = new RegExp(/\\w/i);\nconst regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nconst regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value: string): string {\n return value && regexHasEscapedHtml.test(value)\n ? value.replace(regexEscapedHtml, (character) => htmlEscapes[character])\n : value;\n}\n\nexport function isPartHighlighted(parts: ParsedAttribute[], i: number) {\n const current = parts[i];\n const isNextHighlighted = parts[i + 1]?.isHighlighted || true;\n const isPreviousHighlighted = parts[i - 1]?.isHighlighted || true;\n\n if (\n !hasAlphanumeric.test(unescape(current.value)) &&\n isPreviousHighlighted === isNextHighlighted\n ) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}\n","import { isPartHighlighted } from './isPartHighlighted';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function reverseHighlightedParts(parts: ParsedAttribute[]) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some((part) => part.isHighlighted)) {\n return parts.map((part) => ({ ...part, isHighlighted: false }));\n }\n\n return parts.map((part, i) => ({\n ...part,\n isHighlighted: !isPartHighlighted(parts, i),\n }));\n}\n","import { HighlightedHit } from './HighlightedHit';\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<\n THit extends HighlightedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_snippetResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToSnippet\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitReverseSnippet<\n THit extends SnippetedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n","import {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { fetchAlgoliaResults } from '../search';\n\ntype Fetcher = typeof fetchAlgoliaResults;\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport type FetcherParams = Pick<\n Parameters<Fetcher>[0],\n 'searchClient' | 'queries'\n>;\n\nexport type RequesterParams<THit> = {\n transformResponse(\n response: TransformResponseParams<THit>\n ): TransformedRequesterResponse<THit>;\n};\n\ntype TransformResponseParams<THit> = {\n results: Array<SearchResponse<THit> | SearchForFacetValuesResponse>;\n hits: Array<SearchResponse<THit>['hits']>;\n facetHits: FacetHit[][];\n};\n\nexport type TransformedRequesterResponse<THit> =\n | Array<SearchResponse<THit>['hits']>\n | SearchResponse<THit>['hits']\n | FacetHit[][]\n | FacetHit[];\n\nexport type TransformResponse<THit> = (\n response: TransformResponseParams<THit>\n) => TransformedRequesterResponse<THit>;\n\ntype FetcherParamsQuery<THit> = {\n query: MultipleQueriesQuery;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n};\n\ntype ExecuteParams<THit> = {\n searchClient: SearchClient;\n requests: Array<FetcherParamsQuery<THit>>;\n};\n\nexport type Execute<THit> = (\n params: ExecuteParams<THit>\n) => Promise<ExecuteResponse<THit>>;\n\nexport type ExecuteResponse<THit> = Array<{\n items: SearchResponse<THit> | SearchForFacetValuesResponse;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n}>;\n\nexport type RequestParams<THit> = FetcherParams & {\n /**\n * The function to transform the Algolia response before passing it to the Autocomplete state. You have access to the full Algolia results, as well as the pre-computed hits and facet hits.\n *\n * This is useful to manipulate the hits, or store data from the results in the [context](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).\n */\n transformResponse?: TransformResponse<THit>;\n};\n\nexport type RequesterDescription<THit> = {\n /**\n * The search client used for this request. Multiple queries with the same client are batched (if `requesterId` is also the same).\n */\n searchClient: SearchClient;\n /**\n * Identifies requesters to confirm their queries should be batched.\n * This ensures that requesters with the same client but different\n * post-processing functions don't get batched.\n * When falsy, batching is disabled.\n * For example, the Algolia requesters use \"algolia\".\n */\n requesterId?: string;\n /**\n * The search parameters used for this query.\n */\n queries: MultipleQueriesQuery[];\n /**\n * Transforms the response of this search before returning it to the caller.\n */\n transformResponse: TransformResponse<THit>;\n /**\n * Post-processing function for multi-queries.\n */\n execute: Execute<THit>;\n};\n\nexport function createRequester(fetcher: Fetcher, requesterId?: string) {\n function execute<THit>(fetcherParams: ExecuteParams<THit>) {\n return fetcher<THit>({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map((x) => x.query),\n }).then((responses) =>\n responses.map((response, index) => {\n const { sourceId, transformResponse } = fetcherParams.requests[index];\n\n return {\n items: response,\n sourceId,\n transformResponse,\n };\n })\n );\n }\n\n return function createSpecifiedRequester(\n requesterParams: RequesterParams<any>\n ) {\n return function requester<TTHit>(\n requestParams: RequestParams<TTHit>\n ): RequesterDescription<TTHit> {\n return {\n requesterId,\n execute,\n ...requesterParams,\n ...requestParams,\n };\n };\n };\n}\n","import {\n userAgents as coreUserAgents,\n UserAgent,\n} from '@algolia/autocomplete-shared';\nimport {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport type { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nexport interface SearchParams {\n /**\n * The initialized Algolia search client.\n */\n searchClient: SearchClient;\n /**\n * A list of queries to execute.\n */\n queries: MultipleQueriesQuery[];\n /**\n * A list of user agents to add to the search client.\n *\n * This is useful to track usage of an integration.\n */\n userAgents?: UserAgent[];\n}\n\nexport function fetchAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams): Promise<\n Array<SearchResponse<TRecord> | SearchForFacetValuesResponse>\n> {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [...coreUserAgents, ...userAgents];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient\n .search<TRecord>(\n queries.map((searchParameters) => {\n const { params, ...headers } = searchParameters;\n\n return {\n ...headers,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n )\n .then((response) => {\n return response.results;\n });\n}\n","import { fetchAlgoliaResults } from '../search';\n\nimport { createRequester } from './createRequester';\n\nexport const createAlgoliaRequester = createRequester(\n fetchAlgoliaResults,\n 'algolia'\n);\n","import { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\nimport { RequestParams } from './createRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["getAttributeValueByPath","record","path","reduce","current","key","version","userAgents","segment","warnCache","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","concat","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","initialValue","value","get","add","part","lastPart","length","isHighlighted","push","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","forEach","postTagParts","parseAlgoliaHitHighlight","hit","attribute","Array","isArray","process","join","JSON","stringify","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","source","unescape","test","replace","character","isPartHighlighted","i","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","some","map","parseAlgoliaHitReverseHighlight","props","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","requesterId","execute","fetcherParams","searchClient","queries","requests","x","query","then","responses","response","index","sourceId","transformResponse","items","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","params","headers","hitsPerPage","highlightPreTag","highlightPostTag","results","createAlgoliaRequester","getAlgoliaFacets","facetHits","type","getAlgoliaResults","hits"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../../autocomplete-shared/dist/esm/warn.js","../../src/constants/index.ts","../../src/highlight/parseAttribute.ts","../../src/highlight/parseAlgoliaHitHighlight.ts","../../src/highlight/isPartHighlighted.ts","../../src/highlight/reverseHighlightedParts.ts","../../src/highlight/parseAlgoliaHitReverseHighlight.ts","../../src/highlight/parseAlgoliaHitSnippet.ts","../../src/highlight/parseAlgoliaHitReverseSnippet.ts","../../src/requester/createRequester.ts","../../src/search/fetchAlgoliaResults.ts","../../src/requester/createAlgoliaRequester.ts","../../src/requester/getAlgoliaFacets.ts","../../src/requester/getAlgoliaResults.ts"],"sourcesContent":["export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var version = '1.6.2';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export var warnCache = {\n current: {}\n};\n/**\n * Logs a warning if the condition is not met.\n * This is used to log issues in development environment only.\n */\n\nexport function warn(condition, message) {\n if (!(process.env.NODE_ENV !== 'production')) {\n return;\n }\n\n if (condition) {\n return;\n }\n\n var sanitizedMessage = message.trim();\n var hasAlreadyPrinted = warnCache.current[sanitizedMessage];\n\n if (!hasAlreadyPrinted) {\n warnCache.current[sanitizedMessage] = true; // eslint-disable-next-line no-console\n\n console.warn(\"[Autocomplete] \".concat(sanitizedMessage));\n }\n}","export const HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport const HIGHLIGHT_POST_TAG = '__/aa-highlight__';\n","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nimport { ParsedAttribute } from './ParsedAttribute';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet(initialValue: ParsedAttribute[] = []) {\n const value = initialValue;\n\n return {\n get() {\n return value;\n },\n add(part: ParsedAttribute) {\n const lastPart: ParsedAttribute | undefined = value[value.length - 1];\n\n if (lastPart?.isHighlighted === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted,\n };\n } else {\n value.push(part);\n }\n },\n };\n}\n\ntype ParseAttributeParams = {\n highlightedValue: string;\n};\n\nexport function parseAttribute({\n highlightedValue,\n}: ParseAttributeParams): ParsedAttribute[] {\n const preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n const firstValue = preTagParts.shift();\n const parts = createAttributeSet(\n firstValue ? [{ value: firstValue, isHighlighted: false }] : []\n );\n\n preTagParts.forEach((part) => {\n const postTagParts = part.split(HIGHLIGHT_POST_TAG);\n\n parts.add({\n value: postTagParts[0],\n isHighlighted: true,\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false,\n });\n }\n });\n\n return parts.get();\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { HighlightedHit } from './HighlightedHit';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_highlightResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToHighlight\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParsedAttribute } from './ParsedAttribute';\n\nconst htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\",\n};\nconst hasAlphanumeric = new RegExp(/\\w/i);\nconst regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nconst regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value: string): string {\n return value && regexHasEscapedHtml.test(value)\n ? value.replace(regexEscapedHtml, (character) => htmlEscapes[character])\n : value;\n}\n\nexport function isPartHighlighted(parts: ParsedAttribute[], i: number) {\n const current = parts[i];\n const isNextHighlighted = parts[i + 1]?.isHighlighted || true;\n const isPreviousHighlighted = parts[i - 1]?.isHighlighted || true;\n\n if (\n !hasAlphanumeric.test(unescape(current.value)) &&\n isPreviousHighlighted === isNextHighlighted\n ) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}\n","import { isPartHighlighted } from './isPartHighlighted';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function reverseHighlightedParts(parts: ParsedAttribute[]) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some((part) => part.isHighlighted)) {\n return parts.map((part) => ({ ...part, isHighlighted: false }));\n }\n\n return parts.map((part, i) => ({\n ...part,\n isHighlighted: !isPartHighlighted(parts, i),\n }));\n}\n","import { HighlightedHit } from './HighlightedHit';\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<\n THit extends HighlightedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_snippetResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToSnippet\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitReverseSnippet<\n THit extends SnippetedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n","import {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { fetchAlgoliaResults } from '../search';\n\ntype Fetcher = typeof fetchAlgoliaResults;\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport type FetcherParams = Pick<\n Parameters<Fetcher>[0],\n 'searchClient' | 'queries'\n>;\n\nexport type RequesterParams<THit> = {\n transformResponse(\n response: TransformResponseParams<THit>\n ): TransformedRequesterResponse<THit>;\n};\n\ntype TransformResponseParams<THit> = {\n results: Array<SearchResponse<THit> | SearchForFacetValuesResponse>;\n hits: Array<SearchResponse<THit>['hits']>;\n facetHits: FacetHit[][];\n};\n\nexport type TransformedRequesterResponse<THit> =\n | Array<SearchResponse<THit>['hits']>\n | SearchResponse<THit>['hits']\n | FacetHit[][]\n | FacetHit[];\n\nexport type TransformResponse<THit> = (\n response: TransformResponseParams<THit>\n) => TransformedRequesterResponse<THit>;\n\ntype FetcherParamsQuery<THit> = {\n query: MultipleQueriesQuery;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n};\n\ntype ExecuteParams<THit> = {\n searchClient: SearchClient;\n requests: Array<FetcherParamsQuery<THit>>;\n};\n\nexport type Execute<THit> = (\n params: ExecuteParams<THit>\n) => Promise<ExecuteResponse<THit>>;\n\nexport type ExecuteResponse<THit> = Array<{\n items: SearchResponse<THit> | SearchForFacetValuesResponse;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n}>;\n\nexport type RequestParams<THit> = FetcherParams & {\n /**\n * The function to transform the Algolia response before passing it to the Autocomplete state. You have access to the full Algolia results, as well as the pre-computed hits and facet hits.\n *\n * This is useful to manipulate the hits, or store data from the results in the [context](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).\n */\n transformResponse?: TransformResponse<THit>;\n};\n\nexport type RequesterDescription<THit> = {\n /**\n * The search client used for this request. Multiple queries with the same client are batched (if `requesterId` is also the same).\n */\n searchClient: SearchClient;\n /**\n * Identifies requesters to confirm their queries should be batched.\n * This ensures that requesters with the same client but different\n * post-processing functions don't get batched.\n * When falsy, batching is disabled.\n * For example, the Algolia requesters use \"algolia\".\n */\n requesterId?: string;\n /**\n * The search parameters used for this query.\n */\n queries: MultipleQueriesQuery[];\n /**\n * Transforms the response of this search before returning it to the caller.\n */\n transformResponse: TransformResponse<THit>;\n /**\n * Post-processing function for multi-queries.\n */\n execute: Execute<THit>;\n};\n\nexport function createRequester(fetcher: Fetcher, requesterId?: string) {\n function execute<THit>(fetcherParams: ExecuteParams<THit>) {\n return fetcher<THit>({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map((x) => x.query),\n }).then((responses) =>\n responses.map((response, index) => {\n const { sourceId, transformResponse } = fetcherParams.requests[index];\n\n return {\n items: response,\n sourceId,\n transformResponse,\n };\n })\n );\n }\n\n return function createSpecifiedRequester(\n requesterParams: RequesterParams<any>\n ) {\n return function requester<TTHit>(\n requestParams: RequestParams<TTHit>\n ): RequesterDescription<TTHit> {\n return {\n requesterId,\n execute,\n ...requesterParams,\n ...requestParams,\n };\n };\n };\n}\n","import {\n userAgents as coreUserAgents,\n UserAgent,\n} from '@algolia/autocomplete-shared';\nimport {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport type { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nexport interface SearchParams {\n /**\n * The initialized Algolia search client.\n */\n searchClient: SearchClient;\n /**\n * A list of queries to execute.\n */\n queries: MultipleQueriesQuery[];\n /**\n * A list of user agents to add to the search client.\n *\n * This is useful to track usage of an integration.\n */\n userAgents?: UserAgent[];\n}\n\nexport function fetchAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams): Promise<\n Array<SearchResponse<TRecord> | SearchForFacetValuesResponse>\n> {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [...coreUserAgents, ...userAgents];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient\n .search<TRecord>(\n queries.map((searchParameters) => {\n const { params, ...headers } = searchParameters;\n\n return {\n ...headers,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n )\n .then((response) => {\n return response.results;\n });\n}\n","import { fetchAlgoliaResults } from '../search';\n\nimport { createRequester } from './createRequester';\n\nexport const createAlgoliaRequester = createRequester(\n fetchAlgoliaResults,\n 'algolia'\n);\n","import { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\nimport { RequestParams } from './createRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n"],"names":["getAttributeValueByPath","record","path","reduce","current","key","version","userAgents","segment","warnCache","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","concat","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","createAttributeSet","initialValue","value","get","add","part","lastPart","length","isHighlighted","push","parseAttribute","highlightedValue","preTagParts","split","firstValue","shift","parts","forEach","postTagParts","parseAlgoliaHitHighlight","hit","attribute","Array","isArray","process","join","JSON","stringify","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","source","unescape","test","replace","character","isPartHighlighted","i","isNextHighlighted","isPreviousHighlighted","reverseHighlightedParts","some","map","parseAlgoliaHitReverseHighlight","props","parseAlgoliaHitSnippet","parseAlgoliaHitReverseSnippet","createRequester","fetcher","requesterId","execute","fetcherParams","searchClient","queries","requests","x","query","then","responses","response","index","sourceId","transformResponse","items","createSpecifiedRequester","requesterParams","requester","requestParams","fetchAlgoliaResults","addAlgoliaAgent","algoliaAgents","coreUserAgents","search","searchParameters","params","headers","hitsPerPage","highlightPreTag","highlightPostTag","results","createAlgoliaRequester","getAlgoliaFacets","facetHits","type","getAlgoliaResults","hits"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-preset-algolia 1.6.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-preset-algolia"]={})}(this,(function(e){"use strict";function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?t(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function o(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}var l=[{segment:"autocomplete-core",version:"1.6.1"}];var s="__aa-highlight__",c="__/aa-highlight__";function f(e){var t=e.highlightedValue.split(s),r=t.shift(),n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var r=e[e.length-1];(null==r?void 0:r.isHighlighted)===t.isHighlighted?e[e.length-1]={value:r.value+t.value,isHighlighted:r.isHighlighted}:e.push(t)}}}(r?[{value:r,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(c);n.add({value:t[0],isHighlighted:!0}),""!==t[1]&&n.add({value:t[1],isHighlighted:!1})})),n.get()}function g(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],i=a(t,["_highlightResult"].concat(o(n),["value"]));return"string"!=typeof i&&(i=a(t,n)||""),f({highlightedValue:i})}var h={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},p=new RegExp(/\w/i),d=/&(amp|quot|lt|gt|#39);/g,v=RegExp(d.source);function y(e,t){var r,n,i,o=e[t],u=(null===(r=e[t+1])||void 0===r?void 0:r.isHighlighted)||!0,a=(null===(n=e[t-1])||void 0===n?void 0:n.isHighlighted)||!0;return p.test((i=o.value)&&v.test(i)?i.replace(d,(function(e){return h[e]})):i)||a!==u?o.isHighlighted:a}function m(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return r(r({},t),{},{isHighlighted:!y(e,n)})})):e.map((function(e){return r(r({},e),{},{isHighlighted:!1})}))}function b(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],i=a(t,["_snippetResult"].concat(o(n),["value"]));return"string"!=typeof i&&(i=a(t,n)||""),f({highlightedValue:i})}function O(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map((function(e){return e.query}))}).then((function(e){return e.map((function(e,r){var n=t.requests[r];return{items:e,sourceId:n.sourceId,transformResponse:n.transformResponse}}))}))}return function(e){return function(i){return r(r({requesterId:t,execute:n},e),i)}}}var A=["params"];function j(e){var t=e.searchClient,n=e.queries,u=e.userAgents,a=void 0===u?[]:u;"function"==typeof t.addAlgoliaAgent&&[].concat(o(l),o(a)).forEach((function(e){var r=e.segment,n=e.version;t.addAlgoliaAgent(r,n)}));return t.search(n.map((function(e){var t=e.params;return r(r({},i(e,A)),{},{params:r({hitsPerPage:5,highlightPreTag:s,highlightPostTag:c},t)})}))).then((function(e){return e.results}))}var H=O(j,"algolia");var P=H({transformResponse:function(e){return e.hits}});e.createRequester=O,e.fetchAlgoliaResults=j,e.getAlgoliaFacets=function(e){var t=H({transformResponse:function(e){return e.facetHits}}),n=e.queries.map((function(e){return r(r({},e),{},{type:"facet"})}));return t(r(r({},e),{},{queries:n}))},e.getAlgoliaResults=P,e.parseAlgoliaHitHighlight=g,e.parseAlgoliaHitReverseHighlight=function(e){return m(g(e))},e.parseAlgoliaHitReverseSnippet=function(e){return m(b(e))},e.parseAlgoliaHitSnippet=b,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ /*! @algolia/autocomplete-preset-algolia 1.6.2 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-preset-algolia"]={})}(this,(function(e){"use strict";function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?t(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function o(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function a(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}var l=[{segment:"autocomplete-core",version:"1.6.2"}];var s="__aa-highlight__",c="__/aa-highlight__";function f(e){var t=e.highlightedValue.split(s),r=t.shift(),n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return{get:function(){return e},add:function(t){var r=e[e.length-1];(null==r?void 0:r.isHighlighted)===t.isHighlighted?e[e.length-1]={value:r.value+t.value,isHighlighted:r.isHighlighted}:e.push(t)}}}(r?[{value:r,isHighlighted:!1}]:[]);return t.forEach((function(e){var t=e.split(c);n.add({value:t[0],isHighlighted:!0}),""!==t[1]&&n.add({value:t[1],isHighlighted:!1})})),n.get()}function g(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],i=a(t,["_highlightResult"].concat(o(n),["value"]));return"string"!=typeof i&&(i=a(t,n)||""),f({highlightedValue:i})}var h={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},p=new RegExp(/\w/i),d=/&(amp|quot|lt|gt|#39);/g,v=RegExp(d.source);function y(e,t){var r,n,i,o=e[t],u=(null===(r=e[t+1])||void 0===r?void 0:r.isHighlighted)||!0,a=(null===(n=e[t-1])||void 0===n?void 0:n.isHighlighted)||!0;return p.test((i=o.value)&&v.test(i)?i.replace(d,(function(e){return h[e]})):i)||a!==u?o.isHighlighted:a}function m(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,n){return r(r({},t),{},{isHighlighted:!y(e,n)})})):e.map((function(e){return r(r({},e),{},{isHighlighted:!1})}))}function b(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],i=a(t,["_snippetResult"].concat(o(n),["value"]));return"string"!=typeof i&&(i=a(t,n)||""),f({highlightedValue:i})}function O(e,t){function n(t){return e({searchClient:t.searchClient,queries:t.requests.map((function(e){return e.query}))}).then((function(e){return e.map((function(e,r){var n=t.requests[r];return{items:e,sourceId:n.sourceId,transformResponse:n.transformResponse}}))}))}return function(e){return function(i){return r(r({requesterId:t,execute:n},e),i)}}}var A=["params"];function j(e){var t=e.searchClient,n=e.queries,u=e.userAgents,a=void 0===u?[]:u;"function"==typeof t.addAlgoliaAgent&&[].concat(o(l),o(a)).forEach((function(e){var r=e.segment,n=e.version;t.addAlgoliaAgent(r,n)}));return t.search(n.map((function(e){var t=e.params;return r(r({},i(e,A)),{},{params:r({hitsPerPage:5,highlightPreTag:s,highlightPostTag:c},t)})}))).then((function(e){return e.results}))}var H=O(j,"algolia");var P=H({transformResponse:function(e){return e.hits}});e.createRequester=O,e.fetchAlgoliaResults=j,e.getAlgoliaFacets=function(e){var t=H({transformResponse:function(e){return e.facetHits}}),n=e.queries.map((function(e){return r(r({},e),{},{type:"facet"})}));return t(r(r({},e),{},{queries:n}))},e.getAlgoliaResults=P,e.parseAlgoliaHitHighlight=g,e.parseAlgoliaHitReverseHighlight=function(e){return m(g(e))},e.parseAlgoliaHitReverseSnippet=function(e){return m(b(e))},e.parseAlgoliaHitSnippet=b,Object.defineProperty(e,"__esModule",{value:!0})}));
3
3
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../src/constants/index.ts","../../src/highlight/parseAttribute.ts","../../src/highlight/parseAlgoliaHitHighlight.ts","../../src/highlight/isPartHighlighted.ts","../../src/highlight/reverseHighlightedParts.ts","../../src/highlight/parseAlgoliaHitSnippet.ts","../../src/requester/createRequester.ts","../../src/search/fetchAlgoliaResults.ts","../../src/requester/createAlgoliaRequester.ts","../../src/requester/getAlgoliaResults.ts","../../src/requester/getAlgoliaFacets.ts","../../src/highlight/parseAlgoliaHitReverseHighlight.ts","../../src/highlight/parseAlgoliaHitReverseSnippet.ts"],"sourcesContent":["export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var version = '1.6.1';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export const HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport const HIGHLIGHT_POST_TAG = '__/aa-highlight__';\n","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nimport { ParsedAttribute } from './ParsedAttribute';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet(initialValue: ParsedAttribute[] = []) {\n const value = initialValue;\n\n return {\n get() {\n return value;\n },\n add(part: ParsedAttribute) {\n const lastPart: ParsedAttribute | undefined = value[value.length - 1];\n\n if (lastPart?.isHighlighted === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted,\n };\n } else {\n value.push(part);\n }\n },\n };\n}\n\ntype ParseAttributeParams = {\n highlightedValue: string;\n};\n\nexport function parseAttribute({\n highlightedValue,\n}: ParseAttributeParams): ParsedAttribute[] {\n const preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n const firstValue = preTagParts.shift();\n const parts = createAttributeSet(\n firstValue ? [{ value: firstValue, isHighlighted: false }] : []\n );\n\n preTagParts.forEach((part) => {\n const postTagParts = part.split(HIGHLIGHT_POST_TAG);\n\n parts.add({\n value: postTagParts[0],\n isHighlighted: true,\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false,\n });\n }\n });\n\n return parts.get();\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { HighlightedHit } from './HighlightedHit';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_highlightResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToHighlight\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParsedAttribute } from './ParsedAttribute';\n\nconst htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\",\n};\nconst hasAlphanumeric = new RegExp(/\\w/i);\nconst regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nconst regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value: string): string {\n return value && regexHasEscapedHtml.test(value)\n ? value.replace(regexEscapedHtml, (character) => htmlEscapes[character])\n : value;\n}\n\nexport function isPartHighlighted(parts: ParsedAttribute[], i: number) {\n const current = parts[i];\n const isNextHighlighted = parts[i + 1]?.isHighlighted || true;\n const isPreviousHighlighted = parts[i - 1]?.isHighlighted || true;\n\n if (\n !hasAlphanumeric.test(unescape(current.value)) &&\n isPreviousHighlighted === isNextHighlighted\n ) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}\n","import { isPartHighlighted } from './isPartHighlighted';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function reverseHighlightedParts(parts: ParsedAttribute[]) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some((part) => part.isHighlighted)) {\n return parts.map((part) => ({ ...part, isHighlighted: false }));\n }\n\n return parts.map((part, i) => ({\n ...part,\n isHighlighted: !isPartHighlighted(parts, i),\n }));\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_snippetResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToSnippet\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { fetchAlgoliaResults } from '../search';\n\ntype Fetcher = typeof fetchAlgoliaResults;\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport type FetcherParams = Pick<\n Parameters<Fetcher>[0],\n 'searchClient' | 'queries'\n>;\n\nexport type RequesterParams<THit> = {\n transformResponse(\n response: TransformResponseParams<THit>\n ): TransformedRequesterResponse<THit>;\n};\n\ntype TransformResponseParams<THit> = {\n results: Array<SearchResponse<THit> | SearchForFacetValuesResponse>;\n hits: Array<SearchResponse<THit>['hits']>;\n facetHits: FacetHit[][];\n};\n\nexport type TransformedRequesterResponse<THit> =\n | Array<SearchResponse<THit>['hits']>\n | SearchResponse<THit>['hits']\n | FacetHit[][]\n | FacetHit[];\n\nexport type TransformResponse<THit> = (\n response: TransformResponseParams<THit>\n) => TransformedRequesterResponse<THit>;\n\ntype FetcherParamsQuery<THit> = {\n query: MultipleQueriesQuery;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n};\n\ntype ExecuteParams<THit> = {\n searchClient: SearchClient;\n requests: Array<FetcherParamsQuery<THit>>;\n};\n\nexport type Execute<THit> = (\n params: ExecuteParams<THit>\n) => Promise<ExecuteResponse<THit>>;\n\nexport type ExecuteResponse<THit> = Array<{\n items: SearchResponse<THit> | SearchForFacetValuesResponse;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n}>;\n\nexport type RequestParams<THit> = FetcherParams & {\n /**\n * The function to transform the Algolia response before passing it to the Autocomplete state. You have access to the full Algolia results, as well as the pre-computed hits and facet hits.\n *\n * This is useful to manipulate the hits, or store data from the results in the [context](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).\n */\n transformResponse?: TransformResponse<THit>;\n};\n\nexport type RequesterDescription<THit> = {\n /**\n * The search client used for this request. Multiple queries with the same client are batched (if `requesterId` is also the same).\n */\n searchClient: SearchClient;\n /**\n * Identifies requesters to confirm their queries should be batched.\n * This ensures that requesters with the same client but different\n * post-processing functions don't get batched.\n * When falsy, batching is disabled.\n * For example, the Algolia requesters use \"algolia\".\n */\n requesterId?: string;\n /**\n * The search parameters used for this query.\n */\n queries: MultipleQueriesQuery[];\n /**\n * Transforms the response of this search before returning it to the caller.\n */\n transformResponse: TransformResponse<THit>;\n /**\n * Post-processing function for multi-queries.\n */\n execute: Execute<THit>;\n};\n\nexport function createRequester(fetcher: Fetcher, requesterId?: string) {\n function execute<THit>(fetcherParams: ExecuteParams<THit>) {\n return fetcher<THit>({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map((x) => x.query),\n }).then((responses) =>\n responses.map((response, index) => {\n const { sourceId, transformResponse } = fetcherParams.requests[index];\n\n return {\n items: response,\n sourceId,\n transformResponse,\n };\n })\n );\n }\n\n return function createSpecifiedRequester(\n requesterParams: RequesterParams<any>\n ) {\n return function requester<TTHit>(\n requestParams: RequestParams<TTHit>\n ): RequesterDescription<TTHit> {\n return {\n requesterId,\n execute,\n ...requesterParams,\n ...requestParams,\n };\n };\n };\n}\n","import {\n userAgents as coreUserAgents,\n UserAgent,\n} from '@algolia/autocomplete-shared';\nimport {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport type { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nexport interface SearchParams {\n /**\n * The initialized Algolia search client.\n */\n searchClient: SearchClient;\n /**\n * A list of queries to execute.\n */\n queries: MultipleQueriesQuery[];\n /**\n * A list of user agents to add to the search client.\n *\n * This is useful to track usage of an integration.\n */\n userAgents?: UserAgent[];\n}\n\nexport function fetchAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams): Promise<\n Array<SearchResponse<TRecord> | SearchForFacetValuesResponse>\n> {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [...coreUserAgents, ...userAgents];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient\n .search<TRecord>(\n queries.map((searchParameters) => {\n const { params, ...headers } = searchParameters;\n\n return {\n ...headers,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n )\n .then((response) => {\n return response.results;\n });\n}\n","import { fetchAlgoliaResults } from '../search';\n\nimport { createRequester } from './createRequester';\n\nexport const createAlgoliaRequester = createRequester(\n fetchAlgoliaResults,\n 'algolia'\n);\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n","import { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\nimport { RequestParams } from './createRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { HighlightedHit } from './HighlightedHit';\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<\n THit extends HighlightedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitReverseSnippet<\n THit extends SnippetedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n"],"names":["getAttributeValueByPath","record","path","reduce","current","key","userAgents","segment","version","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","parseAttribute","preTagParts","highlightedValue","split","firstValue","shift","parts","value","get","add","part","lastPart","length","isHighlighted","push","createAttributeSet","forEach","postTagParts","parseAlgoliaHitHighlight","hit","attribute","Array","isArray","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","source","isPartHighlighted","i","isNextHighlighted","isPreviousHighlighted","test","replace","character","reverseHighlightedParts","some","map","parseAlgoliaHitSnippet","createRequester","fetcher","requesterId","execute","fetcherParams","searchClient","queries","requests","x","query","then","responses","response","index","items","sourceId","transformResponse","requesterParams","requestParams","fetchAlgoliaResults","addAlgoliaAgent","coreUserAgents","search","searchParameters","params","hitsPerPage","highlightPreTag","highlightPostTag","results","createAlgoliaRequester","getAlgoliaResults","hits","requester","facetHits","type","props"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.js","../../../autocomplete-shared/dist/esm/version.js","../../../autocomplete-shared/dist/esm/userAgents.js","../../src/constants/index.ts","../../src/highlight/parseAttribute.ts","../../src/highlight/parseAlgoliaHitHighlight.ts","../../src/highlight/isPartHighlighted.ts","../../src/highlight/reverseHighlightedParts.ts","../../src/highlight/parseAlgoliaHitSnippet.ts","../../src/requester/createRequester.ts","../../src/search/fetchAlgoliaResults.ts","../../src/requester/createAlgoliaRequester.ts","../../src/requester/getAlgoliaResults.ts","../../src/requester/getAlgoliaFacets.ts","../../src/highlight/parseAlgoliaHitReverseHighlight.ts","../../src/highlight/parseAlgoliaHitReverseSnippet.ts"],"sourcesContent":["export function getAttributeValueByPath(record, path) {\n return path.reduce(function (current, key) {\n return current && current[key];\n }, record);\n}","export var version = '1.6.2';","import { version } from './version';\nexport var userAgents = [{\n segment: 'autocomplete-core',\n version: version\n}];","export const HIGHLIGHT_PRE_TAG = '__aa-highlight__';\nexport const HIGHLIGHT_POST_TAG = '__/aa-highlight__';\n","import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nimport { ParsedAttribute } from './ParsedAttribute';\n\n/**\n * Creates a data structure that allows to concatenate similar highlighting\n * parts in a single value.\n */\nfunction createAttributeSet(initialValue: ParsedAttribute[] = []) {\n const value = initialValue;\n\n return {\n get() {\n return value;\n },\n add(part: ParsedAttribute) {\n const lastPart: ParsedAttribute | undefined = value[value.length - 1];\n\n if (lastPart?.isHighlighted === part.isHighlighted) {\n value[value.length - 1] = {\n value: lastPart.value + part.value,\n isHighlighted: lastPart.isHighlighted,\n };\n } else {\n value.push(part);\n }\n },\n };\n}\n\ntype ParseAttributeParams = {\n highlightedValue: string;\n};\n\nexport function parseAttribute({\n highlightedValue,\n}: ParseAttributeParams): ParsedAttribute[] {\n const preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);\n const firstValue = preTagParts.shift();\n const parts = createAttributeSet(\n firstValue ? [{ value: firstValue, isHighlighted: false }] : []\n );\n\n preTagParts.forEach((part) => {\n const postTagParts = part.split(HIGHLIGHT_POST_TAG);\n\n parts.add({\n value: postTagParts[0],\n isHighlighted: true,\n });\n\n if (postTagParts[1] !== '') {\n parts.add({\n value: postTagParts[1],\n isHighlighted: false,\n });\n }\n });\n\n return parts.get();\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { HighlightedHit } from './HighlightedHit';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_highlightResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToHighlight\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import { ParsedAttribute } from './ParsedAttribute';\n\nconst htmlEscapes = {\n '&amp;': '&',\n '&lt;': '<',\n '&gt;': '>',\n '&quot;': '\"',\n '&#39;': \"'\",\n};\nconst hasAlphanumeric = new RegExp(/\\w/i);\nconst regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;\nconst regexHasEscapedHtml = RegExp(regexEscapedHtml.source);\n\nfunction unescape(value: string): string {\n return value && regexHasEscapedHtml.test(value)\n ? value.replace(regexEscapedHtml, (character) => htmlEscapes[character])\n : value;\n}\n\nexport function isPartHighlighted(parts: ParsedAttribute[], i: number) {\n const current = parts[i];\n const isNextHighlighted = parts[i + 1]?.isHighlighted || true;\n const isPreviousHighlighted = parts[i - 1]?.isHighlighted || true;\n\n if (\n !hasAlphanumeric.test(unescape(current.value)) &&\n isPreviousHighlighted === isNextHighlighted\n ) {\n return isPreviousHighlighted;\n }\n\n return current.isHighlighted;\n}\n","import { isPartHighlighted } from './isPartHighlighted';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function reverseHighlightedParts(parts: ParsedAttribute[]) {\n // We don't want to highlight the whole word when no parts match.\n if (!parts.some((part) => part.isHighlighted)) {\n return parts.map((part) => ({ ...part, isHighlighted: false }));\n }\n\n return parts.map((part, i) => ({\n ...part,\n isHighlighted: !isPartHighlighted(parts, i),\n }));\n}\n","import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({\n hit,\n attribute,\n}: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n const path = Array.isArray(attribute) ? attribute : ([attribute] as string[]);\n let highlightedValue = getAttributeValueByPath(hit, [\n '_snippetResult',\n ...path,\n 'value',\n ]);\n\n if (typeof highlightedValue !== 'string') {\n warn(\n false,\n `The attribute \"${path.join('.')}\" described by the path ${JSON.stringify(\n path\n )} does not exist on the hit. Did you set it in \\`attributesToSnippet\\`?` +\n '\\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/'\n );\n\n highlightedValue = getAttributeValueByPath(hit, path) || '';\n }\n\n return parseAttribute({ highlightedValue });\n}\n","import {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { fetchAlgoliaResults } from '../search';\n\ntype Fetcher = typeof fetchAlgoliaResults;\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport type FetcherParams = Pick<\n Parameters<Fetcher>[0],\n 'searchClient' | 'queries'\n>;\n\nexport type RequesterParams<THit> = {\n transformResponse(\n response: TransformResponseParams<THit>\n ): TransformedRequesterResponse<THit>;\n};\n\ntype TransformResponseParams<THit> = {\n results: Array<SearchResponse<THit> | SearchForFacetValuesResponse>;\n hits: Array<SearchResponse<THit>['hits']>;\n facetHits: FacetHit[][];\n};\n\nexport type TransformedRequesterResponse<THit> =\n | Array<SearchResponse<THit>['hits']>\n | SearchResponse<THit>['hits']\n | FacetHit[][]\n | FacetHit[];\n\nexport type TransformResponse<THit> = (\n response: TransformResponseParams<THit>\n) => TransformedRequesterResponse<THit>;\n\ntype FetcherParamsQuery<THit> = {\n query: MultipleQueriesQuery;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n};\n\ntype ExecuteParams<THit> = {\n searchClient: SearchClient;\n requests: Array<FetcherParamsQuery<THit>>;\n};\n\nexport type Execute<THit> = (\n params: ExecuteParams<THit>\n) => Promise<ExecuteResponse<THit>>;\n\nexport type ExecuteResponse<THit> = Array<{\n items: SearchResponse<THit> | SearchForFacetValuesResponse;\n sourceId: string;\n transformResponse: TransformResponse<THit>;\n}>;\n\nexport type RequestParams<THit> = FetcherParams & {\n /**\n * The function to transform the Algolia response before passing it to the Autocomplete state. You have access to the full Algolia results, as well as the pre-computed hits and facet hits.\n *\n * This is useful to manipulate the hits, or store data from the results in the [context](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).\n */\n transformResponse?: TransformResponse<THit>;\n};\n\nexport type RequesterDescription<THit> = {\n /**\n * The search client used for this request. Multiple queries with the same client are batched (if `requesterId` is also the same).\n */\n searchClient: SearchClient;\n /**\n * Identifies requesters to confirm their queries should be batched.\n * This ensures that requesters with the same client but different\n * post-processing functions don't get batched.\n * When falsy, batching is disabled.\n * For example, the Algolia requesters use \"algolia\".\n */\n requesterId?: string;\n /**\n * The search parameters used for this query.\n */\n queries: MultipleQueriesQuery[];\n /**\n * Transforms the response of this search before returning it to the caller.\n */\n transformResponse: TransformResponse<THit>;\n /**\n * Post-processing function for multi-queries.\n */\n execute: Execute<THit>;\n};\n\nexport function createRequester(fetcher: Fetcher, requesterId?: string) {\n function execute<THit>(fetcherParams: ExecuteParams<THit>) {\n return fetcher<THit>({\n searchClient: fetcherParams.searchClient,\n queries: fetcherParams.requests.map((x) => x.query),\n }).then((responses) =>\n responses.map((response, index) => {\n const { sourceId, transformResponse } = fetcherParams.requests[index];\n\n return {\n items: response,\n sourceId,\n transformResponse,\n };\n })\n );\n }\n\n return function createSpecifiedRequester(\n requesterParams: RequesterParams<any>\n ) {\n return function requester<TTHit>(\n requestParams: RequestParams<TTHit>\n ): RequesterDescription<TTHit> {\n return {\n requesterId,\n execute,\n ...requesterParams,\n ...requestParams,\n };\n };\n };\n}\n","import {\n userAgents as coreUserAgents,\n UserAgent,\n} from '@algolia/autocomplete-shared';\nimport {\n MultipleQueriesQuery,\n SearchForFacetValuesResponse,\n SearchResponse,\n} from '@algolia/client-search';\nimport type { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\n\nexport interface SearchParams {\n /**\n * The initialized Algolia search client.\n */\n searchClient: SearchClient;\n /**\n * A list of queries to execute.\n */\n queries: MultipleQueriesQuery[];\n /**\n * A list of user agents to add to the search client.\n *\n * This is useful to track usage of an integration.\n */\n userAgents?: UserAgent[];\n}\n\nexport function fetchAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams): Promise<\n Array<SearchResponse<TRecord> | SearchForFacetValuesResponse>\n> {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [...coreUserAgents, ...userAgents];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient\n .search<TRecord>(\n queries.map((searchParameters) => {\n const { params, ...headers } = searchParameters;\n\n return {\n ...headers,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n )\n .then((response) => {\n return response.results;\n });\n}\n","import { fetchAlgoliaResults } from '../search';\n\nimport { createRequester } from './createRequester';\n\nexport const createAlgoliaRequester = createRequester(\n fetchAlgoliaResults,\n 'algolia'\n);\n","import { createAlgoliaRequester } from './createAlgoliaRequester';\n\n/**\n * Retrieves Algolia results from multiple indices.\n */\nexport const getAlgoliaResults = createAlgoliaRequester({\n transformResponse: (response) => response.hits,\n});\n","import { MultipleQueriesQuery } from '@algolia/client-search';\n\nimport { createAlgoliaRequester } from './createAlgoliaRequester';\nimport { RequestParams } from './createRequester';\n\n/**\n * Retrieves Algolia facet hits from multiple indices.\n */\nexport function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>) {\n const requester = createAlgoliaRequester({\n transformResponse: (response) => response.facetHits,\n });\n\n const queries = requestParams.queries.map((query) => ({\n ...query,\n type: 'facet',\n })) as MultipleQueriesQuery[];\n\n return requester({\n ...requestParams,\n queries,\n });\n}\n","import { HighlightedHit } from './HighlightedHit';\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<\n THit extends HighlightedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\nimport { SnippetedHit } from './SnippetedHit';\n\nexport function parseAlgoliaHitReverseSnippet<\n THit extends SnippetedHit<unknown>\n>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n"],"names":["getAttributeValueByPath","record","path","reduce","current","key","userAgents","segment","version","HIGHLIGHT_PRE_TAG","HIGHLIGHT_POST_TAG","parseAttribute","preTagParts","highlightedValue","split","firstValue","shift","parts","value","get","add","part","lastPart","length","isHighlighted","push","createAttributeSet","forEach","postTagParts","parseAlgoliaHitHighlight","hit","attribute","Array","isArray","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","source","isPartHighlighted","i","isNextHighlighted","isPreviousHighlighted","test","replace","character","reverseHighlightedParts","some","map","parseAlgoliaHitSnippet","createRequester","fetcher","requesterId","execute","fetcherParams","searchClient","queries","requests","x","query","then","responses","response","index","items","sourceId","transformResponse","requesterParams","requestParams","fetchAlgoliaResults","addAlgoliaAgent","coreUserAgents","search","searchParameters","params","hitsPerPage","highlightPreTag","highlightPostTag","results","createAlgoliaRequester","getAlgoliaResults","hits","requester","facetHits","type","props"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@algolia/autocomplete-preset-algolia",
3
3
  "description": "Presets for building autocomplete experiences with Algolia.",
4
- "version": "1.6.1",
4
+ "version": "1.6.2",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/algolia/autocomplete",
7
7
  "repository": "algolia/autocomplete",
@@ -31,7 +31,7 @@
31
31
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
32
  },
33
33
  "dependencies": {
34
- "@algolia/autocomplete-shared": "1.6.1"
34
+ "@algolia/autocomplete-shared": "1.6.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@algolia/client-search": "4.9.1",