@algolia/autocomplete-preset-algolia 1.0.0-alpha.40 → 1.0.0-alpha.44

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.
@@ -0,0 +1,4 @@
1
+ import { HighlightResult } from '@algolia/client-search';
2
+ export declare type HighlightedHit<THit> = THit & {
3
+ _highlightResult?: HighlightResult<THit>;
4
+ };
File without changes
@@ -0,0 +1,4 @@
1
+ import { SnippetResult } from '@algolia/client-search';
2
+ export declare type SnippetedHit<THit> = THit & {
3
+ _snippetResult?: SnippetResult<THit>;
4
+ };
File without changes
@@ -1,4 +1,4 @@
1
- import { Hit } from '@algolia/client-search';
1
+ import { HighlightedHit } from './HighlightedHit';
2
2
  import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
3
3
  import { ParsedAttribute } from './ParsedAttribute';
4
- export declare function parseAlgoliaHitHighlight<THit extends Hit<{}>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
4
+ export declare function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
@@ -10,8 +10,7 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
10
10
 
11
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
12
 
13
- import { warn } from '@algolia/autocomplete-shared';
14
- import { getAttributeValueByPath } from './getAttributeValueByPath';
13
+ import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';
15
14
  import { parseAttribute } from './parseAttribute';
16
15
  export function parseAlgoliaHitHighlight(_ref) {
17
16
  var hit = _ref.hit,
@@ -1,4 +1,4 @@
1
- import { Hit } from '@algolia/client-search';
1
+ import { HighlightedHit } from './HighlightedHit';
2
2
  import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
3
3
  import { ParsedAttribute } from './ParsedAttribute';
4
- export declare function parseAlgoliaHitReverseHighlight<THit extends Hit<{}>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
4
+ export declare function parseAlgoliaHitReverseHighlight<THit extends HighlightedHit<unknown>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
@@ -1,4 +1,4 @@
1
- import { Hit } from '@algolia/client-search';
2
1
  import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
3
2
  import { ParsedAttribute } from './ParsedAttribute';
4
- export declare function parseAlgoliaHitReverseSnippet<THit extends Hit<{}>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
3
+ import { SnippetedHit } from './SnippetedHit';
4
+ export declare function parseAlgoliaHitReverseSnippet<THit extends SnippetedHit<unknown>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
@@ -1,4 +1,4 @@
1
- import { Hit } from '@algolia/client-search';
2
1
  import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
3
2
  import { ParsedAttribute } from './ParsedAttribute';
4
- export declare function parseAlgoliaHitSnippet<THit extends Hit<{}>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
3
+ import { SnippetedHit } from './SnippetedHit';
4
+ export declare function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];
@@ -10,8 +10,7 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
10
10
 
11
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
12
 
13
- import { warn } from '@algolia/autocomplete-shared';
14
- import { getAttributeValueByPath } from './getAttributeValueByPath';
13
+ import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';
15
14
  import { parseAttribute } from './parseAttribute';
16
15
  export function parseAlgoliaHitSnippet(_ref) {
17
16
  var hit = _ref.hit,
@@ -1,7 +1,11 @@
1
+ export * from './highlight/HighlightedHit';
1
2
  export * from './highlight/parseAlgoliaHitHighlight';
2
3
  export * from './highlight/parseAlgoliaHitReverseHighlight';
3
4
  export * from './highlight/parseAlgoliaHitReverseSnippet';
4
5
  export * from './highlight/parseAlgoliaHitSnippet';
6
+ export * from './highlight/SnippetedHit';
7
+ export * from './search/getAlgoliaFacetHits';
5
8
  export * from './search/getAlgoliaHits';
6
9
  export * from './search/getAlgoliaResults';
10
+ export type { SearchForFacetValuesParams } from './search/searchForFacetValues';
7
11
  export type { SearchParams } from './search/search';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,9 @@
1
+ export * from './highlight/HighlightedHit';
1
2
  export * from './highlight/parseAlgoliaHitHighlight';
2
3
  export * from './highlight/parseAlgoliaHitReverseHighlight';
3
4
  export * from './highlight/parseAlgoliaHitReverseSnippet';
4
5
  export * from './highlight/parseAlgoliaHitSnippet';
6
+ export * from './highlight/SnippetedHit';
7
+ export * from './search/getAlgoliaFacetHits';
5
8
  export * from './search/getAlgoliaHits';
6
9
  export * from './search/getAlgoliaResults';
@@ -0,0 +1,4 @@
1
+ export declare type UserAgent = {
2
+ segment: string;
3
+ version?: string;
4
+ };
File without changes
@@ -0,0 +1,12 @@
1
+ import { SearchForFacetValuesParams } from './searchForFacetValues';
2
+ declare type FacetHit = {
3
+ label: string;
4
+ count: number;
5
+ _highlightResult: {
6
+ label: {
7
+ value: string;
8
+ };
9
+ };
10
+ };
11
+ export declare function getAlgoliaFacetHits({ searchClient, queries, userAgents, }: SearchForFacetValuesParams): Promise<FacetHit[][]>;
12
+ export {};
@@ -0,0 +1,25 @@
1
+ import { searchForFacetValues } from './searchForFacetValues';
2
+ export function getAlgoliaFacetHits(_ref) {
3
+ var searchClient = _ref.searchClient,
4
+ queries = _ref.queries,
5
+ userAgents = _ref.userAgents;
6
+ return searchForFacetValues({
7
+ searchClient: searchClient,
8
+ queries: queries,
9
+ userAgents: userAgents
10
+ }).then(function (response) {
11
+ return response.map(function (result) {
12
+ return result.facetHits.map(function (facetHit) {
13
+ return {
14
+ label: facetHit.value,
15
+ count: facetHit.count,
16
+ _highlightResult: {
17
+ label: {
18
+ value: facetHit.highlighted
19
+ }
20
+ }
21
+ };
22
+ });
23
+ });
24
+ });
25
+ }
@@ -1,13 +1,9 @@
1
1
  import { MultipleQueriesQuery } from '@algolia/client-search';
2
2
  import { SearchClient } from 'algoliasearch/lite';
3
- declare type UserAgent = {
4
- segment: string;
5
- version?: string;
6
- };
3
+ import { UserAgent } from './UserAgent';
7
4
  export interface SearchParams {
8
5
  searchClient: SearchClient;
9
6
  queries: MultipleQueriesQuery[];
10
7
  userAgents?: UserAgent[];
11
8
  }
12
9
  export declare function search<TRecord>({ searchClient, queries, userAgents, }: SearchParams): Readonly<Promise<import("@algolia/client-search").MultipleQueriesResponse<TRecord>>>;
13
- export {};
@@ -0,0 +1,14 @@
1
+ import { SearchForFacetValuesQueryParams, SearchOptions } from '@algolia/client-search';
2
+ import { SearchClient } from 'algoliasearch/lite';
3
+ import { UserAgent } from './UserAgent';
4
+ declare type FacetQuery = {
5
+ indexName: string;
6
+ params: SearchForFacetValuesQueryParams & SearchOptions;
7
+ };
8
+ export interface SearchForFacetValuesParams {
9
+ searchClient: SearchClient;
10
+ queries: FacetQuery[];
11
+ userAgents?: UserAgent[];
12
+ }
13
+ export declare function searchForFacetValues({ searchClient, queries, userAgents, }: SearchForFacetValuesParams): Readonly<Promise<readonly import("@algolia/client-search").SearchForFacetValuesResponse[]>>;
14
+ export {};
@@ -0,0 +1,50 @@
1
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2
+
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4
+
5
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+
9
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
14
+
15
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
+
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
18
+
19
+ import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';
20
+ import { version } from '../version';
21
+ export function searchForFacetValues(_ref) {
22
+ var searchClient = _ref.searchClient,
23
+ queries = _ref.queries,
24
+ _ref$userAgents = _ref.userAgents,
25
+ userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;
26
+
27
+ if (typeof searchClient.addAlgoliaAgent === 'function') {
28
+ var algoliaAgents = [{
29
+ segment: 'autocomplete-core',
30
+ version: version
31
+ }].concat(_toConsumableArray(userAgents));
32
+ algoliaAgents.forEach(function (_ref2) {
33
+ var segment = _ref2.segment,
34
+ version = _ref2.version;
35
+ searchClient.addAlgoliaAgent(segment, version);
36
+ });
37
+ }
38
+
39
+ return searchClient.searchForFacetValues(queries.map(function (searchParameters) {
40
+ var indexName = searchParameters.indexName,
41
+ params = searchParameters.params;
42
+ return {
43
+ indexName: indexName,
44
+ params: _objectSpread({
45
+ highlightPreTag: HIGHLIGHT_PRE_TAG,
46
+ highlightPostTag: HIGHLIGHT_POST_TAG
47
+ }, params)
48
+ };
49
+ }));
50
+ }
@@ -1 +1 @@
1
- export declare const version = "1.0.0-alpha.40";
1
+ export declare const version = "1.0.0-alpha.44";
@@ -1 +1 @@
1
- export var version = '1.0.0-alpha.40';
1
+ export var version = '1.0.0-alpha.44';
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-preset-algolia 1.0.0-alpha.40 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */
1
+ /*! @algolia/autocomplete-preset-algolia 1.0.0-alpha.44 | 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) :
@@ -87,6 +87,12 @@
87
87
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
88
88
  }
89
89
 
90
+ function getAttributeValueByPath(record, path) {
91
+ return path.reduce(function (current, key) {
92
+ return current && current[key];
93
+ }, record);
94
+ }
95
+
90
96
  var warnCache = {
91
97
  current: {}
92
98
  };
@@ -111,12 +117,6 @@
111
117
  }
112
118
  }
113
119
 
114
- function getAttributeValueByPath(hit, path) {
115
- return path.reduce(function (current, key) {
116
- return current && current[key];
117
- }, hit);
118
- }
119
-
120
120
  var HIGHLIGHT_PRE_TAG = '__aa-highlight__';
121
121
  var HIGHLIGHT_POST_TAG = '__/aa-highlight__';
122
122
 
@@ -261,7 +261,63 @@
261
261
  return reverseHighlightedParts(parseAlgoliaHitSnippet(props));
262
262
  }
263
263
 
264
- var version = '1.0.0-alpha.40';
264
+ var version = '1.0.0-alpha.44';
265
+
266
+ function searchForFacetValues(_ref) {
267
+ var searchClient = _ref.searchClient,
268
+ queries = _ref.queries,
269
+ _ref$userAgents = _ref.userAgents,
270
+ userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;
271
+
272
+ if (typeof searchClient.addAlgoliaAgent === 'function') {
273
+ var algoliaAgents = [{
274
+ segment: 'autocomplete-core',
275
+ version: version
276
+ }].concat(_toConsumableArray(userAgents));
277
+ algoliaAgents.forEach(function (_ref2) {
278
+ var segment = _ref2.segment,
279
+ version = _ref2.version;
280
+ searchClient.addAlgoliaAgent(segment, version);
281
+ });
282
+ }
283
+
284
+ return searchClient.searchForFacetValues(queries.map(function (searchParameters) {
285
+ var indexName = searchParameters.indexName,
286
+ params = searchParameters.params;
287
+ return {
288
+ indexName: indexName,
289
+ params: _objectSpread2({
290
+ highlightPreTag: HIGHLIGHT_PRE_TAG,
291
+ highlightPostTag: HIGHLIGHT_POST_TAG
292
+ }, params)
293
+ };
294
+ }));
295
+ }
296
+
297
+ function getAlgoliaFacetHits(_ref) {
298
+ var searchClient = _ref.searchClient,
299
+ queries = _ref.queries,
300
+ userAgents = _ref.userAgents;
301
+ return searchForFacetValues({
302
+ searchClient: searchClient,
303
+ queries: queries,
304
+ userAgents: userAgents
305
+ }).then(function (response) {
306
+ return response.map(function (result) {
307
+ return result.facetHits.map(function (facetHit) {
308
+ return {
309
+ label: facetHit.value,
310
+ count: facetHit.count,
311
+ _highlightResult: {
312
+ label: {
313
+ value: facetHit.highlighted
314
+ }
315
+ }
316
+ };
317
+ });
318
+ });
319
+ });
320
+ }
265
321
 
266
322
  function search(_ref) {
267
323
  var searchClient = _ref.searchClient,
@@ -331,6 +387,7 @@
331
387
  });
332
388
  }
333
389
 
390
+ exports.getAlgoliaFacetHits = getAlgoliaFacetHits;
334
391
  exports.getAlgoliaHits = getAlgoliaHits;
335
392
  exports.getAlgoliaResults = getAlgoliaResults;
336
393
  exports.parseAlgoliaHitHighlight = parseAlgoliaHitHighlight;
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/warn.js","../../src/highlight/getAttributeValueByPath.ts","../../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/version.ts","../../src/search/search.ts","../../src/search/getAlgoliaHits.ts","../../src/search/getAlgoliaResults.ts"],"sourcesContent":["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 function getAttributeValueByPath<THit>(hit: THit, path: string[]): any {\n return path.reduce((current, key) => current && current[key], hit);\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 { warn } from '@algolia/autocomplete-shared';\nimport { Hit } from '@algolia/client-search';\n\nimport { getAttributeValueByPath } from './getAttributeValueByPath';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends Hit<{}>>({\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 { Hit } from '@algolia/client-search';\n\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<THit extends Hit<{}>>(\n props: ParseAlgoliaHitParams<THit>\n): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { warn } from '@algolia/autocomplete-shared';\nimport { Hit } from '@algolia/client-search';\n\nimport { getAttributeValueByPath } from './getAttributeValueByPath';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitSnippet<THit extends Hit<{}>>({\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 { Hit } from '@algolia/client-search';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseSnippet<THit extends Hit<{}>>(\n props: ParseAlgoliaHitParams<THit>\n): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n","export const version = '1.0.0-alpha.40';\n","import { MultipleQueriesQuery } from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\ntype UserAgent = { segment: string; version?: string };\nexport interface SearchParams {\n searchClient: SearchClient;\n queries: MultipleQueriesQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function search<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search<TRecord>(\n queries.map((searchParameters) => {\n const { indexName, query, params } = searchParameters;\n\n return {\n indexName,\n query,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaHits<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<Array<Hit<TRecord>>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n const results = response.results;\n\n return results.map((result) =>\n result.hits.map((hit) => {\n return {\n ...hit,\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID,\n };\n })\n );\n }\n );\n}\n","import { SearchResponse } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<SearchResponse<TRecord>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.results;\n }\n );\n}\n"],"names":["warnCache","current","warn","condition","message","sanitizedMessage","trim","hasAlreadyPrinted","console","concat","getAttributeValueByPath","hit","path","reduce","key","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","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","version","search","searchClient","queries","userAgents","addAlgoliaAgent","algoliaAgents","segment","searchParameters","indexName","query","params","hitsPerPage","highlightPreTag","highlightPostTag","getAlgoliaHits","then","response","results","result","hits","__autocomplete_indexName","index","__autocomplete_queryID","queryID","getAlgoliaResults"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.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/version.ts","../../src/search/searchForFacetValues.ts","../../src/search/getAlgoliaFacetHits.ts","../../src/search/search.ts","../../src/search/getAlgoliaHits.ts","../../src/search/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 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","export const version = '1.0.0-alpha.44';\n","import {\n SearchForFacetValuesQueryParams,\n SearchOptions,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\nimport { UserAgent } from './UserAgent';\n\ntype FacetQuery = {\n indexName: string;\n params: SearchForFacetValuesQueryParams & SearchOptions;\n};\nexport interface SearchForFacetValuesParams {\n searchClient: SearchClient;\n queries: FacetQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function searchForFacetValues({\n searchClient,\n queries,\n userAgents = [],\n}: SearchForFacetValuesParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.searchForFacetValues(\n queries.map((searchParameters) => {\n const { indexName, params } = searchParameters;\n\n return {\n indexName,\n params: {\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import {\n searchForFacetValues,\n SearchForFacetValuesParams,\n} from './searchForFacetValues';\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport function getAlgoliaFacetHits({\n searchClient,\n queries,\n userAgents,\n}: SearchForFacetValuesParams): Promise<FacetHit[][]> {\n return searchForFacetValues({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.map((result) =>\n result.facetHits.map((facetHit) => {\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted,\n },\n },\n };\n })\n );\n }\n );\n}\n","import { MultipleQueriesQuery } from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\nimport { UserAgent } from './UserAgent';\n\nexport interface SearchParams {\n searchClient: SearchClient;\n queries: MultipleQueriesQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function search<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search<TRecord>(\n queries.map((searchParameters) => {\n const { indexName, query, params } = searchParameters;\n\n return {\n indexName,\n query,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaHits<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<Array<Hit<TRecord>>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n const results = response.results;\n\n return results.map((result) =>\n result.hits.map((hit) => {\n return {\n ...hit,\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID,\n };\n })\n );\n }\n );\n}\n","import { SearchResponse } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<SearchResponse<TRecord>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.results;\n }\n );\n}\n"],"names":["getAttributeValueByPath","record","path","reduce","current","key","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","version","searchForFacetValues","searchClient","queries","userAgents","addAlgoliaAgent","algoliaAgents","segment","searchParameters","indexName","params","highlightPreTag","highlightPostTag","getAlgoliaFacetHits","then","response","result","facetHits","facetHit","label","count","_highlightResult","highlighted","search","query","hitsPerPage","getAlgoliaHits","results","hits","__autocomplete_indexName","index","__autocomplete_queryID","queryID","getAlgoliaResults"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-preset-algolia 1.0.0-alpha.40 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete.js */
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,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(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 n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?r(Object(i),!0).forEach((function(r){t(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return o(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 o(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 o(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 u(e,t){return t.reduce((function(e,t){return e&&e[t]}),e)}var a="__aa-highlight__",l="__/aa-highlight__";function s(e){var t=e.highlightedValue.split(a),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(l);n.add({value:t[0],isHighlighted:!0}),""!==t[1]&&n.add({value:t[1],isHighlighted:!1})})),n.get()}function c(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],o=u(t,["_highlightResult"].concat(i(n),["value"]));return"string"!=typeof o&&(o=u(t,n)||""),s({highlightedValue:o})}var g={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},h=new RegExp(/\w/i),f=/&(amp|quot|lt|gt|#39);/g,p=RegExp(f.source);function d(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 h.test((i=o.value)&&p.test(i)?i.replace(f,(function(e){return g[e]})):i)||a!==u?o.isHighlighted:a}function v(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,r){return n(n({},t),{},{isHighlighted:!d(e,r)})})):e.map((function(e){return n(n({},e),{},{isHighlighted:!1})}))}function y(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],o=u(t,["_snippetResult"].concat(i(n),["value"]));return"string"!=typeof o&&(o=u(t,n)||""),s({highlightedValue:o})}var m="1.0.0-alpha.40";function b(e){var t=e.searchClient,r=e.queries,o=e.userAgents,u=void 0===o?[]:o;"function"==typeof t.addAlgoliaAgent&&[{segment:"autocomplete-core",version:m}].concat(i(u)).forEach((function(e){var r=e.segment,n=e.version;t.addAlgoliaAgent(r,n)}));return t.search(r.map((function(e){var t=e.indexName,r=e.query,i=e.params;return{indexName:t,query:r,params:n({hitsPerPage:5,highlightPreTag:a,highlightPostTag:l},i)}})))}e.getAlgoliaHits=function(e){return b({searchClient:e.searchClient,queries:e.queries,userAgents:e.userAgents}).then((function(e){return e.results.map((function(e){return e.hits.map((function(t){return n(n({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})}))}))}))},e.getAlgoliaResults=function(e){return b({searchClient:e.searchClient,queries:e.queries,userAgents:e.userAgents}).then((function(e){return e.results}))},e.parseAlgoliaHitHighlight=c,e.parseAlgoliaHitReverseHighlight=function(e){return v(c(e))},e.parseAlgoliaHitReverseSnippet=function(e){return v(y(e))},e.parseAlgoliaHitSnippet=y,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ /*! @algolia/autocomplete-preset-algolia 1.0.0-alpha.44 | 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,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(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 n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?r(Object(i),!0).forEach((function(r){t(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function i(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))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 o="__aa-highlight__",l="__/aa-highlight__";function s(e){var t=e.highlightedValue.split(o),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(l);n.add({value:t[0],isHighlighted:!0}),""!==t[1]&&n.add({value:t[1],isHighlighted:!1})})),n.get()}function c(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],u=a(t,["_highlightResult"].concat(i(n),["value"]));return"string"!=typeof u&&(u=a(t,n)||""),s({highlightedValue:u})}var g={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},h=new RegExp(/\w/i),f=/&(amp|quot|lt|gt|#39);/g,p=RegExp(f.source);function d(e,t){var r,n,i,u=e[t],a=(null===(r=e[t+1])||void 0===r?void 0:r.isHighlighted)||!0,o=(null===(n=e[t-1])||void 0===n?void 0:n.isHighlighted)||!0;return h.test((i=u.value)&&p.test(i)?i.replace(f,(function(e){return g[e]})):i)||o!==a?u.isHighlighted:o}function v(e){return e.some((function(e){return e.isHighlighted}))?e.map((function(t,r){return n(n({},t),{},{isHighlighted:!d(e,r)})})):e.map((function(e){return n(n({},e),{},{isHighlighted:!1})}))}function m(e){var t=e.hit,r=e.attribute,n=Array.isArray(r)?r:[r],u=a(t,["_snippetResult"].concat(i(n),["value"]));return"string"!=typeof u&&(u=a(t,n)||""),s({highlightedValue:u})}var y="1.0.0-alpha.44";function b(e){var t=e.searchClient,r=e.queries,u=e.userAgents,a=void 0===u?[]:u;"function"==typeof t.addAlgoliaAgent&&[{segment:"autocomplete-core",version:y}].concat(i(a)).forEach((function(e){var r=e.segment,n=e.version;t.addAlgoliaAgent(r,n)}));return t.search(r.map((function(e){var t=e.indexName,r=e.query,i=e.params;return{indexName:t,query:r,params:n({hitsPerPage:5,highlightPreTag:o,highlightPostTag:l},i)}})))}e.getAlgoliaFacetHits=function(e){return function(e){var t=e.searchClient,r=e.queries,u=e.userAgents,a=void 0===u?[]:u;return"function"==typeof t.addAlgoliaAgent&&[{segment:"autocomplete-core",version:y}].concat(i(a)).forEach((function(e){var r=e.segment,n=e.version;t.addAlgoliaAgent(r,n)})),t.searchForFacetValues(r.map((function(e){var t=e.indexName,r=e.params;return{indexName:t,params:n({highlightPreTag:o,highlightPostTag:l},r)}})))}({searchClient:e.searchClient,queries:e.queries,userAgents:e.userAgents}).then((function(e){return e.map((function(e){return e.facetHits.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))}))}))},e.getAlgoliaHits=function(e){return b({searchClient:e.searchClient,queries:e.queries,userAgents:e.userAgents}).then((function(e){return e.results.map((function(e){return e.hits.map((function(t){return n(n({},t),{},{__autocomplete_indexName:e.index,__autocomplete_queryID:e.queryID})}))}))}))},e.getAlgoliaResults=function(e){return b({searchClient:e.searchClient,queries:e.queries,userAgents:e.userAgents}).then((function(e){return e.results}))},e.parseAlgoliaHitHighlight=c,e.parseAlgoliaHitReverseHighlight=function(e){return v(c(e))},e.parseAlgoliaHitReverseSnippet=function(e){return v(m(e))},e.parseAlgoliaHitSnippet=m,Object.defineProperty(e,"__esModule",{value:!0})}));
3
3
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../src/highlight/getAttributeValueByPath.ts","../../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/version.ts","../../src/search/search.ts","../../src/search/getAlgoliaHits.ts","../../src/search/getAlgoliaResults.ts","../../src/highlight/parseAlgoliaHitReverseHighlight.ts","../../src/highlight/parseAlgoliaHitReverseSnippet.ts"],"sourcesContent":["export function getAttributeValueByPath<THit>(hit: THit, path: string[]): any {\n return path.reduce((current, key) => current && current[key], hit);\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 { warn } from '@algolia/autocomplete-shared';\nimport { Hit } from '@algolia/client-search';\n\nimport { getAttributeValueByPath } from './getAttributeValueByPath';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitHighlight<THit extends Hit<{}>>({\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 { warn } from '@algolia/autocomplete-shared';\nimport { Hit } from '@algolia/client-search';\n\nimport { getAttributeValueByPath } from './getAttributeValueByPath';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAttribute } from './parseAttribute';\nimport { ParsedAttribute } from './ParsedAttribute';\n\nexport function parseAlgoliaHitSnippet<THit extends Hit<{}>>({\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","export const version = '1.0.0-alpha.40';\n","import { MultipleQueriesQuery } from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\ntype UserAgent = { segment: string; version?: string };\nexport interface SearchParams {\n searchClient: SearchClient;\n queries: MultipleQueriesQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function search<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search<TRecord>(\n queries.map((searchParameters) => {\n const { indexName, query, params } = searchParameters;\n\n return {\n indexName,\n query,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaHits<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<Array<Hit<TRecord>>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n const results = response.results;\n\n return results.map((result) =>\n result.hits.map((hit) => {\n return {\n ...hit,\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID,\n };\n })\n );\n }\n );\n}\n","import { SearchResponse } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<SearchResponse<TRecord>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.results;\n }\n );\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseHighlight<THit extends Hit<{}>>(\n props: ParseAlgoliaHitParams<THit>\n): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitHighlight<THit>(props));\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';\nimport { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';\nimport { ParsedAttribute } from './ParsedAttribute';\nimport { reverseHighlightedParts } from './reverseHighlightedParts';\n\nexport function parseAlgoliaHitReverseSnippet<THit extends Hit<{}>>(\n props: ParseAlgoliaHitParams<THit>\n): ParsedAttribute[] {\n return reverseHighlightedParts(parseAlgoliaHitSnippet<THit>(props));\n}\n"],"names":["getAttributeValueByPath","hit","path","reduce","current","key","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","attribute","Array","isArray","htmlEscapes","hasAlphanumeric","RegExp","regexEscapedHtml","regexHasEscapedHtml","source","isPartHighlighted","i","isNextHighlighted","isPreviousHighlighted","test","replace","character","reverseHighlightedParts","some","map","parseAlgoliaHitSnippet","version","search","searchClient","queries","userAgents","addAlgoliaAgent","segment","searchParameters","indexName","query","params","hitsPerPage","highlightPreTag","highlightPostTag","then","response","results","result","hits","__autocomplete_indexName","index","__autocomplete_queryID","queryID","props"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/getAttributeValueByPath.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/version.ts","../../src/search/search.ts","../../src/search/getAlgoliaFacetHits.ts","../../src/search/searchForFacetValues.ts","../../src/search/getAlgoliaHits.ts","../../src/search/getAlgoliaResults.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 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","export const version = '1.0.0-alpha.44';\n","import { MultipleQueriesQuery } from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\nimport { UserAgent } from './UserAgent';\n\nexport interface SearchParams {\n searchClient: SearchClient;\n queries: MultipleQueriesQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function search<TRecord>({\n searchClient,\n queries,\n userAgents = [],\n}: SearchParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.search<TRecord>(\n queries.map((searchParameters) => {\n const { indexName, query, params } = searchParameters;\n\n return {\n indexName,\n query,\n params: {\n hitsPerPage: 5,\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import {\n searchForFacetValues,\n SearchForFacetValuesParams,\n} from './searchForFacetValues';\n\ntype FacetHit = {\n label: string;\n count: number;\n _highlightResult: {\n label: {\n value: string;\n };\n };\n};\n\nexport function getAlgoliaFacetHits({\n searchClient,\n queries,\n userAgents,\n}: SearchForFacetValuesParams): Promise<FacetHit[][]> {\n return searchForFacetValues({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.map((result) =>\n result.facetHits.map((facetHit) => {\n return {\n label: facetHit.value,\n count: facetHit.count,\n _highlightResult: {\n label: {\n value: facetHit.highlighted,\n },\n },\n };\n })\n );\n }\n );\n}\n","import {\n SearchForFacetValuesQueryParams,\n SearchOptions,\n} from '@algolia/client-search';\nimport { SearchClient } from 'algoliasearch/lite';\n\nimport { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';\nimport { version } from '../version';\n\nimport { UserAgent } from './UserAgent';\n\ntype FacetQuery = {\n indexName: string;\n params: SearchForFacetValuesQueryParams & SearchOptions;\n};\nexport interface SearchForFacetValuesParams {\n searchClient: SearchClient;\n queries: FacetQuery[];\n userAgents?: UserAgent[];\n}\n\nexport function searchForFacetValues({\n searchClient,\n queries,\n userAgents = [],\n}: SearchForFacetValuesParams) {\n if (typeof searchClient.addAlgoliaAgent === 'function') {\n const algoliaAgents: UserAgent[] = [\n { segment: 'autocomplete-core', version },\n ...userAgents,\n ];\n\n algoliaAgents.forEach(({ segment, version }) => {\n searchClient.addAlgoliaAgent(segment, version);\n });\n }\n\n return searchClient.searchForFacetValues(\n queries.map((searchParameters) => {\n const { indexName, params } = searchParameters;\n\n return {\n indexName,\n params: {\n highlightPreTag: HIGHLIGHT_PRE_TAG,\n highlightPostTag: HIGHLIGHT_POST_TAG,\n ...params,\n },\n };\n })\n );\n}\n","import { Hit } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaHits<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<Array<Hit<TRecord>>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n const results = response.results;\n\n return results.map((result) =>\n result.hits.map((hit) => {\n return {\n ...hit,\n __autocomplete_indexName: result.index,\n __autocomplete_queryID: result.queryID,\n };\n })\n );\n }\n );\n}\n","import { SearchResponse } from '@algolia/client-search';\n\nimport { search, SearchParams } from './search';\n\nexport function getAlgoliaResults<TRecord>({\n searchClient,\n queries,\n userAgents,\n}: SearchParams): Promise<Array<SearchResponse<TRecord>>> {\n return search<TRecord>({ searchClient, queries, userAgents }).then(\n (response) => {\n return response.results;\n }\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","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","version","search","searchClient","queries","userAgents","addAlgoliaAgent","segment","searchParameters","indexName","query","params","hitsPerPage","highlightPreTag","highlightPostTag","searchForFacetValues","then","response","result","facetHits","facetHit","label","count","_highlightResult","highlighted","results","hits","__autocomplete_indexName","index","__autocomplete_queryID","queryID","props"],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@algolia/autocomplete-preset-algolia",
3
3
  "description": "Presets for building autocomplete experiences with Algolia.",
4
- "version": "1.0.0-alpha.40",
4
+ "version": "1.0.0-alpha.44",
5
5
  "license": "MIT",
6
- "homepage": "https://github.com/algolia/autocomplete.js",
7
- "repository": "algolia/autocomplete.js",
6
+ "homepage": "https://github.com/algolia/autocomplete",
7
+ "repository": "algolia/autocomplete",
8
8
  "author": {
9
9
  "name": "Algolia, Inc.",
10
10
  "url": "https://www.algolia.com"
@@ -31,7 +31,7 @@
31
31
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
32
  },
33
33
  "dependencies": {
34
- "@algolia/autocomplete-shared": "1.0.0-alpha.40"
34
+ "@algolia/autocomplete-shared": "1.0.0-alpha.44"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@algolia/client-search": "4.8.3",
@@ -1 +0,0 @@
1
- export declare function getAttributeValueByPath<THit>(hit: THit, path: string[]): any;
@@ -1,5 +0,0 @@
1
- export function getAttributeValueByPath(hit, path) {
2
- return path.reduce(function (current, key) {
3
- return current && current[key];
4
- }, hit);
5
- }