This commit is contained in:
2024-03-22 03:47:51 +05:30
parent 8bcf3d211e
commit 89819f6fe2
28440 changed files with 3211033 additions and 2 deletions

View File

@@ -0,0 +1,15 @@
# @algolia/autocomplete-preset-algolia
The Algolia preset provides fetching and highlighting utilities for usage with Algolia.
## Installation
```sh
yarn add @algolia/autocomplete-preset-algolia
# or
npm install @algolia/autocomplete-preset-algolia
```
## Documentation
See [**Documentation**](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-preset-algolia).

View File

@@ -0,0 +1,2 @@
export declare const HIGHLIGHT_PRE_TAG = "__aa-highlight__";
export declare const HIGHLIGHT_POST_TAG = "__/aa-highlight__";

View File

@@ -0,0 +1,2 @@
export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';
export var HIGHLIGHT_POST_TAG = '__/aa-highlight__';

View File

@@ -0,0 +1,4 @@
import { HighlightResult } from '../types';
export declare type HighlightedHit<THit> = THit & {
_highlightResult?: HighlightResult<THit>;
};

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,4 @@
export declare type ParseAlgoliaHitParams<TItem> = {
hit: TItem;
attribute: keyof TItem | string[];
};

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,4 @@
export declare type ParsedAttribute = {
value: string;
isHighlighted: boolean;
};

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,4 @@
import { SnippetResult } from '../types';
export declare type SnippetedHit<THit> = THit & {
_snippetResult?: SnippetResult<THit>;
};

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,6 @@
export * from './HighlightedHit';
export * from './parseAlgoliaHitHighlight';
export * from './parseAlgoliaHitReverseHighlight';
export * from './parseAlgoliaHitReverseSnippet';
export * from './parseAlgoliaHitSnippet';
export * from './SnippetedHit';

View File

@@ -0,0 +1,6 @@
export * from './HighlightedHit';
export * from './parseAlgoliaHitHighlight';
export * from './parseAlgoliaHitReverseHighlight';
export * from './parseAlgoliaHitReverseSnippet';
export * from './parseAlgoliaHitSnippet';
export * from './SnippetedHit';

View File

@@ -0,0 +1,2 @@
import { ParsedAttribute } from './ParsedAttribute';
export declare function isPartHighlighted(parts: ParsedAttribute[], i: number): boolean;

View File

@@ -0,0 +1,25 @@
var htmlEscapes = {
'&amp;': '&',
'&lt;': '<',
'&gt;': '>',
'&quot;': '"',
'&#39;': "'"
};
var hasAlphanumeric = new RegExp(/\w/i);
var regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;
var regexHasEscapedHtml = RegExp(regexEscapedHtml.source);
function unescape(value) {
return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {
return htmlEscapes[character];
}) : value;
}
export function isPartHighlighted(parts, i) {
var _parts, _parts2;
var current = parts[i];
var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;
var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;
if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {
return isPreviousHighlighted;
}
return current.isHighlighted;
}

View File

@@ -0,0 +1,4 @@
import { HighlightedHit } from './HighlightedHit';
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { ParsedAttribute } from './ParsedAttribute';
export declare function parseAlgoliaHitHighlight<THit extends HighlightedHit<unknown>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];

View File

@@ -0,0 +1,21 @@
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
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."); }
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); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';
import { parseAttribute } from './parseAttribute';
export function parseAlgoliaHitHighlight(_ref) {
var hit = _ref.hit,
attribute = _ref.attribute;
var path = Array.isArray(attribute) ? attribute : [attribute];
var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));
if (typeof highlightedValue !== 'string') {
process.env.NODE_ENV !== 'production' ? warn(false, "The attribute \"".concat(path.join('.'), "\" described by the path ").concat(JSON.stringify(path), " does not exist on the hit. Did you set it in `attributesToHighlight`?") + '\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;
highlightedValue = getAttributeValueByPath(hit, path) || '';
}
return parseAttribute({
highlightedValue: highlightedValue
});
}

View File

@@ -0,0 +1,4 @@
import { HighlightedHit } from './HighlightedHit';
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { ParsedAttribute } from './ParsedAttribute';
export declare function parseAlgoliaHitReverseHighlight<THit extends HighlightedHit<unknown>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];

View File

@@ -0,0 +1,5 @@
import { parseAlgoliaHitHighlight } from './parseAlgoliaHitHighlight';
import { reverseHighlightedParts } from './reverseHighlightedParts';
export function parseAlgoliaHitReverseHighlight(props) {
return reverseHighlightedParts(parseAlgoliaHitHighlight(props));
}

View File

@@ -0,0 +1,4 @@
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { ParsedAttribute } from './ParsedAttribute';
import { SnippetedHit } from './SnippetedHit';
export declare function parseAlgoliaHitReverseSnippet<THit extends SnippetedHit<unknown>>(props: ParseAlgoliaHitParams<THit>): ParsedAttribute[];

View File

@@ -0,0 +1,5 @@
import { parseAlgoliaHitSnippet } from './parseAlgoliaHitSnippet';
import { reverseHighlightedParts } from './reverseHighlightedParts';
export function parseAlgoliaHitReverseSnippet(props) {
return reverseHighlightedParts(parseAlgoliaHitSnippet(props));
}

View File

@@ -0,0 +1,4 @@
import { ParseAlgoliaHitParams } from './ParseAlgoliaHitParams';
import { ParsedAttribute } from './ParsedAttribute';
import { SnippetedHit } from './SnippetedHit';
export declare function parseAlgoliaHitSnippet<THit extends SnippetedHit<unknown>>({ hit, attribute, }: ParseAlgoliaHitParams<THit>): ParsedAttribute[];

View File

@@ -0,0 +1,21 @@
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
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."); }
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); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
import { getAttributeValueByPath, warn } from '@algolia/autocomplete-shared';
import { parseAttribute } from './parseAttribute';
export function parseAlgoliaHitSnippet(_ref) {
var hit = _ref.hit,
attribute = _ref.attribute;
var path = Array.isArray(attribute) ? attribute : [attribute];
var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));
if (typeof highlightedValue !== 'string') {
process.env.NODE_ENV !== 'production' ? warn(false, "The attribute \"".concat(path.join('.'), "\" described by the path ").concat(JSON.stringify(path), " does not exist on the hit. Did you set it in `attributesToSnippet`?") + '\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;
highlightedValue = getAttributeValueByPath(hit, path) || '';
}
return parseAttribute({
highlightedValue: highlightedValue
});
}

View File

@@ -0,0 +1,6 @@
import { ParsedAttribute } from './ParsedAttribute';
declare type ParseAttributeParams = {
highlightedValue: string;
};
export declare function parseAttribute({ highlightedValue, }: ParseAttributeParams): ParsedAttribute[];
export {};

View File

@@ -0,0 +1,48 @@
import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';
/**
* Creates a data structure that allows to concatenate similar highlighting
* parts in a single value.
*/
function createAttributeSet() {
var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var value = initialValue;
return {
get: function get() {
return value;
},
add: function add(part) {
var lastPart = value[value.length - 1];
if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {
value[value.length - 1] = {
value: lastPart.value + part.value,
isHighlighted: lastPart.isHighlighted
};
} else {
value.push(part);
}
}
};
}
export function parseAttribute(_ref) {
var highlightedValue = _ref.highlightedValue;
var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);
var firstValue = preTagParts.shift();
var parts = createAttributeSet(firstValue ? [{
value: firstValue,
isHighlighted: false
}] : []);
preTagParts.forEach(function (part) {
var postTagParts = part.split(HIGHLIGHT_POST_TAG);
parts.add({
value: postTagParts[0],
isHighlighted: true
});
if (postTagParts[1] !== '') {
parts.add({
value: postTagParts[1],
isHighlighted: false
});
}
});
return parts.get();
}

View File

@@ -0,0 +1,5 @@
import { ParsedAttribute } from './ParsedAttribute';
export declare function reverseHighlightedParts(parts: ParsedAttribute[]): {
isHighlighted: boolean;
value: string;
}[];

View File

@@ -0,0 +1,24 @@
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
import { isPartHighlighted } from './isPartHighlighted';
export function reverseHighlightedParts(parts) {
// We don't want to highlight the whole word when no parts match.
if (!parts.some(function (part) {
return part.isHighlighted;
})) {
return parts.map(function (part) {
return _objectSpread(_objectSpread({}, part), {}, {
isHighlighted: false
});
});
}
return parts.map(function (part, i) {
return _objectSpread(_objectSpread({}, part), {}, {
isHighlighted: !isPartHighlighted(parts, i)
});
});
}

View File

@@ -0,0 +1,4 @@
export * from './highlight';
export * from './requester';
export * from './search';
export * from './types';

View File

@@ -0,0 +1,4 @@
export * from './highlight';
export * from './requester';
export * from './search';
export * from './types';

View File

@@ -0,0 +1 @@
export declare const createAlgoliaRequester: (requesterParams: import("@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester").RequesterParams<any>) => <TTHit>(requestParams: import("@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester").RequestParams<TTHit>) => import("@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester").RequesterDescription<TTHit>;

View File

@@ -0,0 +1,3 @@
import { fetchAlgoliaResults } from '../search';
import { createRequester } from './createRequester';
export var createAlgoliaRequester = createRequester(fetchAlgoliaResults, 'algolia');

View File

@@ -0,0 +1,2 @@
import type { Fetcher, RequesterParams, RequestParams, RequesterDescription } from '../types';
export declare function createRequester(fetcher: Fetcher, requesterId?: string): (requesterParams: RequesterParams<any>) => <TTHit>(requestParams: RequestParams<TTHit>) => RequesterDescription<TTHit>;

View File

@@ -0,0 +1,35 @@
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
export function createRequester(fetcher, requesterId) {
function execute(fetcherParams) {
return fetcher({
searchClient: fetcherParams.searchClient,
queries: fetcherParams.requests.map(function (x) {
return x.query;
})
}).then(function (responses) {
return responses.map(function (response, index) {
var _fetcherParams$reques = fetcherParams.requests[index],
sourceId = _fetcherParams$reques.sourceId,
transformResponse = _fetcherParams$reques.transformResponse;
return {
items: response,
sourceId: sourceId,
transformResponse: transformResponse
};
});
});
}
return function createSpecifiedRequester(requesterParams) {
return function requester(requestParams) {
return _objectSpread(_objectSpread({
requesterId: requesterId,
execute: execute
}, requesterParams), requestParams);
};
};
}

View File

@@ -0,0 +1,5 @@
import { RequestParams } from '../types';
/**
* Retrieves Algolia facet hits from multiple indices.
*/
export declare function getAlgoliaFacets<TTHit>(requestParams: RequestParams<TTHit>): import("@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester").RequesterDescription<TTHit>;

View File

@@ -0,0 +1,28 @@
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
import { invariant } from '@algolia/autocomplete-shared';
import { createAlgoliaRequester } from './createAlgoliaRequester';
/**
* Retrieves Algolia facet hits from multiple indices.
*/
export function getAlgoliaFacets(requestParams) {
invariant(_typeof(requestParams.searchClient) === 'object', 'The `searchClient` parameter is required for getAlgoliaFacets({ searchClient }).');
var requester = createAlgoliaRequester({
transformResponse: function transformResponse(response) {
return response.facetHits;
}
});
var queries = requestParams.queries.map(function (query) {
return _objectSpread(_objectSpread({}, query), {}, {
type: 'facet'
});
});
return requester(_objectSpread(_objectSpread({}, requestParams), {}, {
queries: queries
}));
}

View File

@@ -0,0 +1,5 @@
import { RequestParams } from '../types';
/**
* Retrieves Algolia results from multiple indices.
*/
export declare function getAlgoliaResults<TTHit>(requestParams: RequestParams<TTHit>): import("@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester").RequesterDescription<TTHit>;

View File

@@ -0,0 +1,16 @@
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
import { invariant } from '@algolia/autocomplete-shared';
import { createAlgoliaRequester } from './createAlgoliaRequester';
/**
* Retrieves Algolia results from multiple indices.
*/
export function getAlgoliaResults(requestParams) {
invariant(_typeof(requestParams.searchClient) === 'object', 'The `searchClient` parameter is required for getAlgoliaResults({ searchClient }).');
var requester = createAlgoliaRequester({
transformResponse: function transformResponse(response) {
return response.hits;
}
});
return requester(requestParams);
}

View File

@@ -0,0 +1,3 @@
export * from './createRequester';
export * from './getAlgoliaFacets';
export * from './getAlgoliaResults';

View File

@@ -0,0 +1,3 @@
export * from './createRequester';
export * from './getAlgoliaFacets';
export * from './getAlgoliaResults';

View File

@@ -0,0 +1,2 @@
import type { SearchForFacetValuesResponse, SearchResponse, SearchParams } from '../types';
export declare function fetchAlgoliaResults<TRecord>({ searchClient, queries, userAgents, }: SearchParams): Promise<Array<SearchResponse<TRecord> | SearchForFacetValuesResponse>>;

View File

@@ -0,0 +1,65 @@
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
var _excluded = ["params"];
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
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."); }
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); }
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
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; }
import { userAgents as coreUserAgents, invariant } from '@algolia/autocomplete-shared';
import { HIGHLIGHT_PRE_TAG, HIGHLIGHT_POST_TAG } from '../constants';
import { getAppIdAndApiKey } from '../utils';
export function fetchAlgoliaResults(_ref) {
var searchClient = _ref.searchClient,
queries = _ref.queries,
_ref$userAgents = _ref.userAgents,
userAgents = _ref$userAgents === void 0 ? [] : _ref$userAgents;
if (typeof searchClient.addAlgoliaAgent === 'function') {
var algoliaAgents = [].concat(_toConsumableArray(coreUserAgents), _toConsumableArray(userAgents));
algoliaAgents.forEach(function (_ref2) {
var segment = _ref2.segment,
version = _ref2.version;
searchClient.addAlgoliaAgent(segment, version);
});
}
var _getAppIdAndApiKey = getAppIdAndApiKey(searchClient),
appId = _getAppIdAndApiKey.appId,
apiKey = _getAppIdAndApiKey.apiKey;
invariant(Boolean(appId), 'The Algolia `appId` was not accessible from the searchClient passed.');
invariant(Boolean(apiKey), 'The Algolia `apiKey` was not accessible from the searchClient passed.');
return searchClient.search(queries.map(function (searchParameters) {
var params = searchParameters.params,
headers = _objectWithoutProperties(searchParameters, _excluded);
return _objectSpread(_objectSpread({}, headers), {}, {
params: _objectSpread({
hitsPerPage: 5,
highlightPreTag: HIGHLIGHT_PRE_TAG,
highlightPostTag: HIGHLIGHT_POST_TAG
}, params)
});
})).then(function (response) {
return response.results.map(function (result, resultIndex) {
var _result$hits;
return _objectSpread(_objectSpread({}, result), {}, {
hits: (_result$hits = result.hits) === null || _result$hits === void 0 ? void 0 : _result$hits.map(function (hit) {
return _objectSpread(_objectSpread({}, hit), {}, {
// Bring support for the Insights plugin.
__autocomplete_indexName: result.index || queries[resultIndex].indexName,
__autocomplete_queryID: result.queryID,
__autocomplete_algoliaCredentials: {
appId: appId,
apiKey: apiKey
}
});
})
});
});
});
}

View File

@@ -0,0 +1 @@
export * from './fetchAlgoliaResults';

View File

@@ -0,0 +1 @@
export * from './fetchAlgoliaResults';

View File

@@ -0,0 +1,2 @@
export * from '@algolia/autocomplete-shared/dist/esm/preset-algolia/algoliasearch';
export * from '@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester';

View File

@@ -0,0 +1,2 @@
export * from '@algolia/autocomplete-shared/dist/esm/preset-algolia/algoliasearch';
export * from '@algolia/autocomplete-shared/dist/esm/preset-algolia/createRequester';

View File

@@ -0,0 +1,5 @@
import type { SearchClient } from '../types';
export declare function getAppIdAndApiKey(searchClient: SearchClient): {
appId: string;
apiKey: string;
};

View File

@@ -0,0 +1,15 @@
export function getAppIdAndApiKey(searchClient) {
var _ref = searchClient.transporter || {},
_ref$headers = _ref.headers,
headers = _ref$headers === void 0 ? {} : _ref$headers,
_ref$queryParameters = _ref.queryParameters,
queryParameters = _ref$queryParameters === void 0 ? {} : _ref$queryParameters;
var APP_ID = 'x-algolia-application-id';
var API_KEY = 'x-algolia-api-key';
var appId = headers[APP_ID] || queryParameters[APP_ID];
var apiKey = headers[API_KEY] || queryParameters[API_KEY];
return {
appId: appId,
apiKey: apiKey
};
}

View File

@@ -0,0 +1 @@
export * from './getAppIdAndApiKey';

View File

@@ -0,0 +1 @@
export * from './getAppIdAndApiKey';

View File

@@ -0,0 +1,438 @@
/*! @algolia/autocomplete-preset-algolia 1.9.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@algolia/autocomplete-preset-algolia"] = {}));
})(this, (function (exports) { 'use strict';
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
_defineProperty(target, key, source[key]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
return target;
}
function _typeof(obj) {
"@babel/helpers - typeof";
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, _typeof(obj);
}
function _defineProperty(obj, key, value) {
key = _toPropertyKey(key);
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
return obj;
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null) return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
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);
}
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;
}
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.");
}
function _toPrimitive(input, hint) {
if (typeof input !== "object" || input === null) return input;
var prim = input[Symbol.toPrimitive];
if (prim !== undefined) {
var res = prim.call(input, hint || "default");
if (typeof res !== "object") return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key = _toPrimitive(arg, "string");
return typeof key === "symbol" ? key : String(key);
}
function getAttributeValueByPath(record, path) {
return path.reduce(function (current, key) {
return current && current[key];
}, record);
}
/**
* Throws an error if the condition is not met in development mode.
* This is used to make development a better experience to provide guidance as
* to where the error comes from.
*/
function invariant(condition, message) {
if (!condition) {
throw new Error("[Autocomplete] ".concat(typeof message === 'function' ? message() : message));
}
}
var version = '1.9.3';
var userAgents = [{
segment: 'autocomplete-core',
version: version
}];
var warnCache = {
current: {}
};
/**
* Logs a warning if the condition is not met.
* This is used to log issues in development environment only.
*/
function warn(condition, message) {
if (condition) {
return;
}
var sanitizedMessage = message.trim();
var hasAlreadyPrinted = warnCache.current[sanitizedMessage];
if (!hasAlreadyPrinted) {
warnCache.current[sanitizedMessage] = true;
// eslint-disable-next-line no-console
console.warn("[Autocomplete] ".concat(sanitizedMessage));
}
}
var HIGHLIGHT_PRE_TAG = '__aa-highlight__';
var HIGHLIGHT_POST_TAG = '__/aa-highlight__';
/**
* Creates a data structure that allows to concatenate similar highlighting
* parts in a single value.
*/
function createAttributeSet() {
var initialValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var value = initialValue;
return {
get: function get() {
return value;
},
add: function add(part) {
var lastPart = value[value.length - 1];
if ((lastPart === null || lastPart === void 0 ? void 0 : lastPart.isHighlighted) === part.isHighlighted) {
value[value.length - 1] = {
value: lastPart.value + part.value,
isHighlighted: lastPart.isHighlighted
};
} else {
value.push(part);
}
}
};
}
function parseAttribute(_ref) {
var highlightedValue = _ref.highlightedValue;
var preTagParts = highlightedValue.split(HIGHLIGHT_PRE_TAG);
var firstValue = preTagParts.shift();
var parts = createAttributeSet(firstValue ? [{
value: firstValue,
isHighlighted: false
}] : []);
preTagParts.forEach(function (part) {
var postTagParts = part.split(HIGHLIGHT_POST_TAG);
parts.add({
value: postTagParts[0],
isHighlighted: true
});
if (postTagParts[1] !== '') {
parts.add({
value: postTagParts[1],
isHighlighted: false
});
}
});
return parts.get();
}
function parseAlgoliaHitHighlight(_ref) {
var hit = _ref.hit,
attribute = _ref.attribute;
var path = Array.isArray(attribute) ? attribute : [attribute];
var highlightedValue = getAttributeValueByPath(hit, ['_highlightResult'].concat(_toConsumableArray(path), ['value']));
if (typeof highlightedValue !== 'string') {
"development" !== 'production' ? warn(false, "The attribute \"".concat(path.join('.'), "\" described by the path ").concat(JSON.stringify(path), " does not exist on the hit. Did you set it in `attributesToHighlight`?") + '\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToHighlight/') : void 0;
highlightedValue = getAttributeValueByPath(hit, path) || '';
}
return parseAttribute({
highlightedValue: highlightedValue
});
}
var htmlEscapes = {
'&amp;': '&',
'&lt;': '<',
'&gt;': '>',
'&quot;': '"',
'&#39;': "'"
};
var hasAlphanumeric = new RegExp(/\w/i);
var regexEscapedHtml = /&(amp|quot|lt|gt|#39);/g;
var regexHasEscapedHtml = RegExp(regexEscapedHtml.source);
function unescape(value) {
return value && regexHasEscapedHtml.test(value) ? value.replace(regexEscapedHtml, function (character) {
return htmlEscapes[character];
}) : value;
}
function isPartHighlighted(parts, i) {
var _parts, _parts2;
var current = parts[i];
var isNextHighlighted = ((_parts = parts[i + 1]) === null || _parts === void 0 ? void 0 : _parts.isHighlighted) || true;
var isPreviousHighlighted = ((_parts2 = parts[i - 1]) === null || _parts2 === void 0 ? void 0 : _parts2.isHighlighted) || true;
if (!hasAlphanumeric.test(unescape(current.value)) && isPreviousHighlighted === isNextHighlighted) {
return isPreviousHighlighted;
}
return current.isHighlighted;
}
function reverseHighlightedParts(parts) {
// We don't want to highlight the whole word when no parts match.
if (!parts.some(function (part) {
return part.isHighlighted;
})) {
return parts.map(function (part) {
return _objectSpread2(_objectSpread2({}, part), {}, {
isHighlighted: false
});
});
}
return parts.map(function (part, i) {
return _objectSpread2(_objectSpread2({}, part), {}, {
isHighlighted: !isPartHighlighted(parts, i)
});
});
}
function parseAlgoliaHitReverseHighlight(props) {
return reverseHighlightedParts(parseAlgoliaHitHighlight(props));
}
function parseAlgoliaHitSnippet(_ref) {
var hit = _ref.hit,
attribute = _ref.attribute;
var path = Array.isArray(attribute) ? attribute : [attribute];
var highlightedValue = getAttributeValueByPath(hit, ['_snippetResult'].concat(_toConsumableArray(path), ['value']));
if (typeof highlightedValue !== 'string') {
"development" !== 'production' ? warn(false, "The attribute \"".concat(path.join('.'), "\" described by the path ").concat(JSON.stringify(path), " does not exist on the hit. Did you set it in `attributesToSnippet`?") + '\nSee https://www.algolia.com/doc/api-reference/api-parameters/attributesToSnippet/') : void 0;
highlightedValue = getAttributeValueByPath(hit, path) || '';
}
return parseAttribute({
highlightedValue: highlightedValue
});
}
function parseAlgoliaHitReverseSnippet(props) {
return reverseHighlightedParts(parseAlgoliaHitSnippet(props));
}
function createRequester(fetcher, requesterId) {
function execute(fetcherParams) {
return fetcher({
searchClient: fetcherParams.searchClient,
queries: fetcherParams.requests.map(function (x) {
return x.query;
})
}).then(function (responses) {
return responses.map(function (response, index) {
var _fetcherParams$reques = fetcherParams.requests[index],
sourceId = _fetcherParams$reques.sourceId,
transformResponse = _fetcherParams$reques.transformResponse;
return {
items: response,
sourceId: sourceId,
transformResponse: transformResponse
};
});
});
}
return function createSpecifiedRequester(requesterParams) {
return function requester(requestParams) {
return _objectSpread2(_objectSpread2({
requesterId: requesterId,
execute: execute
}, requesterParams), requestParams);
};
};
}
function getAppIdAndApiKey(searchClient) {
var _ref = searchClient.transporter || {},
_ref$headers = _ref.headers,
headers = _ref$headers === void 0 ? {} : _ref$headers,
_ref$queryParameters = _ref.queryParameters,
queryParameters = _ref$queryParameters === void 0 ? {} : _ref$queryParameters;
var APP_ID = 'x-algolia-application-id';
var API_KEY = 'x-algolia-api-key';
var appId = headers[APP_ID] || queryParameters[APP_ID];
var apiKey = headers[API_KEY] || queryParameters[API_KEY];
return {
appId: appId,
apiKey: apiKey
};
}
var _excluded = ["params"];
function fetchAlgoliaResults(_ref) {
var searchClient = _ref.searchClient,
queries = _ref.queries,
_ref$userAgents = _ref.userAgents,
userAgents$1 = _ref$userAgents === void 0 ? [] : _ref$userAgents;
if (typeof searchClient.addAlgoliaAgent === 'function') {
var algoliaAgents = [].concat(_toConsumableArray(userAgents), _toConsumableArray(userAgents$1));
algoliaAgents.forEach(function (_ref2) {
var segment = _ref2.segment,
version = _ref2.version;
searchClient.addAlgoliaAgent(segment, version);
});
}
var _getAppIdAndApiKey = getAppIdAndApiKey(searchClient),
appId = _getAppIdAndApiKey.appId,
apiKey = _getAppIdAndApiKey.apiKey;
invariant(Boolean(appId), 'The Algolia `appId` was not accessible from the searchClient passed.');
invariant(Boolean(apiKey), 'The Algolia `apiKey` was not accessible from the searchClient passed.');
return searchClient.search(queries.map(function (searchParameters) {
var params = searchParameters.params,
headers = _objectWithoutProperties(searchParameters, _excluded);
return _objectSpread2(_objectSpread2({}, headers), {}, {
params: _objectSpread2({
hitsPerPage: 5,
highlightPreTag: HIGHLIGHT_PRE_TAG,
highlightPostTag: HIGHLIGHT_POST_TAG
}, params)
});
})).then(function (response) {
return response.results.map(function (result, resultIndex) {
var _result$hits;
return _objectSpread2(_objectSpread2({}, result), {}, {
hits: (_result$hits = result.hits) === null || _result$hits === void 0 ? void 0 : _result$hits.map(function (hit) {
return _objectSpread2(_objectSpread2({}, hit), {}, {
// Bring support for the Insights plugin.
__autocomplete_indexName: result.index || queries[resultIndex].indexName,
__autocomplete_queryID: result.queryID,
__autocomplete_algoliaCredentials: {
appId: appId,
apiKey: apiKey
}
});
})
});
});
});
}
var createAlgoliaRequester = createRequester(fetchAlgoliaResults, 'algolia');
/**
* Retrieves Algolia facet hits from multiple indices.
*/
function getAlgoliaFacets(requestParams) {
invariant(_typeof(requestParams.searchClient) === 'object', 'The `searchClient` parameter is required for getAlgoliaFacets({ searchClient }).');
var requester = createAlgoliaRequester({
transformResponse: function transformResponse(response) {
return response.facetHits;
}
});
var queries = requestParams.queries.map(function (query) {
return _objectSpread2(_objectSpread2({}, query), {}, {
type: 'facet'
});
});
return requester(_objectSpread2(_objectSpread2({}, requestParams), {}, {
queries: queries
}));
}
/**
* Retrieves Algolia results from multiple indices.
*/
function getAlgoliaResults(requestParams) {
invariant(_typeof(requestParams.searchClient) === 'object', 'The `searchClient` parameter is required for getAlgoliaResults({ searchClient }).');
var requester = createAlgoliaRequester({
transformResponse: function transformResponse(response) {
return response.hits;
}
});
return requester(requestParams);
}
exports.createRequester = createRequester;
exports.fetchAlgoliaResults = fetchAlgoliaResults;
exports.getAlgoliaFacets = getAlgoliaFacets;
exports.getAlgoliaResults = getAlgoliaResults;
exports.parseAlgoliaHitHighlight = parseAlgoliaHitHighlight;
exports.parseAlgoliaHitReverseHighlight = parseAlgoliaHitReverseHighlight;
exports.parseAlgoliaHitReverseSnippet = parseAlgoliaHitReverseSnippet;
exports.parseAlgoliaHitSnippet = parseAlgoliaHitSnippet;
Object.defineProperty(exports, '__esModule', { value: true });
}));
//# sourceMappingURL=index.development.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,43 @@
{
"name": "@algolia/autocomplete-preset-algolia",
"description": "Presets for building autocomplete experiences with Algolia.",
"version": "1.9.3",
"license": "MIT",
"homepage": "https://github.com/algolia/autocomplete",
"repository": "algolia/autocomplete",
"author": {
"name": "Algolia, Inc.",
"url": "https://www.algolia.com"
},
"sideEffects": false,
"files": [
"dist/"
],
"source": "src/index.ts",
"types": "dist/esm/index.d.ts",
"module": "dist/esm/index.js",
"main": "dist/umd/index.production.js",
"umd:main": "dist/umd/index.production.js",
"unpkg": "dist/umd/index.production.js",
"jsdelivr": "dist/umd/index.production.js",
"scripts": {
"build:clean": "rm -rf ./dist",
"build:esm": "babel src --root-mode upward --extensions '.ts,.tsx' --out-dir dist/esm --ignore '**/*/__tests__/'",
"build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/esm",
"build:umd": "rollup --config",
"build": "yarn build:clean && yarn build:umd && yarn build:esm && yarn build:types",
"on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
"prepare": "yarn build:esm && yarn build:types",
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
},
"dependencies": {
"@algolia/autocomplete-shared": "1.9.3"
},
"devDependencies": {
"algoliasearch": "4.16.0"
},
"peerDependencies": {
"@algolia/client-search": ">= 4.9.1 < 6",
"algoliasearch": ">= 4.9.1 < 6"
}
}