diff --git a/dist/typesense-instantsearch-adapter.js b/dist/typesense-instantsearch-adapter.js index f327ebd..4f6250b 100644 --- a/dist/typesense-instantsearch-adapter.js +++ b/dist/typesense-instantsearch-adapter.js @@ -2512,8 +2512,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { return _typesenseFilterString; } }); - adaptedResult = transformedTypesenseFilters.join(" && "); // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`); - + adaptedResult = transformedTypesenseFilters.join(" && "); return adaptedResult; } }, { @@ -2749,7 +2748,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { } }, { key: "_adaptFilters", - value: function _adaptFilters(instantsearchParams, collectionName) { + value: function _adaptFilters(instantsearchParams, collectionName, filterBy) { var adaptedFilters = []; // `filters` can be used with the `Configure` widget // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format. @@ -2757,12 +2756,14 @@ var SearchRequestAdapter = /*#__PURE__*/function () { adaptedFilters.push(instantsearchParams.filters); } + if (filterBy) adaptedFilters.push(filterBy); adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName)); adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters)); adaptedFilters.push(this._adaptGeoFilter(instantsearchParams)); - return adaptedFilters.filter(function (filter) { + var res = adaptedFilters.filter(function (filter) { return filter && filter !== ""; }).join(" && "); + return res; } }, { key: "_adaptIndexName", @@ -2829,7 +2830,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { collection: adaptedCollectionName, q: params.query === "" || params.query === undefined ? "*" : params.query, facet_by: snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName), - filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by, + filter_by: this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) || snakeCasedAdditionalSearchParameters.filter_by, sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by, max_facet_values: params.maxValuesPerFacet, page: (params.page || 0) + 1 @@ -2847,9 +2848,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { if (params.typesenseVectorQuery) { typesenseSearchParams.vector_query = params.typesenseVectorQuery; - } // console.log(params); - // console.log(typesenseSearchParams); - // Filter out empty or null values, so we don't accidentally override values set in presets + } // Filter out empty or null values, so we don't accidentally override values set in presets // eslint-disable-next-line no-unused-vars @@ -2876,7 +2875,6 @@ var SearchRequestAdapter = /*#__PURE__*/function () { return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_4___default().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: - // console.log(this.instantsearchRequests); searches = this.instantsearchRequests.map(function (instantsearchRequest) { return _this4._buildSearchParameters(instantsearchRequest); }); @@ -3279,8 +3277,7 @@ var SearchResponseAdapter = /*#__PURE__*/function () { processingTimeMS: this.typesenseResponse.search_time_ms }, Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent - } : null); // console.log(adaptedResult); - + } : null); return adaptedResult; } diff --git a/dist/typesense-instantsearch-adapter.js.map b/dist/typesense-instantsearch-adapter.js.map index 06ddafb..61904ea 100644 --- a/dist/typesense-instantsearch-adapter.js.map +++ b/dist/typesense-instantsearch-adapter.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense-instantsearch-adapter.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA,4FAAuC;;;;;;;;;;;ACA1B;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,aAAa,mBAAO,CAAC,iEAAkB;AACvC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,6EAAuB;AACnD,mBAAmB,mBAAO,CAAC,mFAA2B;AACtD,sBAAsB,mBAAO,CAAC,yFAA8B;AAC5D,kBAAkB,mBAAO,CAAC,yEAAqB;AAC/C,2BAA2B,mBAAO,CAAC,mFAA0B;AAC7D,aAAa,mBAAO,CAAC,mEAAkB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACnNa;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,WAAW,mBAAO,CAAC,gEAAgB;AACnC,YAAY,mBAAO,CAAC,4DAAc;AAClC,kBAAkB,mBAAO,CAAC,wEAAoB;AAC9C,eAAe,mBAAO,CAAC,8DAAY;;AAEnC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,kEAAiB;AACxC,oBAAoB,mBAAO,CAAC,4EAAsB;AAClD,iBAAiB,mBAAO,CAAC,sEAAmB;AAC5C,gBAAgB,uFAA6B;;AAE7C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEAAkB;;AAEzC;AACA,qBAAqB,mBAAO,CAAC,gFAAwB;;AAErD;;AAEA;AACA,yBAAsB;;;;;;;;;;;;ACxDT;;AAEb;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;AClBa;;AAEb,aAAa,mBAAO,CAAC,2DAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtHa;;AAEb;AACA;AACA;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,yEAAqB;AAC5C,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD,sBAAsB,mBAAO,CAAC,2EAAmB;AACjD,kBAAkB,mBAAO,CAAC,mEAAe;AACzC,gBAAgB,mBAAO,CAAC,2EAAsB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;;;;;ACnJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrDa;;AAEb,oBAAoB,mBAAO,CAAC,mFAA0B;AACtD,kBAAkB,mBAAO,CAAC,+EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBa;;AAEb,mBAAmB,mBAAO,CAAC,qEAAgB;;AAE3C;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,eAAe,mBAAO,CAAC,uEAAoB;AAC3C,eAAe,mBAAO,CAAC,+DAAa;AACpC,aAAa,mBAAO,CAAC,mEAAkB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;ACtFa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ca;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;AClGa;;AAEb,kBAAkB,mBAAO,CAAC,mEAAe;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,+DAAa;;AAEpC;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACrBa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;AAC9B,0BAA0B,mBAAO,CAAC,+FAAgC;AAClE,mBAAmB,mBAAO,CAAC,2EAAsB;AACjD,2BAA2B,mBAAO,CAAC,yEAAgB;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAiB;AACvC,IAAI;AACJ;AACA,cAAc,mBAAO,CAAC,kEAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AClIa;;AAEb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFa;;AAEb;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,gCAAgC,cAAc;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;;;;;;;;;;;ACZa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACXa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ba;;AAEb,cAAc,wFAA8B;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACjFa;;AAEb,WAAW,mBAAO,CAAC,gEAAgB;;AAEnC;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qEAAqE;AACrE,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;ACxSY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,GAAG,oBAAoB,GAAG,cAAc;AACtD,+BAA+B,mBAAO,CAAC,4EAAoB;AAC3D,cAAc;AACd,qCAAqC,mBAAO,CAAC,wFAA0B;AACvE,oBAAoB;AACpB,0BAA0B,mBAAO,CAAC,kFAAoB;AACtD,cAAc;AACd,kBAAe,KAAK;AACpB;;;;;;;;;;;ACpCa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACtEa;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,kFAAkB;AACjE,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpCa;AACb;AACA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;AACT;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,gFAAgF,kCAAkC;AAClH,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,wNAAwN;AACxN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,gEAAgE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,uCAAuC;AAC3G;AACA;AACA,oEAAoE,sIAAsI;AAC1M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,6CAA6C;AACpH,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClYa;AACb;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,mCAAmC,mBAAO,CAAC,0EAAc;AACzD,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,8BAA8B,mBAAO,CAAC,gEAAS;AAC/C,6BAA6B,mBAAO,CAAC,8DAAQ;AAC7C,4BAA4B,mBAAO,CAAC,4DAAO;AAC3C,8BAA8B,mBAAO,CAAC,gEAAS;AAC/C,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,+BAA+B,mBAAO,CAAC,kEAAU;AACjD,mCAAmC,mBAAO,CAAC,0EAAc;AACzD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,+BAA+B,mBAAO,CAAC,kEAAU;AACjD,kCAAkC,mBAAO,CAAC,wEAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC1Fa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,kCAAkC,mBAAO,CAAC,wEAAa;AACvD,eAAe,mBAAO,CAAC,wEAAU;AACjC,kCAAkC,mBAAO,CAAC,wEAAa;AACvD,iCAAiC,mBAAO,CAAC,sEAAY;AACrD,iCAAiC,mBAAO,CAAC,sEAAY;AACrD,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,iBAAiB,mBAAO,CAAC,sEAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACjJa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpEa;AACb;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,0BAA0B,mBAAO,CAAC,yDAAU;AAC5C,eAAe,mBAAO,CAAC,wEAAU;AACjC;AACA;AACA;AACA;AACA;AACA,mCAAmC,0CAA0C;AAC7E,mCAAmC,0CAA0C;AAC7E,mCAAmC,mBAAmB,WAAW,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ia;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc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CAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,kCAAkC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,8BAA8B;AACnF;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,oDAAoD,uBAAuB;AAC3E,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACxMa;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC/Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC9Ba;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,mBAAmB,GAAG,sBAAsB,GAAG,mBAAmB,GAAG,2BAA2B,GAAG,wBAAwB,GAAG,2BAA2B,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,iCAAiC,GAAG,iBAAiB;AACxQ,kCAAkC,mBAAO,CAAC,+EAAa;AACvD,iBAAiB;AACjB,kDAAkD,mBAAO,CAAC,+GAA6B;AACvF,iCAAiC;AACjC,4CAA4C,mBAAO,CAAC,mGAAuB;AAC3E,2BAA2B;AAC3B,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE,sBAAsB;AACtB,4CAA4C,mBAAO,CAAC,mGAAuB;AAC3E,2BAA2B;AAC3B,yCAAyC,mBAAO,CAAC,6FAAoB;AACrE,wBAAwB;AACxB,4CAA4C,mBAAO,CAAC,mGAAuB;AAC3E,2BAA2B;AAC3B,oCAAoC,mBAAO,CAAC,mFAAe;AAC3D,mBAAmB;AACnB,oCAAoC,mBAAO,CAAC,mFAAe;AAC3D,mBAAmB;AACnB,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE,sBAAsB;AACtB;;;;;;;;;;;AC1Ba;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrDa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,6BAA6B,mBAAO,CAAC,8DAAQ;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,eAAe,mBAAO,CAAC,qBAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC9Ea;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrDa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,yCAAyC,mBAAO,CAAC,sFAAoB;AACrE;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,uKAAuK,uDAAuD;AAC9N,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ea;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,8GAA8G;AAC9G,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACtDa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,kCAAkC,mBAAO,CAAC,wEAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC3Ea;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACtEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC/Ha;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,6BAA6B,mBAAO,CAAC,8FAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC9Ca;AACb,8CAA6C,EAAE,aAAa,EAAC;AAC7D,4BAA4B;AAC5B,4BAA4B,mBAAO,CAAC,4FAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;A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O,CAAC,4EAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;AC3EA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE,kBAAkB;AAClB;AACA;AACA;AACA;AACA,KAAK;AACL,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF;AAClF;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;AC/SjG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTrF;;AAEA,cAAc,mBAAO,CAAC,kGAA+B;AACrD;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;ACde;AACf;AACA,yCAAyC,SAAS;AAClD;AACA;;;;;;;;;;;;;;;ACJe;AACf;AACA;;;;;;;;;;;;;;;;ACFqD;AACtC;AACf,iCAAiC,gEAAgB;AACjD;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;AC7Be;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACJ+C;AAC/C;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA,kCAAkC,6DAAa;AAC/C;AACA;AACe;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACjB+C;AAChC;AACf,QAAQ,6DAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;;;;;;;;;;;;;;;ACde;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,6EAA6E;AACjG,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;;;ACFiD;AACY;AACY;AACtB;AACpC;AACf,SAAS,8DAAc,SAAS,oEAAoB,YAAY,0EAA0B,YAAY,+DAAe;AACrH;;;;;;;;;;;;;;;;;;;ACNuD;AACJ;AACsB;AAClB;AACxC;AACf,SAAS,iEAAiB,SAAS,+DAAe,SAAS,0EAA0B,SAAS,iEAAiB;AAC/G;;;;;;;;;;;;;;;;ACNkC;AACnB;AACf,MAAM,sDAAO;AACb;AACA;AACA;AACA,QAAQ,sDAAO;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACVkC;AACS;AAC5B;AACf,Y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","sources":["webpack://TypesenseInstantSearchAdapter/webpack/universalModuleDefinition","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/adapters/xhr.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/Cancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/CancelToken.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/isCancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/Axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/InterceptorManager.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/buildFullPath.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/createError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/dispatchRequest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/enhanceError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/mergeConfig.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/settle.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/transformData.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/transitional.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/env/data.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/bind.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/buildURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/combineURLs.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/cookies.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/spread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/validator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/utils.js","webpack://TypesenseInstantSearchAdapter/./src/Configuration.js","webpack://TypesenseInstantSearchAdapter/./src/FacetSearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchRequestAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/support/utils.js","webpack://TypesenseInstantSearchAdapter/./node_modules/loglevel/lib/loglevel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Alias.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Aliases.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Analytics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRule.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRules.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ApiCall.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Client.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collections.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Debug.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Document.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Documents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ImportError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ServerError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Health.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Key.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Keys.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Metrics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/MultiSearch.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Operations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Override.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Overrides.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Preset.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Presets.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/RequestWithCache.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchClient.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonym.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonyms.js","webpack://TypesenseInstantSearchAdapter/ignored|/Users/jason/Programming/jprojs/typesense/typesense-instantsearch-adapter/node_modules/typesense/lib/Typesense|crypto","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/regenerator/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://TypesenseInstantSearchAdapter/webpack/bootstrap","webpack://TypesenseInstantSearchAdapter/webpack/runtime/compat get default export","webpack://TypesenseInstantSearchAdapter/webpack/runtime/define property getters","webpack://TypesenseInstantSearchAdapter/webpack/runtime/hasOwnProperty shorthand","webpack://TypesenseInstantSearchAdapter/webpack/runtime/make namespace object","webpack://TypesenseInstantSearchAdapter/./src/TypesenseInstantsearchAdapter.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TypesenseInstantSearchAdapter\"] = factory();\n\telse\n\t\troot[\"TypesenseInstantSearchAdapter\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\n\nexport class Configuration {\n constructor(options = {}) {\n this.server = options.server || {\n nodes: [\n {\n host: \"localhost\",\n port: \"8108\",\n path: \"\",\n protocol: \"http\",\n },\n ],\n };\n\n this.server.cacheSearchResultsForSeconds = this.server.cacheSearchResultsForSeconds ?? 2 * 60;\n\n this.additionalSearchParameters = options.additionalSearchParameters ?? {};\n\n this.additionalSearchParameters.query_by =\n this.additionalSearchParameters.queryBy ?? this.additionalSearchParameters.query_by ?? \"\";\n\n this.additionalSearchParameters.preset =\n this.additionalSearchParameters.preset ?? this.additionalSearchParameters.preset ?? \"\";\n\n this.additionalSearchParameters.sort_by =\n this.additionalSearchParameters.sortBy ?? this.additionalSearchParameters.sort_by ?? \"\";\n\n this.additionalSearchParameters.highlight_full_fields =\n this.additionalSearchParameters.highlightFullFields ??\n this.additionalSearchParameters.highlight_full_fields ??\n this.additionalSearchParameters.query_by;\n\n this.geoLocationField = options.geoLocationField ?? \"_geoloc\";\n this.facetableFieldsWithSpecialCharacters = options.facetableFieldsWithSpecialCharacters ?? [];\n\n this.collectionSpecificSearchParameters = options.collectionSpecificSearchParameters ?? {};\n\n Object.keys(this.collectionSpecificSearchParameters).forEach((collection) => {\n const params = this.collectionSpecificSearchParameters[collection];\n params.query_by = params.queryBy ?? params.query_by;\n params.preset = params.preset ?? params.preset;\n params.sort_by = params.sortBy ?? params.sort_by;\n params.highlight_full_fields =\n params.highlightFullFields ??\n params.highlight_full_fields ??\n this.additionalSearchParameters.highlight_full_fields ??\n params.query_by;\n\n // Remove undefined values\n Object.keys(params).forEach((key) => (params[key] === undefined ? delete params[key] : {}));\n });\n\n this.renderingContent = options.renderingContent;\n this.flattenGroupedHits = options.flattenGroupedHits ?? true;\n this.facetByOptions = options.facetByOptions ?? {};\n this.filterByOptions = options.filterByOptions ?? {};\n this.collectionSpecificFacetByOptions = options.collectionSpecificFacetByOptions ?? {};\n this.collectionSpecificFilterByOptions = options.collectionSpecificFilterByOptions ?? {};\n }\n\n validate() {\n // Warn if camelCased parameters are used, suggest using snake_cased parameters instead\n if (\n this.additionalSearchParameters.queryBy ||\n Object.values(this.collectionSpecificSearchParameters).some((c) => c.queryBy)\n ) {\n console.warn(\n \"[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version.\" +\n \" We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js.\"\n );\n }\n\n /*\n * Either additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or\n * All collectionSpecificSearchParameters need to have query_by or preset\n *\n * */\n if (\n this.additionalSearchParameters.query_by.length === 0 &&\n this.additionalSearchParameters.preset.length === 0 &&\n (Object.keys(this.collectionSpecificSearchParameters).length === 0 ||\n Object.values(this.collectionSpecificSearchParameters).some(\n (c) => (c.query_by || \"\").length === 0 && (c.preset || \"\").length === 0\n ))\n ) {\n throw new Error(\n \"[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.\"\n );\n }\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class FacetSearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n }\n\n _adaptFacetHits(typesenseFacetCounts) {\n let adaptedResult = {};\n const facet = typesenseFacetCounts.find((facet) => facet.field_name === this.instantsearchRequest.params.facetName);\n\n adaptedResult = facet.counts.map((facetCount) => ({\n value: facetCount.value,\n highlighted: this._adaptHighlightTag(\n facetCount.highlighted,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n count: facetCount.count,\n }));\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedResult = {\n facetHits: this._adaptFacetHits(this.typesenseResponse.facet_counts),\n exhaustiveFacetsCount: true,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n };\n return adaptedResult;\n }\n}\n\nObject.assign(FacetSearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`);\n\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n return adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by,\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // console.log(params);\n // console.log(typesenseSearchParams);\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n // console.log(this.instantsearchRequests);\n\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n // console.log(adaptedResult);\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n","export const utils = {\n _adaptHighlightTag(value, highlightPreTag, highlightPostTag) {\n return value\n .replace(new RegExp(\"\", \"g\"), highlightPreTag || \"\")\n .replace(new RegExp(\"\", \"g\"), highlightPostTag || \"\");\n },\n _adaptNumberOfPages() {\n const result = this.typesenseResponse.found / this.typesenseResponse.request_params.per_page;\n if (Number.isFinite(result)) {\n return Math.ceil(result);\n } else {\n return 1;\n }\n },\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.SearchClient = exports.Client = void 0;\nvar Client_1 = __importDefault(require(\"./Typesense/Client\"));\nexports.Client = Client_1.default;\nvar SearchClient_1 = __importDefault(require(\"./Typesense/SearchClient\"));\nexports.SearchClient = SearchClient_1.default;\nvar Errors = __importStar(require(\"./Typesense/Errors\"));\nexports.Errors = Errors;\nexports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors };\n//# sourceMappingURL=Typesense.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias = /** @class */ (function () {\n function Alias(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n Alias.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Alias.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Alias.prototype.endpointPath = function () {\n return \"\".concat(Aliases_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Alias;\n}());\nexports.default = Alias;\n//# sourceMappingURL=Alias.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/aliases\";\nvar Aliases = /** @class */ (function () {\n function Aliases(apiCall) {\n this.apiCall = apiCall;\n }\n Aliases.prototype.upsert = function (name, mapping) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)];\n });\n });\n };\n Aliases.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Aliases.prototype.endpointPath = function (aliasName) {\n return \"\".concat(Aliases.RESOURCEPATH, \"/\").concat(aliasName);\n };\n Object.defineProperty(Aliases, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Aliases;\n}());\nexports.default = Aliases;\n//# sourceMappingURL=Aliases.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule_1 = __importDefault(require(\"./AnalyticsRule\"));\nvar RESOURCEPATH = \"/analytics\";\nvar Analytics = /** @class */ (function () {\n function Analytics(apiCall) {\n this.apiCall = apiCall;\n this.individualAnalyticsRules = {};\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules_1.default(this.apiCall);\n }\n Analytics.prototype.rules = function (id) {\n if (id === undefined) {\n return this._analyticsRules;\n }\n else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule_1.default(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n };\n Object.defineProperty(Analytics, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Analytics;\n}());\nexports.default = Analytics;\n//# sourceMappingURL=Analytics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule = /** @class */ (function () {\n function AnalyticsRule(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n AnalyticsRule.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.endpointPath = function () {\n return \"\".concat(AnalyticsRules_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return AnalyticsRule;\n}());\nexports.default = AnalyticsRule;\n//# sourceMappingURL=AnalyticsRule.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/analytics/rules\";\nvar AnalyticsRules = /** @class */ (function () {\n function AnalyticsRules(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n AnalyticsRules.prototype.upsert = function (name, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)];\n });\n });\n };\n AnalyticsRules.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRules.prototype.endpointPath = function (operation) {\n return \"\".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(AnalyticsRules, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return AnalyticsRules;\n}());\nexports.default = AnalyticsRules;\n//# sourceMappingURL=AnalyticsRules.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __importDefault(require(\"axios\"));\nvar Errors_1 = require(\"./Errors\");\nvar TypesenseError_1 = __importDefault(require(\"./Errors/TypesenseError\"));\nvar APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nvar HEALTHY = true;\nvar UNHEALTHY = false;\nvar ApiCall = /** @class */ (function () {\n function ApiCall(configuration) {\n this.configuration = configuration;\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n this.logger = this.configuration.logger;\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n ApiCall.prototype.get = function (endpoint, queryParameters, _a) {\n if (queryParameters === void 0) { queryParameters = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_e) {\n return [2 /*return*/, this.performRequest(\"get\", endpoint, {\n queryParameters: queryParameters,\n abortSignal: abortSignal,\n responseType: responseType,\n })];\n });\n });\n };\n ApiCall.prototype.delete = function (endpoint, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"delete\", endpoint, { queryParameters: queryParameters })];\n });\n });\n };\n ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"post\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n additionalHeaders: additionalHeaders,\n })];\n });\n });\n };\n ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"put\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"patch\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.performRequest = function (requestType, endpoint, _a) {\n var _b, _c, _d;\n var _e = _a.queryParameters, queryParameters = _e === void 0 ? null : _e, _f = _a.bodyParameters, bodyParameters = _f === void 0 ? null : _f, _g = _a.additionalHeaders, additionalHeaders = _g === void 0 ? {} : _g, _h = _a.abortSignal, abortSignal = _h === void 0 ? null : _h, _j = _a.responseType, responseType = _j === void 0 ? undefined : _j, _k = _a.skipConnectionTimeout, skipConnectionTimeout = _k === void 0 ? false : _k;\n return __awaiter(this, void 0, void 0, function () {\n var requestNumber, lastException, _loop_1, this_1, numTries, state_1;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.configuration.validate();\n requestNumber = Date.now();\n this.logger.debug(\"Request #\".concat(requestNumber, \": Performing \").concat(requestType.toUpperCase(), \" request: \").concat(endpoint));\n _loop_1 = function (numTries) {\n var node, abortListener, requestOptions, cancelToken, source_1, response, error_1;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n node = this_1.getNextNode(requestNumber);\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Attempting \").concat(requestType.toUpperCase(), \" request Try #\").concat(numTries, \" to Node \").concat(node.index));\n if (abortSignal && abortSignal.aborted) {\n return [2 /*return*/, { value: Promise.reject(new Error(\"Request aborted by caller.\")) }];\n }\n abortListener = void 0;\n _m.label = 1;\n case 1:\n _m.trys.push([1, 3, 5, 6]);\n requestOptions = {\n method: requestType,\n url: this_1.uriFor(endpoint, node),\n headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType: responseType,\n validateStatus: function (status) {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n function (data, headers) {\n var transformedData = data;\n if (headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this_1.connectionTimeoutSeconds * 1000;\n }\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n if (this_1.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this_1.apiKey;\n }\n if (bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))) {\n requestOptions.data = bodyParameters;\n }\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n cancelToken = axios_1.default.CancelToken;\n source_1 = cancelToken.source();\n abortListener = function () { return source_1.cancel(); };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source_1.token;\n }\n return [4 /*yield*/, (0, axios_1.default)(requestOptions)];\n case 2:\n response = _m.sent();\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this_1.setNodeHealthcheck(node, HEALTHY);\n }\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" was made. Response Code was \").concat(response.status, \".\"));\n if (response.status >= 200 && response.status < 300) {\n return [2 /*return*/, { value: Promise.resolve(response.data) }];\n }\n else if (response.status < 500) {\n return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }];\n }\n else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message);\n }\n return [3 /*break*/, 6];\n case 3:\n error_1 = _m.sent();\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this_1.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error_1;\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" failed due to \\\"\").concat(error_1.code, \" \").concat(error_1.message).concat(error_1.response == null\n ? \"\"\n : \" - \" + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), \"\\\"\"));\n // this.logger.debug(error.stack)\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Sleeping for \").concat(this_1.retryIntervalSeconds, \"s and then retrying request...\"));\n return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)];\n case 4:\n _m.sent();\n return [3 /*break*/, 6];\n case 5:\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n numTries = 1;\n _l.label = 1;\n case 1:\n if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1(numTries)];\n case 2:\n state_1 = _l.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n _l.label = 3;\n case 3:\n numTries++;\n return [3 /*break*/, 1];\n case 4:\n this.logger.debug(\"Request #\".concat(requestNumber, \": No retries left. Raising last error\"));\n return [2 /*return*/, Promise.reject(lastException)];\n }\n });\n });\n };\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n ApiCall.prototype.getNextNode = function (requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: Node \").concat(this.nearestNode.index, \" is \").concat(this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"));\n if (this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(this.nearestNode.index));\n return this.nearestNode;\n }\n this.logger.debug(\"Request #\".concat(requestNumber, \": Falling back to individual nodes\"));\n }\n // Fallback to nodes as usual\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: \").concat(this.nodes\n .map(function (node) {\n return \"Node \".concat(node.index, \" is \").concat(node.isHealthy === true ? \"Healthy\" : \"Unhealthy\");\n })\n .join(\" || \")));\n var candidateNode = this.nodes[0];\n for (var i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(candidateNode.index));\n return candidateNode;\n }\n }\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\"Request #\".concat(requestNumber, \": No healthy nodes were found. Returning the next node, Node \").concat(candidateNode.index));\n return candidateNode;\n };\n ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Node \").concat(node.index, \" has exceeded healtcheckIntervalSeconds of \").concat(this.healthcheckIntervalSeconds, \". Adding it back into rotation.\"));\n }\n return isDueForHealthcheck;\n };\n ApiCall.prototype.initializeMetadataForNodes = function () {\n var _this = this;\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n this.nodes.forEach(function (node, i) {\n node.index = i;\n _this.setNodeHealthcheck(node, HEALTHY);\n });\n };\n ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n };\n ApiCall.prototype.uriFor = function (endpoint, node) {\n if (node.url != null) {\n return \"\".concat(node.url).concat(endpoint);\n }\n return \"\".concat(node.protocol, \"://\").concat(node.host, \":\").concat(node.port).concat(node.path).concat(endpoint);\n };\n ApiCall.prototype.defaultHeaders = function () {\n var defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n };\n ApiCall.prototype.timer = function (seconds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })];\n });\n });\n };\n ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) {\n var errorMessage = \"Request failed with HTTP code \".concat(response.status);\n if (typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\") {\n errorMessage += \" | Server said: \".concat(messageFromServer);\n }\n var error = new TypesenseError_1.default(errorMessage);\n if (response.status === 400) {\n error = new Errors_1.RequestMalformed(errorMessage);\n }\n else if (response.status === 401) {\n error = new Errors_1.RequestUnauthorized(errorMessage);\n }\n else if (response.status === 404) {\n error = new Errors_1.ObjectNotFound(errorMessage);\n }\n else if (response.status === 409) {\n error = new Errors_1.ObjectAlreadyExists(errorMessage);\n }\n else if (response.status === 422) {\n error = new Errors_1.ObjectUnprocessable(errorMessage);\n }\n else if (response.status >= 500 && response.status <= 599) {\n error = new Errors_1.ServerError(errorMessage);\n }\n else {\n error = new Errors_1.HTTPError(errorMessage);\n }\n error.httpStatus = response.status;\n return error;\n };\n return ApiCall;\n}());\nexports.default = ApiCall;\n//# sourceMappingURL=ApiCall.js.map","\"use strict\";\n/* eslint-disable no-dupe-class-members */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Collection_1 = __importDefault(require(\"./Collection\"));\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias_1 = __importDefault(require(\"./Alias\"));\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key_1 = __importDefault(require(\"./Key\"));\nvar Debug_1 = __importDefault(require(\"./Debug\"));\nvar Metrics_1 = __importDefault(require(\"./Metrics\"));\nvar Health_1 = __importDefault(require(\"./Health\"));\nvar Operations_1 = __importDefault(require(\"./Operations\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset_1 = __importDefault(require(\"./Preset\"));\nvar Analytics_1 = __importDefault(require(\"./Analytics\"));\nvar Client = /** @class */ (function () {\n function Client(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false;\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.debug = new Debug_1.default(this.apiCall);\n this.metrics = new Metrics_1.default(this.apiCall);\n this.health = new Health_1.default(this.apiCall);\n this.operations = new Operations_1.default(this.apiCall);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration);\n this._collections = new Collections_1.default(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases_1.default(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys_1.default(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets_1.default(this.apiCall);\n this.individualPresets = {};\n this.analytics = new Analytics_1.default(this.apiCall);\n }\n Client.prototype.collections = function (collectionName) {\n if (collectionName === undefined) {\n return this._collections;\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n Client.prototype.aliases = function (aliasName) {\n if (aliasName === undefined) {\n return this._aliases;\n }\n else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n };\n Client.prototype.keys = function (id) {\n if (id === undefined) {\n return this._keys;\n }\n else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key_1.default(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n };\n Client.prototype.presets = function (id) {\n if (id === undefined) {\n return this._presets;\n }\n else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset_1.default(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n };\n return Client;\n}());\nexports.default = Client;\n//# sourceMappingURL=Client.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Errors_1 = require(\"./Errors\");\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override_1 = __importDefault(require(\"./Override\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym_1 = __importDefault(require(\"./Synonym\"));\nvar Document_1 = require(\"./Document\");\nvar Collection = /** @class */ (function () {\n function Collection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.individualDocuments = {};\n this.individualOverrides = {};\n this.individualSynonyms = {};\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration);\n this._overrides = new Overrides_1.default(this.name, this.apiCall);\n this._synonyms = new Synonyms_1.default(this.name, this.apiCall);\n }\n Collection.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Collection.prototype.update = function (schema) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)];\n });\n });\n };\n Collection.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Collection.prototype.exists = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.retrieve()];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n e_1 = _a.sent();\n if (e_1 instanceof Errors_1.ObjectNotFound)\n return [2 /*return*/, false];\n throw e_1;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Collection.prototype.documents = function (documentId) {\n if (!documentId) {\n return this._documents;\n }\n else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall);\n }\n return this.individualDocuments[documentId];\n }\n };\n Collection.prototype.overrides = function (overrideId) {\n if (overrideId === undefined) {\n return this._overrides;\n }\n else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall);\n }\n return this.individualOverrides[overrideId];\n }\n };\n Collection.prototype.synonyms = function (synonymId) {\n if (synonymId === undefined) {\n return this._synonyms;\n }\n else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall);\n }\n return this.individualSynonyms[synonymId];\n }\n };\n Collection.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Collection;\n}());\nexports.default = Collection;\n//# sourceMappingURL=Collection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/collections\";\nvar Collections = /** @class */ (function () {\n function Collections(apiCall) {\n this.apiCall = apiCall;\n }\n Collections.prototype.create = function (schema, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)];\n });\n });\n };\n Collections.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Object.defineProperty(Collections, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Collections;\n}());\nexports.default = Collections;\n//# sourceMappingURL=Collections.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar logger = __importStar(require(\"loglevel\"));\nvar Errors_1 = require(\"./Errors\");\nvar Configuration = /** @class */ (function () {\n function Configuration(options) {\n var _this = this;\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map(function (node) { return _this.setDefaultPathInNode(node); })\n .map(function (node) { return _this.setDefaultPortInNode(node); })\n .map(function (node) { return (__assign({}, node)); }); // Make a deep copy\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n options.numRetries ||\n this.nodes.length + (this.nearestNode == null ? 0 : 1) ||\n 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n this.additionalHeaders = options.additionalHeaders;\n this.showDeprecationWarnings(options);\n this.validate();\n }\n Configuration.prototype.validate = function () {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\");\n }\n if (this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\");\n }\n if (this.apiKey == null) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n return true;\n };\n Configuration.prototype.validateNodes = function () {\n var _this = this;\n return this.nodes.some(function (node) {\n return _this.isNodeMissingAnyParameters(node);\n });\n };\n Configuration.prototype.isNodeMissingAnyParameters = function (node) {\n return (![\"protocol\", \"host\", \"port\", \"path\"].every(function (key) {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null);\n };\n Configuration.prototype.setDefaultPathInNode = function (node) {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n };\n Configuration.prototype.setDefaultPortInNode = function (node) {\n if (node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n };\n Configuration.prototype.showDeprecationWarnings = function (options) {\n if (options.timeoutSeconds) {\n this.logger.warn(\"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\");\n }\n if (options.masterNode) {\n this.logger.warn(\"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n };\n Configuration.prototype.shuffleArray = function (array) {\n var _a;\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1];\n }\n };\n return Configuration;\n}());\nexports.default = Configuration;\n//# sourceMappingURL=Configuration.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/debug\";\nvar Debug = /** @class */ (function () {\n function Debug(apiCall) {\n this.apiCall = apiCall;\n }\n Debug.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Debug;\n}());\nexports.default = Debug;\n//# sourceMappingURL=Debug.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Document = void 0;\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Document = /** @class */ (function () {\n function Document(collectionName, documentId, apiCall) {\n this.collectionName = collectionName;\n this.documentId = documentId;\n this.apiCall = apiCall;\n }\n Document.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Document.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Document.prototype.update = function (partialDocument, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)];\n });\n });\n };\n Document.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, \"/\").concat(this.documentId);\n };\n return Document;\n}());\nexports.Document = Document;\n//# sourceMappingURL=Document.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Errors_1 = require(\"./Errors\");\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar Documents = /** @class */ (function (_super) {\n __extends(Documents, _super);\n function Documents(collectionName, apiCall, configuration) {\n return _super.call(this, collectionName, apiCall, configuration) || this;\n }\n Documents.prototype.create = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)];\n });\n });\n };\n Documents.prototype.upsert = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"upsert\" }))];\n });\n });\n };\n Documents.prototype.update = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n if (options[\"filter_by\"] != null) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))];\n }\n else {\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"update\" }))];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.delete = function (idOrQuery) {\n if (idOrQuery === void 0) { idOrQuery = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof idOrQuery === \"string\") {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(idOrQuery), idOrQuery)];\n }\n else {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(), idOrQuery)];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.createMany = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.configuration.logger.warn(\"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\");\n return [2 /*return*/, this.import(documents, options)];\n });\n });\n };\n Documents.prototype.import = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map(function (document) { return JSON.stringify(document); })\n .join(\"\\n\");\n }\n catch (error) {\n // if rangeerror, throw custom error message\n if (RangeError instanceof error &&\n (error === null || error === void 0 ? void 0 : error.includes(\"Too many properties to enumerate\"))) {\n throw new Error(\"\".concat(error, \"\\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\\n\\n Please try reducing the number of keys in your document, or using CURL to import your data.\\n \"));\n }\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n }\n else {\n documentsInJSONLFormat = documents;\n }\n return [4 /*yield*/, this.apiCall.performRequest(\"post\", this.endpointPath(\"import\"), {\n queryParameters: options,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n })];\n case 1:\n resultsInJSONLFormat = _a.sent();\n if (Array.isArray(documents)) {\n resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map(function (r) { return JSON.parse(r); });\n failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; });\n if (failedItems.length > 0) {\n throw new Errors_1.ImportError(\"\".concat(resultsInJSONFormat.length - failedItems.length, \" documents imported successfully, \").concat(failedItems.length, \" documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\"), resultsInJSONFormat);\n }\n else {\n return [2 /*return*/, resultsInJSONFormat];\n }\n }\n else {\n return [2 /*return*/, resultsInJSONLFormat];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n Documents.prototype.export = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options)];\n });\n });\n };\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n Documents.prototype.exportStream = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n })];\n });\n });\n };\n return Documents;\n}(SearchOnlyDocuments_1.SearchOnlyDocuments));\nexports.default = Documents;\n//# sourceMappingURL=Documents.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar HTTPError = /** @class */ (function (_super) {\n __extends(HTTPError, _super);\n function HTTPError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return HTTPError;\n}(TypesenseError_1.default));\nexports.default = HTTPError;\n//# sourceMappingURL=HTTPError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ImportError = /** @class */ (function (_super) {\n __extends(ImportError, _super);\n function ImportError(message, importResults) {\n var _this = _super.call(this, message) || this;\n _this.importResults = importResults;\n return _this;\n }\n return ImportError;\n}(TypesenseError_1.default));\nexports.default = ImportError;\n//# sourceMappingURL=ImportError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar MissingConfigurationError = /** @class */ (function (_super) {\n __extends(MissingConfigurationError, _super);\n function MissingConfigurationError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MissingConfigurationError;\n}(TypesenseError_1.default));\nexports.default = MissingConfigurationError;\n//# sourceMappingURL=MissingConfigurationError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectAlreadyExists = /** @class */ (function (_super) {\n __extends(ObjectAlreadyExists, _super);\n function ObjectAlreadyExists() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectAlreadyExists;\n}(TypesenseError_1.default));\nexports.default = ObjectAlreadyExists;\n//# sourceMappingURL=ObjectAlreadyExists.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectNotFound = /** @class */ (function (_super) {\n __extends(ObjectNotFound, _super);\n function ObjectNotFound() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectNotFound;\n}(TypesenseError_1.default));\nexports.default = ObjectNotFound;\n//# sourceMappingURL=ObjectNotFound.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectUnprocessable = /** @class */ (function (_super) {\n __extends(ObjectUnprocessable, _super);\n function ObjectUnprocessable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectUnprocessable;\n}(TypesenseError_1.default));\nexports.default = ObjectUnprocessable;\n//# sourceMappingURL=ObjectUnprocessable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestMalformed = /** @class */ (function (_super) {\n __extends(RequestMalformed, _super);\n function RequestMalformed() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestMalformed;\n}(TypesenseError_1.default));\nexports.default = RequestMalformed;\n//# sourceMappingURL=RequestMalformed.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestUnauthorized = /** @class */ (function (_super) {\n __extends(RequestUnauthorized, _super);\n function RequestUnauthorized() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestUnauthorized;\n}(TypesenseError_1.default));\nexports.default = RequestUnauthorized;\n//# sourceMappingURL=RequestUnauthorized.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ServerError = /** @class */ (function (_super) {\n __extends(ServerError, _super);\n function ServerError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ServerError;\n}(TypesenseError_1.default));\nexports.default = ServerError;\n//# sourceMappingURL=ServerError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError = /** @class */ (function (_super) {\n __extends(TypesenseError, _super);\n // Source: https://stackoverflow.com/a/58417721/123545\n function TypesenseError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.name = _newTarget.name;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TypesenseError;\n}(Error));\nexports.default = TypesenseError;\n//# sourceMappingURL=TypesenseError.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0;\nvar HTTPError_1 = __importDefault(require(\"./HTTPError\"));\nexports.HTTPError = HTTPError_1.default;\nvar MissingConfigurationError_1 = __importDefault(require(\"./MissingConfigurationError\"));\nexports.MissingConfigurationError = MissingConfigurationError_1.default;\nvar ObjectAlreadyExists_1 = __importDefault(require(\"./ObjectAlreadyExists\"));\nexports.ObjectAlreadyExists = ObjectAlreadyExists_1.default;\nvar ObjectNotFound_1 = __importDefault(require(\"./ObjectNotFound\"));\nexports.ObjectNotFound = ObjectNotFound_1.default;\nvar ObjectUnprocessable_1 = __importDefault(require(\"./ObjectUnprocessable\"));\nexports.ObjectUnprocessable = ObjectUnprocessable_1.default;\nvar RequestMalformed_1 = __importDefault(require(\"./RequestMalformed\"));\nexports.RequestMalformed = RequestMalformed_1.default;\nvar RequestUnauthorized_1 = __importDefault(require(\"./RequestUnauthorized\"));\nexports.RequestUnauthorized = RequestUnauthorized_1.default;\nvar ServerError_1 = __importDefault(require(\"./ServerError\"));\nexports.ServerError = ServerError_1.default;\nvar ImportError_1 = __importDefault(require(\"./ImportError\"));\nexports.ImportError = ImportError_1.default;\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nexports.TypesenseError = TypesenseError_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/health\";\nvar Health = /** @class */ (function () {\n function Health(apiCall) {\n this.apiCall = apiCall;\n }\n Health.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Health;\n}());\nexports.default = Health;\n//# sourceMappingURL=Health.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key = /** @class */ (function () {\n function Key(id, apiCall) {\n this.id = id;\n this.apiCall = apiCall;\n }\n Key.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Key.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Key.prototype.endpointPath = function () {\n return \"\".concat(Keys_1.default.RESOURCEPATH, \"/\").concat(this.id);\n };\n return Key;\n}());\nexports.default = Key;\n//# sourceMappingURL=Key.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar crypto_1 = require(\"crypto\");\nvar RESOURCEPATH = \"/keys\";\nvar Keys = /** @class */ (function () {\n function Keys(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n Keys.prototype.create = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)];\n });\n });\n };\n Keys.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when usined with the search endpoint.\n var paramsJSON = JSON.stringify(parameters);\n var digest = Buffer.from((0, crypto_1.createHmac)(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"));\n var keyPrefix = searchKey.substr(0, 4);\n var rawScopedKey = \"\".concat(digest).concat(keyPrefix).concat(paramsJSON);\n return Buffer.from(rawScopedKey).toString(\"base64\");\n };\n Object.defineProperty(Keys, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Keys;\n}());\nexports.default = Keys;\n//# sourceMappingURL=Keys.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/metrics.json\";\nvar Metrics = /** @class */ (function () {\n function Metrics(apiCall) {\n this.apiCall = apiCall;\n }\n Metrics.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Metrics;\n}());\nexports.default = Metrics;\n//# sourceMappingURL=Metrics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar RESOURCEPATH = \"/multi_search\";\nvar MultiSearch = /** @class */ (function () {\n function MultiSearch(apiCall, configuration, useTextContentType) {\n if (useTextContentType === void 0) { useTextContentType = false; }\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.useTextContentType = useTextContentType;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n MultiSearch.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) {\n if (commonParams === void 0) { commonParams = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c;\n return __awaiter(this, void 0, void 0, function () {\n var additionalHeaders, additionalQueryParams, queryParams;\n return __generator(this, function (_d) {\n additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n queryParams = Object.assign({}, commonParams, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })];\n });\n });\n };\n return MultiSearch;\n}());\nexports.default = MultiSearch;\n//# sourceMappingURL=MultiSearch.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/operations\";\nvar Operations = /** @class */ (function () {\n function Operations(apiCall) {\n this.apiCall = apiCall;\n }\n Operations.prototype.perform = function (operationName, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(\"\".concat(RESOURCEPATH, \"/\").concat(operationName), {}, queryParameters)];\n });\n });\n };\n return Operations;\n}());\nexports.default = Operations;\n//# sourceMappingURL=Operations.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override = /** @class */ (function () {\n function Override(collectionName, overrideId, apiCall) {\n this.collectionName = collectionName;\n this.overrideId = overrideId;\n this.apiCall = apiCall;\n }\n Override.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Override.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Override.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, \"/\").concat(this.overrideId);\n };\n return Override;\n}());\nexports.default = Override;\n//# sourceMappingURL=Override.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/overrides\";\nvar Overrides = /** @class */ (function () {\n function Overrides(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Overrides.prototype.upsert = function (overrideId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];\n });\n });\n };\n Overrides.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Overrides.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Overrides, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Overrides;\n}());\nexports.default = Overrides;\n//# sourceMappingURL=Overrides.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset = /** @class */ (function () {\n function Preset(presetId, apiCall) {\n this.presetId = presetId;\n this.apiCall = apiCall;\n }\n Preset.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Preset.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Preset.prototype.endpointPath = function () {\n return \"\".concat(Presets_1.default.RESOURCEPATH, \"/\").concat(this.presetId);\n };\n return Preset;\n}());\nexports.default = Preset;\n//# sourceMappingURL=Preset.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/presets\";\nvar Presets = /** @class */ (function () {\n function Presets(apiCall) {\n this.apiCall = apiCall;\n }\n Presets.prototype.upsert = function (presetId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)];\n });\n });\n };\n Presets.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Presets.prototype.endpointPath = function (operation) {\n return \"\".concat(Presets.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Presets, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Presets;\n}());\nexports.default = Presets;\n//# sourceMappingURL=Presets.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultCacheResponseForSeconds = 2 * 60;\nvar defaultMaxSize = 100;\nvar RequestWithCache = /** @class */ (function () {\n function RequestWithCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n RequestWithCache.prototype.clearCache = function () {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n };\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b;\n isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n if (isCacheDisabled) {\n return [2 /*return*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n }\n requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments);\n cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n now = Date.now();\n if (cacheEntry) {\n isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return [2 /*return*/, Promise.resolve(cacheEntry.response)];\n }\n else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON);\n if (cachePromiseEntry) {\n isEntryValid = now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry);\n return [2 /*return*/, cachePromiseEntry.responsePromise];\n }\n else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n responsePromise = requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false));\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise: responsePromise,\n });\n return [4 /*yield*/, responsePromise];\n case 1:\n response = _c.sent();\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response: response,\n });\n isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n return RequestWithCache;\n}());\nexports.default = RequestWithCache;\n//# sourceMappingURL=RequestWithCache.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar SearchOnlyCollection_1 = require(\"./SearchOnlyCollection\");\nvar SearchClient = /** @class */ (function () {\n function SearchClient(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;\n if (options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000) {\n console.warn(\"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\");\n options.sendApiKeyAsQueryParam = false;\n }\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n SearchClient.prototype.clearCache = function () {\n this.multiSearch.clearCache();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(function (_a) {\n var _ = _a[0], collection = _a[1];\n collection.documents().clearCache();\n });\n };\n SearchClient.prototype.collections = function (collectionName) {\n if (!collectionName) {\n throw new Error(\"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\");\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n return SearchClient;\n}());\nexports.default = SearchClient;\n//# sourceMappingURL=SearchClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyCollection = void 0;\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar SearchOnlyCollection = /** @class */ (function () {\n function SearchOnlyCollection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration);\n }\n SearchOnlyCollection.prototype.documents = function () {\n return this._documents;\n };\n return SearchOnlyCollection;\n}());\nexports.SearchOnlyCollection = SearchOnlyCollection;\n//# sourceMappingURL=SearchOnlyCollection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyDocuments = void 0;\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/documents\";\nvar SearchOnlyDocuments = /** @class */ (function () {\n function SearchOnlyDocuments(collectionName, apiCall, configuration) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n SearchOnlyDocuments.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n SearchOnlyDocuments.prototype.search = function (searchParameters, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d;\n return __awaiter(this, void 0, void 0, function () {\n var additionalQueryParams, key, queryParams;\n return __generator(this, function (_e) {\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n queryParams = Object.assign({}, searchParameters, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath(\"search\"), queryParams, { abortSignal: abortSignal }], {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n })];\n });\n });\n };\n SearchOnlyDocuments.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(SearchOnlyDocuments, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return SearchOnlyDocuments;\n}());\nexports.SearchOnlyDocuments = SearchOnlyDocuments;\n//# sourceMappingURL=SearchOnlyDocuments.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym = /** @class */ (function () {\n function Synonym(collectionName, synonymId, apiCall) {\n this.collectionName = collectionName;\n this.synonymId = synonymId;\n this.apiCall = apiCall;\n }\n Synonym.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, \"/\").concat(this.synonymId);\n };\n return Synonym;\n}());\nexports.default = Synonym;\n//# sourceMappingURL=Synonym.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/synonyms\";\nvar Synonyms = /** @class */ (function () {\n function Synonyms(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Synonyms.prototype.upsert = function (synonymId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)];\n });\n });\n };\n Synonyms.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonyms.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Synonyms, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Synonyms;\n}());\nexports.default = Synonyms;\n//# sourceMappingURL=Synonyms.js.map","/* (ignored) */","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\"use strict\";\n\nimport { Configuration } from \"./Configuration\";\nimport { SearchClient as TypesenseSearchClient } from \"typesense\";\nimport { SearchRequestAdapter } from \"./SearchRequestAdapter\";\nimport { SearchResponseAdapter } from \"./SearchResponseAdapter\";\nimport { FacetSearchResponseAdapter } from \"./FacetSearchResponseAdapter\";\n\nexport default class TypesenseInstantsearchAdapter {\n constructor(options) {\n this.updateConfiguration(options);\n this.searchClient = {\n clearCache: () => this.clearCache(),\n search: (instantsearchRequests) => this.searchTypesenseAndAdapt(instantsearchRequests),\n searchForFacetValues: (instantsearchRequests) =>\n this.searchTypesenseForFacetValuesAndAdapt(instantsearchRequests),\n };\n }\n\n async searchTypesenseAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new SearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration,\n typesenseResponse.results\n );\n return responseAdapter.adapt();\n });\n\n return {\n results: adaptedResponses,\n };\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async searchTypesenseForFacetValuesAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new FacetSearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration\n );\n return responseAdapter.adapt();\n });\n\n return adaptedResponses;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async _adaptAndPerformTypesenseRequest(instantsearchRequests) {\n const requestAdapter = new SearchRequestAdapter(instantsearchRequests, this.typesenseClient, this.configuration);\n const typesenseResponse = await requestAdapter.request();\n return typesenseResponse;\n }\n\n clearCache() {\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return this.searchClient;\n }\n\n updateConfiguration(options) {\n this.configuration = new Configuration(options);\n this.configuration.validate();\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return true;\n }\n\n _validateTypesenseResult(typesenseResult) {\n if (typesenseResult.error) {\n throw new Error(`${typesenseResult.code} - ${typesenseResult.error}`);\n }\n if (!typesenseResult.hits && !typesenseResult.grouped_hits) {\n throw new Error(`Did not find any hits. ${typesenseResult.code} - ${typesenseResult.error}`);\n }\n }\n}\n"],"names":["Configuration","options","server","nodes","host","port","path","protocol","cacheSearchResultsForSeconds","additionalSearchParameters","query_by","queryBy","preset","sort_by","sortBy","highlight_full_fields","highlightFullFields","geoLocationField","facetableFieldsWithSpecialCharacters","collectionSpecificSearchParameters","Object","keys","forEach","collection","params","key","undefined","renderingContent","flattenGroupedHits","facetByOptions","filterByOptions","collectionSpecificFacetByOptions","collectionSpecificFilterByOptions","values","some","c","console","warn","length","Error","utils","FacetSearchResponseAdapter","typesenseResponse","instantsearchRequest","typesenseFacetCounts","adaptedResult","facet","find","field_name","facetName","counts","map","facetCount","value","highlighted","_adaptHighlightTag","highlightPreTag","highlightPostTag","count","facetHits","_adaptFacetHits","facet_counts","exhaustiveFacetsCount","processingTimeMS","search_time_ms","assign","prototype","SearchRequestAdapter","instantsearchRequests","typesenseClient","configuration","fieldName","collectionName","exactMatch","facetFilters","transformedTypesenseFilters","item","Array","isArray","intermediateFacetFilters","facetFilter","_parseFacetFilter","fieldValue","push","error","join","fieldValues","reduce","result","startsWith","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","v","_escapeFacetValue","typesenseFilterString","filter","f","filterStringMatchingRegex","facetFilterMatches","sanitizedFacetableFieldsWithSpecialCharacters","flat","replace","RegExp","match","constructor","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","JSON","stringify","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","split","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","indexName","INDEX_NAME_MATCHING_REGEX","facets","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","entries","_camelToSnakeCase","typesenseSearchParams","adaptedSortBy","_adaptSortBy","q","query","facet_by","_adaptFacetBy","filter_by","_adaptFilters","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","typesenseVectorQuery","vector_query","fromEntries","_","str","toLowerCase","searches","_buildSearchParameters","multiSearch","perform","SearchResponseAdapter","allTypesenseResponses","typesenseGroupedHits","groupedHit","adaptedHits","_adaptHits","hits","hit","group_key","found","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","document","objectID","id","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","includes","geoLocationValue","_geoloc","lat","lng","snippetOrValue","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","attribute","matchLevel","matchedWords","highlights","matched_tokens","indices","k","matchedIndices","_adaptHighlightNullValue","unhighlightedValueFromArray","index","indexOf","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","stats","facetOrdering","order","Set","fc","concat","r","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","nbPages","_adaptNumberOfPages","request_params","_adaptFacets","facets_stats","_adaptFacetStats","isFinite","Math","ceil","SearchClient","TypesenseSearchClient","TypesenseInstantsearchAdapter","updateConfiguration","searchClient","clearCache","search","searchTypesenseAndAdapt","searchForFacetValues","searchTypesenseForFacetValuesAndAdapt","_adaptAndPerformTypesenseRequest","adaptedResponses","results","typesenseResult","_validateTypesenseResult","responseAdapter","adapt","requestAdapter","request","validate","code"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense-instantsearch-adapter.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;;;;;;;;;ACVA,4FAAuC;;;;;;;;;;;ACA1B;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,aAAa,mBAAO,CAAC,iEAAkB;AACvC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,eAAe,mBAAO,CAAC,2EAAuB;AAC9C,oBAAoB,mBAAO,CAAC,6EAAuB;AACnD,mBAAmB,mBAAO,CAAC,mFAA2B;AACtD,sBAAsB,mBAAO,CAAC,yFAA8B;AAC5D,kBAAkB,mBAAO,CAAC,yEAAqB;AAC/C,2BAA2B,mBAAO,CAAC,mFAA0B;AAC7D,aAAa,mBAAO,CAAC,mEAAkB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACnNa;;AAEb,YAAY,mBAAO,CAAC,kDAAS;AAC7B,WAAW,mBAAO,CAAC,gEAAgB;AACnC,YAAY,mBAAO,CAAC,4DAAc;AAClC,kBAAkB,mBAAO,CAAC,wEAAoB;AAC9C,eAAe,mBAAO,CAAC,8DAAY;;AAEnC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,eAAe,mBAAO,CAAC,kEAAiB;AACxC,oBAAoB,mBAAO,CAAC,4EAAsB;AAClD,iBAAiB,mBAAO,CAAC,sEAAmB;AAC5C,gBAAgB,uFAA6B;;AAE7C;AACA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,oEAAkB;;AAEzC;AACA,qBAAqB,mBAAO,CAAC,gFAAwB;;AAErD;;AAEA;AACA,yBAAsB;;;;;;;;;;;;ACxDT;;AAEb;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;AClBa;;AAEb,aAAa,mBAAO,CAAC,2DAAU;;AAE/B;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,OAAO;AACvB;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtHa;;AAEb;AACA;AACA;;;;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,yEAAqB;AAC5C,yBAAyB,mBAAO,CAAC,iFAAsB;AACvD,sBAAsB,mBAAO,CAAC,2EAAmB;AACjD,kBAAkB,mBAAO,CAAC,mEAAe;AACzC,gBAAgB,mBAAO,CAAC,2EAAsB;;AAE9C;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA,gDAAgD;AAChD;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;;;;;;;;;;;;ACnJa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACrDa;;AAEb,oBAAoB,mBAAO,CAAC,mFAA0B;AACtD,kBAAkB,mBAAO,CAAC,+EAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACnBa;;AAEb,mBAAmB,mBAAO,CAAC,qEAAgB;;AAE3C;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,oBAAoB,mBAAO,CAAC,uEAAiB;AAC7C,eAAe,mBAAO,CAAC,uEAAoB;AAC3C,eAAe,mBAAO,CAAC,+DAAa;AACpC,aAAa,mBAAO,CAAC,mEAAkB;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;;;;;ACtFa;;AAEb;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ca;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN,2BAA2B;AAC3B,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;AClGa;;AAEb,kBAAkB,mBAAO,CAAC,mEAAe;;AAEzC;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACxBa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;AAChC,eAAe,mBAAO,CAAC,+DAAa;;AAEpC;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,OAAO;AAClB,WAAW,gBAAgB;AAC3B,aAAa,GAAG;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACrBa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;AAC9B,0BAA0B,mBAAO,CAAC,+FAAgC;AAClE,mBAAmB,mBAAO,CAAC,2EAAsB;AACjD,2BAA2B,mBAAO,CAAC,yEAAgB;;AAEnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,iEAAiB;AACvC,IAAI;AACJ;AACA,cAAc,mBAAO,CAAC,kEAAkB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;AClIa;;AAEb;AACA;AACA;AACA;AACA;;;;;;;;;;;ACNA;AACA;AACA;;;;;;;;;;;ACFa;;AAEb;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;ACrEa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C,SAAS;;AAET;AACA,4DAA4D,wBAAwB;AACpF;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,kCAAkC;AAClC,gCAAgC,cAAc;AAC9C;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACba;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;AACA;AACA;;;;;;;;;;;;ACZa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;ACnEa;;AAEb,YAAY,mBAAO,CAAC,mDAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACXa;;AAEb,YAAY,mBAAO,CAAC,qDAAY;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;;AAEH;AACA;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC1Ba;;AAEb,cAAc,wFAA8B;;AAE5C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACjFa;;AAEb,WAAW,mBAAO,CAAC,gEAAgB;;AAEnC;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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A;AAAA;AAAA,kGAAC;AAC1B,MAAM,KAAK,EAIN;AACL,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qEAAqE;AACrE,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,qDAAqD;AACrD,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,sBAAsB;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;ACxSY;AACb;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,cAAc,GAAG,oBAAoB,GAAG,cAAc;AACtD,+BAA+B,mBAAO,CAAC,4EAAoB;AAC3D,cAAc;AACd,qCAAqC,mBAAO,CAAC,wFAA0B;AACvE,oBAAoB;AACpB,0BAA0B,mBAAO,CAAC,kFAAoB;AACtD,cAAc;AACd,kBAAe,KAAK;AACpB;;;;;;;;;;;ACpCa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACnEa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACtEa;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,kFAAkB;AACjE,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS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;AAC1C,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,gFAAgF,kCAAkC;AAClH,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,wNAAwN;AACxN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,gEAAgE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,uCAAuC;AAC3G;AACA;AACA,oEAAoE,sIAAsI;AAC1M;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,6CAA6C;AACpH,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AClYa;AACb;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,mCAAmC,mBAAO,CAAC,0EAAc;AACzD,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,8BAA8B,mBAAO,CAAC,gEAAS;AAC/C,6BAA6B,mBAAO,CAAC,8DAAQ;AAC7C,4BAA4B,mBAAO,CAAC,4DAAO;AAC3C,8BAA8B,mBAAO,CAAC,gEAAS;AAC/C,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,+BAA+B,mBAAO,CAAC,kEAAU;AACjD,mCAAmC,mBAAO,CAAC,0EAAc;AACzD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,+BAA+B,mBAAO,CAAC,kEAAU;AACjD,kCAAkC,mBAAO,CAAC,wEAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC1Fa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,kCAAkC,mBAAO,CAAC,wEAAa;AACvD,eAAe,mBAAO,CAAC,wEAAU;AACjC,kCAAkC,mBAAO,CAAC,wEAAa;AACvD,iCAAiC,mBAAO,CAAC,sEAAY;AACrD,iCAAiC,mBAAO,CAAC,sEAAY;AACrD,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,iBAAiB,mBAAO,CAAC,sEAAY;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACjJa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACpEa;AACb;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,0BAA0B,mBAAO,CAAC,yDAAU;AAC5C,eAAe,mBAAO,CAAC,wEAAU;AACjC;AACA;AACA;AACA;AACA;AACA,mCAAmC,0CAA0C;AAC7E,mCAAmC,0CAA0C;AAC7E,mCAAmC,mBAAmB,WAAW,GAAG;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ia;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACrDa;AACb;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,gBAAgB;AAChB,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,kCAAkC,mBAAO,CAAC,wEAAa;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gBAAgB;AAChB;;;;;;;;;;;AC9Ea;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACA,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,eAAe,mBAAO,CAAC,wEAAU;AACjC,4BAA4B,mBAAO,CAAC,4FAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,uGAAuG,aAAa,kBAAkB;AACtI,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA,2GAA2G,aAAa,kBAAkB;AAC1I;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,kCAAkC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,8BAA8B;AACnF;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,oDAAoD,uBAAuB;AAC3E,oFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;ACxMa;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,uCAAuC,mBAAO,CAAC,yFAAkB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC7Ba;AACb;AACA;AACA;AACA,eAAe,gBAAgB,sCAAsC,kBAAkB;AACvF,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,CAAC;AACD;AACA,6CAA6C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CAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACA,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC/Ha;AACb;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,sCAAsC,mBAAO,CAAC,gFAAiB;AAC/D,gCAAgC,mBAAO,CAAC,oEAAW;AACnD,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D,6BAA6B,mBAAO,CAAC,8FAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;;AC9Ca;AACb,8CAA6C,EAAE,aAAa,EAAC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AC7C;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,8CAA6C,EAAE,aAAa,EAAC;AAC7D,oCAAoC,mBAAO,CAAC,4EAAe;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA,CAAC;AACD,kBAAe;AACf;;;;;;;;;;AC3EA;;;;;;;;;;ACAA,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE,kBAAkB;AAClB;AACA;AACA;AACA;AACA,KAAK;AACL,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF;AAClF;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,YAAY;AACzB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;AC/SjG;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,0BAA0B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTrF;;AAEA,cAAc,mBAAO,CAAC,kGAA+B;AACrD;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,IAAI;AACJ;AACA;AACA;;;;;;;;;;;;;;;;ACde;AACf;AACA,yCAAyC,SAAS;AAClD;AACA;;;;;;;;;;;;;;;ACJe;AACf;AACA;;;;;;;;;;;;;;;;ACFqD;AACtC;AACf,iCAAiC,gEAAgB;AACjD;;;;;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;AC7Be;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACJ+C;AAC/C;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA,kCAAkC,6DAAa;AAC/C;AACA;AACe;AACf;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACjB+C;AAChC;AACf,QAAQ,6DAAa;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;AACA;;;;;;;;;;;;;;;ACde;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,YAAY,6EAA6E;AACjG,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;AC1Be;AACf;AACA;;;;;;;;;;;;;;;ACFe;AACf;AACA;;;;;;;;;;;;;;;;;;;ACFiD;AACY;AACY;AACtB;AACpC;AACf,SAAS,8DAAc,SAAS,oEAAoB,YAAY,0EAA0B,YAAY,+DAAe;AACrH;;;;;;;;;;;;;;;;;;;ACNuD;AACJ;AACsB;AAClB;AACxC;AACf,SAAS,iEAAiB,SAAS,+DAAe,SAAS,0EAA0B,SAAS,iEAAiB;AAC/G;;;;;;;;;;;;;;;;ACNkC;AACnB;AACf,MAAM,sDAAO;AACb;AACA;AAC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","sources":["webpack://TypesenseInstantSearchAdapter/webpack/universalModuleDefinition","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/adapters/xhr.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/Cancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/CancelToken.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/isCancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/Axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/InterceptorManager.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/buildFullPath.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/createError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/dispatchRequest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/enhanceError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/mergeConfig.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/settle.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/transformData.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/transitional.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/env/data.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/bind.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/buildURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/combineURLs.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/cookies.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/spread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/validator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/utils.js","webpack://TypesenseInstantSearchAdapter/./src/Configuration.js","webpack://TypesenseInstantSearchAdapter/./src/FacetSearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchRequestAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/SearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/support/utils.js","webpack://TypesenseInstantSearchAdapter/./node_modules/loglevel/lib/loglevel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Alias.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Aliases.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Analytics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRule.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRules.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ApiCall.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Client.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collections.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Debug.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Document.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Documents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ImportError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ServerError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Health.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Key.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Keys.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Metrics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/MultiSearch.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Operations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Override.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Overrides.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Preset.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Presets.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/RequestWithCache.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchClient.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonym.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonyms.js","webpack://TypesenseInstantSearchAdapter/ignored|/Users/aleksandar.gvozden/Documents/Projects/NI/typesense-instantsearch-adapter/node_modules/typesense/lib/Typesense|crypto","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/regenerator/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://TypesenseInstantSearchAdapter/webpack/bootstrap","webpack://TypesenseInstantSearchAdapter/webpack/runtime/compat get default export","webpack://TypesenseInstantSearchAdapter/webpack/runtime/define property getters","webpack://TypesenseInstantSearchAdapter/webpack/runtime/hasOwnProperty shorthand","webpack://TypesenseInstantSearchAdapter/webpack/runtime/make namespace object","webpack://TypesenseInstantSearchAdapter/./src/TypesenseInstantsearchAdapter.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TypesenseInstantSearchAdapter\"] = factory();\n\telse\n\t\troot[\"TypesenseInstantSearchAdapter\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","\"use strict\";\n\nexport class Configuration {\n constructor(options = {}) {\n this.server = options.server || {\n nodes: [\n {\n host: \"localhost\",\n port: \"8108\",\n path: \"\",\n protocol: \"http\",\n },\n ],\n };\n\n this.server.cacheSearchResultsForSeconds = this.server.cacheSearchResultsForSeconds ?? 2 * 60;\n\n this.additionalSearchParameters = options.additionalSearchParameters ?? {};\n\n this.additionalSearchParameters.query_by =\n this.additionalSearchParameters.queryBy ?? this.additionalSearchParameters.query_by ?? \"\";\n\n this.additionalSearchParameters.preset =\n this.additionalSearchParameters.preset ?? this.additionalSearchParameters.preset ?? \"\";\n\n this.additionalSearchParameters.sort_by =\n this.additionalSearchParameters.sortBy ?? this.additionalSearchParameters.sort_by ?? \"\";\n\n this.additionalSearchParameters.highlight_full_fields =\n this.additionalSearchParameters.highlightFullFields ??\n this.additionalSearchParameters.highlight_full_fields ??\n this.additionalSearchParameters.query_by;\n\n this.geoLocationField = options.geoLocationField ?? \"_geoloc\";\n this.facetableFieldsWithSpecialCharacters = options.facetableFieldsWithSpecialCharacters ?? [];\n\n this.collectionSpecificSearchParameters = options.collectionSpecificSearchParameters ?? {};\n\n Object.keys(this.collectionSpecificSearchParameters).forEach((collection) => {\n const params = this.collectionSpecificSearchParameters[collection];\n params.query_by = params.queryBy ?? params.query_by;\n params.preset = params.preset ?? params.preset;\n params.sort_by = params.sortBy ?? params.sort_by;\n params.highlight_full_fields =\n params.highlightFullFields ??\n params.highlight_full_fields ??\n this.additionalSearchParameters.highlight_full_fields ??\n params.query_by;\n\n // Remove undefined values\n Object.keys(params).forEach((key) => (params[key] === undefined ? delete params[key] : {}));\n });\n\n this.renderingContent = options.renderingContent;\n this.flattenGroupedHits = options.flattenGroupedHits ?? true;\n this.facetByOptions = options.facetByOptions ?? {};\n this.filterByOptions = options.filterByOptions ?? {};\n this.collectionSpecificFacetByOptions = options.collectionSpecificFacetByOptions ?? {};\n this.collectionSpecificFilterByOptions = options.collectionSpecificFilterByOptions ?? {};\n }\n\n validate() {\n // Warn if camelCased parameters are used, suggest using snake_cased parameters instead\n if (\n this.additionalSearchParameters.queryBy ||\n Object.values(this.collectionSpecificSearchParameters).some((c) => c.queryBy)\n ) {\n console.warn(\n \"[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version.\" +\n \" We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js.\"\n );\n }\n\n /*\n * Either additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or\n * All collectionSpecificSearchParameters need to have query_by or preset\n *\n * */\n if (\n this.additionalSearchParameters.query_by.length === 0 &&\n this.additionalSearchParameters.preset.length === 0 &&\n (Object.keys(this.collectionSpecificSearchParameters).length === 0 ||\n Object.values(this.collectionSpecificSearchParameters).some(\n (c) => (c.query_by || \"\").length === 0 && (c.preset || \"\").length === 0\n ))\n ) {\n throw new Error(\n \"[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.\"\n );\n }\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class FacetSearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n }\n\n _adaptFacetHits(typesenseFacetCounts) {\n let adaptedResult = {};\n const facet = typesenseFacetCounts.find((facet) => facet.field_name === this.instantsearchRequest.params.facetName);\n\n adaptedResult = facet.counts.map((facetCount) => ({\n value: facetCount.value,\n highlighted: this._adaptHighlightTag(\n facetCount.highlighted,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n count: facetCount.count,\n }));\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedResult = {\n facetHits: this._adaptFacetHits(this.typesenseResponse.facet_counts),\n exhaustiveFacetsCount: true,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n };\n return adaptedResult;\n }\n}\n\nObject.assign(FacetSearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName, filterBy) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n if (filterBy) adaptedFilters.push(filterBy);\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n const res = adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n return res;\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by:\n this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) ||\n snakeCasedAdditionalSearchParameters.filter_by,\n\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n","export const utils = {\n _adaptHighlightTag(value, highlightPreTag, highlightPostTag) {\n return value\n .replace(new RegExp(\"\", \"g\"), highlightPreTag || \"\")\n .replace(new RegExp(\"\", \"g\"), highlightPostTag || \"\");\n },\n _adaptNumberOfPages() {\n const result = this.typesenseResponse.found / this.typesenseResponse.request_params.per_page;\n if (Number.isFinite(result)) {\n return Math.ceil(result);\n } else {\n return 1;\n }\n },\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.SearchClient = exports.Client = void 0;\nvar Client_1 = __importDefault(require(\"./Typesense/Client\"));\nexports.Client = Client_1.default;\nvar SearchClient_1 = __importDefault(require(\"./Typesense/SearchClient\"));\nexports.SearchClient = SearchClient_1.default;\nvar Errors = __importStar(require(\"./Typesense/Errors\"));\nexports.Errors = Errors;\nexports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors };\n//# sourceMappingURL=Typesense.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias = /** @class */ (function () {\n function Alias(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n Alias.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Alias.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Alias.prototype.endpointPath = function () {\n return \"\".concat(Aliases_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Alias;\n}());\nexports.default = Alias;\n//# sourceMappingURL=Alias.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/aliases\";\nvar Aliases = /** @class */ (function () {\n function Aliases(apiCall) {\n this.apiCall = apiCall;\n }\n Aliases.prototype.upsert = function (name, mapping) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)];\n });\n });\n };\n Aliases.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Aliases.prototype.endpointPath = function (aliasName) {\n return \"\".concat(Aliases.RESOURCEPATH, \"/\").concat(aliasName);\n };\n Object.defineProperty(Aliases, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Aliases;\n}());\nexports.default = Aliases;\n//# sourceMappingURL=Aliases.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule_1 = __importDefault(require(\"./AnalyticsRule\"));\nvar RESOURCEPATH = \"/analytics\";\nvar Analytics = /** @class */ (function () {\n function Analytics(apiCall) {\n this.apiCall = apiCall;\n this.individualAnalyticsRules = {};\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules_1.default(this.apiCall);\n }\n Analytics.prototype.rules = function (id) {\n if (id === undefined) {\n return this._analyticsRules;\n }\n else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule_1.default(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n };\n Object.defineProperty(Analytics, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Analytics;\n}());\nexports.default = Analytics;\n//# sourceMappingURL=Analytics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule = /** @class */ (function () {\n function AnalyticsRule(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n AnalyticsRule.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.endpointPath = function () {\n return \"\".concat(AnalyticsRules_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return AnalyticsRule;\n}());\nexports.default = AnalyticsRule;\n//# sourceMappingURL=AnalyticsRule.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/analytics/rules\";\nvar AnalyticsRules = /** @class */ (function () {\n function AnalyticsRules(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n AnalyticsRules.prototype.upsert = function (name, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)];\n });\n });\n };\n AnalyticsRules.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRules.prototype.endpointPath = function (operation) {\n return \"\".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(AnalyticsRules, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return AnalyticsRules;\n}());\nexports.default = AnalyticsRules;\n//# sourceMappingURL=AnalyticsRules.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __importDefault(require(\"axios\"));\nvar Errors_1 = require(\"./Errors\");\nvar TypesenseError_1 = __importDefault(require(\"./Errors/TypesenseError\"));\nvar APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nvar HEALTHY = true;\nvar UNHEALTHY = false;\nvar ApiCall = /** @class */ (function () {\n function ApiCall(configuration) {\n this.configuration = configuration;\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n this.logger = this.configuration.logger;\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n ApiCall.prototype.get = function (endpoint, queryParameters, _a) {\n if (queryParameters === void 0) { queryParameters = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_e) {\n return [2 /*return*/, this.performRequest(\"get\", endpoint, {\n queryParameters: queryParameters,\n abortSignal: abortSignal,\n responseType: responseType,\n })];\n });\n });\n };\n ApiCall.prototype.delete = function (endpoint, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"delete\", endpoint, { queryParameters: queryParameters })];\n });\n });\n };\n ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"post\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n additionalHeaders: additionalHeaders,\n })];\n });\n });\n };\n ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"put\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"patch\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.performRequest = function (requestType, endpoint, _a) {\n var _b, _c, _d;\n var _e = _a.queryParameters, queryParameters = _e === void 0 ? null : _e, _f = _a.bodyParameters, bodyParameters = _f === void 0 ? null : _f, _g = _a.additionalHeaders, additionalHeaders = _g === void 0 ? {} : _g, _h = _a.abortSignal, abortSignal = _h === void 0 ? null : _h, _j = _a.responseType, responseType = _j === void 0 ? undefined : _j, _k = _a.skipConnectionTimeout, skipConnectionTimeout = _k === void 0 ? false : _k;\n return __awaiter(this, void 0, void 0, function () {\n var requestNumber, lastException, _loop_1, this_1, numTries, state_1;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.configuration.validate();\n requestNumber = Date.now();\n this.logger.debug(\"Request #\".concat(requestNumber, \": Performing \").concat(requestType.toUpperCase(), \" request: \").concat(endpoint));\n _loop_1 = function (numTries) {\n var node, abortListener, requestOptions, cancelToken, source_1, response, error_1;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n node = this_1.getNextNode(requestNumber);\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Attempting \").concat(requestType.toUpperCase(), \" request Try #\").concat(numTries, \" to Node \").concat(node.index));\n if (abortSignal && abortSignal.aborted) {\n return [2 /*return*/, { value: Promise.reject(new Error(\"Request aborted by caller.\")) }];\n }\n abortListener = void 0;\n _m.label = 1;\n case 1:\n _m.trys.push([1, 3, 5, 6]);\n requestOptions = {\n method: requestType,\n url: this_1.uriFor(endpoint, node),\n headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType: responseType,\n validateStatus: function (status) {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n function (data, headers) {\n var transformedData = data;\n if (headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this_1.connectionTimeoutSeconds * 1000;\n }\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n if (this_1.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this_1.apiKey;\n }\n if (bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))) {\n requestOptions.data = bodyParameters;\n }\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n cancelToken = axios_1.default.CancelToken;\n source_1 = cancelToken.source();\n abortListener = function () { return source_1.cancel(); };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source_1.token;\n }\n return [4 /*yield*/, (0, axios_1.default)(requestOptions)];\n case 2:\n response = _m.sent();\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this_1.setNodeHealthcheck(node, HEALTHY);\n }\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" was made. Response Code was \").concat(response.status, \".\"));\n if (response.status >= 200 && response.status < 300) {\n return [2 /*return*/, { value: Promise.resolve(response.data) }];\n }\n else if (response.status < 500) {\n return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }];\n }\n else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message);\n }\n return [3 /*break*/, 6];\n case 3:\n error_1 = _m.sent();\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this_1.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error_1;\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" failed due to \\\"\").concat(error_1.code, \" \").concat(error_1.message).concat(error_1.response == null\n ? \"\"\n : \" - \" + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), \"\\\"\"));\n // this.logger.debug(error.stack)\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Sleeping for \").concat(this_1.retryIntervalSeconds, \"s and then retrying request...\"));\n return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)];\n case 4:\n _m.sent();\n return [3 /*break*/, 6];\n case 5:\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n numTries = 1;\n _l.label = 1;\n case 1:\n if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1(numTries)];\n case 2:\n state_1 = _l.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n _l.label = 3;\n case 3:\n numTries++;\n return [3 /*break*/, 1];\n case 4:\n this.logger.debug(\"Request #\".concat(requestNumber, \": No retries left. Raising last error\"));\n return [2 /*return*/, Promise.reject(lastException)];\n }\n });\n });\n };\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n ApiCall.prototype.getNextNode = function (requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: Node \").concat(this.nearestNode.index, \" is \").concat(this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"));\n if (this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(this.nearestNode.index));\n return this.nearestNode;\n }\n this.logger.debug(\"Request #\".concat(requestNumber, \": Falling back to individual nodes\"));\n }\n // Fallback to nodes as usual\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: \").concat(this.nodes\n .map(function (node) {\n return \"Node \".concat(node.index, \" is \").concat(node.isHealthy === true ? \"Healthy\" : \"Unhealthy\");\n })\n .join(\" || \")));\n var candidateNode = this.nodes[0];\n for (var i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(candidateNode.index));\n return candidateNode;\n }\n }\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\"Request #\".concat(requestNumber, \": No healthy nodes were found. Returning the next node, Node \").concat(candidateNode.index));\n return candidateNode;\n };\n ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Node \").concat(node.index, \" has exceeded healtcheckIntervalSeconds of \").concat(this.healthcheckIntervalSeconds, \". Adding it back into rotation.\"));\n }\n return isDueForHealthcheck;\n };\n ApiCall.prototype.initializeMetadataForNodes = function () {\n var _this = this;\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n this.nodes.forEach(function (node, i) {\n node.index = i;\n _this.setNodeHealthcheck(node, HEALTHY);\n });\n };\n ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n };\n ApiCall.prototype.uriFor = function (endpoint, node) {\n if (node.url != null) {\n return \"\".concat(node.url).concat(endpoint);\n }\n return \"\".concat(node.protocol, \"://\").concat(node.host, \":\").concat(node.port).concat(node.path).concat(endpoint);\n };\n ApiCall.prototype.defaultHeaders = function () {\n var defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n };\n ApiCall.prototype.timer = function (seconds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })];\n });\n });\n };\n ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) {\n var errorMessage = \"Request failed with HTTP code \".concat(response.status);\n if (typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\") {\n errorMessage += \" | Server said: \".concat(messageFromServer);\n }\n var error = new TypesenseError_1.default(errorMessage);\n if (response.status === 400) {\n error = new Errors_1.RequestMalformed(errorMessage);\n }\n else if (response.status === 401) {\n error = new Errors_1.RequestUnauthorized(errorMessage);\n }\n else if (response.status === 404) {\n error = new Errors_1.ObjectNotFound(errorMessage);\n }\n else if (response.status === 409) {\n error = new Errors_1.ObjectAlreadyExists(errorMessage);\n }\n else if (response.status === 422) {\n error = new Errors_1.ObjectUnprocessable(errorMessage);\n }\n else if (response.status >= 500 && response.status <= 599) {\n error = new Errors_1.ServerError(errorMessage);\n }\n else {\n error = new Errors_1.HTTPError(errorMessage);\n }\n error.httpStatus = response.status;\n return error;\n };\n return ApiCall;\n}());\nexports.default = ApiCall;\n//# sourceMappingURL=ApiCall.js.map","\"use strict\";\n/* eslint-disable no-dupe-class-members */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Collection_1 = __importDefault(require(\"./Collection\"));\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias_1 = __importDefault(require(\"./Alias\"));\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key_1 = __importDefault(require(\"./Key\"));\nvar Debug_1 = __importDefault(require(\"./Debug\"));\nvar Metrics_1 = __importDefault(require(\"./Metrics\"));\nvar Health_1 = __importDefault(require(\"./Health\"));\nvar Operations_1 = __importDefault(require(\"./Operations\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset_1 = __importDefault(require(\"./Preset\"));\nvar Analytics_1 = __importDefault(require(\"./Analytics\"));\nvar Client = /** @class */ (function () {\n function Client(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false;\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.debug = new Debug_1.default(this.apiCall);\n this.metrics = new Metrics_1.default(this.apiCall);\n this.health = new Health_1.default(this.apiCall);\n this.operations = new Operations_1.default(this.apiCall);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration);\n this._collections = new Collections_1.default(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases_1.default(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys_1.default(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets_1.default(this.apiCall);\n this.individualPresets = {};\n this.analytics = new Analytics_1.default(this.apiCall);\n }\n Client.prototype.collections = function (collectionName) {\n if (collectionName === undefined) {\n return this._collections;\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n Client.prototype.aliases = function (aliasName) {\n if (aliasName === undefined) {\n return this._aliases;\n }\n else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n };\n Client.prototype.keys = function (id) {\n if (id === undefined) {\n return this._keys;\n }\n else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key_1.default(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n };\n Client.prototype.presets = function (id) {\n if (id === undefined) {\n return this._presets;\n }\n else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset_1.default(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n };\n return Client;\n}());\nexports.default = Client;\n//# sourceMappingURL=Client.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Errors_1 = require(\"./Errors\");\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override_1 = __importDefault(require(\"./Override\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym_1 = __importDefault(require(\"./Synonym\"));\nvar Document_1 = require(\"./Document\");\nvar Collection = /** @class */ (function () {\n function Collection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.individualDocuments = {};\n this.individualOverrides = {};\n this.individualSynonyms = {};\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration);\n this._overrides = new Overrides_1.default(this.name, this.apiCall);\n this._synonyms = new Synonyms_1.default(this.name, this.apiCall);\n }\n Collection.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Collection.prototype.update = function (schema) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)];\n });\n });\n };\n Collection.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Collection.prototype.exists = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.retrieve()];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n e_1 = _a.sent();\n if (e_1 instanceof Errors_1.ObjectNotFound)\n return [2 /*return*/, false];\n throw e_1;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Collection.prototype.documents = function (documentId) {\n if (!documentId) {\n return this._documents;\n }\n else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall);\n }\n return this.individualDocuments[documentId];\n }\n };\n Collection.prototype.overrides = function (overrideId) {\n if (overrideId === undefined) {\n return this._overrides;\n }\n else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall);\n }\n return this.individualOverrides[overrideId];\n }\n };\n Collection.prototype.synonyms = function (synonymId) {\n if (synonymId === undefined) {\n return this._synonyms;\n }\n else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall);\n }\n return this.individualSynonyms[synonymId];\n }\n };\n Collection.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Collection;\n}());\nexports.default = Collection;\n//# sourceMappingURL=Collection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/collections\";\nvar Collections = /** @class */ (function () {\n function Collections(apiCall) {\n this.apiCall = apiCall;\n }\n Collections.prototype.create = function (schema, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)];\n });\n });\n };\n Collections.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Object.defineProperty(Collections, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Collections;\n}());\nexports.default = Collections;\n//# sourceMappingURL=Collections.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar logger = __importStar(require(\"loglevel\"));\nvar Errors_1 = require(\"./Errors\");\nvar Configuration = /** @class */ (function () {\n function Configuration(options) {\n var _this = this;\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map(function (node) { return _this.setDefaultPathInNode(node); })\n .map(function (node) { return _this.setDefaultPortInNode(node); })\n .map(function (node) { return (__assign({}, node)); }); // Make a deep copy\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n options.numRetries ||\n this.nodes.length + (this.nearestNode == null ? 0 : 1) ||\n 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n this.additionalHeaders = options.additionalHeaders;\n this.showDeprecationWarnings(options);\n this.validate();\n }\n Configuration.prototype.validate = function () {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\");\n }\n if (this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\");\n }\n if (this.apiKey == null) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n return true;\n };\n Configuration.prototype.validateNodes = function () {\n var _this = this;\n return this.nodes.some(function (node) {\n return _this.isNodeMissingAnyParameters(node);\n });\n };\n Configuration.prototype.isNodeMissingAnyParameters = function (node) {\n return (![\"protocol\", \"host\", \"port\", \"path\"].every(function (key) {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null);\n };\n Configuration.prototype.setDefaultPathInNode = function (node) {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n };\n Configuration.prototype.setDefaultPortInNode = function (node) {\n if (node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n };\n Configuration.prototype.showDeprecationWarnings = function (options) {\n if (options.timeoutSeconds) {\n this.logger.warn(\"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\");\n }\n if (options.masterNode) {\n this.logger.warn(\"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n };\n Configuration.prototype.shuffleArray = function (array) {\n var _a;\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1];\n }\n };\n return Configuration;\n}());\nexports.default = Configuration;\n//# sourceMappingURL=Configuration.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/debug\";\nvar Debug = /** @class */ (function () {\n function Debug(apiCall) {\n this.apiCall = apiCall;\n }\n Debug.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Debug;\n}());\nexports.default = Debug;\n//# sourceMappingURL=Debug.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Document = void 0;\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Document = /** @class */ (function () {\n function Document(collectionName, documentId, apiCall) {\n this.collectionName = collectionName;\n this.documentId = documentId;\n this.apiCall = apiCall;\n }\n Document.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Document.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Document.prototype.update = function (partialDocument, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)];\n });\n });\n };\n Document.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, \"/\").concat(this.documentId);\n };\n return Document;\n}());\nexports.Document = Document;\n//# sourceMappingURL=Document.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Errors_1 = require(\"./Errors\");\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar Documents = /** @class */ (function (_super) {\n __extends(Documents, _super);\n function Documents(collectionName, apiCall, configuration) {\n return _super.call(this, collectionName, apiCall, configuration) || this;\n }\n Documents.prototype.create = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)];\n });\n });\n };\n Documents.prototype.upsert = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"upsert\" }))];\n });\n });\n };\n Documents.prototype.update = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n if (options[\"filter_by\"] != null) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))];\n }\n else {\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"update\" }))];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.delete = function (idOrQuery) {\n if (idOrQuery === void 0) { idOrQuery = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof idOrQuery === \"string\") {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(idOrQuery), idOrQuery)];\n }\n else {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(), idOrQuery)];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.createMany = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.configuration.logger.warn(\"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\");\n return [2 /*return*/, this.import(documents, options)];\n });\n });\n };\n Documents.prototype.import = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map(function (document) { return JSON.stringify(document); })\n .join(\"\\n\");\n }\n catch (error) {\n // if rangeerror, throw custom error message\n if (RangeError instanceof error &&\n (error === null || error === void 0 ? void 0 : error.includes(\"Too many properties to enumerate\"))) {\n throw new Error(\"\".concat(error, \"\\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\\n\\n Please try reducing the number of keys in your document, or using CURL to import your data.\\n \"));\n }\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n }\n else {\n documentsInJSONLFormat = documents;\n }\n return [4 /*yield*/, this.apiCall.performRequest(\"post\", this.endpointPath(\"import\"), {\n queryParameters: options,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n })];\n case 1:\n resultsInJSONLFormat = _a.sent();\n if (Array.isArray(documents)) {\n resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map(function (r) { return JSON.parse(r); });\n failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; });\n if (failedItems.length > 0) {\n throw new Errors_1.ImportError(\"\".concat(resultsInJSONFormat.length - failedItems.length, \" documents imported successfully, \").concat(failedItems.length, \" documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\"), resultsInJSONFormat);\n }\n else {\n return [2 /*return*/, resultsInJSONFormat];\n }\n }\n else {\n return [2 /*return*/, resultsInJSONLFormat];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n Documents.prototype.export = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options)];\n });\n });\n };\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n Documents.prototype.exportStream = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n })];\n });\n });\n };\n return Documents;\n}(SearchOnlyDocuments_1.SearchOnlyDocuments));\nexports.default = Documents;\n//# sourceMappingURL=Documents.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar HTTPError = /** @class */ (function (_super) {\n __extends(HTTPError, _super);\n function HTTPError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return HTTPError;\n}(TypesenseError_1.default));\nexports.default = HTTPError;\n//# sourceMappingURL=HTTPError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ImportError = /** @class */ (function (_super) {\n __extends(ImportError, _super);\n function ImportError(message, importResults) {\n var _this = _super.call(this, message) || this;\n _this.importResults = importResults;\n return _this;\n }\n return ImportError;\n}(TypesenseError_1.default));\nexports.default = ImportError;\n//# sourceMappingURL=ImportError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar MissingConfigurationError = /** @class */ (function (_super) {\n __extends(MissingConfigurationError, _super);\n function MissingConfigurationError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MissingConfigurationError;\n}(TypesenseError_1.default));\nexports.default = MissingConfigurationError;\n//# sourceMappingURL=MissingConfigurationError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectAlreadyExists = /** @class */ (function (_super) {\n __extends(ObjectAlreadyExists, _super);\n function ObjectAlreadyExists() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectAlreadyExists;\n}(TypesenseError_1.default));\nexports.default = ObjectAlreadyExists;\n//# sourceMappingURL=ObjectAlreadyExists.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectNotFound = /** @class */ (function (_super) {\n __extends(ObjectNotFound, _super);\n function ObjectNotFound() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectNotFound;\n}(TypesenseError_1.default));\nexports.default = ObjectNotFound;\n//# sourceMappingURL=ObjectNotFound.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectUnprocessable = /** @class */ (function (_super) {\n __extends(ObjectUnprocessable, _super);\n function ObjectUnprocessable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectUnprocessable;\n}(TypesenseError_1.default));\nexports.default = ObjectUnprocessable;\n//# sourceMappingURL=ObjectUnprocessable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestMalformed = /** @class */ (function (_super) {\n __extends(RequestMalformed, _super);\n function RequestMalformed() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestMalformed;\n}(TypesenseError_1.default));\nexports.default = RequestMalformed;\n//# sourceMappingURL=RequestMalformed.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestUnauthorized = /** @class */ (function (_super) {\n __extends(RequestUnauthorized, _super);\n function RequestUnauthorized() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestUnauthorized;\n}(TypesenseError_1.default));\nexports.default = RequestUnauthorized;\n//# sourceMappingURL=RequestUnauthorized.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ServerError = /** @class */ (function (_super) {\n __extends(ServerError, _super);\n function ServerError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ServerError;\n}(TypesenseError_1.default));\nexports.default = ServerError;\n//# sourceMappingURL=ServerError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError = /** @class */ (function (_super) {\n __extends(TypesenseError, _super);\n // Source: https://stackoverflow.com/a/58417721/123545\n function TypesenseError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.name = _newTarget.name;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TypesenseError;\n}(Error));\nexports.default = TypesenseError;\n//# sourceMappingURL=TypesenseError.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0;\nvar HTTPError_1 = __importDefault(require(\"./HTTPError\"));\nexports.HTTPError = HTTPError_1.default;\nvar MissingConfigurationError_1 = __importDefault(require(\"./MissingConfigurationError\"));\nexports.MissingConfigurationError = MissingConfigurationError_1.default;\nvar ObjectAlreadyExists_1 = __importDefault(require(\"./ObjectAlreadyExists\"));\nexports.ObjectAlreadyExists = ObjectAlreadyExists_1.default;\nvar ObjectNotFound_1 = __importDefault(require(\"./ObjectNotFound\"));\nexports.ObjectNotFound = ObjectNotFound_1.default;\nvar ObjectUnprocessable_1 = __importDefault(require(\"./ObjectUnprocessable\"));\nexports.ObjectUnprocessable = ObjectUnprocessable_1.default;\nvar RequestMalformed_1 = __importDefault(require(\"./RequestMalformed\"));\nexports.RequestMalformed = RequestMalformed_1.default;\nvar RequestUnauthorized_1 = __importDefault(require(\"./RequestUnauthorized\"));\nexports.RequestUnauthorized = RequestUnauthorized_1.default;\nvar ServerError_1 = __importDefault(require(\"./ServerError\"));\nexports.ServerError = ServerError_1.default;\nvar ImportError_1 = __importDefault(require(\"./ImportError\"));\nexports.ImportError = ImportError_1.default;\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nexports.TypesenseError = TypesenseError_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/health\";\nvar Health = /** @class */ (function () {\n function Health(apiCall) {\n this.apiCall = apiCall;\n }\n Health.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Health;\n}());\nexports.default = Health;\n//# sourceMappingURL=Health.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key = /** @class */ (function () {\n function Key(id, apiCall) {\n this.id = id;\n this.apiCall = apiCall;\n }\n Key.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Key.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Key.prototype.endpointPath = function () {\n return \"\".concat(Keys_1.default.RESOURCEPATH, \"/\").concat(this.id);\n };\n return Key;\n}());\nexports.default = Key;\n//# sourceMappingURL=Key.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar crypto_1 = require(\"crypto\");\nvar RESOURCEPATH = \"/keys\";\nvar Keys = /** @class */ (function () {\n function Keys(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n Keys.prototype.create = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)];\n });\n });\n };\n Keys.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when usined with the search endpoint.\n var paramsJSON = JSON.stringify(parameters);\n var digest = Buffer.from((0, crypto_1.createHmac)(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"));\n var keyPrefix = searchKey.substr(0, 4);\n var rawScopedKey = \"\".concat(digest).concat(keyPrefix).concat(paramsJSON);\n return Buffer.from(rawScopedKey).toString(\"base64\");\n };\n Object.defineProperty(Keys, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Keys;\n}());\nexports.default = Keys;\n//# sourceMappingURL=Keys.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/metrics.json\";\nvar Metrics = /** @class */ (function () {\n function Metrics(apiCall) {\n this.apiCall = apiCall;\n }\n Metrics.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Metrics;\n}());\nexports.default = Metrics;\n//# sourceMappingURL=Metrics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar RESOURCEPATH = \"/multi_search\";\nvar MultiSearch = /** @class */ (function () {\n function MultiSearch(apiCall, configuration, useTextContentType) {\n if (useTextContentType === void 0) { useTextContentType = false; }\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.useTextContentType = useTextContentType;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n MultiSearch.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) {\n if (commonParams === void 0) { commonParams = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c;\n return __awaiter(this, void 0, void 0, function () {\n var additionalHeaders, additionalQueryParams, queryParams;\n return __generator(this, function (_d) {\n additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n queryParams = Object.assign({}, commonParams, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })];\n });\n });\n };\n return MultiSearch;\n}());\nexports.default = MultiSearch;\n//# sourceMappingURL=MultiSearch.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/operations\";\nvar Operations = /** @class */ (function () {\n function Operations(apiCall) {\n this.apiCall = apiCall;\n }\n Operations.prototype.perform = function (operationName, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(\"\".concat(RESOURCEPATH, \"/\").concat(operationName), {}, queryParameters)];\n });\n });\n };\n return Operations;\n}());\nexports.default = Operations;\n//# sourceMappingURL=Operations.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override = /** @class */ (function () {\n function Override(collectionName, overrideId, apiCall) {\n this.collectionName = collectionName;\n this.overrideId = overrideId;\n this.apiCall = apiCall;\n }\n Override.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Override.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Override.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, \"/\").concat(this.overrideId);\n };\n return Override;\n}());\nexports.default = Override;\n//# sourceMappingURL=Override.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/overrides\";\nvar Overrides = /** @class */ (function () {\n function Overrides(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Overrides.prototype.upsert = function (overrideId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];\n });\n });\n };\n Overrides.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Overrides.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Overrides, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Overrides;\n}());\nexports.default = Overrides;\n//# sourceMappingURL=Overrides.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset = /** @class */ (function () {\n function Preset(presetId, apiCall) {\n this.presetId = presetId;\n this.apiCall = apiCall;\n }\n Preset.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Preset.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Preset.prototype.endpointPath = function () {\n return \"\".concat(Presets_1.default.RESOURCEPATH, \"/\").concat(this.presetId);\n };\n return Preset;\n}());\nexports.default = Preset;\n//# sourceMappingURL=Preset.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/presets\";\nvar Presets = /** @class */ (function () {\n function Presets(apiCall) {\n this.apiCall = apiCall;\n }\n Presets.prototype.upsert = function (presetId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)];\n });\n });\n };\n Presets.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Presets.prototype.endpointPath = function (operation) {\n return \"\".concat(Presets.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Presets, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Presets;\n}());\nexports.default = Presets;\n//# sourceMappingURL=Presets.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultCacheResponseForSeconds = 2 * 60;\nvar defaultMaxSize = 100;\nvar RequestWithCache = /** @class */ (function () {\n function RequestWithCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n RequestWithCache.prototype.clearCache = function () {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n };\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b;\n isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n if (isCacheDisabled) {\n return [2 /*return*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n }\n requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments);\n cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n now = Date.now();\n if (cacheEntry) {\n isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return [2 /*return*/, Promise.resolve(cacheEntry.response)];\n }\n else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON);\n if (cachePromiseEntry) {\n isEntryValid = now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry);\n return [2 /*return*/, cachePromiseEntry.responsePromise];\n }\n else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n responsePromise = requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false));\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise: responsePromise,\n });\n return [4 /*yield*/, responsePromise];\n case 1:\n response = _c.sent();\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response: response,\n });\n isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n return RequestWithCache;\n}());\nexports.default = RequestWithCache;\n//# sourceMappingURL=RequestWithCache.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar SearchOnlyCollection_1 = require(\"./SearchOnlyCollection\");\nvar SearchClient = /** @class */ (function () {\n function SearchClient(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;\n if (options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000) {\n console.warn(\"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\");\n options.sendApiKeyAsQueryParam = false;\n }\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n SearchClient.prototype.clearCache = function () {\n this.multiSearch.clearCache();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(function (_a) {\n var _ = _a[0], collection = _a[1];\n collection.documents().clearCache();\n });\n };\n SearchClient.prototype.collections = function (collectionName) {\n if (!collectionName) {\n throw new Error(\"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\");\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n return SearchClient;\n}());\nexports.default = SearchClient;\n//# sourceMappingURL=SearchClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyCollection = void 0;\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar SearchOnlyCollection = /** @class */ (function () {\n function SearchOnlyCollection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration);\n }\n SearchOnlyCollection.prototype.documents = function () {\n return this._documents;\n };\n return SearchOnlyCollection;\n}());\nexports.SearchOnlyCollection = SearchOnlyCollection;\n//# sourceMappingURL=SearchOnlyCollection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyDocuments = void 0;\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/documents\";\nvar SearchOnlyDocuments = /** @class */ (function () {\n function SearchOnlyDocuments(collectionName, apiCall, configuration) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n SearchOnlyDocuments.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n SearchOnlyDocuments.prototype.search = function (searchParameters, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d;\n return __awaiter(this, void 0, void 0, function () {\n var additionalQueryParams, key, queryParams;\n return __generator(this, function (_e) {\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n queryParams = Object.assign({}, searchParameters, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath(\"search\"), queryParams, { abortSignal: abortSignal }], {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n })];\n });\n });\n };\n SearchOnlyDocuments.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(SearchOnlyDocuments, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return SearchOnlyDocuments;\n}());\nexports.SearchOnlyDocuments = SearchOnlyDocuments;\n//# sourceMappingURL=SearchOnlyDocuments.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym = /** @class */ (function () {\n function Synonym(collectionName, synonymId, apiCall) {\n this.collectionName = collectionName;\n this.synonymId = synonymId;\n this.apiCall = apiCall;\n }\n Synonym.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, \"/\").concat(this.synonymId);\n };\n return Synonym;\n}());\nexports.default = Synonym;\n//# sourceMappingURL=Synonym.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/synonyms\";\nvar Synonyms = /** @class */ (function () {\n function Synonyms(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Synonyms.prototype.upsert = function (synonymId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)];\n });\n });\n };\n Synonyms.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonyms.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Synonyms, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Synonyms;\n}());\nexports.default = Synonyms;\n//# sourceMappingURL=Synonyms.js.map","/* (ignored) */","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\"use strict\";\n\nimport { Configuration } from \"./Configuration\";\nimport { SearchClient as TypesenseSearchClient } from \"typesense\";\nimport { SearchRequestAdapter } from \"./SearchRequestAdapter\";\nimport { SearchResponseAdapter } from \"./SearchResponseAdapter\";\nimport { FacetSearchResponseAdapter } from \"./FacetSearchResponseAdapter\";\n\nexport default class TypesenseInstantsearchAdapter {\n constructor(options) {\n this.updateConfiguration(options);\n this.searchClient = {\n clearCache: () => this.clearCache(),\n search: (instantsearchRequests) => this.searchTypesenseAndAdapt(instantsearchRequests),\n searchForFacetValues: (instantsearchRequests) =>\n this.searchTypesenseForFacetValuesAndAdapt(instantsearchRequests),\n };\n }\n\n async searchTypesenseAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new SearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration,\n typesenseResponse.results\n );\n return responseAdapter.adapt();\n });\n\n return {\n results: adaptedResponses,\n };\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async searchTypesenseForFacetValuesAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new FacetSearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration\n );\n return responseAdapter.adapt();\n });\n\n return adaptedResponses;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async _adaptAndPerformTypesenseRequest(instantsearchRequests) {\n const requestAdapter = new SearchRequestAdapter(instantsearchRequests, this.typesenseClient, this.configuration);\n const typesenseResponse = await requestAdapter.request();\n return typesenseResponse;\n }\n\n clearCache() {\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return this.searchClient;\n }\n\n updateConfiguration(options) {\n this.configuration = new Configuration(options);\n this.configuration.validate();\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return true;\n }\n\n _validateTypesenseResult(typesenseResult) {\n if (typesenseResult.error) {\n throw new Error(`${typesenseResult.code} - ${typesenseResult.error}`);\n }\n if (!typesenseResult.hits && !typesenseResult.grouped_hits) {\n throw new Error(`Did not find any hits. ${typesenseResult.code} - ${typesenseResult.error}`);\n }\n }\n}\n"],"names":["Configuration","options","server","nodes","host","port","path","protocol","cacheSearchResultsForSeconds","additionalSearchParameters","query_by","queryBy","preset","sort_by","sortBy","highlight_full_fields","highlightFullFields","geoLocationField","facetableFieldsWithSpecialCharacters","collectionSpecificSearchParameters","Object","keys","forEach","collection","params","key","undefined","renderingContent","flattenGroupedHits","facetByOptions","filterByOptions","collectionSpecificFacetByOptions","collectionSpecificFilterByOptions","values","some","c","console","warn","length","Error","utils","FacetSearchResponseAdapter","typesenseResponse","instantsearchRequest","typesenseFacetCounts","adaptedResult","facet","find","field_name","facetName","counts","map","facetCount","value","highlighted","_adaptHighlightTag","highlightPreTag","highlightPostTag","count","facetHits","_adaptFacetHits","facet_counts","exhaustiveFacetsCount","processingTimeMS","search_time_ms","assign","prototype","SearchRequestAdapter","instantsearchRequests","typesenseClient","configuration","fieldName","collectionName","exactMatch","facetFilters","transformedTypesenseFilters","item","Array","isArray","intermediateFacetFilters","facetFilter","_parseFacetFilter","fieldValue","push","error","join","fieldValues","reduce","result","startsWith","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","v","_escapeFacetValue","typesenseFilterString","filter","f","filterStringMatchingRegex","facetFilterMatches","sanitizedFacetableFieldsWithSpecialCharacters","flat","replace","RegExp","match","constructor","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","JSON","stringify","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","split","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filterBy","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","res","indexName","INDEX_NAME_MATCHING_REGEX","facets","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","entries","_camelToSnakeCase","typesenseSearchParams","adaptedSortBy","_adaptSortBy","q","query","facet_by","_adaptFacetBy","filter_by","_adaptFilters","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","typesenseVectorQuery","vector_query","fromEntries","_","str","toLowerCase","searches","_buildSearchParameters","multiSearch","perform","SearchResponseAdapter","allTypesenseResponses","typesenseGroupedHits","groupedHit","adaptedHits","_adaptHits","hits","hit","group_key","found","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","document","objectID","id","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","includes","geoLocationValue","_geoloc","lat","lng","snippetOrValue","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","attribute","matchLevel","matchedWords","highlights","matched_tokens","indices","k","matchedIndices","_adaptHighlightNullValue","unhighlightedValueFromArray","index","indexOf","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","stats","facetOrdering","order","Set","fc","concat","r","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","nbPages","_adaptNumberOfPages","request_params","_adaptFacets","facets_stats","_adaptFacetStats","isFinite","Math","ceil","SearchClient","TypesenseSearchClient","TypesenseInstantsearchAdapter","updateConfiguration","searchClient","clearCache","search","searchTypesenseAndAdapt","searchForFacetValues","searchTypesenseForFacetValuesAndAdapt","_adaptAndPerformTypesenseRequest","adaptedResponses","results","typesenseResult","_validateTypesenseResult","responseAdapter","adapt","requestAdapter","request","validate","code"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/typesense-instantsearch-adapter.min.js b/dist/typesense-instantsearch-adapter.min.js index 64eedeb..b7472d6 100644 --- a/dist/typesense-instantsearch-adapter.min.js +++ b/dist/typesense-instantsearch-adapter.min.js @@ -1,3 +1,3 @@ /*! For license information please see typesense-instantsearch-adapter.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.TypesenseInstantSearchAdapter=e():t.TypesenseInstantSearchAdapter=e()}(self,(()=>(()=>{var t={9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),a=n(5327),s=n(4097),u=n(4109),c=n(7985),l=n(5061),f=n(7874),h=n(5263);t.exports=function(t){return new Promise((function(e,n){var p,d=t.data,y=t.headers,v=t.responseType;function g(){t.cancelToken&&t.cancelToken.unsubscribe(p),t.signal&&t.signal.removeEventListener("abort",p)}r.isFormData(d)&&delete y["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var m=t.auth.username||"",_=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";y.Authorization="Basic "+btoa(m+":"+_)}var w=s(t.baseURL,t.url);function P(){if(b){var r="getAllResponseHeaders"in b?u(b.getAllResponseHeaders()):null,i={data:v&&"text"!==v&&"json"!==v?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:r,config:t,request:b};o((function(t){e(t),g()}),(function(t){n(t),g()}),i),b=null}}if(b.open(t.method.toUpperCase(),a(w,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=P:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(P)},b.onabort=function(){b&&(n(l("Request aborted",t,"ECONNABORTED",b)),b=null)},b.onerror=function(){n(l("Network Error",t,null,b)),b=null},b.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||f;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(l(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},r.isStandardBrowserEnv()){var S=(t.withCredentials||c(w))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;S&&(y[t.xsrfHeaderName]=S)}"setRequestHeader"in b&&r.forEach(y,(function(t,e){void 0===d&&"content-type"===e.toLowerCase()?delete y[e]:b.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),v&&"json"!==v&&(b.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(p=function(t){b&&(n(!t||t&&t.type?new h("canceled"):t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(p),t.signal&&(t.signal.aborted?p():t.signal.addEventListener("abort",p))),d||(d=null),b.send(d)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),a=n(7185),s=function t(e){var n=new i(e),s=o(i.prototype.request,n);return r.extend(s,i.prototype,n),r.extend(s,n),s.create=function(n){return t(a(e,n))},s}(n(5546));s.Axios=i,s.Cancel=n(5263),s.CancelToken=n(4972),s.isCancel=n(6502),s.VERSION=n(7288).version,s.all=function(t){return Promise.all(t)},s.spread=n(8713),s.isAxiosError=n(6268),t.exports=s,t.exports.default=s},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),a=n(3572),s=n(7185),u=n(4875),c=u.validators;function l(t){this.defaults=t,this.interceptors={request:new i,response:new i}}l.prototype.request=function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var n=e.transitional;void 0!==n&&u.assertOptions(n,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var r=[],o=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(o=o&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,l=[];if(this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)})),!o){var f=[a,void 0];for(Array.prototype.unshift.apply(f,r),f=f.concat(l),i=Promise.resolve(e);f.length;)i=i.then(f.shift(),f.shift());return i}for(var h=e;r.length;){var p=r.shift(),d=r.shift();try{h=p(h)}catch(t){d(t);break}}try{i=a(h)}catch(t){return Promise.reject(t)}for(;l.length;)i=i.then(l.shift(),l.shift());return i},l.prototype.getUri=function(t){return t=s(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){l.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){l.prototype[t]=function(e,n,r){return this.request(s(r||{},{method:t,url:e,data:n}))}})),t.exports=l},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var a=new Error(t);return r(a,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),a=n(5546),s=n(5263);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s("canceled")}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return u(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(u(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={};function o(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function i(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],e[n])}function a(t){if(!r.isUndefined(e[t]))return o(void 0,e[t])}function s(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,e[n])}function u(n){return n in e?o(t[n],e[n]):n in t?o(void 0,t[n]):void 0}var c={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:u};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||i,o=e(t);r.isUndefined(o)&&e!==u||(n[t]=o)})),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867),o=n(5546);t.exports=function(t,e,n){var i=this||o;return r.forEach(n,(function(n){t=n.call(i,t,e)})),t}},5546:(t,e,n)=>{"use strict";var r=n(4867),o=n(6016),i=n(481),a=n(7874),s={"Content-Type":"application/x-www-form-urlencoded"};function u(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var c,l={transitional:a,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=n(5448)),c),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(u(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)||e&&"application/json"===e["Content-Type"]?(u(e,"application/json"),function(t,e,n){if(r.isString(t))try{return(0,JSON.parse)(t),r.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||l.transitional,n=e&&e.silentJSONParsing,o=e&&e.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||o&&r.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(a){if("SyntaxError"===t.name)throw i(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){l.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){l.headers[t]=r.merge(s)})),t.exports=l},7874:t=>{"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:t=>{t.exports={version:"0.26.1"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var a=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},6268:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t){return r.isObject(t)&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,a={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:(t,e,n)=>{"use strict";var r=n(7288).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var i={};o.transitional=function(t,e,n){function o(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,a){if(!1===t)throw new Error(o(r," has been removed"+(e?" in "+e:"")));return e&&!i[r]&&(i[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,a)}},t.exports={assertOptions:function(t,e,n){if("object"!=typeof t)throw new TypeError("options must be an object");for(var r=Object.keys(t),o=r.length;o-- >0;){var i=r[o],a=e[i];if(a){var s=t[i],u=void 0===s||a(s,i,t);if(!0!==u)throw new TypeError("option "+i+" must be "+u)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:o}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return Array.isArray(t)}function a(t){return void 0===t}function s(t){return"[object ArrayBuffer]"===o.call(t)}function u(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function l(t){return"[object Function]"===o.call(t)}function f(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n=0&&n<=s.levels.SILENT))throw"log.setLevel() called with invalid level: "+n;if(i=n,!1!==o&&function(t){var n=(r[t]||"silent").toUpperCase();if(typeof window!==e&&c){try{return void(window.localStorage[c]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(c)+"="+n+";"}catch(t){}}}(n),a.call(s,n,t),typeof console===e&&n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0},transformResponse:[function(t,e){var n=t;return void 0!==e&&"string"==typeof t&&e["content-type"]&&e["content-type"].startsWith("application/json")&&(n=JSON.parse(t)),n}]},!0!==w&&(b.timeout=1e3*h.connectionTimeoutSeconds),f&&0!==Object.keys(f).length&&(b.params=f),h.sendApiKeyAsQueryParam&&(b.params=b.params||{},b.params["x-typesense-api-key"]=h.apiKey),p&&("string"==typeof p&&0!==p.length||"object"==typeof p&&0!==Object.keys(p).length)&&(b.data=p),g&&(_=a.default.CancelToken,P=_.source(),v=function(){return P.cancel()},g.addEventListener("abort",v),b.cancelToken=P.token),[4,(0,a.default)(b)];case 2:if((S=o.sent()).status>=1&&S.status<=499&&h.setNodeHealthcheck(d,c),h.logger.debug("Request #".concat(n,": Request to Node ").concat(d.index," was made. Response Code was ").concat(S.status,".")),S.status>=200&&S.status<300)return[2,{value:Promise.resolve(S.data)}];if(S.status<500)return[2,{value:Promise.reject(h.customErrorForResponse(S,null===(i=S.data)||void 0===i?void 0:i.message))}];throw h.customErrorForResponse(S,null===(s=S.data)||void 0===s?void 0:s.message);case 3:return O=o.sent(),h.setNodeHealthcheck(d,!1),r=O,h.logger.warn("Request #".concat(n,": Request to Node ").concat(d.index,' failed due to "').concat(O.code," ").concat(O.message).concat(null==O.response?"":" - "+JSON.stringify(null===(u=O.response)||void 0===u?void 0:u.data),'"')),h.logger.warn("Request #".concat(n,": Sleeping for ").concat(h.retryIntervalSeconds,"s and then retrying request...")),[4,h.timer(h.retryIntervalSeconds)];case 4:return o.sent(),[3,6];case 5:return g&&v&&g.removeEventListener("abort",v),[7];case 6:return[2]}}))},h=this,d=1,b.label=1;case 1:return d<=this.numRetriesPerRequest+1?[5,l(d)]:[3,4];case 2:if("object"==typeof(v=b.sent()))return[2,v.value];b.label=3;case 3:return d++,[3,1];case 4:return this.logger.debug("Request #".concat(n,": No retries left. Raising last error")),[2,Promise.reject(r)]}}))}))},t.prototype.getNextNode=function(t){if(void 0===t&&(t=0),null!=this.nearestNode){if(this.logger.debug("Request #".concat(t,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,t))return this.logger.debug("Request #".concat(t,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(t,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(t,": Nodes Health: ").concat(this.nodes.map((function(t){return"Node ".concat(t.index," is ").concat(!0===t.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var e=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(e=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(e,t))return this.logger.debug("Request #".concat(t,": Updated current node to Node ").concat(e.index)),e;return this.logger.debug("Request #".concat(t,": No healthy nodes were found. Returning the next node, Node ").concat(e.index)),e},t.prototype.nodeDueForHealthcheck=function(t,e){void 0===e&&(e=0);var n=Date.now()-t.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(e,": Node ").concat(t.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n},t.prototype.initializeMetadataForNodes=function(){var t=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,c)),this.nodes.forEach((function(e,n){e.index=n,t.setNodeHealthcheck(e,c)}))},t.prototype.setNodeHealthcheck=function(t,e){t.isHealthy=e,t.lastAccessTimestamp=Date.now()},t.prototype.uriFor=function(t,e){return null!=e.url?"".concat(e.url).concat(t):"".concat(e.protocol,"://").concat(e.host,":").concat(e.port).concat(e.path).concat(t)},t.prototype.defaultHeaders=function(){var t={};return this.sendApiKeyAsQueryParam||(t["X-TYPESENSE-API-KEY"]=this.apiKey),t["Content-Type"]="application/json",t},t.prototype.timer=function(t){return r(this,void 0,void 0,(function(){return o(this,(function(e){return[2,new Promise((function(e){return setTimeout(e,1e3*t)}))]}))}))},t.prototype.customErrorForResponse=function(t,e){var n="Request failed with HTTP code ".concat(t.status);"string"==typeof e&&""!==e.trim()&&(n+=" | Server said: ".concat(e));var r=new u.default(n);return(r=400===t.status?new s.RequestMalformed(n):401===t.status?new s.RequestUnauthorized(n):404===t.status?new s.ObjectNotFound(n):409===t.status?new s.ObjectAlreadyExists(n):422===t.status?new s.ObjectUnprocessable(n):t.status>=500&&t.status<=599?new s.ServerError(n):new s.HTTPError(n)).httpStatus=t.status,r},t}();e.default=l},4339:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2554)),i=r(n(9777)),a=r(n(6581)),s=r(n(8243)),u=r(n(5346)),c=r(n(8480)),l=r(n(2708)),f=r(n(7309)),h=r(n(7634)),p=r(n(6029)),d=r(n(1930)),y=r(n(3095)),v=r(n(9092)),g=r(n(1036)),b=r(n(1040)),m=r(n(6845)),_=function(){function t(t){var e;t.sendApiKeyAsQueryParam=null!==(e=t.sendApiKeyAsQueryParam)&&void 0!==e&&e,this.configuration=new o.default(t),this.apiCall=new i.default(this.configuration),this.debug=new h.default(this.apiCall),this.metrics=new p.default(this.apiCall),this.health=new d.default(this.apiCall),this.operations=new y.default(this.apiCall),this.multiSearch=new v.default(this.apiCall,this.configuration),this._collections=new a.default(this.apiCall),this.individualCollections={},this._aliases=new u.default(this.apiCall),this.individualAliases={},this._keys=new l.default(this.apiCall),this.individualKeys={},this._presets=new g.default(this.apiCall),this.individualPresets={},this.analytics=new m.default(this.apiCall)}return t.prototype.collections=function(t){return void 0===t?this._collections:(void 0===this.individualCollections[t]&&(this.individualCollections[t]=new s.default(t,this.apiCall,this.configuration)),this.individualCollections[t])},t.prototype.aliases=function(t){return void 0===t?this._aliases:(void 0===this.individualAliases[t]&&(this.individualAliases[t]=new c.default(t,this.apiCall)),this.individualAliases[t])},t.prototype.keys=function(t){return void 0===t?this._keys:(void 0===this.individualKeys[t]&&(this.individualKeys[t]=new f.default(t,this.apiCall)),this.individualKeys[t])},t.prototype.presets=function(t){return void 0===t?this._presets:(void 0===this.individualPresets[t]&&(this.individualPresets[t]=new b.default(t,this.apiCall)),this.individualPresets[t])},t}();e.default=_},8243:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0;n--){var r=Math.floor(Math.random()*(n+1));e=[t[r],t[n]],t[n]=e[0],t[r]=e[1]}},t}();e.default=c},7634:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)throw new s.ImportError("".concat(o.length-i.length," documents imported successfully, ").concat(i.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),o);return[2,o]}return[2,r]}}))}))},e.prototype.export=function(t){return void 0===t&&(t={}),i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.apiCall.get(this.endpointPath("export"),t)]}))}))},e.prototype.exportStream=function(t){return void 0===t&&(t={}),i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"})]}))}))},e}(n(5586).SearchOnlyDocuments);e.default=u},7117:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},9229:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(e,n){var r=t.call(this,e)||this;return r.importResults=n,r}return o(e,t),e}(i(n(4492)).default);e.default=a},1254:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4105:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},3836:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},220:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4913:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},9976:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4959:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4492:function(t,e){"use strict";var n,r=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){function e(e){var n=this.constructor,r=t.call(this,e)||this;return r.name=n.name,Object.setPrototypeOf(r,n.prototype),r}return r(e,t),e}(Error);e.default=o},6718:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ImportError=e.TypesenseError=e.ServerError=e.RequestUnauthorized=e.RequestMalformed=e.ObjectUnprocessable=e.ObjectNotFound=e.ObjectAlreadyExists=e.MissingConfigurationError=e.HTTPError=void 0;var o=r(n(7117));e.HTTPError=o.default;var i=r(n(1254));e.MissingConfigurationError=i.default;var a=r(n(4105));e.ObjectAlreadyExists=a.default;var s=r(n(3836));e.ObjectNotFound=s.default;var u=r(n(220));e.ObjectUnprocessable=u.default;var c=r(n(4913));e.RequestMalformed=c.default;var l=r(n(9976));e.RequestUnauthorized=l.default;var f=r(n(4959));e.ServerError=f.default;var h=r(n(9229));e.ImportError=h.default;var p=r(n(4492));e.TypesenseError=p.default},1930:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]c&&(v=this.responseCache.keys().next().value,this.responseCache.delete(v)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),[2,y]}}))}))},t}();e.default=i},8834:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2554)),i=r(n(9777)),a=r(n(9092)),s=n(3320),u=function(){function t(t){var e;t.sendApiKeyAsQueryParam=null===(e=t.sendApiKeyAsQueryParam)||void 0===e||e,!0===t.sendApiKeyAsQueryParam&&(t.apiKey||"").length>2e3&&(console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."),t.sendApiKeyAsQueryParam=!1),this.configuration=new o.default(t),this.apiCall=new i.default(this.configuration),this.multiSearch=new a.default(this.apiCall,this.configuration,!0),this.individualCollections={}}return t.prototype.clearCache=function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(t){t[0],t[1].documents().clearCache()}))},t.prototype.collections=function(t){if(t)return void 0===this.individualCollections[t]&&(this.individualCollections[t]=new s.SearchOnlyCollection(t,this.apiCall,this.configuration)),this.individualCollections[t];throw new Error("Typesense.SearchClient only supports search operations, so the collectionName that needs to be searched must be specified. Use Typesense.Client if you need to access the collection object.")},t}();e.default=u},3320:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SearchOnlyCollection=void 0;var r=n(5586),o=function(){function t(t,e,n){this.name=t,this.apiCall=e,this.configuration=n,this._documents=new r.SearchOnlyDocuments(this.name,this.apiCall,this.configuration)}return t.prototype.documents=function(){return this._documents},t}();e.SearchOnlyCollection=o},5586:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{},7061:(t,e,n)=>{var r=n(8698).default;function o(){"use strict";t.exports=o=function(){return e},t.exports.__esModule=!0,t.exports.default=t.exports;var e={},n=Object.prototype,i=n.hasOwnProperty,a=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function f(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,n){return t[e]=n}}function h(t,e,n,r){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),s=new j(r||[]);return a(i,"_invoke",{value:O(t,n,s)}),i}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var d={};function y(){}function v(){}function g(){}var b={};f(b,u,(function(){return this}));var m=Object.getPrototypeOf,_=m&&m(m(R([])));_&&_!==n&&i.call(_,u)&&(b=_);var w=g.prototype=y.prototype=Object.create(b);function P(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function n(o,a,s,u){var c=p(t[o],t,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==r(f)&&i.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,s,u)}),(function(t){n("throw",t,s,u)})):e.resolve(f).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,u)}))}u(c.arg)}var o;a(this,"_invoke",{value:function(t,r){function i(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(i,i):i()}})}function O(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=p(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var o=p(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,d;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function R(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=i.call(o,"catchLoc"),u=i.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:R(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},8698:t=>{function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4687:(t,e,n)=>{var r=n(7061)();t.exports=r;try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{"use strict";function t(t,e,n,r,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,o)}function e(e){return function(){var n=this,r=arguments;return new Promise((function(o,i){var a=e.apply(n,r);function s(e){t(a,o,i,s,u,"next",e)}function u(e){t(a,o,i,s,u,"throw",e)}s(void 0)}))}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t){var e=function(t,e){if("object"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===i(e)?e:String(e)}function s(t,e){for(var n=0;nO});var c=n(4687),l=n.n(c),f=function(){function t(){var e,n,r,i,a,s,u,c,l,f,h,p,d,y,v,g,b,m,_=this,w=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.server=w.server||{nodes:[{host:"localhost",port:"8108",path:"",protocol:"http"}]},this.server.cacheSearchResultsForSeconds=null!==(e=this.server.cacheSearchResultsForSeconds)&&void 0!==e?e:120,this.additionalSearchParameters=null!==(n=w.additionalSearchParameters)&&void 0!==n?n:{},this.additionalSearchParameters.query_by=null!==(r=null!==(i=this.additionalSearchParameters.queryBy)&&void 0!==i?i:this.additionalSearchParameters.query_by)&&void 0!==r?r:"",this.additionalSearchParameters.preset=null!==(a=null!==(s=this.additionalSearchParameters.preset)&&void 0!==s?s:this.additionalSearchParameters.preset)&&void 0!==a?a:"",this.additionalSearchParameters.sort_by=null!==(u=null!==(c=this.additionalSearchParameters.sortBy)&&void 0!==c?c:this.additionalSearchParameters.sort_by)&&void 0!==u?u:"",this.additionalSearchParameters.highlight_full_fields=null!==(l=null!==(f=this.additionalSearchParameters.highlightFullFields)&&void 0!==f?f:this.additionalSearchParameters.highlight_full_fields)&&void 0!==l?l:this.additionalSearchParameters.query_by,this.geoLocationField=null!==(h=w.geoLocationField)&&void 0!==h?h:"_geoloc",this.facetableFieldsWithSpecialCharacters=null!==(p=w.facetableFieldsWithSpecialCharacters)&&void 0!==p?p:[],this.collectionSpecificSearchParameters=null!==(d=w.collectionSpecificSearchParameters)&&void 0!==d?d:{},Object.keys(this.collectionSpecificSearchParameters).forEach((function(t){var e,n,r,o,i,a,s=_.collectionSpecificSearchParameters[t];s.query_by=null!==(e=s.queryBy)&&void 0!==e?e:s.query_by,s.preset=null!==(n=s.preset)&&void 0!==n?n:s.preset,s.sort_by=null!==(r=s.sortBy)&&void 0!==r?r:s.sort_by,s.highlight_full_fields=null!==(o=null!==(i=null!==(a=s.highlightFullFields)&&void 0!==a?a:s.highlight_full_fields)&&void 0!==i?i:_.additionalSearchParameters.highlight_full_fields)&&void 0!==o?o:s.query_by,Object.keys(s).forEach((function(t){return void 0===s[t]?delete s[t]:{}}))})),this.renderingContent=w.renderingContent,this.flattenGroupedHits=null===(y=w.flattenGroupedHits)||void 0===y||y,this.facetByOptions=null!==(v=w.facetByOptions)&&void 0!==v?v:{},this.filterByOptions=null!==(g=w.filterByOptions)&&void 0!==g?g:{},this.collectionSpecificFacetByOptions=null!==(b=w.collectionSpecificFacetByOptions)&&void 0!==b?b:{},this.collectionSpecificFilterByOptions=null!==(m=w.collectionSpecificFilterByOptions)&&void 0!==m?m:{}}return u(t,[{key:"validate",value:function(){if((this.additionalSearchParameters.queryBy||Object.values(this.collectionSpecificSearchParameters).some((function(t){return t.queryBy})))&&console.warn("[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version. We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js."),0===this.additionalSearchParameters.query_by.length&&0===this.additionalSearchParameters.preset.length&&(0===Object.keys(this.collectionSpecificSearchParameters).length||Object.values(this.collectionSpecificSearchParameters).some((function(t){return 0===(t.query_by||"").length&&0===(t.preset||"").length}))))throw new Error("[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.")}}]),t}(),h=n(8871);function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&console.error("[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ".concat(Object.keys(r).join(",")));var o=Object.keys(r)[0],i=r[o].reduce((function(t,e){return e.startsWith("-")&&!n._isNumber(e)?t[0].push(e.substring(1)):t[1].push(e),t}),[[],[]]),a=y(i,2),s=a[0],u=a[1],c=[];if(u.length>0){var l=n._shouldUseExactMatchForField(o,e)?":=":":";c.push("".concat(o).concat(l,"[").concat(u.map((function(t){return n._escapeFacetValue(t)})).join(","),"]"))}if(s.length>0){var f=n._shouldUseExactMatchForField(o,e)?":!=":":!";c.push("".concat(o).concat(f,"[").concat(s.map((function(t){return n._escapeFacetValue(t)})).join(","),"]"))}return c.filter((function(t){return t})).join(" && ")}var h,p=n._parseFacetFilter(t),d=p.fieldName,v=p.fieldValue;if(v.startsWith("-")&&!n._isNumber(v)){var g=n._shouldUseExactMatchForField(d,e)?":!=":":!";h="".concat(d).concat(g,"[").concat(n._escapeFacetValue(v.substring(1)),"]")}else{var b=n._shouldUseExactMatchForField(d,e)?":=":":";h="".concat(d).concat(b,"[").concat(n._escapeFacetValue(v),"]")}return h})).join(" && "):r}},{key:"_parseFacetFilter",value:function(t){var e,n,r,o,i;if((null===(e=this.configuration.facetableFieldsWithSpecialCharacters)||void 0===e?void 0:e.length)>0){var a=this.configuration.facetableFieldsWithSpecialCharacters.flat().map((function(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}));if(n=new RegExp("^(".concat(a.join("|"),"):(.*)$")),null!=(r=t.match(n)))return{fieldName:o="".concat(r[1]),fieldValue:i="".concat(r[2])}}return n=this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX,null==(r=t.match(n))?console.error("[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter `".concat(t,"` with the Regex `").concat(n,"`. If you have field names with special characters, be sure to add them to a parameter called `facetableFieldsWithSpecialCharacters` when instantiating the adapter.")):(o="".concat(r[1]).concat(r[2]),i="".concat(r[3])),{fieldName:o,fieldValue:i}}},{key:"_escapeFacetValue",value:function(t){return"boolean"==typeof t||"true"===t||"false"===t||this._isNumber(t)?t:"`".concat(t,"`")}},{key:"_isNumber",value:function(t){return Number.isInteger(t%1)||!!(t%1)}},{key:"_adaptNumericFilters",value:function(t){var e=this,n="";if(!t)return n;var r={};t.forEach((function(t){var n=e._parseNumericFilter(t),o=n.fieldName,i=n.operator,a=n.fieldValue;r[o]=r[o]||{},r[o][i]=a}));var o=[];return Object.keys(r).forEach((function(t){null!=r[t]["<="]&&null!=r[t][">="]?o.push("".concat(t,":=[").concat(r[t][">="],"..").concat(r[t]["<="],"]")):null!=r[t]["<="]?o.push("".concat(t,":<=").concat(r[t]["<="])):null!=r[t][">="]?o.push("".concat(t,":>=").concat(r[t][">="])):null!=r[t]["="]?o.push("".concat(t,":=").concat(r[t]["="])):console.warn("[Typesense-Instantsearch-Adapter] Unsupported operator found ".concat(JSON.stringify(r[t])))})),o.join(" && ")}},{key:"_parseNumericFilter",value:function(t){var e,n,r,o,i,a;if((null===(e=this.configuration.facetableFieldsWithSpecialCharacters)||void 0===e?void 0:e.length)>0){var s=this.configuration.facetableFieldsWithSpecialCharacters.map((function(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}));if(n=new RegExp("^(".concat(s.join("|"),")(<=|>=|>|<|=)(.*)$")),null!=(r=t.match(n))){var u=y(r,4);return{fieldName:o=u[1],operator:i=u[2],fieldValue:a=u[3]}}}if(n=this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX,null==(r=t.match(n)))console.error("[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter `".concat(t,"` with the Regex `").concat(n,"`. If you have field names with special characters, be sure to add them to a parameter called `facetableFieldsWithSpecialCharacters` when instantiating the adapter."));else{var c=y(r,4);o=c[1],i=c[2],a=c[3]}return{fieldName:o,operator:i,fieldValue:a}}},{key:"_adaptGeoFilter",value:function(t){var e=t.insideBoundingBox,n=t.aroundRadius,r=t.aroundLatLng,o=t.insidePolygon;if(e){var i,a,s,u;if(Array.isArray(e)){var c=y(e.flat(),4);i=c[0],a=c[1],s=c[2],u=c[3]}else{var l=y(e.split(","),4);i=l[0],a=l[1],s=l[2],u=l[3]}return"".concat(this.configuration.geoLocationField,":(").concat(i,", ").concat(a,", ").concat(i,", ").concat(u,", ").concat(s,", ").concat(u,", ").concat(s,", ").concat(a,")")}if(r||n){if(!n||"all"===n)throw new Error("[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. So the `aroundRadius` parameter is required when `aroundLatLng` is used. If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).");var f="".concat(parseFloat(n)/1e3," km");return"".concat(this.configuration.geoLocationField,":(").concat(r,", ").concat(f,")")}if(o){var h=o;return Array.isArray(o)&&(h=o.flat().join(",")),"".concat(this.configuration.geoLocationField,":(").concat(h,")")}}},{key:"_adaptFilters",value:function(t,e){var n=[];return t.filters&&n.push(t.filters),n.push(this._adaptFacetFilters(t.facetFilters,e)),n.push(this._adaptNumericFilters(t.numericFilters)),n.push(this._adaptGeoFilter(t)),n.filter((function(t){return t&&""!==t})).join(" && ")}},{key:"_adaptIndexName",value:function(t){return t.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1]}},{key:"_adaptSortBy",value:function(t){return t.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3]}},{key:"_adaptFacetBy",value:function(t,e){var n=this;return[t].flat().map((function(t){var r;return null!==(r=n.configuration.collectionSpecificFacetByOptions)&&void 0!==r&&null!==(r=r[e])&&void 0!==r&&r[t]?"".concat(t).concat(n.configuration.collectionSpecificFacetByOptions[e][t]):n.configuration.facetByOptions[t]?"".concat(t).concat(n.configuration.facetByOptions[t]):t})).join(",")}},{key:"_buildSearchParameters",value:function(t){for(var e=t.params,n=t.indexName,r=this._adaptIndexName(n),o={},i=0,a=Object.entries(this.additionalSearchParameters);i=|>|<|=)(.*)")}}]),t}();function g(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||d(t)||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 b(t,e,n){return(e=a(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var m={_adaptHighlightTag:function(t,e,n){return t.replace(new RegExp("","g"),e||"").replace(new RegExp("","g"),n||"")},_adaptNumberOfPages:function(){var t=this.typesenseResponse.found/this.typesenseResponse.request_params.per_page;return Number.isFinite(t)?Math.ceil(t):1}};function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e3&&void 0!==arguments[3]?arguments[3]:[];o(this,t),this.typesenseResponse=e,this.instantsearchRequest=n,this.configuration=r,this.allTypesenseResponses=i}return u(t,[{key:"_adaptGroupedHits",value:function(t){var e=this,n=[];return n=t.map((function(t){var n=e._adaptHits(t.hits);return n.forEach((function(e){e.group_key=e._group_key=t.group_key,t.found&&(e._group_found=t.found)})),n})),this.configuration.flattenGroupedHits?n.flat():n.map((function(t){return w(w({},t[0]),{},{_grouped_hits:t})}))}},{key:"_adaptHits",value:function(t){var e=this;return t.map((function(t){var n=w({},t.document);n.objectID=t.document.id,n._snippetResult=e._adaptHighlightResult(t,"snippet"),n._highlightResult=e._adaptHighlightResult(t,"value"),n._rawTypesenseHit=t,["text_match","geo_distance_meters","curated","text_match_info","hybrid_search_info","vector_distance"].forEach((function(e){Object.keys(t).includes(e)&&!Object.keys(n).includes(e)&&(n[e]=t[e])}));var r=n[e.configuration.geoLocationField];return r&&(n._geoloc={lat:r[0],lng:r[1]}),n}))}},{key:"_adaptHighlightResult",value:function(t,e){var n={};return null!=t.highlight&&this.isHighlightPost0240RCN32Format(t.highlight)?this.adaptHighlightObject(t,n,e):this.adaptHighlightsArray(t,n,e),n}},{key:"isHighlightPost0240RCN32Format",value:function(t){return null==t.full&&null==t.snippet}},{key:"adaptHighlightsArray",value:function(t,e,n){var r=this;Object.assign.apply(Object,[e].concat(g(Object.entries(t.document).map((function(t){var e=y(t,2);return b({},e[0],{value:e[1],matchLevel:"none",matchedWords:[]})}))))),t.highlights.forEach((function(t){e[t.field]={value:t[n]||t["".concat(n,"s")],matchLevel:"full",matchedWords:t.matched_tokens},t.indices&&(e[t.field].matchedIndices=t.indices)})),Object.entries(e).forEach((function(o){var a=y(o,2),s=a[0],u=a[1],c=s,l=u.value,f=u.matchLevel,h=u.matchedWords,p=u.matchedIndices;null==l?e[c]=r._adaptHighlightNullValue():Array.isArray(l)?(e[c]=[],t.document[c].forEach((function(t,o){p&&p.includes(o)?e[c].push({value:r._adaptHighlightTag("".concat(l[p.indexOf(o)]),r.instantsearchRequest.params.highlightPreTag,r.instantsearchRequest.params.highlightPostTag),matchLevel:f,matchedWords:h[o]}):"object"===i(t)?e[c].push(r._adaptHighlightInObjectValue(t,{},n)):e[c].push({value:"".concat(t),matchLevel:"none",matchedWords:[]})}))):"object"===i(l)?e[c]=r._adaptHighlightInObjectValue(l,{},n):e[c].value=r._adaptHighlightTag("".concat(l),r.instantsearchRequest.params.highlightPreTag,r.instantsearchRequest.params.highlightPostTag)}))}},{key:"adaptHighlightObject",value:function(t,e,n){Object.assign(e,this._adaptHighlightInObjectValue(t.document,t.highlight,n))}},{key:"_adaptHighlightInObjectValue",value:function(t,e,n){var r=this;return Object.assign.apply(Object,[{}].concat(g(Object.entries(t).map((function(t){var o,a=y(t,2),s=a[0],u=a[1];if(null==u)o=r._adaptHighlightNullValue();else if(Array.isArray(u)){var c;o=r._adaptHighlightInArrayValue(u,null!==(c=null==e?void 0:e[s])&&void 0!==c?c:[],n)}else if("object"===i(u)){var l;o=r._adaptHighlightInObjectValue(u,null!==(l=null==e?void 0:e[s])&&void 0!==l?l:{},n)}else o=r._adaptHighlightInPrimitiveValue(u,null==e?void 0:e[s],n);return b({},s,o)})))))}},{key:"_adaptHighlightInArrayValue",value:function(t,e,n){var r=this;return t.map((function(t,o){var a;if(null==t)a=r._adaptHighlightNullValue();else if(Array.isArray(t)){var s;a=r._adaptHighlightInArrayValue(t,null!==(s=null==e?void 0:e[o])&&void 0!==s?s:[],n)}else if("object"===i(t)){var u;a=r._adaptHighlightInObjectValue(t,null!==(u=null==e?void 0:e[o])&&void 0!==u?u:{},n)}else a=r._adaptHighlightInPrimitiveValue(t,null==e?void 0:e[o],n);return a}))}},{key:"_adaptHighlightInPrimitiveValue",value:function(t,e,n){var r,o;return null!=e?{value:this._adaptHighlightTag("".concat(null!==(r=null!==(o=e[n])&&void 0!==o?o:e.highlight)&&void 0!==r?r:e.snippet),this.instantsearchRequest.params.highlightPreTag,this.instantsearchRequest.params.highlightPostTag),matchLevel:(e.matched_tokens||[]).length>0?"full":"none",matchedWords:e.matched_tokens||[]}:{value:this._adaptHighlightTag("".concat(t),this.instantsearchRequest.params.highlightPreTag,this.instantsearchRequest.params.highlightPostTag),matchLevel:"none",matchedWords:[]}}},{key:"_adaptHighlightNullValue",value:function(){return{value:"",matchLevel:"none",matchedWords:[]}}},{key:"_adaptFacets",value:function(t){var e={};return t.forEach((function(t){Object.assign(e,b({},t.field_name,Object.assign.apply(Object,[{}].concat(g(t.counts.map((function(t){return b({},t.value,t.count)})))))))})),e}},{key:"_adaptFacetStats",value:function(t){var e={};return t.forEach((function(t){Object.keys(t.stats).length>0&&Object.assign(e,b({},t.field_name,t.stats))})),e}},{key:"_adaptRenderingContent",value:function(t){var e,n=Object.assign({},this.configuration.renderingContent);return null==(null===(e=n.facetOrdering)||void 0===e||null===(e=e.facets)||void 0===e?void 0:e.order)&&(n.facetOrdering=n.facetOrdering||{},n.facetOrdering.facets=n.facetOrdering.facets||{},n.facetOrdering.facets.order=g(new Set(t.map((function(t){return t.field_name})).concat(this.allTypesenseResponses.map((function(t){return t.facet_counts||[]})).flat().map((function(t){return t.field_name})).filter((function(t){return t})))))),n}},{key:"adapt",value:function(){var t=this._adaptRenderingContent(this.typesenseResponse.facet_counts||[]);return w({hits:this.typesenseResponse.grouped_hits?this._adaptGroupedHits(this.typesenseResponse.grouped_hits):this._adaptHits(this.typesenseResponse.hits),nbHits:this.typesenseResponse.found,page:this.typesenseResponse.page-1,nbPages:this._adaptNumberOfPages(),hitsPerPage:this.typesenseResponse.request_params.per_page,facets:this._adaptFacets(this.typesenseResponse.facet_counts||[]),facets_stats:this._adaptFacetStats(this.typesenseResponse.facet_counts||{}),query:this.typesenseResponse.request_params.q,processingTimeMS:this.typesenseResponse.search_time_ms},Object.keys(t).length>0?{renderingContent:t}:null)}}]),t}();Object.assign(P.prototype,m);var S=function(){function t(e,n){o(this,t),this.typesenseResponse=e,this.instantsearchRequest=n}return u(t,[{key:"_adaptFacetHits",value:function(t){var e=this;return t.find((function(t){return t.field_name===e.instantsearchRequest.params.facetName})).counts.map((function(t){return{value:t.value,highlighted:e._adaptHighlightTag(t.highlighted,e.instantsearchRequest.params.highlightPreTag,e.instantsearchRequest.params.highlightPostTag),count:t.count}}))}},{key:"adapt",value:function(){return{facetHits:this._adaptFacetHits(this.typesenseResponse.facet_counts),exhaustiveFacetsCount:!0,processingTimeMS:this.typesenseResponse.search_time_ms}}}]),t}();Object.assign(S.prototype,m);var O=function(){function t(e){var n=this;o(this,t),this.updateConfiguration(e),this.searchClient={clearCache:function(){return n.clearCache()},search:function(t){return n.searchTypesenseAndAdapt(t)},searchForFacetValues:function(t){return n.searchTypesenseForFacetValuesAndAdapt(t)}}}var n,r,i;return u(t,[{key:"searchTypesenseAndAdapt",value:(i=e(l().mark((function t(e){var n,r,o=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._adaptAndPerformTypesenseRequest(e);case 3:return n=t.sent,r=n.results.map((function(t,r){return o._validateTypesenseResult(t),new P(t,e[r],o.configuration,n.results).adapt()})),t.abrupt("return",{results:r});case 8:throw t.prev=8,t.t0=t.catch(0),console.error(t.t0),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])}))),function(t){return i.apply(this,arguments)})},{key:"searchTypesenseForFacetValuesAndAdapt",value:(r=e(l().mark((function t(e){var n,r,o=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._adaptAndPerformTypesenseRequest(e);case 3:return n=t.sent,r=n.results.map((function(t,n){return o._validateTypesenseResult(t),new S(t,e[n],o.configuration).adapt()})),t.abrupt("return",r);case 8:throw t.prev=8,t.t0=t.catch(0),console.error(t.t0),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])}))),function(t){return r.apply(this,arguments)})},{key:"_adaptAndPerformTypesenseRequest",value:(n=e(l().mark((function t(e){var n,r;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new v(e,this.typesenseClient,this.configuration),t.next=3,n.request();case 3:return r=t.sent,t.abrupt("return",r);case 5:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"clearCache",value:function(){return this.typesenseClient=new h.SearchClient(this.configuration.server),this.searchClient}},{key:"updateConfiguration",value:function(t){return this.configuration=new f(t),this.configuration.validate(),this.typesenseClient=new h.SearchClient(this.configuration.server),!0}},{key:"_validateTypesenseResult",value:function(t){if(t.error)throw new Error("".concat(t.code," - ").concat(t.error));if(!t.hits&&!t.grouped_hits)throw new Error("Did not find any hits. ".concat(t.code," - ").concat(t.error))}}]),t}()})(),r.default})())); +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.TypesenseInstantSearchAdapter=e():t.TypesenseInstantSearchAdapter=e()}(self,(()=>(()=>{var t={9669:(t,e,n)=>{t.exports=n(1609)},5448:(t,e,n)=>{"use strict";var r=n(4867),o=n(6026),i=n(4372),a=n(5327),s=n(4097),u=n(4109),c=n(7985),l=n(5061),f=n(7874),h=n(5263);t.exports=function(t){return new Promise((function(e,n){var p,d=t.data,y=t.headers,v=t.responseType;function g(){t.cancelToken&&t.cancelToken.unsubscribe(p),t.signal&&t.signal.removeEventListener("abort",p)}r.isFormData(d)&&delete y["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var m=t.auth.username||"",_=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";y.Authorization="Basic "+btoa(m+":"+_)}var w=s(t.baseURL,t.url);function P(){if(b){var r="getAllResponseHeaders"in b?u(b.getAllResponseHeaders()):null,i={data:v&&"text"!==v&&"json"!==v?b.response:b.responseText,status:b.status,statusText:b.statusText,headers:r,config:t,request:b};o((function(t){e(t),g()}),(function(t){n(t),g()}),i),b=null}}if(b.open(t.method.toUpperCase(),a(w,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=P:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(P)},b.onabort=function(){b&&(n(l("Request aborted",t,"ECONNABORTED",b)),b=null)},b.onerror=function(){n(l("Network Error",t,null,b)),b=null},b.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||f;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(l(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},r.isStandardBrowserEnv()){var S=(t.withCredentials||c(w))&&t.xsrfCookieName?i.read(t.xsrfCookieName):void 0;S&&(y[t.xsrfHeaderName]=S)}"setRequestHeader"in b&&r.forEach(y,(function(t,e){void 0===d&&"content-type"===e.toLowerCase()?delete y[e]:b.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),v&&"json"!==v&&(b.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"==typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(p=function(t){b&&(n(!t||t&&t.type?new h("canceled"):t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(p),t.signal&&(t.signal.aborted?p():t.signal.addEventListener("abort",p))),d||(d=null),b.send(d)}))}},1609:(t,e,n)=>{"use strict";var r=n(4867),o=n(1849),i=n(321),a=n(7185),s=function t(e){var n=new i(e),s=o(i.prototype.request,n);return r.extend(s,i.prototype,n),r.extend(s,n),s.create=function(n){return t(a(e,n))},s}(n(5546));s.Axios=i,s.Cancel=n(5263),s.CancelToken=n(4972),s.isCancel=n(6502),s.VERSION=n(7288).version,s.all=function(t){return Promise.all(t)},s.spread=n(8713),s.isAxiosError=n(6268),t.exports=s,t.exports.default=s},5263:t=>{"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:(t,e,n)=>{"use strict";var r=n(5263);function o(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e{"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},321:(t,e,n)=>{"use strict";var r=n(4867),o=n(5327),i=n(782),a=n(3572),s=n(7185),u=n(4875),c=u.validators;function l(t){this.defaults=t,this.interceptors={request:new i,response:new i}}l.prototype.request=function(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},(e=s(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var n=e.transitional;void 0!==n&&u.assertOptions(n,{silentJSONParsing:c.transitional(c.boolean),forcedJSONParsing:c.transitional(c.boolean),clarifyTimeoutError:c.transitional(c.boolean)},!1);var r=[],o=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(o=o&&t.synchronous,r.unshift(t.fulfilled,t.rejected))}));var i,l=[];if(this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)})),!o){var f=[a,void 0];for(Array.prototype.unshift.apply(f,r),f=f.concat(l),i=Promise.resolve(e);f.length;)i=i.then(f.shift(),f.shift());return i}for(var h=e;r.length;){var p=r.shift(),d=r.shift();try{h=p(h)}catch(t){d(t);break}}try{i=a(h)}catch(t){return Promise.reject(t)}for(;l.length;)i=i.then(l.shift(),l.shift());return i},l.prototype.getUri=function(t){return t=s(this.defaults,t),o(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(t){l.prototype[t]=function(e,n){return this.request(s(n||{},{method:t,url:e,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(t){l.prototype[t]=function(e,n,r){return this.request(s(r||{},{method:t,url:e,data:n}))}})),t.exports=l},782:(t,e,n)=>{"use strict";var r=n(4867);function o(){this.handlers=[]}o.prototype.use=function(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},o.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)},o.prototype.forEach=function(t){r.forEach(this.handlers,(function(e){null!==e&&t(e)}))},t.exports=o},4097:(t,e,n)=>{"use strict";var r=n(1793),o=n(7303);t.exports=function(t,e){return t&&!r(e)?o(t,e):e}},5061:(t,e,n)=>{"use strict";var r=n(481);t.exports=function(t,e,n,o,i){var a=new Error(t);return r(a,e,n,o,i)}},3572:(t,e,n)=>{"use strict";var r=n(4867),o=n(8527),i=n(6502),a=n(5546),s=n(5263);function u(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new s("canceled")}t.exports=function(t){return u(t),t.headers=t.headers||{},t.data=o.call(t,t.data,t.headers,t.transformRequest),t.headers=r.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]})),(t.adapter||a.adapter)(t).then((function(e){return u(t),e.data=o.call(t,e.data,e.headers,t.transformResponse),e}),(function(e){return i(e)||(u(t),e&&e.response&&(e.response.data=o.call(t,e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},481:t=>{"use strict";t.exports=function(t,e,n,r,o){return t.config=e,n&&(t.code=n),t.request=r,t.response=o,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}},t}},7185:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){e=e||{};var n={};function o(t,e){return r.isPlainObject(t)&&r.isPlainObject(e)?r.merge(t,e):r.isPlainObject(e)?r.merge({},e):r.isArray(e)?e.slice():e}function i(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(t[n],e[n])}function a(t){if(!r.isUndefined(e[t]))return o(void 0,e[t])}function s(n){return r.isUndefined(e[n])?r.isUndefined(t[n])?void 0:o(void 0,t[n]):o(void 0,e[n])}function u(n){return n in e?o(t[n],e[n]):n in t?o(void 0,t[n]):void 0}var c={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:u};return r.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){var e=c[t]||i,o=e(t);r.isUndefined(o)&&e!==u||(n[t]=o)})),n}},6026:(t,e,n)=>{"use strict";var r=n(5061);t.exports=function(t,e,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?e(r("Request failed with status code "+n.status,n.config,null,n.request,n)):t(n)}},8527:(t,e,n)=>{"use strict";var r=n(4867),o=n(5546);t.exports=function(t,e,n){var i=this||o;return r.forEach(n,(function(n){t=n.call(i,t,e)})),t}},5546:(t,e,n)=>{"use strict";var r=n(4867),o=n(6016),i=n(481),a=n(7874),s={"Content-Type":"application/x-www-form-urlencoded"};function u(t,e){!r.isUndefined(t)&&r.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}var c,l={transitional:a,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(c=n(5448)),c),transformRequest:[function(t,e){return o(e,"Accept"),o(e,"Content-Type"),r.isFormData(t)||r.isArrayBuffer(t)||r.isBuffer(t)||r.isStream(t)||r.isFile(t)||r.isBlob(t)?t:r.isArrayBufferView(t)?t.buffer:r.isURLSearchParams(t)?(u(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):r.isObject(t)||e&&"application/json"===e["Content-Type"]?(u(e,"application/json"),function(t,e,n){if(r.isString(t))try{return(0,JSON.parse)(t),r.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){var e=this.transitional||l.transitional,n=e&&e.silentJSONParsing,o=e&&e.forcedJSONParsing,a=!n&&"json"===this.responseType;if(a||o&&r.isString(t)&&t.length)try{return JSON.parse(t)}catch(t){if(a){if("SyntaxError"===t.name)throw i(t,this,"E_JSON_PARSE");throw t}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){l.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){l.headers[t]=r.merge(s)})),t.exports=l},7874:t=>{"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:t=>{t.exports={version:"0.26.1"}},1849:t=>{"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(4867);function o(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}t.exports=function(t,e,n){if(!e)return t;var i;if(n)i=n(e);else if(r.isURLSearchParams(e))i=e.toString();else{var a=[];r.forEach(e,(function(t,e){null!=t&&(r.isArray(t)?e+="[]":t=[t],r.forEach(t,(function(t){r.isDate(t)?t=t.toISOString():r.isObject(t)&&(t=JSON.stringify(t)),a.push(o(e)+"="+o(t))})))})),i=a.join("&")}if(i){var s=t.indexOf("#");-1!==s&&(t=t.slice(0,s)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}},7303:t=>{"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},4372:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?{write:function(t,e,n,o,i,a){var s=[];s.push(t+"="+encodeURIComponent(e)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},1793:t=>{"use strict";t.exports=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}},6268:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t){return r.isObject(t)&&!0===t.isAxiosError}},7985:(t,e,n)=>{"use strict";var r=n(4867);t.exports=r.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(t){var r=t;return e&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return t=o(window.location.href),function(e){var n=r.isString(e)?o(e):e;return n.protocol===t.protocol&&n.host===t.host}}():function(){return!0}},6016:(t,e,n)=>{"use strict";var r=n(4867);t.exports=function(t,e){r.forEach(t,(function(n,r){r!==e&&r.toUpperCase()===e.toUpperCase()&&(t[e]=n,delete t[r])}))}},4109:(t,e,n)=>{"use strict";var r=n(4867),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,n,i,a={};return t?(r.forEach(t.split("\n"),(function(t){if(i=t.indexOf(":"),e=r.trim(t.substr(0,i)).toLowerCase(),n=r.trim(t.substr(i+1)),e){if(a[e]&&o.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:t=>{"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:(t,e,n)=>{"use strict";var r=n(7288).version,o={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){o[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var i={};o.transitional=function(t,e,n){function o(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,a){if(!1===t)throw new Error(o(r," has been removed"+(e?" in "+e:"")));return e&&!i[r]&&(i[r]=!0,console.warn(o(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,a)}},t.exports={assertOptions:function(t,e,n){if("object"!=typeof t)throw new TypeError("options must be an object");for(var r=Object.keys(t),o=r.length;o-- >0;){var i=r[o],a=e[i];if(a){var s=t[i],u=void 0===s||a(s,i,t);if(!0!==u)throw new TypeError("option "+i+" must be "+u)}else if(!0!==n)throw Error("Unknown option "+i)}},validators:o}},4867:(t,e,n)=>{"use strict";var r=n(1849),o=Object.prototype.toString;function i(t){return Array.isArray(t)}function a(t){return void 0===t}function s(t){return"[object ArrayBuffer]"===o.call(t)}function u(t){return null!==t&&"object"==typeof t}function c(t){if("[object Object]"!==o.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function l(t){return"[object Function]"===o.call(t)}function f(t,e){if(null!=t)if("object"!=typeof t&&(t=[t]),i(t))for(var n=0,r=t.length;n=0&&n<=s.levels.SILENT))throw"log.setLevel() called with invalid level: "+n;if(i=n,!1!==o&&function(t){var n=(r[t]||"silent").toUpperCase();if(typeof window!==e&&c){try{return void(window.localStorage[c]=n)}catch(t){}try{window.document.cookie=encodeURIComponent(c)+"="+n+";"}catch(t){}}}(n),a.call(s,n,t),typeof console===e&&n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0},transformResponse:[function(t,e){var n=t;return void 0!==e&&"string"==typeof t&&e["content-type"]&&e["content-type"].startsWith("application/json")&&(n=JSON.parse(t)),n}]},!0!==w&&(b.timeout=1e3*h.connectionTimeoutSeconds),f&&0!==Object.keys(f).length&&(b.params=f),h.sendApiKeyAsQueryParam&&(b.params=b.params||{},b.params["x-typesense-api-key"]=h.apiKey),p&&("string"==typeof p&&0!==p.length||"object"==typeof p&&0!==Object.keys(p).length)&&(b.data=p),g&&(_=a.default.CancelToken,P=_.source(),v=function(){return P.cancel()},g.addEventListener("abort",v),b.cancelToken=P.token),[4,(0,a.default)(b)];case 2:if((S=o.sent()).status>=1&&S.status<=499&&h.setNodeHealthcheck(d,c),h.logger.debug("Request #".concat(n,": Request to Node ").concat(d.index," was made. Response Code was ").concat(S.status,".")),S.status>=200&&S.status<300)return[2,{value:Promise.resolve(S.data)}];if(S.status<500)return[2,{value:Promise.reject(h.customErrorForResponse(S,null===(i=S.data)||void 0===i?void 0:i.message))}];throw h.customErrorForResponse(S,null===(s=S.data)||void 0===s?void 0:s.message);case 3:return O=o.sent(),h.setNodeHealthcheck(d,!1),r=O,h.logger.warn("Request #".concat(n,": Request to Node ").concat(d.index,' failed due to "').concat(O.code," ").concat(O.message).concat(null==O.response?"":" - "+JSON.stringify(null===(u=O.response)||void 0===u?void 0:u.data),'"')),h.logger.warn("Request #".concat(n,": Sleeping for ").concat(h.retryIntervalSeconds,"s and then retrying request...")),[4,h.timer(h.retryIntervalSeconds)];case 4:return o.sent(),[3,6];case 5:return g&&v&&g.removeEventListener("abort",v),[7];case 6:return[2]}}))},h=this,d=1,b.label=1;case 1:return d<=this.numRetriesPerRequest+1?[5,l(d)]:[3,4];case 2:if("object"==typeof(v=b.sent()))return[2,v.value];b.label=3;case 3:return d++,[3,1];case 4:return this.logger.debug("Request #".concat(n,": No retries left. Raising last error")),[2,Promise.reject(r)]}}))}))},t.prototype.getNextNode=function(t){if(void 0===t&&(t=0),null!=this.nearestNode){if(this.logger.debug("Request #".concat(t,": Nodes Health: Node ").concat(this.nearestNode.index," is ").concat(!0===this.nearestNode.isHealthy?"Healthy":"Unhealthy")),!0===this.nearestNode.isHealthy||this.nodeDueForHealthcheck(this.nearestNode,t))return this.logger.debug("Request #".concat(t,": Updated current node to Node ").concat(this.nearestNode.index)),this.nearestNode;this.logger.debug("Request #".concat(t,": Falling back to individual nodes"))}this.logger.debug("Request #".concat(t,": Nodes Health: ").concat(this.nodes.map((function(t){return"Node ".concat(t.index," is ").concat(!0===t.isHealthy?"Healthy":"Unhealthy")})).join(" || ")));for(var e=this.nodes[0],n=0;n<=this.nodes.length;n++)if(this.currentNodeIndex=(this.currentNodeIndex+1)%this.nodes.length,!0===(e=this.nodes[this.currentNodeIndex]).isHealthy||this.nodeDueForHealthcheck(e,t))return this.logger.debug("Request #".concat(t,": Updated current node to Node ").concat(e.index)),e;return this.logger.debug("Request #".concat(t,": No healthy nodes were found. Returning the next node, Node ").concat(e.index)),e},t.prototype.nodeDueForHealthcheck=function(t,e){void 0===e&&(e=0);var n=Date.now()-t.lastAccessTimestamp>1e3*this.healthcheckIntervalSeconds;return n&&this.logger.debug("Request #".concat(e,": Node ").concat(t.index," has exceeded healtcheckIntervalSeconds of ").concat(this.healthcheckIntervalSeconds,". Adding it back into rotation.")),n},t.prototype.initializeMetadataForNodes=function(){var t=this;null!=this.nearestNode&&(this.nearestNode.index="nearestNode",this.setNodeHealthcheck(this.nearestNode,c)),this.nodes.forEach((function(e,n){e.index=n,t.setNodeHealthcheck(e,c)}))},t.prototype.setNodeHealthcheck=function(t,e){t.isHealthy=e,t.lastAccessTimestamp=Date.now()},t.prototype.uriFor=function(t,e){return null!=e.url?"".concat(e.url).concat(t):"".concat(e.protocol,"://").concat(e.host,":").concat(e.port).concat(e.path).concat(t)},t.prototype.defaultHeaders=function(){var t={};return this.sendApiKeyAsQueryParam||(t["X-TYPESENSE-API-KEY"]=this.apiKey),t["Content-Type"]="application/json",t},t.prototype.timer=function(t){return r(this,void 0,void 0,(function(){return o(this,(function(e){return[2,new Promise((function(e){return setTimeout(e,1e3*t)}))]}))}))},t.prototype.customErrorForResponse=function(t,e){var n="Request failed with HTTP code ".concat(t.status);"string"==typeof e&&""!==e.trim()&&(n+=" | Server said: ".concat(e));var r=new u.default(n);return(r=400===t.status?new s.RequestMalformed(n):401===t.status?new s.RequestUnauthorized(n):404===t.status?new s.ObjectNotFound(n):409===t.status?new s.ObjectAlreadyExists(n):422===t.status?new s.ObjectUnprocessable(n):t.status>=500&&t.status<=599?new s.ServerError(n):new s.HTTPError(n)).httpStatus=t.status,r},t}();e.default=l},4339:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2554)),i=r(n(9777)),a=r(n(6581)),s=r(n(8243)),u=r(n(5346)),c=r(n(8480)),l=r(n(2708)),f=r(n(7309)),h=r(n(7634)),p=r(n(6029)),d=r(n(1930)),y=r(n(3095)),v=r(n(9092)),g=r(n(1036)),b=r(n(1040)),m=r(n(6845)),_=function(){function t(t){var e;t.sendApiKeyAsQueryParam=null!==(e=t.sendApiKeyAsQueryParam)&&void 0!==e&&e,this.configuration=new o.default(t),this.apiCall=new i.default(this.configuration),this.debug=new h.default(this.apiCall),this.metrics=new p.default(this.apiCall),this.health=new d.default(this.apiCall),this.operations=new y.default(this.apiCall),this.multiSearch=new v.default(this.apiCall,this.configuration),this._collections=new a.default(this.apiCall),this.individualCollections={},this._aliases=new u.default(this.apiCall),this.individualAliases={},this._keys=new l.default(this.apiCall),this.individualKeys={},this._presets=new g.default(this.apiCall),this.individualPresets={},this.analytics=new m.default(this.apiCall)}return t.prototype.collections=function(t){return void 0===t?this._collections:(void 0===this.individualCollections[t]&&(this.individualCollections[t]=new s.default(t,this.apiCall,this.configuration)),this.individualCollections[t])},t.prototype.aliases=function(t){return void 0===t?this._aliases:(void 0===this.individualAliases[t]&&(this.individualAliases[t]=new c.default(t,this.apiCall)),this.individualAliases[t])},t.prototype.keys=function(t){return void 0===t?this._keys:(void 0===this.individualKeys[t]&&(this.individualKeys[t]=new f.default(t,this.apiCall)),this.individualKeys[t])},t.prototype.presets=function(t){return void 0===t?this._presets:(void 0===this.individualPresets[t]&&(this.individualPresets[t]=new b.default(t,this.apiCall)),this.individualPresets[t])},t}();e.default=_},8243:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0;n--){var r=Math.floor(Math.random()*(n+1));e=[t[r],t[n]],t[n]=e[0],t[r]=e[1]}},t}();e.default=c},7634:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0)throw new s.ImportError("".concat(o.length-i.length," documents imported successfully, ").concat(i.length," documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."),o);return[2,o]}return[2,r]}}))}))},e.prototype.export=function(t){return void 0===t&&(t={}),i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.apiCall.get(this.endpointPath("export"),t)]}))}))},e.prototype.exportStream=function(t){return void 0===t&&(t={}),i(this,void 0,void 0,(function(){return a(this,(function(e){return[2,this.apiCall.get(this.endpointPath("export"),t,{responseType:"stream"})]}))}))},e}(n(5586).SearchOnlyDocuments);e.default=u},7117:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},9229:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(e,n){var r=t.call(this,e)||this;return r.importResults=n,r}return o(e,t),e}(i(n(4492)).default);e.default=a},1254:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4105:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},3836:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},220:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4913:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},9976:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4959:function(t,e,n){"use strict";var r,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return o(e,t),e}(i(n(4492)).default);e.default=a},4492:function(t,e){"use strict";var n,r=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0});var o=function(t){function e(e){var n=this.constructor,r=t.call(this,e)||this;return r.name=n.name,Object.setPrototypeOf(r,n.prototype),r}return r(e,t),e}(Error);e.default=o},6718:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ImportError=e.TypesenseError=e.ServerError=e.RequestUnauthorized=e.RequestMalformed=e.ObjectUnprocessable=e.ObjectNotFound=e.ObjectAlreadyExists=e.MissingConfigurationError=e.HTTPError=void 0;var o=r(n(7117));e.HTTPError=o.default;var i=r(n(1254));e.MissingConfigurationError=i.default;var a=r(n(4105));e.ObjectAlreadyExists=a.default;var s=r(n(3836));e.ObjectNotFound=s.default;var u=r(n(220));e.ObjectUnprocessable=u.default;var c=r(n(4913));e.RequestMalformed=c.default;var l=r(n(9976));e.RequestUnauthorized=l.default;var f=r(n(4959));e.ServerError=f.default;var h=r(n(9229));e.ImportError=h.default;var p=r(n(4492));e.TypesenseError=p.default},1930:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},r=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]c&&(v=this.responseCache.keys().next().value,this.responseCache.delete(v)),this.responsePromiseCache.size>c&&(v=this.responsePromiseCache.keys().next().value,this.responsePromiseCache.delete(v)),[2,y]}}))}))},t}();e.default=i},8834:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var o=r(n(2554)),i=r(n(9777)),a=r(n(9092)),s=n(3320),u=function(){function t(t){var e;t.sendApiKeyAsQueryParam=null===(e=t.sendApiKeyAsQueryParam)||void 0===e||e,!0===t.sendApiKeyAsQueryParam&&(t.apiKey||"").length>2e3&&(console.warn("[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter."),t.sendApiKeyAsQueryParam=!1),this.configuration=new o.default(t),this.apiCall=new i.default(this.configuration),this.multiSearch=new a.default(this.apiCall,this.configuration,!0),this.individualCollections={}}return t.prototype.clearCache=function(){this.multiSearch.clearCache(),Object.entries(this.individualCollections).forEach((function(t){t[0],t[1].documents().clearCache()}))},t.prototype.collections=function(t){if(t)return void 0===this.individualCollections[t]&&(this.individualCollections[t]=new s.SearchOnlyCollection(t,this.apiCall,this.configuration)),this.individualCollections[t];throw new Error("Typesense.SearchClient only supports search operations, so the collectionName that needs to be searched must be specified. Use Typesense.Client if you need to access the collection object.")},t}();e.default=u},3320:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SearchOnlyCollection=void 0;var r=n(5586),o=function(){function t(t,e,n){this.name=t,this.apiCall=e,this.configuration=n,this._documents=new r.SearchOnlyDocuments(this.name,this.apiCall,this.configuration)}return t.prototype.documents=function(){return this._documents},t}();e.SearchOnlyCollection=o},5586:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{u(r.next(t))}catch(t){i(t)}}function s(t){try{u(r.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}u((r=r.apply(t,e||[])).next())}))},o=this&&this.__generator||function(t,e){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{},7061:(t,e,n)=>{var r=n(8698).default;function o(){"use strict";t.exports=o=function(){return e},t.exports.__esModule=!0,t.exports.default=t.exports;var e={},n=Object.prototype,i=n.hasOwnProperty,a=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",c=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag";function f(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,n){return t[e]=n}}function h(t,e,n,r){var o=e&&e.prototype instanceof y?e:y,i=Object.create(o.prototype),s=new j(r||[]);return a(i,"_invoke",{value:O(t,n,s)}),i}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=h;var d={};function y(){}function v(){}function g(){}var b={};f(b,u,(function(){return this}));var m=Object.getPrototypeOf,_=m&&m(m(R([])));_&&_!==n&&i.call(_,u)&&(b=_);var w=g.prototype=y.prototype=Object.create(b);function P(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function S(t,e){function n(o,a,s,u){var c=p(t[o],t,a);if("throw"!==c.type){var l=c.arg,f=l.value;return f&&"object"==r(f)&&i.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,s,u)}),(function(t){n("throw",t,s,u)})):e.resolve(f).then((function(t){l.value=t,s(l)}),(function(t){return n("throw",t,s,u)}))}u(c.arg)}var o;a(this,"_invoke",{value:function(t,r){function i(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(i,i):i()}})}function O(t,e,n){var r="suspendedStart";return function(o,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===o)throw i;return{value:void 0,done:!0}}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var s=x(a,n);if(s){if(s===d)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=p(t,e,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===d)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}function x(t,e){var n=e.method,r=t.iterator[n];if(void 0===r)return e.delegate=null,"throw"===n&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==n&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+n+"' method")),d;var o=p(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,d;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,d):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,d)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function R(t){if(t){var e=t[u];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n=0;--r){var o=this.tryEntries[r],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=i.call(o,"catchLoc"),u=i.call(o,"finallyLoc");if(s&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),E(n),d}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var o=r.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,n){return this.delegate={iterator:R(t),resultName:e,nextLoc:n},"next"===this.method&&(this.arg=void 0),d}},e}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},8698:t=>{function e(n){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},4687:(t,e,n)=>{var r=n(7061)();t.exports=r;try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r].call(i.exports,i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{"use strict";function t(t,e,n,r,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void n(t)}s.done?e(u):Promise.resolve(u).then(r,o)}function e(e){return function(){var n=this,r=arguments;return new Promise((function(o,i){var a=e.apply(n,r);function s(e){t(a,o,i,s,u,"next",e)}function u(e){t(a,o,i,s,u,"throw",e)}s(void 0)}))}}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t){var e=function(t,e){if("object"!==i(t)||null===t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,"string");if("object"!==i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===i(e)?e:String(e)}function s(t,e){for(var n=0;nO});var c=n(4687),l=n.n(c),f=function(){function t(){var e,n,r,i,a,s,u,c,l,f,h,p,d,y,v,g,b,m,_=this,w=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};o(this,t),this.server=w.server||{nodes:[{host:"localhost",port:"8108",path:"",protocol:"http"}]},this.server.cacheSearchResultsForSeconds=null!==(e=this.server.cacheSearchResultsForSeconds)&&void 0!==e?e:120,this.additionalSearchParameters=null!==(n=w.additionalSearchParameters)&&void 0!==n?n:{},this.additionalSearchParameters.query_by=null!==(r=null!==(i=this.additionalSearchParameters.queryBy)&&void 0!==i?i:this.additionalSearchParameters.query_by)&&void 0!==r?r:"",this.additionalSearchParameters.preset=null!==(a=null!==(s=this.additionalSearchParameters.preset)&&void 0!==s?s:this.additionalSearchParameters.preset)&&void 0!==a?a:"",this.additionalSearchParameters.sort_by=null!==(u=null!==(c=this.additionalSearchParameters.sortBy)&&void 0!==c?c:this.additionalSearchParameters.sort_by)&&void 0!==u?u:"",this.additionalSearchParameters.highlight_full_fields=null!==(l=null!==(f=this.additionalSearchParameters.highlightFullFields)&&void 0!==f?f:this.additionalSearchParameters.highlight_full_fields)&&void 0!==l?l:this.additionalSearchParameters.query_by,this.geoLocationField=null!==(h=w.geoLocationField)&&void 0!==h?h:"_geoloc",this.facetableFieldsWithSpecialCharacters=null!==(p=w.facetableFieldsWithSpecialCharacters)&&void 0!==p?p:[],this.collectionSpecificSearchParameters=null!==(d=w.collectionSpecificSearchParameters)&&void 0!==d?d:{},Object.keys(this.collectionSpecificSearchParameters).forEach((function(t){var e,n,r,o,i,a,s=_.collectionSpecificSearchParameters[t];s.query_by=null!==(e=s.queryBy)&&void 0!==e?e:s.query_by,s.preset=null!==(n=s.preset)&&void 0!==n?n:s.preset,s.sort_by=null!==(r=s.sortBy)&&void 0!==r?r:s.sort_by,s.highlight_full_fields=null!==(o=null!==(i=null!==(a=s.highlightFullFields)&&void 0!==a?a:s.highlight_full_fields)&&void 0!==i?i:_.additionalSearchParameters.highlight_full_fields)&&void 0!==o?o:s.query_by,Object.keys(s).forEach((function(t){return void 0===s[t]?delete s[t]:{}}))})),this.renderingContent=w.renderingContent,this.flattenGroupedHits=null===(y=w.flattenGroupedHits)||void 0===y||y,this.facetByOptions=null!==(v=w.facetByOptions)&&void 0!==v?v:{},this.filterByOptions=null!==(g=w.filterByOptions)&&void 0!==g?g:{},this.collectionSpecificFacetByOptions=null!==(b=w.collectionSpecificFacetByOptions)&&void 0!==b?b:{},this.collectionSpecificFilterByOptions=null!==(m=w.collectionSpecificFilterByOptions)&&void 0!==m?m:{}}return u(t,[{key:"validate",value:function(){if((this.additionalSearchParameters.queryBy||Object.values(this.collectionSpecificSearchParameters).some((function(t){return t.queryBy})))&&console.warn("[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version. We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js."),0===this.additionalSearchParameters.query_by.length&&0===this.additionalSearchParameters.preset.length&&(0===Object.keys(this.collectionSpecificSearchParameters).length||Object.values(this.collectionSpecificSearchParameters).some((function(t){return 0===(t.query_by||"").length&&0===(t.preset||"").length}))))throw new Error("[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.")}}]),t}(),h=n(8871);function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&console.error("[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ".concat(Object.keys(r).join(",")));var o=Object.keys(r)[0],i=r[o].reduce((function(t,e){return e.startsWith("-")&&!n._isNumber(e)?t[0].push(e.substring(1)):t[1].push(e),t}),[[],[]]),a=y(i,2),s=a[0],u=a[1],c=[];if(u.length>0){var l=n._shouldUseExactMatchForField(o,e)?":=":":";c.push("".concat(o).concat(l,"[").concat(u.map((function(t){return n._escapeFacetValue(t)})).join(","),"]"))}if(s.length>0){var f=n._shouldUseExactMatchForField(o,e)?":!=":":!";c.push("".concat(o).concat(f,"[").concat(s.map((function(t){return n._escapeFacetValue(t)})).join(","),"]"))}return c.filter((function(t){return t})).join(" && ")}var h,p=n._parseFacetFilter(t),d=p.fieldName,v=p.fieldValue;if(v.startsWith("-")&&!n._isNumber(v)){var g=n._shouldUseExactMatchForField(d,e)?":!=":":!";h="".concat(d).concat(g,"[").concat(n._escapeFacetValue(v.substring(1)),"]")}else{var b=n._shouldUseExactMatchForField(d,e)?":=":":";h="".concat(d).concat(b,"[").concat(n._escapeFacetValue(v),"]")}return h})).join(" && "):r}},{key:"_parseFacetFilter",value:function(t){var e,n,r,o,i;if((null===(e=this.configuration.facetableFieldsWithSpecialCharacters)||void 0===e?void 0:e.length)>0){var a=this.configuration.facetableFieldsWithSpecialCharacters.flat().map((function(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}));if(n=new RegExp("^(".concat(a.join("|"),"):(.*)$")),null!=(r=t.match(n)))return{fieldName:o="".concat(r[1]),fieldValue:i="".concat(r[2])}}return n=this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX,null==(r=t.match(n))?console.error("[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter `".concat(t,"` with the Regex `").concat(n,"`. If you have field names with special characters, be sure to add them to a parameter called `facetableFieldsWithSpecialCharacters` when instantiating the adapter.")):(o="".concat(r[1]).concat(r[2]),i="".concat(r[3])),{fieldName:o,fieldValue:i}}},{key:"_escapeFacetValue",value:function(t){return"boolean"==typeof t||"true"===t||"false"===t||this._isNumber(t)?t:"`".concat(t,"`")}},{key:"_isNumber",value:function(t){return Number.isInteger(t%1)||!!(t%1)}},{key:"_adaptNumericFilters",value:function(t){var e=this,n="";if(!t)return n;var r={};t.forEach((function(t){var n=e._parseNumericFilter(t),o=n.fieldName,i=n.operator,a=n.fieldValue;r[o]=r[o]||{},r[o][i]=a}));var o=[];return Object.keys(r).forEach((function(t){null!=r[t]["<="]&&null!=r[t][">="]?o.push("".concat(t,":=[").concat(r[t][">="],"..").concat(r[t]["<="],"]")):null!=r[t]["<="]?o.push("".concat(t,":<=").concat(r[t]["<="])):null!=r[t][">="]?o.push("".concat(t,":>=").concat(r[t][">="])):null!=r[t]["="]?o.push("".concat(t,":=").concat(r[t]["="])):console.warn("[Typesense-Instantsearch-Adapter] Unsupported operator found ".concat(JSON.stringify(r[t])))})),o.join(" && ")}},{key:"_parseNumericFilter",value:function(t){var e,n,r,o,i,a;if((null===(e=this.configuration.facetableFieldsWithSpecialCharacters)||void 0===e?void 0:e.length)>0){var s=this.configuration.facetableFieldsWithSpecialCharacters.map((function(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}));if(n=new RegExp("^(".concat(s.join("|"),")(<=|>=|>|<|=)(.*)$")),null!=(r=t.match(n))){var u=y(r,4);return{fieldName:o=u[1],operator:i=u[2],fieldValue:a=u[3]}}}if(n=this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX,null==(r=t.match(n)))console.error("[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter `".concat(t,"` with the Regex `").concat(n,"`. If you have field names with special characters, be sure to add them to a parameter called `facetableFieldsWithSpecialCharacters` when instantiating the adapter."));else{var c=y(r,4);o=c[1],i=c[2],a=c[3]}return{fieldName:o,operator:i,fieldValue:a}}},{key:"_adaptGeoFilter",value:function(t){var e=t.insideBoundingBox,n=t.aroundRadius,r=t.aroundLatLng,o=t.insidePolygon;if(e){var i,a,s,u;if(Array.isArray(e)){var c=y(e.flat(),4);i=c[0],a=c[1],s=c[2],u=c[3]}else{var l=y(e.split(","),4);i=l[0],a=l[1],s=l[2],u=l[3]}return"".concat(this.configuration.geoLocationField,":(").concat(i,", ").concat(a,", ").concat(i,", ").concat(u,", ").concat(s,", ").concat(u,", ").concat(s,", ").concat(a,")")}if(r||n){if(!n||"all"===n)throw new Error("[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. So the `aroundRadius` parameter is required when `aroundLatLng` is used. If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).");var f="".concat(parseFloat(n)/1e3," km");return"".concat(this.configuration.geoLocationField,":(").concat(r,", ").concat(f,")")}if(o){var h=o;return Array.isArray(o)&&(h=o.flat().join(",")),"".concat(this.configuration.geoLocationField,":(").concat(h,")")}}},{key:"_adaptFilters",value:function(t,e,n){var r=[];return t.filters&&r.push(t.filters),n&&r.push(n),r.push(this._adaptFacetFilters(t.facetFilters,e)),r.push(this._adaptNumericFilters(t.numericFilters)),r.push(this._adaptGeoFilter(t)),r.filter((function(t){return t&&""!==t})).join(" && ")}},{key:"_adaptIndexName",value:function(t){return t.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1]}},{key:"_adaptSortBy",value:function(t){return t.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3]}},{key:"_adaptFacetBy",value:function(t,e){var n=this;return[t].flat().map((function(t){var r;return null!==(r=n.configuration.collectionSpecificFacetByOptions)&&void 0!==r&&null!==(r=r[e])&&void 0!==r&&r[t]?"".concat(t).concat(n.configuration.collectionSpecificFacetByOptions[e][t]):n.configuration.facetByOptions[t]?"".concat(t).concat(n.configuration.facetByOptions[t]):t})).join(",")}},{key:"_buildSearchParameters",value:function(t){for(var e=t.params,n=t.indexName,r=this._adaptIndexName(n),o={},i=0,a=Object.entries(this.additionalSearchParameters);i=|>|<|=)(.*)")}}]),t}();function g(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||d(t)||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 b(t,e,n){return(e=a(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var m={_adaptHighlightTag:function(t,e,n){return t.replace(new RegExp("","g"),e||"").replace(new RegExp("","g"),n||"")},_adaptNumberOfPages:function(){var t=this.typesenseResponse.found/this.typesenseResponse.request_params.per_page;return Number.isFinite(t)?Math.ceil(t):1}};function _(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function w(t){for(var e=1;e3&&void 0!==arguments[3]?arguments[3]:[];o(this,t),this.typesenseResponse=e,this.instantsearchRequest=n,this.configuration=r,this.allTypesenseResponses=i}return u(t,[{key:"_adaptGroupedHits",value:function(t){var e=this,n=[];return n=t.map((function(t){var n=e._adaptHits(t.hits);return n.forEach((function(e){e.group_key=e._group_key=t.group_key,t.found&&(e._group_found=t.found)})),n})),this.configuration.flattenGroupedHits?n.flat():n.map((function(t){return w(w({},t[0]),{},{_grouped_hits:t})}))}},{key:"_adaptHits",value:function(t){var e=this;return t.map((function(t){var n=w({},t.document);n.objectID=t.document.id,n._snippetResult=e._adaptHighlightResult(t,"snippet"),n._highlightResult=e._adaptHighlightResult(t,"value"),n._rawTypesenseHit=t,["text_match","geo_distance_meters","curated","text_match_info","hybrid_search_info","vector_distance"].forEach((function(e){Object.keys(t).includes(e)&&!Object.keys(n).includes(e)&&(n[e]=t[e])}));var r=n[e.configuration.geoLocationField];return r&&(n._geoloc={lat:r[0],lng:r[1]}),n}))}},{key:"_adaptHighlightResult",value:function(t,e){var n={};return null!=t.highlight&&this.isHighlightPost0240RCN32Format(t.highlight)?this.adaptHighlightObject(t,n,e):this.adaptHighlightsArray(t,n,e),n}},{key:"isHighlightPost0240RCN32Format",value:function(t){return null==t.full&&null==t.snippet}},{key:"adaptHighlightsArray",value:function(t,e,n){var r=this;Object.assign.apply(Object,[e].concat(g(Object.entries(t.document).map((function(t){var e=y(t,2);return b({},e[0],{value:e[1],matchLevel:"none",matchedWords:[]})}))))),t.highlights.forEach((function(t){e[t.field]={value:t[n]||t["".concat(n,"s")],matchLevel:"full",matchedWords:t.matched_tokens},t.indices&&(e[t.field].matchedIndices=t.indices)})),Object.entries(e).forEach((function(o){var a=y(o,2),s=a[0],u=a[1],c=s,l=u.value,f=u.matchLevel,h=u.matchedWords,p=u.matchedIndices;null==l?e[c]=r._adaptHighlightNullValue():Array.isArray(l)?(e[c]=[],t.document[c].forEach((function(t,o){p&&p.includes(o)?e[c].push({value:r._adaptHighlightTag("".concat(l[p.indexOf(o)]),r.instantsearchRequest.params.highlightPreTag,r.instantsearchRequest.params.highlightPostTag),matchLevel:f,matchedWords:h[o]}):"object"===i(t)?e[c].push(r._adaptHighlightInObjectValue(t,{},n)):e[c].push({value:"".concat(t),matchLevel:"none",matchedWords:[]})}))):"object"===i(l)?e[c]=r._adaptHighlightInObjectValue(l,{},n):e[c].value=r._adaptHighlightTag("".concat(l),r.instantsearchRequest.params.highlightPreTag,r.instantsearchRequest.params.highlightPostTag)}))}},{key:"adaptHighlightObject",value:function(t,e,n){Object.assign(e,this._adaptHighlightInObjectValue(t.document,t.highlight,n))}},{key:"_adaptHighlightInObjectValue",value:function(t,e,n){var r=this;return Object.assign.apply(Object,[{}].concat(g(Object.entries(t).map((function(t){var o,a=y(t,2),s=a[0],u=a[1];if(null==u)o=r._adaptHighlightNullValue();else if(Array.isArray(u)){var c;o=r._adaptHighlightInArrayValue(u,null!==(c=null==e?void 0:e[s])&&void 0!==c?c:[],n)}else if("object"===i(u)){var l;o=r._adaptHighlightInObjectValue(u,null!==(l=null==e?void 0:e[s])&&void 0!==l?l:{},n)}else o=r._adaptHighlightInPrimitiveValue(u,null==e?void 0:e[s],n);return b({},s,o)})))))}},{key:"_adaptHighlightInArrayValue",value:function(t,e,n){var r=this;return t.map((function(t,o){var a;if(null==t)a=r._adaptHighlightNullValue();else if(Array.isArray(t)){var s;a=r._adaptHighlightInArrayValue(t,null!==(s=null==e?void 0:e[o])&&void 0!==s?s:[],n)}else if("object"===i(t)){var u;a=r._adaptHighlightInObjectValue(t,null!==(u=null==e?void 0:e[o])&&void 0!==u?u:{},n)}else a=r._adaptHighlightInPrimitiveValue(t,null==e?void 0:e[o],n);return a}))}},{key:"_adaptHighlightInPrimitiveValue",value:function(t,e,n){var r,o;return null!=e?{value:this._adaptHighlightTag("".concat(null!==(r=null!==(o=e[n])&&void 0!==o?o:e.highlight)&&void 0!==r?r:e.snippet),this.instantsearchRequest.params.highlightPreTag,this.instantsearchRequest.params.highlightPostTag),matchLevel:(e.matched_tokens||[]).length>0?"full":"none",matchedWords:e.matched_tokens||[]}:{value:this._adaptHighlightTag("".concat(t),this.instantsearchRequest.params.highlightPreTag,this.instantsearchRequest.params.highlightPostTag),matchLevel:"none",matchedWords:[]}}},{key:"_adaptHighlightNullValue",value:function(){return{value:"",matchLevel:"none",matchedWords:[]}}},{key:"_adaptFacets",value:function(t){var e={};return t.forEach((function(t){Object.assign(e,b({},t.field_name,Object.assign.apply(Object,[{}].concat(g(t.counts.map((function(t){return b({},t.value,t.count)})))))))})),e}},{key:"_adaptFacetStats",value:function(t){var e={};return t.forEach((function(t){Object.keys(t.stats).length>0&&Object.assign(e,b({},t.field_name,t.stats))})),e}},{key:"_adaptRenderingContent",value:function(t){var e,n=Object.assign({},this.configuration.renderingContent);return null==(null===(e=n.facetOrdering)||void 0===e||null===(e=e.facets)||void 0===e?void 0:e.order)&&(n.facetOrdering=n.facetOrdering||{},n.facetOrdering.facets=n.facetOrdering.facets||{},n.facetOrdering.facets.order=g(new Set(t.map((function(t){return t.field_name})).concat(this.allTypesenseResponses.map((function(t){return t.facet_counts||[]})).flat().map((function(t){return t.field_name})).filter((function(t){return t})))))),n}},{key:"adapt",value:function(){var t=this._adaptRenderingContent(this.typesenseResponse.facet_counts||[]);return w({hits:this.typesenseResponse.grouped_hits?this._adaptGroupedHits(this.typesenseResponse.grouped_hits):this._adaptHits(this.typesenseResponse.hits),nbHits:this.typesenseResponse.found,page:this.typesenseResponse.page-1,nbPages:this._adaptNumberOfPages(),hitsPerPage:this.typesenseResponse.request_params.per_page,facets:this._adaptFacets(this.typesenseResponse.facet_counts||[]),facets_stats:this._adaptFacetStats(this.typesenseResponse.facet_counts||{}),query:this.typesenseResponse.request_params.q,processingTimeMS:this.typesenseResponse.search_time_ms},Object.keys(t).length>0?{renderingContent:t}:null)}}]),t}();Object.assign(P.prototype,m);var S=function(){function t(e,n){o(this,t),this.typesenseResponse=e,this.instantsearchRequest=n}return u(t,[{key:"_adaptFacetHits",value:function(t){var e=this;return t.find((function(t){return t.field_name===e.instantsearchRequest.params.facetName})).counts.map((function(t){return{value:t.value,highlighted:e._adaptHighlightTag(t.highlighted,e.instantsearchRequest.params.highlightPreTag,e.instantsearchRequest.params.highlightPostTag),count:t.count}}))}},{key:"adapt",value:function(){return{facetHits:this._adaptFacetHits(this.typesenseResponse.facet_counts),exhaustiveFacetsCount:!0,processingTimeMS:this.typesenseResponse.search_time_ms}}}]),t}();Object.assign(S.prototype,m);var O=function(){function t(e){var n=this;o(this,t),this.updateConfiguration(e),this.searchClient={clearCache:function(){return n.clearCache()},search:function(t){return n.searchTypesenseAndAdapt(t)},searchForFacetValues:function(t){return n.searchTypesenseForFacetValuesAndAdapt(t)}}}var n,r,i;return u(t,[{key:"searchTypesenseAndAdapt",value:(i=e(l().mark((function t(e){var n,r,o=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._adaptAndPerformTypesenseRequest(e);case 3:return n=t.sent,r=n.results.map((function(t,r){return o._validateTypesenseResult(t),new P(t,e[r],o.configuration,n.results).adapt()})),t.abrupt("return",{results:r});case 8:throw t.prev=8,t.t0=t.catch(0),console.error(t.t0),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])}))),function(t){return i.apply(this,arguments)})},{key:"searchTypesenseForFacetValuesAndAdapt",value:(r=e(l().mark((function t(e){var n,r,o=this;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,this._adaptAndPerformTypesenseRequest(e);case 3:return n=t.sent,r=n.results.map((function(t,n){return o._validateTypesenseResult(t),new S(t,e[n],o.configuration).adapt()})),t.abrupt("return",r);case 8:throw t.prev=8,t.t0=t.catch(0),console.error(t.t0),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])}))),function(t){return r.apply(this,arguments)})},{key:"_adaptAndPerformTypesenseRequest",value:(n=e(l().mark((function t(e){var n,r;return l().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=new v(e,this.typesenseClient,this.configuration),t.next=3,n.request();case 3:return r=t.sent,t.abrupt("return",r);case 5:case"end":return t.stop()}}),t,this)}))),function(t){return n.apply(this,arguments)})},{key:"clearCache",value:function(){return this.typesenseClient=new h.SearchClient(this.configuration.server),this.searchClient}},{key:"updateConfiguration",value:function(t){return this.configuration=new f(t),this.configuration.validate(),this.typesenseClient=new h.SearchClient(this.configuration.server),!0}},{key:"_validateTypesenseResult",value:function(t){if(t.error)throw new Error("".concat(t.code," - ").concat(t.error));if(!t.hits&&!t.grouped_hits)throw new Error("Did not find any hits. ".concat(t.code," - ").concat(t.error))}}]),t}()})(),r.default})())); //# sourceMappingURL=typesense-instantsearch-adapter.min.js.map \ No newline at end of file diff --git a/dist/typesense-instantsearch-adapter.min.js.map b/dist/typesense-instantsearch-adapter.min.js.map index bb69283..5272e14 100644 --- a/dist/typesense-instantsearch-adapter.min.js.map +++ b/dist/typesense-instantsearch-adapter.min.js.map @@ -1 +1 @@ -{"version":3,"file":"typesense-instantsearch-adapter.min.js","mappings":"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","sources":["webpack://TypesenseInstantSearchAdapter/webpack/universalModuleDefinition","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/adapters/xhr.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/Cancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/CancelToken.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/isCancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/Axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/InterceptorManager.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/buildFullPath.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/createError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/dispatchRequest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/enhanceError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/mergeConfig.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/settle.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/transformData.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/transitional.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/env/data.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/bind.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/buildURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/combineURLs.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/cookies.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/spread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/validator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/utils.js","webpack://TypesenseInstantSearchAdapter/./node_modules/loglevel/lib/loglevel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Alias.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Aliases.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Analytics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRule.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRules.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ApiCall.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Client.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collections.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Debug.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Document.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Documents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ImportError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ServerError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Health.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Key.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Keys.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Metrics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/MultiSearch.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Operations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Override.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Overrides.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Preset.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Presets.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/RequestWithCache.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchClient.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonym.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonyms.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/regenerator/index.js","webpack://TypesenseInstantSearchAdapter/webpack/bootstrap","webpack://TypesenseInstantSearchAdapter/webpack/runtime/compat get default export","webpack://TypesenseInstantSearchAdapter/webpack/runtime/define property getters","webpack://TypesenseInstantSearchAdapter/webpack/runtime/hasOwnProperty shorthand","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://TypesenseInstantSearchAdapter/./src/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://TypesenseInstantSearchAdapter/./src/SearchRequestAdapter.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://TypesenseInstantSearchAdapter/./src/support/utils.js","webpack://TypesenseInstantSearchAdapter/./src/SearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/FacetSearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/TypesenseInstantsearchAdapter.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TypesenseInstantSearchAdapter\"] = factory();\n\telse\n\t\troot[\"TypesenseInstantSearchAdapter\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.SearchClient = exports.Client = void 0;\nvar Client_1 = __importDefault(require(\"./Typesense/Client\"));\nexports.Client = Client_1.default;\nvar SearchClient_1 = __importDefault(require(\"./Typesense/SearchClient\"));\nexports.SearchClient = SearchClient_1.default;\nvar Errors = __importStar(require(\"./Typesense/Errors\"));\nexports.Errors = Errors;\nexports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors };\n//# sourceMappingURL=Typesense.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias = /** @class */ (function () {\n function Alias(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n Alias.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Alias.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Alias.prototype.endpointPath = function () {\n return \"\".concat(Aliases_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Alias;\n}());\nexports.default = Alias;\n//# sourceMappingURL=Alias.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/aliases\";\nvar Aliases = /** @class */ (function () {\n function Aliases(apiCall) {\n this.apiCall = apiCall;\n }\n Aliases.prototype.upsert = function (name, mapping) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)];\n });\n });\n };\n Aliases.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Aliases.prototype.endpointPath = function (aliasName) {\n return \"\".concat(Aliases.RESOURCEPATH, \"/\").concat(aliasName);\n };\n Object.defineProperty(Aliases, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Aliases;\n}());\nexports.default = Aliases;\n//# sourceMappingURL=Aliases.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule_1 = __importDefault(require(\"./AnalyticsRule\"));\nvar RESOURCEPATH = \"/analytics\";\nvar Analytics = /** @class */ (function () {\n function Analytics(apiCall) {\n this.apiCall = apiCall;\n this.individualAnalyticsRules = {};\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules_1.default(this.apiCall);\n }\n Analytics.prototype.rules = function (id) {\n if (id === undefined) {\n return this._analyticsRules;\n }\n else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule_1.default(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n };\n Object.defineProperty(Analytics, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Analytics;\n}());\nexports.default = Analytics;\n//# sourceMappingURL=Analytics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule = /** @class */ (function () {\n function AnalyticsRule(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n AnalyticsRule.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.endpointPath = function () {\n return \"\".concat(AnalyticsRules_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return AnalyticsRule;\n}());\nexports.default = AnalyticsRule;\n//# sourceMappingURL=AnalyticsRule.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/analytics/rules\";\nvar AnalyticsRules = /** @class */ (function () {\n function AnalyticsRules(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n AnalyticsRules.prototype.upsert = function (name, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)];\n });\n });\n };\n AnalyticsRules.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRules.prototype.endpointPath = function (operation) {\n return \"\".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(AnalyticsRules, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return AnalyticsRules;\n}());\nexports.default = AnalyticsRules;\n//# sourceMappingURL=AnalyticsRules.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __importDefault(require(\"axios\"));\nvar Errors_1 = require(\"./Errors\");\nvar TypesenseError_1 = __importDefault(require(\"./Errors/TypesenseError\"));\nvar APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nvar HEALTHY = true;\nvar UNHEALTHY = false;\nvar ApiCall = /** @class */ (function () {\n function ApiCall(configuration) {\n this.configuration = configuration;\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n this.logger = this.configuration.logger;\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n ApiCall.prototype.get = function (endpoint, queryParameters, _a) {\n if (queryParameters === void 0) { queryParameters = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_e) {\n return [2 /*return*/, this.performRequest(\"get\", endpoint, {\n queryParameters: queryParameters,\n abortSignal: abortSignal,\n responseType: responseType,\n })];\n });\n });\n };\n ApiCall.prototype.delete = function (endpoint, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"delete\", endpoint, { queryParameters: queryParameters })];\n });\n });\n };\n ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"post\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n additionalHeaders: additionalHeaders,\n })];\n });\n });\n };\n ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"put\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"patch\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.performRequest = function (requestType, endpoint, _a) {\n var _b, _c, _d;\n var _e = _a.queryParameters, queryParameters = _e === void 0 ? null : _e, _f = _a.bodyParameters, bodyParameters = _f === void 0 ? null : _f, _g = _a.additionalHeaders, additionalHeaders = _g === void 0 ? {} : _g, _h = _a.abortSignal, abortSignal = _h === void 0 ? null : _h, _j = _a.responseType, responseType = _j === void 0 ? undefined : _j, _k = _a.skipConnectionTimeout, skipConnectionTimeout = _k === void 0 ? false : _k;\n return __awaiter(this, void 0, void 0, function () {\n var requestNumber, lastException, _loop_1, this_1, numTries, state_1;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.configuration.validate();\n requestNumber = Date.now();\n this.logger.debug(\"Request #\".concat(requestNumber, \": Performing \").concat(requestType.toUpperCase(), \" request: \").concat(endpoint));\n _loop_1 = function (numTries) {\n var node, abortListener, requestOptions, cancelToken, source_1, response, error_1;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n node = this_1.getNextNode(requestNumber);\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Attempting \").concat(requestType.toUpperCase(), \" request Try #\").concat(numTries, \" to Node \").concat(node.index));\n if (abortSignal && abortSignal.aborted) {\n return [2 /*return*/, { value: Promise.reject(new Error(\"Request aborted by caller.\")) }];\n }\n abortListener = void 0;\n _m.label = 1;\n case 1:\n _m.trys.push([1, 3, 5, 6]);\n requestOptions = {\n method: requestType,\n url: this_1.uriFor(endpoint, node),\n headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType: responseType,\n validateStatus: function (status) {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n function (data, headers) {\n var transformedData = data;\n if (headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this_1.connectionTimeoutSeconds * 1000;\n }\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n if (this_1.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this_1.apiKey;\n }\n if (bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))) {\n requestOptions.data = bodyParameters;\n }\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n cancelToken = axios_1.default.CancelToken;\n source_1 = cancelToken.source();\n abortListener = function () { return source_1.cancel(); };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source_1.token;\n }\n return [4 /*yield*/, (0, axios_1.default)(requestOptions)];\n case 2:\n response = _m.sent();\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this_1.setNodeHealthcheck(node, HEALTHY);\n }\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" was made. Response Code was \").concat(response.status, \".\"));\n if (response.status >= 200 && response.status < 300) {\n return [2 /*return*/, { value: Promise.resolve(response.data) }];\n }\n else if (response.status < 500) {\n return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }];\n }\n else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message);\n }\n return [3 /*break*/, 6];\n case 3:\n error_1 = _m.sent();\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this_1.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error_1;\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" failed due to \\\"\").concat(error_1.code, \" \").concat(error_1.message).concat(error_1.response == null\n ? \"\"\n : \" - \" + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), \"\\\"\"));\n // this.logger.debug(error.stack)\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Sleeping for \").concat(this_1.retryIntervalSeconds, \"s and then retrying request...\"));\n return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)];\n case 4:\n _m.sent();\n return [3 /*break*/, 6];\n case 5:\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n numTries = 1;\n _l.label = 1;\n case 1:\n if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1(numTries)];\n case 2:\n state_1 = _l.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n _l.label = 3;\n case 3:\n numTries++;\n return [3 /*break*/, 1];\n case 4:\n this.logger.debug(\"Request #\".concat(requestNumber, \": No retries left. Raising last error\"));\n return [2 /*return*/, Promise.reject(lastException)];\n }\n });\n });\n };\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n ApiCall.prototype.getNextNode = function (requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: Node \").concat(this.nearestNode.index, \" is \").concat(this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"));\n if (this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(this.nearestNode.index));\n return this.nearestNode;\n }\n this.logger.debug(\"Request #\".concat(requestNumber, \": Falling back to individual nodes\"));\n }\n // Fallback to nodes as usual\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: \").concat(this.nodes\n .map(function (node) {\n return \"Node \".concat(node.index, \" is \").concat(node.isHealthy === true ? \"Healthy\" : \"Unhealthy\");\n })\n .join(\" || \")));\n var candidateNode = this.nodes[0];\n for (var i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(candidateNode.index));\n return candidateNode;\n }\n }\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\"Request #\".concat(requestNumber, \": No healthy nodes were found. Returning the next node, Node \").concat(candidateNode.index));\n return candidateNode;\n };\n ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Node \").concat(node.index, \" has exceeded healtcheckIntervalSeconds of \").concat(this.healthcheckIntervalSeconds, \". Adding it back into rotation.\"));\n }\n return isDueForHealthcheck;\n };\n ApiCall.prototype.initializeMetadataForNodes = function () {\n var _this = this;\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n this.nodes.forEach(function (node, i) {\n node.index = i;\n _this.setNodeHealthcheck(node, HEALTHY);\n });\n };\n ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n };\n ApiCall.prototype.uriFor = function (endpoint, node) {\n if (node.url != null) {\n return \"\".concat(node.url).concat(endpoint);\n }\n return \"\".concat(node.protocol, \"://\").concat(node.host, \":\").concat(node.port).concat(node.path).concat(endpoint);\n };\n ApiCall.prototype.defaultHeaders = function () {\n var defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n };\n ApiCall.prototype.timer = function (seconds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })];\n });\n });\n };\n ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) {\n var errorMessage = \"Request failed with HTTP code \".concat(response.status);\n if (typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\") {\n errorMessage += \" | Server said: \".concat(messageFromServer);\n }\n var error = new TypesenseError_1.default(errorMessage);\n if (response.status === 400) {\n error = new Errors_1.RequestMalformed(errorMessage);\n }\n else if (response.status === 401) {\n error = new Errors_1.RequestUnauthorized(errorMessage);\n }\n else if (response.status === 404) {\n error = new Errors_1.ObjectNotFound(errorMessage);\n }\n else if (response.status === 409) {\n error = new Errors_1.ObjectAlreadyExists(errorMessage);\n }\n else if (response.status === 422) {\n error = new Errors_1.ObjectUnprocessable(errorMessage);\n }\n else if (response.status >= 500 && response.status <= 599) {\n error = new Errors_1.ServerError(errorMessage);\n }\n else {\n error = new Errors_1.HTTPError(errorMessage);\n }\n error.httpStatus = response.status;\n return error;\n };\n return ApiCall;\n}());\nexports.default = ApiCall;\n//# sourceMappingURL=ApiCall.js.map","\"use strict\";\n/* eslint-disable no-dupe-class-members */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Collection_1 = __importDefault(require(\"./Collection\"));\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias_1 = __importDefault(require(\"./Alias\"));\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key_1 = __importDefault(require(\"./Key\"));\nvar Debug_1 = __importDefault(require(\"./Debug\"));\nvar Metrics_1 = __importDefault(require(\"./Metrics\"));\nvar Health_1 = __importDefault(require(\"./Health\"));\nvar Operations_1 = __importDefault(require(\"./Operations\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset_1 = __importDefault(require(\"./Preset\"));\nvar Analytics_1 = __importDefault(require(\"./Analytics\"));\nvar Client = /** @class */ (function () {\n function Client(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false;\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.debug = new Debug_1.default(this.apiCall);\n this.metrics = new Metrics_1.default(this.apiCall);\n this.health = new Health_1.default(this.apiCall);\n this.operations = new Operations_1.default(this.apiCall);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration);\n this._collections = new Collections_1.default(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases_1.default(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys_1.default(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets_1.default(this.apiCall);\n this.individualPresets = {};\n this.analytics = new Analytics_1.default(this.apiCall);\n }\n Client.prototype.collections = function (collectionName) {\n if (collectionName === undefined) {\n return this._collections;\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n Client.prototype.aliases = function (aliasName) {\n if (aliasName === undefined) {\n return this._aliases;\n }\n else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n };\n Client.prototype.keys = function (id) {\n if (id === undefined) {\n return this._keys;\n }\n else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key_1.default(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n };\n Client.prototype.presets = function (id) {\n if (id === undefined) {\n return this._presets;\n }\n else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset_1.default(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n };\n return Client;\n}());\nexports.default = Client;\n//# sourceMappingURL=Client.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Errors_1 = require(\"./Errors\");\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override_1 = __importDefault(require(\"./Override\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym_1 = __importDefault(require(\"./Synonym\"));\nvar Document_1 = require(\"./Document\");\nvar Collection = /** @class */ (function () {\n function Collection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.individualDocuments = {};\n this.individualOverrides = {};\n this.individualSynonyms = {};\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration);\n this._overrides = new Overrides_1.default(this.name, this.apiCall);\n this._synonyms = new Synonyms_1.default(this.name, this.apiCall);\n }\n Collection.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Collection.prototype.update = function (schema) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)];\n });\n });\n };\n Collection.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Collection.prototype.exists = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.retrieve()];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n e_1 = _a.sent();\n if (e_1 instanceof Errors_1.ObjectNotFound)\n return [2 /*return*/, false];\n throw e_1;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Collection.prototype.documents = function (documentId) {\n if (!documentId) {\n return this._documents;\n }\n else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall);\n }\n return this.individualDocuments[documentId];\n }\n };\n Collection.prototype.overrides = function (overrideId) {\n if (overrideId === undefined) {\n return this._overrides;\n }\n else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall);\n }\n return this.individualOverrides[overrideId];\n }\n };\n Collection.prototype.synonyms = function (synonymId) {\n if (synonymId === undefined) {\n return this._synonyms;\n }\n else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall);\n }\n return this.individualSynonyms[synonymId];\n }\n };\n Collection.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Collection;\n}());\nexports.default = Collection;\n//# sourceMappingURL=Collection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/collections\";\nvar Collections = /** @class */ (function () {\n function Collections(apiCall) {\n this.apiCall = apiCall;\n }\n Collections.prototype.create = function (schema, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)];\n });\n });\n };\n Collections.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Object.defineProperty(Collections, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Collections;\n}());\nexports.default = Collections;\n//# sourceMappingURL=Collections.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar logger = __importStar(require(\"loglevel\"));\nvar Errors_1 = require(\"./Errors\");\nvar Configuration = /** @class */ (function () {\n function Configuration(options) {\n var _this = this;\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map(function (node) { return _this.setDefaultPathInNode(node); })\n .map(function (node) { return _this.setDefaultPortInNode(node); })\n .map(function (node) { return (__assign({}, node)); }); // Make a deep copy\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n options.numRetries ||\n this.nodes.length + (this.nearestNode == null ? 0 : 1) ||\n 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n this.additionalHeaders = options.additionalHeaders;\n this.showDeprecationWarnings(options);\n this.validate();\n }\n Configuration.prototype.validate = function () {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\");\n }\n if (this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\");\n }\n if (this.apiKey == null) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n return true;\n };\n Configuration.prototype.validateNodes = function () {\n var _this = this;\n return this.nodes.some(function (node) {\n return _this.isNodeMissingAnyParameters(node);\n });\n };\n Configuration.prototype.isNodeMissingAnyParameters = function (node) {\n return (![\"protocol\", \"host\", \"port\", \"path\"].every(function (key) {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null);\n };\n Configuration.prototype.setDefaultPathInNode = function (node) {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n };\n Configuration.prototype.setDefaultPortInNode = function (node) {\n if (node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n };\n Configuration.prototype.showDeprecationWarnings = function (options) {\n if (options.timeoutSeconds) {\n this.logger.warn(\"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\");\n }\n if (options.masterNode) {\n this.logger.warn(\"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n };\n Configuration.prototype.shuffleArray = function (array) {\n var _a;\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1];\n }\n };\n return Configuration;\n}());\nexports.default = Configuration;\n//# sourceMappingURL=Configuration.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/debug\";\nvar Debug = /** @class */ (function () {\n function Debug(apiCall) {\n this.apiCall = apiCall;\n }\n Debug.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Debug;\n}());\nexports.default = Debug;\n//# sourceMappingURL=Debug.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Document = void 0;\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Document = /** @class */ (function () {\n function Document(collectionName, documentId, apiCall) {\n this.collectionName = collectionName;\n this.documentId = documentId;\n this.apiCall = apiCall;\n }\n Document.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Document.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Document.prototype.update = function (partialDocument, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)];\n });\n });\n };\n Document.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, \"/\").concat(this.documentId);\n };\n return Document;\n}());\nexports.Document = Document;\n//# sourceMappingURL=Document.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Errors_1 = require(\"./Errors\");\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar Documents = /** @class */ (function (_super) {\n __extends(Documents, _super);\n function Documents(collectionName, apiCall, configuration) {\n return _super.call(this, collectionName, apiCall, configuration) || this;\n }\n Documents.prototype.create = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)];\n });\n });\n };\n Documents.prototype.upsert = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"upsert\" }))];\n });\n });\n };\n Documents.prototype.update = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n if (options[\"filter_by\"] != null) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))];\n }\n else {\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"update\" }))];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.delete = function (idOrQuery) {\n if (idOrQuery === void 0) { idOrQuery = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof idOrQuery === \"string\") {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(idOrQuery), idOrQuery)];\n }\n else {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(), idOrQuery)];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.createMany = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.configuration.logger.warn(\"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\");\n return [2 /*return*/, this.import(documents, options)];\n });\n });\n };\n Documents.prototype.import = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map(function (document) { return JSON.stringify(document); })\n .join(\"\\n\");\n }\n catch (error) {\n // if rangeerror, throw custom error message\n if (RangeError instanceof error &&\n (error === null || error === void 0 ? void 0 : error.includes(\"Too many properties to enumerate\"))) {\n throw new Error(\"\".concat(error, \"\\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\\n\\n Please try reducing the number of keys in your document, or using CURL to import your data.\\n \"));\n }\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n }\n else {\n documentsInJSONLFormat = documents;\n }\n return [4 /*yield*/, this.apiCall.performRequest(\"post\", this.endpointPath(\"import\"), {\n queryParameters: options,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n })];\n case 1:\n resultsInJSONLFormat = _a.sent();\n if (Array.isArray(documents)) {\n resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map(function (r) { return JSON.parse(r); });\n failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; });\n if (failedItems.length > 0) {\n throw new Errors_1.ImportError(\"\".concat(resultsInJSONFormat.length - failedItems.length, \" documents imported successfully, \").concat(failedItems.length, \" documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\"), resultsInJSONFormat);\n }\n else {\n return [2 /*return*/, resultsInJSONFormat];\n }\n }\n else {\n return [2 /*return*/, resultsInJSONLFormat];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n Documents.prototype.export = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options)];\n });\n });\n };\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n Documents.prototype.exportStream = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n })];\n });\n });\n };\n return Documents;\n}(SearchOnlyDocuments_1.SearchOnlyDocuments));\nexports.default = Documents;\n//# sourceMappingURL=Documents.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar HTTPError = /** @class */ (function (_super) {\n __extends(HTTPError, _super);\n function HTTPError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return HTTPError;\n}(TypesenseError_1.default));\nexports.default = HTTPError;\n//# sourceMappingURL=HTTPError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ImportError = /** @class */ (function (_super) {\n __extends(ImportError, _super);\n function ImportError(message, importResults) {\n var _this = _super.call(this, message) || this;\n _this.importResults = importResults;\n return _this;\n }\n return ImportError;\n}(TypesenseError_1.default));\nexports.default = ImportError;\n//# sourceMappingURL=ImportError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar MissingConfigurationError = /** @class */ (function (_super) {\n __extends(MissingConfigurationError, _super);\n function MissingConfigurationError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MissingConfigurationError;\n}(TypesenseError_1.default));\nexports.default = MissingConfigurationError;\n//# sourceMappingURL=MissingConfigurationError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectAlreadyExists = /** @class */ (function (_super) {\n __extends(ObjectAlreadyExists, _super);\n function ObjectAlreadyExists() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectAlreadyExists;\n}(TypesenseError_1.default));\nexports.default = ObjectAlreadyExists;\n//# sourceMappingURL=ObjectAlreadyExists.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectNotFound = /** @class */ (function (_super) {\n __extends(ObjectNotFound, _super);\n function ObjectNotFound() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectNotFound;\n}(TypesenseError_1.default));\nexports.default = ObjectNotFound;\n//# sourceMappingURL=ObjectNotFound.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectUnprocessable = /** @class */ (function (_super) {\n __extends(ObjectUnprocessable, _super);\n function ObjectUnprocessable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectUnprocessable;\n}(TypesenseError_1.default));\nexports.default = ObjectUnprocessable;\n//# sourceMappingURL=ObjectUnprocessable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestMalformed = /** @class */ (function (_super) {\n __extends(RequestMalformed, _super);\n function RequestMalformed() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestMalformed;\n}(TypesenseError_1.default));\nexports.default = RequestMalformed;\n//# sourceMappingURL=RequestMalformed.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestUnauthorized = /** @class */ (function (_super) {\n __extends(RequestUnauthorized, _super);\n function RequestUnauthorized() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestUnauthorized;\n}(TypesenseError_1.default));\nexports.default = RequestUnauthorized;\n//# sourceMappingURL=RequestUnauthorized.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ServerError = /** @class */ (function (_super) {\n __extends(ServerError, _super);\n function ServerError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ServerError;\n}(TypesenseError_1.default));\nexports.default = ServerError;\n//# sourceMappingURL=ServerError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError = /** @class */ (function (_super) {\n __extends(TypesenseError, _super);\n // Source: https://stackoverflow.com/a/58417721/123545\n function TypesenseError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.name = _newTarget.name;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TypesenseError;\n}(Error));\nexports.default = TypesenseError;\n//# sourceMappingURL=TypesenseError.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0;\nvar HTTPError_1 = __importDefault(require(\"./HTTPError\"));\nexports.HTTPError = HTTPError_1.default;\nvar MissingConfigurationError_1 = __importDefault(require(\"./MissingConfigurationError\"));\nexports.MissingConfigurationError = MissingConfigurationError_1.default;\nvar ObjectAlreadyExists_1 = __importDefault(require(\"./ObjectAlreadyExists\"));\nexports.ObjectAlreadyExists = ObjectAlreadyExists_1.default;\nvar ObjectNotFound_1 = __importDefault(require(\"./ObjectNotFound\"));\nexports.ObjectNotFound = ObjectNotFound_1.default;\nvar ObjectUnprocessable_1 = __importDefault(require(\"./ObjectUnprocessable\"));\nexports.ObjectUnprocessable = ObjectUnprocessable_1.default;\nvar RequestMalformed_1 = __importDefault(require(\"./RequestMalformed\"));\nexports.RequestMalformed = RequestMalformed_1.default;\nvar RequestUnauthorized_1 = __importDefault(require(\"./RequestUnauthorized\"));\nexports.RequestUnauthorized = RequestUnauthorized_1.default;\nvar ServerError_1 = __importDefault(require(\"./ServerError\"));\nexports.ServerError = ServerError_1.default;\nvar ImportError_1 = __importDefault(require(\"./ImportError\"));\nexports.ImportError = ImportError_1.default;\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nexports.TypesenseError = TypesenseError_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/health\";\nvar Health = /** @class */ (function () {\n function Health(apiCall) {\n this.apiCall = apiCall;\n }\n Health.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Health;\n}());\nexports.default = Health;\n//# sourceMappingURL=Health.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key = /** @class */ (function () {\n function Key(id, apiCall) {\n this.id = id;\n this.apiCall = apiCall;\n }\n Key.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Key.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Key.prototype.endpointPath = function () {\n return \"\".concat(Keys_1.default.RESOURCEPATH, \"/\").concat(this.id);\n };\n return Key;\n}());\nexports.default = Key;\n//# sourceMappingURL=Key.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar crypto_1 = require(\"crypto\");\nvar RESOURCEPATH = \"/keys\";\nvar Keys = /** @class */ (function () {\n function Keys(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n Keys.prototype.create = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)];\n });\n });\n };\n Keys.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when usined with the search endpoint.\n var paramsJSON = JSON.stringify(parameters);\n var digest = Buffer.from((0, crypto_1.createHmac)(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"));\n var keyPrefix = searchKey.substr(0, 4);\n var rawScopedKey = \"\".concat(digest).concat(keyPrefix).concat(paramsJSON);\n return Buffer.from(rawScopedKey).toString(\"base64\");\n };\n Object.defineProperty(Keys, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Keys;\n}());\nexports.default = Keys;\n//# sourceMappingURL=Keys.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/metrics.json\";\nvar Metrics = /** @class */ (function () {\n function Metrics(apiCall) {\n this.apiCall = apiCall;\n }\n Metrics.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Metrics;\n}());\nexports.default = Metrics;\n//# sourceMappingURL=Metrics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar RESOURCEPATH = \"/multi_search\";\nvar MultiSearch = /** @class */ (function () {\n function MultiSearch(apiCall, configuration, useTextContentType) {\n if (useTextContentType === void 0) { useTextContentType = false; }\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.useTextContentType = useTextContentType;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n MultiSearch.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) {\n if (commonParams === void 0) { commonParams = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c;\n return __awaiter(this, void 0, void 0, function () {\n var additionalHeaders, additionalQueryParams, queryParams;\n return __generator(this, function (_d) {\n additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n queryParams = Object.assign({}, commonParams, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })];\n });\n });\n };\n return MultiSearch;\n}());\nexports.default = MultiSearch;\n//# sourceMappingURL=MultiSearch.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/operations\";\nvar Operations = /** @class */ (function () {\n function Operations(apiCall) {\n this.apiCall = apiCall;\n }\n Operations.prototype.perform = function (operationName, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(\"\".concat(RESOURCEPATH, \"/\").concat(operationName), {}, queryParameters)];\n });\n });\n };\n return Operations;\n}());\nexports.default = Operations;\n//# sourceMappingURL=Operations.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override = /** @class */ (function () {\n function Override(collectionName, overrideId, apiCall) {\n this.collectionName = collectionName;\n this.overrideId = overrideId;\n this.apiCall = apiCall;\n }\n Override.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Override.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Override.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, \"/\").concat(this.overrideId);\n };\n return Override;\n}());\nexports.default = Override;\n//# sourceMappingURL=Override.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/overrides\";\nvar Overrides = /** @class */ (function () {\n function Overrides(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Overrides.prototype.upsert = function (overrideId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];\n });\n });\n };\n Overrides.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Overrides.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Overrides, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Overrides;\n}());\nexports.default = Overrides;\n//# sourceMappingURL=Overrides.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset = /** @class */ (function () {\n function Preset(presetId, apiCall) {\n this.presetId = presetId;\n this.apiCall = apiCall;\n }\n Preset.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Preset.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Preset.prototype.endpointPath = function () {\n return \"\".concat(Presets_1.default.RESOURCEPATH, \"/\").concat(this.presetId);\n };\n return Preset;\n}());\nexports.default = Preset;\n//# sourceMappingURL=Preset.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/presets\";\nvar Presets = /** @class */ (function () {\n function Presets(apiCall) {\n this.apiCall = apiCall;\n }\n Presets.prototype.upsert = function (presetId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)];\n });\n });\n };\n Presets.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Presets.prototype.endpointPath = function (operation) {\n return \"\".concat(Presets.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Presets, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Presets;\n}());\nexports.default = Presets;\n//# sourceMappingURL=Presets.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultCacheResponseForSeconds = 2 * 60;\nvar defaultMaxSize = 100;\nvar RequestWithCache = /** @class */ (function () {\n function RequestWithCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n RequestWithCache.prototype.clearCache = function () {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n };\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b;\n isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n if (isCacheDisabled) {\n return [2 /*return*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n }\n requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments);\n cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n now = Date.now();\n if (cacheEntry) {\n isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return [2 /*return*/, Promise.resolve(cacheEntry.response)];\n }\n else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON);\n if (cachePromiseEntry) {\n isEntryValid = now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry);\n return [2 /*return*/, cachePromiseEntry.responsePromise];\n }\n else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n responsePromise = requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false));\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise: responsePromise,\n });\n return [4 /*yield*/, responsePromise];\n case 1:\n response = _c.sent();\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response: response,\n });\n isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n return RequestWithCache;\n}());\nexports.default = RequestWithCache;\n//# sourceMappingURL=RequestWithCache.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar SearchOnlyCollection_1 = require(\"./SearchOnlyCollection\");\nvar SearchClient = /** @class */ (function () {\n function SearchClient(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;\n if (options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000) {\n console.warn(\"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\");\n options.sendApiKeyAsQueryParam = false;\n }\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n SearchClient.prototype.clearCache = function () {\n this.multiSearch.clearCache();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(function (_a) {\n var _ = _a[0], collection = _a[1];\n collection.documents().clearCache();\n });\n };\n SearchClient.prototype.collections = function (collectionName) {\n if (!collectionName) {\n throw new Error(\"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\");\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n return SearchClient;\n}());\nexports.default = SearchClient;\n//# sourceMappingURL=SearchClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyCollection = void 0;\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar SearchOnlyCollection = /** @class */ (function () {\n function SearchOnlyCollection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration);\n }\n SearchOnlyCollection.prototype.documents = function () {\n return this._documents;\n };\n return SearchOnlyCollection;\n}());\nexports.SearchOnlyCollection = SearchOnlyCollection;\n//# sourceMappingURL=SearchOnlyCollection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyDocuments = void 0;\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/documents\";\nvar SearchOnlyDocuments = /** @class */ (function () {\n function SearchOnlyDocuments(collectionName, apiCall, configuration) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n SearchOnlyDocuments.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n SearchOnlyDocuments.prototype.search = function (searchParameters, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d;\n return __awaiter(this, void 0, void 0, function () {\n var additionalQueryParams, key, queryParams;\n return __generator(this, function (_e) {\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n queryParams = Object.assign({}, searchParameters, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath(\"search\"), queryParams, { abortSignal: abortSignal }], {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n })];\n });\n });\n };\n SearchOnlyDocuments.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(SearchOnlyDocuments, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return SearchOnlyDocuments;\n}());\nexports.SearchOnlyDocuments = SearchOnlyDocuments;\n//# sourceMappingURL=SearchOnlyDocuments.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym = /** @class */ (function () {\n function Synonym(collectionName, synonymId, apiCall) {\n this.collectionName = collectionName;\n this.synonymId = synonymId;\n this.apiCall = apiCall;\n }\n Synonym.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, \"/\").concat(this.synonymId);\n };\n return Synonym;\n}());\nexports.default = Synonym;\n//# sourceMappingURL=Synonym.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/synonyms\";\nvar Synonyms = /** @class */ (function () {\n function Synonyms(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Synonyms.prototype.upsert = function (synonymId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)];\n });\n });\n };\n Synonyms.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonyms.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Synonyms, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Synonyms;\n}());\nexports.default = Synonyms;\n//# sourceMappingURL=Synonyms.js.map","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","\"use strict\";\n\nexport class Configuration {\n constructor(options = {}) {\n this.server = options.server || {\n nodes: [\n {\n host: \"localhost\",\n port: \"8108\",\n path: \"\",\n protocol: \"http\",\n },\n ],\n };\n\n this.server.cacheSearchResultsForSeconds = this.server.cacheSearchResultsForSeconds ?? 2 * 60;\n\n this.additionalSearchParameters = options.additionalSearchParameters ?? {};\n\n this.additionalSearchParameters.query_by =\n this.additionalSearchParameters.queryBy ?? this.additionalSearchParameters.query_by ?? \"\";\n\n this.additionalSearchParameters.preset =\n this.additionalSearchParameters.preset ?? this.additionalSearchParameters.preset ?? \"\";\n\n this.additionalSearchParameters.sort_by =\n this.additionalSearchParameters.sortBy ?? this.additionalSearchParameters.sort_by ?? \"\";\n\n this.additionalSearchParameters.highlight_full_fields =\n this.additionalSearchParameters.highlightFullFields ??\n this.additionalSearchParameters.highlight_full_fields ??\n this.additionalSearchParameters.query_by;\n\n this.geoLocationField = options.geoLocationField ?? \"_geoloc\";\n this.facetableFieldsWithSpecialCharacters = options.facetableFieldsWithSpecialCharacters ?? [];\n\n this.collectionSpecificSearchParameters = options.collectionSpecificSearchParameters ?? {};\n\n Object.keys(this.collectionSpecificSearchParameters).forEach((collection) => {\n const params = this.collectionSpecificSearchParameters[collection];\n params.query_by = params.queryBy ?? params.query_by;\n params.preset = params.preset ?? params.preset;\n params.sort_by = params.sortBy ?? params.sort_by;\n params.highlight_full_fields =\n params.highlightFullFields ??\n params.highlight_full_fields ??\n this.additionalSearchParameters.highlight_full_fields ??\n params.query_by;\n\n // Remove undefined values\n Object.keys(params).forEach((key) => (params[key] === undefined ? delete params[key] : {}));\n });\n\n this.renderingContent = options.renderingContent;\n this.flattenGroupedHits = options.flattenGroupedHits ?? true;\n this.facetByOptions = options.facetByOptions ?? {};\n this.filterByOptions = options.filterByOptions ?? {};\n this.collectionSpecificFacetByOptions = options.collectionSpecificFacetByOptions ?? {};\n this.collectionSpecificFilterByOptions = options.collectionSpecificFilterByOptions ?? {};\n }\n\n validate() {\n // Warn if camelCased parameters are used, suggest using snake_cased parameters instead\n if (\n this.additionalSearchParameters.queryBy ||\n Object.values(this.collectionSpecificSearchParameters).some((c) => c.queryBy)\n ) {\n console.warn(\n \"[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version.\" +\n \" We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js.\"\n );\n }\n\n /*\n * Either additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or\n * All collectionSpecificSearchParameters need to have query_by or preset\n *\n * */\n if (\n this.additionalSearchParameters.query_by.length === 0 &&\n this.additionalSearchParameters.preset.length === 0 &&\n (Object.keys(this.collectionSpecificSearchParameters).length === 0 ||\n Object.values(this.collectionSpecificSearchParameters).some(\n (c) => (c.query_by || \"\").length === 0 && (c.preset || \"\").length === 0\n ))\n ) {\n throw new Error(\n \"[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.\"\n );\n }\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`);\n\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n return adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by,\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // console.log(params);\n // console.log(typesenseSearchParams);\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n // console.log(this.instantsearchRequests);\n\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const utils = {\n _adaptHighlightTag(value, highlightPreTag, highlightPostTag) {\n return value\n .replace(new RegExp(\"\", \"g\"), highlightPreTag || \"\")\n .replace(new RegExp(\"\", \"g\"), highlightPostTag || \"\");\n },\n _adaptNumberOfPages() {\n const result = this.typesenseResponse.found / this.typesenseResponse.request_params.per_page;\n if (Number.isFinite(result)) {\n return Math.ceil(result);\n } else {\n return 1;\n }\n },\n};\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n // console.log(adaptedResult);\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class FacetSearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n }\n\n _adaptFacetHits(typesenseFacetCounts) {\n let adaptedResult = {};\n const facet = typesenseFacetCounts.find((facet) => facet.field_name === this.instantsearchRequest.params.facetName);\n\n adaptedResult = facet.counts.map((facetCount) => ({\n value: facetCount.value,\n highlighted: this._adaptHighlightTag(\n facetCount.highlighted,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n count: facetCount.count,\n }));\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedResult = {\n facetHits: this._adaptFacetHits(this.typesenseResponse.facet_counts),\n exhaustiveFacetsCount: true,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n };\n return adaptedResult;\n }\n}\n\nObject.assign(FacetSearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nimport { Configuration } from \"./Configuration\";\nimport { SearchClient as TypesenseSearchClient } from \"typesense\";\nimport { SearchRequestAdapter } from \"./SearchRequestAdapter\";\nimport { SearchResponseAdapter } from \"./SearchResponseAdapter\";\nimport { FacetSearchResponseAdapter } from \"./FacetSearchResponseAdapter\";\n\nexport default class TypesenseInstantsearchAdapter {\n constructor(options) {\n this.updateConfiguration(options);\n this.searchClient = {\n clearCache: () => this.clearCache(),\n search: (instantsearchRequests) => this.searchTypesenseAndAdapt(instantsearchRequests),\n searchForFacetValues: (instantsearchRequests) =>\n this.searchTypesenseForFacetValuesAndAdapt(instantsearchRequests),\n };\n }\n\n async searchTypesenseAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new SearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration,\n typesenseResponse.results\n );\n return responseAdapter.adapt();\n });\n\n return {\n results: adaptedResponses,\n };\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async searchTypesenseForFacetValuesAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new FacetSearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration\n );\n return responseAdapter.adapt();\n });\n\n return adaptedResponses;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async _adaptAndPerformTypesenseRequest(instantsearchRequests) {\n const requestAdapter = new SearchRequestAdapter(instantsearchRequests, this.typesenseClient, this.configuration);\n const typesenseResponse = await requestAdapter.request();\n return typesenseResponse;\n }\n\n clearCache() {\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return this.searchClient;\n }\n\n updateConfiguration(options) {\n this.configuration = new Configuration(options);\n this.configuration.validate();\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return true;\n }\n\n _validateTypesenseResult(typesenseResult) {\n if (typesenseResult.error) {\n throw new Error(`${typesenseResult.code} - ${typesenseResult.error}`);\n }\n if (!typesenseResult.hits && !typesenseResult.grouped_hits) {\n throw new Error(`Did not find any hits. ${typesenseResult.code} - ${typesenseResult.error}`);\n }\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","transitionalDefaults","Cancel","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","reason","throwIfRequested","listener","push","index","splice","source","c","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","Object","keys","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","obj","hasOwnProperty","constructor","ArrayBuffer","isView","pipe","product","assignValue","a","b","str","stripBOM","content","charCodeAt","definition","noop","undefinedType","isIE","logMethods","bindMethod","methodName","Function","traceForIE","log","trace","replaceLoggingMethods","level","loggerName","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","realMethod","Logger","defaultLevel","currentLevel","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","exec","levels","getLevel","setLevel","persist","SILENT","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","logger","_log","noConflict","getLoggers","__createBinding","o","m","k","k2","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","__importStar","mod","__importDefault","Errors","SearchClient","Client","Client_1","default","SearchClient_1","__awaiter","_arguments","P","generator","step","next","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","op","pop","Aliases_1","Alias","apiCall","retrieve","_a","endpointPath","delete","RESOURCEPATH","Aliases","upsert","mapping","put","aliasName","AnalyticsRules_1","AnalyticsRule_1","Analytics","individualAnalyticsRules","_analyticsRules","rules","AnalyticsRule","AnalyticsRules","operation","axios_1","Errors_1","TypesenseError_1","HEALTHY","ApiCall","configuration","apiKey","nodes","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","initializeMetadataForNodes","currentNodeIndex","endpoint","queryParameters","_b","_c","abortSignal","_d","_e","performRequest","post","bodyParameters","patch","requestType","_f","_g","_h","_j","_k","skipConnectionTimeout","requestNumber","lastException","_loop_1","this_1","numTries","state_1","_l","validate","node","abortListener","requestOptions","source_1","error_1","_m","getNextNode","uriFor","assign","defaultHeaders","Infinity","transformedData","startsWith","setNodeHealthcheck","customErrorForResponse","timer","isHealthy","nodeDueForHealthcheck","map","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_this","seconds","messageFromServer","errorMessage","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","httpStatus","Configuration_1","ApiCall_1","Collections_1","Collection_1","Alias_1","Keys_1","Key_1","Debug_1","Metrics_1","Health_1","Operations_1","MultiSearch_1","Presets_1","Preset_1","Analytics_1","metrics","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","analytics","collections","collectionName","aliases","presets","Documents_1","Overrides_1","Override_1","Synonyms_1","Synonym_1","Document_1","Collection","individualDocuments","individualOverrides","individualSynonyms","_documents","_overrides","_synonyms","update","exists","e_1","documents","documentId","Document","overrides","overrideId","synonyms","synonymId","Collections","__assign","s","p","Configuration","setDefaultPathInNode","setDefaultPortInNode","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","showDeprecationWarnings","validateNodes","MissingConfigurationError","isNodeMissingAnyParameters","some","every","masterNode","readReplicaNodes","array","j","Math","floor","random","Debug","partialDocument","extendStatics","__extends","d","setPrototypeOf","__proto__","String","__","Documents","_super","action","idOrQuery","createMany","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","RangeError","includes","r","filter","success","ImportError","export","exportStream","SearchOnlyDocuments","importResults","TypesenseError","_newTarget","HTTPError_1","MissingConfigurationError_1","ObjectAlreadyExists_1","ObjectNotFound_1","ObjectUnprocessable_1","RequestMalformed_1","RequestUnauthorized_1","ServerError_1","ImportError_1","Health","Key","crypto_1","Keys","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","createHmac","keyPrefix","rawScopedKey","Metrics","RequestWithCache_1","MultiSearch","useTextContentType","requestWithCache","clearCache","perform","searchRequests","commonParams","additionalQueryParams","queryParams","cacheResponseForSeconds","Operations","operationName","Override","Overrides","Preset","presetId","Presets","__spreadArray","to","pack","ar","RequestWithCache","responseCache","Map","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","requestTimestamp","set","size","SearchOnlyCollection_1","entries","SearchOnlyCollection","SearchOnlyDocuments_1","searchParameters","Synonym","Synonyms","_typeof","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_toPropertyKey","input","hint","prim","toPrimitive","res","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","server","additionalSearchParameters","query_by","queryBy","preset","sort_by","sortBy","highlight_full_fields","highlightFullFields","geoLocationField","facetableFieldsWithSpecialCharacters","collectionSpecificSearchParameters","collection","renderingContent","flattenGroupedHits","facetByOptions","filterByOptions","collectionSpecificFacetByOptions","collectionSpecificFilterByOptions","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","_slicedToArray","_i","_s","_x","_r","_arr","_n","SearchRequestAdapter","instantsearchRequests","typesenseClient","fieldName","exactMatch","facetFilters","adaptedResult","item","intermediateFacetFilters","facetFilter","_parseFacetFilter","fieldValue","reduce","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","_escapeFacetValue","typesenseFilterString","filterStringMatchingRegex","facetFilterMatches","sanitizedFacetableFieldsWithSpecialCharacters","flat","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","indexName","INDEX_NAME_MATCHING_REGEX","facets","facet","instantsearchRequest","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","_camelToSnakeCase","typesenseSearchParams","adaptedSortBy","_adaptSortBy","q","query","facet_by","_adaptFacetBy","filter_by","_adaptFilters","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","facetName","typesenseVectorQuery","vector_query","fromEntries","searches","_buildSearchParameters","_toConsumableArray","_defineProperty","_adaptHighlightTag","highlightPreTag","highlightPostTag","_adaptNumberOfPages","typesenseResponse","found","request_params","isFinite","ceil","SearchResponseAdapter","allTypesenseResponses","typesenseGroupedHits","groupedHit","adaptedHits","_adaptHits","hits","hit","group_key","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","objectID","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","geoLocationValue","_geoloc","lat","lng","snippetOrValue","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","matchLevel","matchedWords","highlights","matched_tokens","indices","attribute","matchedIndices","_adaptHighlightNullValue","unhighlightedValueFromArray","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","typesenseFacetCounts","field_name","counts","count","stats","facetOrdering","order","Set","fc","facet_counts","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","nbPages","_adaptFacets","facets_stats","_adaptFacetStats","processingTimeMS","search_time_ms","FacetSearchResponseAdapter","find","facetCount","highlighted","facetHits","_adaptFacetHits","exhaustiveFacetsCount","TypesenseInstantsearchAdapter","updateConfiguration","searchClient","searchTypesenseAndAdapt","searchForFacetValues","searchTypesenseForFacetValuesAndAdapt","_adaptAndPerformTypesenseRequest","adaptedResponses","results","typesenseResult","_validateTypesenseResult","adapt","requestAdapter","TypesenseSearchClient"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"typesense-instantsearch-adapter.min.js","mappings":"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","sources":["webpack://TypesenseInstantSearchAdapter/webpack/universalModuleDefinition","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/adapters/xhr.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/Cancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/CancelToken.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/cancel/isCancel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/Axios.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/InterceptorManager.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/buildFullPath.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/createError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/dispatchRequest.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/enhanceError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/mergeConfig.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/settle.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/core/transformData.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/defaults/transitional.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/env/data.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/bind.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/buildURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/combineURLs.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/cookies.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/spread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/helpers/validator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/axios/lib/utils.js","webpack://TypesenseInstantSearchAdapter/./node_modules/loglevel/lib/loglevel.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Alias.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Aliases.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Analytics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRule.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/AnalyticsRules.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/ApiCall.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Client.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Collections.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Debug.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Document.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Documents.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/HTTPError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ImportError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/MissingConfigurationError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectAlreadyExists.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectNotFound.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ObjectUnprocessable.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestMalformed.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/RequestUnauthorized.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/ServerError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/TypesenseError.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Errors/index.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Health.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Key.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Keys.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Metrics.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/MultiSearch.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Operations.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Override.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Overrides.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Preset.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Presets.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/RequestWithCache.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchClient.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyCollection.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/SearchOnlyDocuments.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonym.js","webpack://TypesenseInstantSearchAdapter/./node_modules/typesense/lib/Typesense/Synonyms.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/regenerator/index.js","webpack://TypesenseInstantSearchAdapter/webpack/bootstrap","webpack://TypesenseInstantSearchAdapter/webpack/runtime/compat get default export","webpack://TypesenseInstantSearchAdapter/webpack/runtime/define property getters","webpack://TypesenseInstantSearchAdapter/webpack/runtime/hasOwnProperty shorthand","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://TypesenseInstantSearchAdapter/./src/Configuration.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://TypesenseInstantSearchAdapter/./src/SearchRequestAdapter.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://TypesenseInstantSearchAdapter/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://TypesenseInstantSearchAdapter/./src/support/utils.js","webpack://TypesenseInstantSearchAdapter/./src/SearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/FacetSearchResponseAdapter.js","webpack://TypesenseInstantSearchAdapter/./src/TypesenseInstantsearchAdapter.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TypesenseInstantSearchAdapter\"] = factory();\n\telse\n\t\troot[\"TypesenseInstantSearchAdapter\"] = factory();\n})(self, () => {\nreturn ","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Errors = exports.SearchClient = exports.Client = void 0;\nvar Client_1 = __importDefault(require(\"./Typesense/Client\"));\nexports.Client = Client_1.default;\nvar SearchClient_1 = __importDefault(require(\"./Typesense/SearchClient\"));\nexports.SearchClient = SearchClient_1.default;\nvar Errors = __importStar(require(\"./Typesense/Errors\"));\nexports.Errors = Errors;\nexports.default = { Client: Client_1.default, SearchClient: SearchClient_1.default, Errors: Errors };\n//# sourceMappingURL=Typesense.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias = /** @class */ (function () {\n function Alias(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n Alias.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Alias.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Alias.prototype.endpointPath = function () {\n return \"\".concat(Aliases_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Alias;\n}());\nexports.default = Alias;\n//# sourceMappingURL=Alias.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/aliases\";\nvar Aliases = /** @class */ (function () {\n function Aliases(apiCall) {\n this.apiCall = apiCall;\n }\n Aliases.prototype.upsert = function (name, mapping) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), mapping)];\n });\n });\n };\n Aliases.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Aliases.prototype.endpointPath = function (aliasName) {\n return \"\".concat(Aliases.RESOURCEPATH, \"/\").concat(aliasName);\n };\n Object.defineProperty(Aliases, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Aliases;\n}());\nexports.default = Aliases;\n//# sourceMappingURL=Aliases.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule_1 = __importDefault(require(\"./AnalyticsRule\"));\nvar RESOURCEPATH = \"/analytics\";\nvar Analytics = /** @class */ (function () {\n function Analytics(apiCall) {\n this.apiCall = apiCall;\n this.individualAnalyticsRules = {};\n this.apiCall = apiCall;\n this._analyticsRules = new AnalyticsRules_1.default(this.apiCall);\n }\n Analytics.prototype.rules = function (id) {\n if (id === undefined) {\n return this._analyticsRules;\n }\n else {\n if (this.individualAnalyticsRules[id] === undefined) {\n this.individualAnalyticsRules[id] = new AnalyticsRule_1.default(id, this.apiCall);\n }\n return this.individualAnalyticsRules[id];\n }\n };\n Object.defineProperty(Analytics, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Analytics;\n}());\nexports.default = Analytics;\n//# sourceMappingURL=Analytics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AnalyticsRules_1 = __importDefault(require(\"./AnalyticsRules\"));\nvar AnalyticsRule = /** @class */ (function () {\n function AnalyticsRule(name, apiCall) {\n this.name = name;\n this.apiCall = apiCall;\n }\n AnalyticsRule.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n AnalyticsRule.prototype.endpointPath = function () {\n return \"\".concat(AnalyticsRules_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return AnalyticsRule;\n}());\nexports.default = AnalyticsRule;\n//# sourceMappingURL=AnalyticsRule.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/analytics/rules\";\nvar AnalyticsRules = /** @class */ (function () {\n function AnalyticsRules(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n AnalyticsRules.prototype.upsert = function (name, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(name), params)];\n });\n });\n };\n AnalyticsRules.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n AnalyticsRules.prototype.endpointPath = function (operation) {\n return \"\".concat(AnalyticsRules.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(AnalyticsRules, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return AnalyticsRules;\n}());\nexports.default = AnalyticsRules;\n//# sourceMappingURL=AnalyticsRules.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar axios_1 = __importDefault(require(\"axios\"));\nvar Errors_1 = require(\"./Errors\");\nvar TypesenseError_1 = __importDefault(require(\"./Errors/TypesenseError\"));\nvar APIKEYHEADERNAME = \"X-TYPESENSE-API-KEY\";\nvar HEALTHY = true;\nvar UNHEALTHY = false;\nvar ApiCall = /** @class */ (function () {\n function ApiCall(configuration) {\n this.configuration = configuration;\n this.apiKey = this.configuration.apiKey;\n this.nodes =\n this.configuration.nodes == null\n ? this.configuration.nodes\n : JSON.parse(JSON.stringify(this.configuration.nodes)); // Make a copy, since we'll be adding additional metadata to the nodes\n this.nearestNode =\n this.configuration.nearestNode == null\n ? this.configuration.nearestNode\n : JSON.parse(JSON.stringify(this.configuration.nearestNode));\n this.connectionTimeoutSeconds = this.configuration.connectionTimeoutSeconds;\n this.healthcheckIntervalSeconds =\n this.configuration.healthcheckIntervalSeconds;\n this.numRetriesPerRequest = this.configuration.numRetries;\n this.retryIntervalSeconds = this.configuration.retryIntervalSeconds;\n this.sendApiKeyAsQueryParam = this.configuration.sendApiKeyAsQueryParam;\n this.additionalUserHeaders = this.configuration.additionalHeaders;\n this.logger = this.configuration.logger;\n this.initializeMetadataForNodes();\n this.currentNodeIndex = -1;\n }\n ApiCall.prototype.get = function (endpoint, queryParameters, _a) {\n if (queryParameters === void 0) { queryParameters = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.abortSignal, abortSignal = _c === void 0 ? null : _c, _d = _b.responseType, responseType = _d === void 0 ? undefined : _d;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_e) {\n return [2 /*return*/, this.performRequest(\"get\", endpoint, {\n queryParameters: queryParameters,\n abortSignal: abortSignal,\n responseType: responseType,\n })];\n });\n });\n };\n ApiCall.prototype.delete = function (endpoint, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"delete\", endpoint, { queryParameters: queryParameters })];\n });\n });\n };\n ApiCall.prototype.post = function (endpoint, bodyParameters, queryParameters, additionalHeaders) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"post\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n additionalHeaders: additionalHeaders,\n })];\n });\n });\n };\n ApiCall.prototype.put = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"put\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.patch = function (endpoint, bodyParameters, queryParameters) {\n if (bodyParameters === void 0) { bodyParameters = {}; }\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.performRequest(\"patch\", endpoint, {\n queryParameters: queryParameters,\n bodyParameters: bodyParameters,\n })];\n });\n });\n };\n ApiCall.prototype.performRequest = function (requestType, endpoint, _a) {\n var _b, _c, _d;\n var _e = _a.queryParameters, queryParameters = _e === void 0 ? null : _e, _f = _a.bodyParameters, bodyParameters = _f === void 0 ? null : _f, _g = _a.additionalHeaders, additionalHeaders = _g === void 0 ? {} : _g, _h = _a.abortSignal, abortSignal = _h === void 0 ? null : _h, _j = _a.responseType, responseType = _j === void 0 ? undefined : _j, _k = _a.skipConnectionTimeout, skipConnectionTimeout = _k === void 0 ? false : _k;\n return __awaiter(this, void 0, void 0, function () {\n var requestNumber, lastException, _loop_1, this_1, numTries, state_1;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.configuration.validate();\n requestNumber = Date.now();\n this.logger.debug(\"Request #\".concat(requestNumber, \": Performing \").concat(requestType.toUpperCase(), \" request: \").concat(endpoint));\n _loop_1 = function (numTries) {\n var node, abortListener, requestOptions, cancelToken, source_1, response, error_1;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n node = this_1.getNextNode(requestNumber);\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Attempting \").concat(requestType.toUpperCase(), \" request Try #\").concat(numTries, \" to Node \").concat(node.index));\n if (abortSignal && abortSignal.aborted) {\n return [2 /*return*/, { value: Promise.reject(new Error(\"Request aborted by caller.\")) }];\n }\n abortListener = void 0;\n _m.label = 1;\n case 1:\n _m.trys.push([1, 3, 5, 6]);\n requestOptions = {\n method: requestType,\n url: this_1.uriFor(endpoint, node),\n headers: Object.assign({}, this_1.defaultHeaders(), additionalHeaders, this_1.additionalUserHeaders),\n maxContentLength: Infinity,\n maxBodyLength: Infinity,\n responseType: responseType,\n validateStatus: function (status) {\n /* Override default validateStatus, which only considers 2xx a success.\n In our case, if the server returns any HTTP code, we will handle it below.\n We do this to be able to raise custom errors based on response code.\n */\n return status > 0;\n },\n transformResponse: [\n function (data, headers) {\n var transformedData = data;\n if (headers !== undefined &&\n typeof data === \"string\" &&\n headers[\"content-type\"] &&\n headers[\"content-type\"].startsWith(\"application/json\")) {\n transformedData = JSON.parse(data);\n }\n return transformedData;\n },\n ],\n };\n if (skipConnectionTimeout !== true) {\n requestOptions.timeout = this_1.connectionTimeoutSeconds * 1000;\n }\n if (queryParameters && Object.keys(queryParameters).length !== 0) {\n requestOptions.params = queryParameters;\n }\n if (this_1.sendApiKeyAsQueryParam) {\n requestOptions.params = requestOptions.params || {};\n requestOptions.params[\"x-typesense-api-key\"] = this_1.apiKey;\n }\n if (bodyParameters &&\n ((typeof bodyParameters === \"string\" &&\n bodyParameters.length !== 0) ||\n (typeof bodyParameters === \"object\" &&\n Object.keys(bodyParameters).length !== 0))) {\n requestOptions.data = bodyParameters;\n }\n // Translate from user-provided AbortController to the Axios request cancel mechanism.\n if (abortSignal) {\n cancelToken = axios_1.default.CancelToken;\n source_1 = cancelToken.source();\n abortListener = function () { return source_1.cancel(); };\n abortSignal.addEventListener(\"abort\", abortListener);\n requestOptions.cancelToken = source_1.token;\n }\n return [4 /*yield*/, (0, axios_1.default)(requestOptions)];\n case 2:\n response = _m.sent();\n if (response.status >= 1 && response.status <= 499) {\n // Treat any status code > 0 and < 500 to be an indication that node is healthy\n // We exclude 0 since some clients return 0 when request fails\n this_1.setNodeHealthcheck(node, HEALTHY);\n }\n this_1.logger.debug(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" was made. Response Code was \").concat(response.status, \".\"));\n if (response.status >= 200 && response.status < 300) {\n return [2 /*return*/, { value: Promise.resolve(response.data) }];\n }\n else if (response.status < 500) {\n return [2 /*return*/, { value: Promise.reject(this_1.customErrorForResponse(response, (_b = response.data) === null || _b === void 0 ? void 0 : _b.message)) }];\n }\n else {\n // Retry all other HTTP errors (HTTPStatus > 500)\n // This will get caught by the catch block below\n throw this_1.customErrorForResponse(response, (_c = response.data) === null || _c === void 0 ? void 0 : _c.message);\n }\n return [3 /*break*/, 6];\n case 3:\n error_1 = _m.sent();\n // This block handles retries for HTTPStatus > 500 and network layer issues like connection timeouts\n this_1.setNodeHealthcheck(node, UNHEALTHY);\n lastException = error_1;\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Request to Node \").concat(node.index, \" failed due to \\\"\").concat(error_1.code, \" \").concat(error_1.message).concat(error_1.response == null\n ? \"\"\n : \" - \" + JSON.stringify((_d = error_1.response) === null || _d === void 0 ? void 0 : _d.data), \"\\\"\"));\n // this.logger.debug(error.stack)\n this_1.logger.warn(\"Request #\".concat(requestNumber, \": Sleeping for \").concat(this_1.retryIntervalSeconds, \"s and then retrying request...\"));\n return [4 /*yield*/, this_1.timer(this_1.retryIntervalSeconds)];\n case 4:\n _m.sent();\n return [3 /*break*/, 6];\n case 5:\n if (abortSignal && abortListener) {\n abortSignal.removeEventListener(\"abort\", abortListener);\n }\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n numTries = 1;\n _l.label = 1;\n case 1:\n if (!(numTries <= this.numRetriesPerRequest + 1)) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1(numTries)];\n case 2:\n state_1 = _l.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n _l.label = 3;\n case 3:\n numTries++;\n return [3 /*break*/, 1];\n case 4:\n this.logger.debug(\"Request #\".concat(requestNumber, \": No retries left. Raising last error\"));\n return [2 /*return*/, Promise.reject(lastException)];\n }\n });\n });\n };\n // Attempts to find the next healthy node, looping through the list of nodes once.\n // But if no healthy nodes are found, it will just return the next node, even if it's unhealthy\n // so we can try the request for good measure, in case that node has become healthy since\n ApiCall.prototype.getNextNode = function (requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n // Check if nearestNode is set and is healthy, if so return it\n if (this.nearestNode != null) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: Node \").concat(this.nearestNode.index, \" is \").concat(this.nearestNode.isHealthy === true ? \"Healthy\" : \"Unhealthy\"));\n if (this.nearestNode.isHealthy === true ||\n this.nodeDueForHealthcheck(this.nearestNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(this.nearestNode.index));\n return this.nearestNode;\n }\n this.logger.debug(\"Request #\".concat(requestNumber, \": Falling back to individual nodes\"));\n }\n // Fallback to nodes as usual\n this.logger.debug(\"Request #\".concat(requestNumber, \": Nodes Health: \").concat(this.nodes\n .map(function (node) {\n return \"Node \".concat(node.index, \" is \").concat(node.isHealthy === true ? \"Healthy\" : \"Unhealthy\");\n })\n .join(\" || \")));\n var candidateNode = this.nodes[0];\n for (var i = 0; i <= this.nodes.length; i++) {\n this.currentNodeIndex = (this.currentNodeIndex + 1) % this.nodes.length;\n candidateNode = this.nodes[this.currentNodeIndex];\n if (candidateNode.isHealthy === true ||\n this.nodeDueForHealthcheck(candidateNode, requestNumber)) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Updated current node to Node \").concat(candidateNode.index));\n return candidateNode;\n }\n }\n // None of the nodes are marked healthy, but some of them could have become healthy since last health check.\n // So we will just return the next node.\n this.logger.debug(\"Request #\".concat(requestNumber, \": No healthy nodes were found. Returning the next node, Node \").concat(candidateNode.index));\n return candidateNode;\n };\n ApiCall.prototype.nodeDueForHealthcheck = function (node, requestNumber) {\n if (requestNumber === void 0) { requestNumber = 0; }\n var isDueForHealthcheck = Date.now() - node.lastAccessTimestamp >\n this.healthcheckIntervalSeconds * 1000;\n if (isDueForHealthcheck) {\n this.logger.debug(\"Request #\".concat(requestNumber, \": Node \").concat(node.index, \" has exceeded healtcheckIntervalSeconds of \").concat(this.healthcheckIntervalSeconds, \". Adding it back into rotation.\"));\n }\n return isDueForHealthcheck;\n };\n ApiCall.prototype.initializeMetadataForNodes = function () {\n var _this = this;\n if (this.nearestNode != null) {\n this.nearestNode.index = \"nearestNode\";\n this.setNodeHealthcheck(this.nearestNode, HEALTHY);\n }\n this.nodes.forEach(function (node, i) {\n node.index = i;\n _this.setNodeHealthcheck(node, HEALTHY);\n });\n };\n ApiCall.prototype.setNodeHealthcheck = function (node, isHealthy) {\n node.isHealthy = isHealthy;\n node.lastAccessTimestamp = Date.now();\n };\n ApiCall.prototype.uriFor = function (endpoint, node) {\n if (node.url != null) {\n return \"\".concat(node.url).concat(endpoint);\n }\n return \"\".concat(node.protocol, \"://\").concat(node.host, \":\").concat(node.port).concat(node.path).concat(endpoint);\n };\n ApiCall.prototype.defaultHeaders = function () {\n var defaultHeaders = {};\n if (!this.sendApiKeyAsQueryParam) {\n defaultHeaders[APIKEYHEADERNAME] = this.apiKey;\n }\n defaultHeaders[\"Content-Type\"] = \"application/json\";\n return defaultHeaders;\n };\n ApiCall.prototype.timer = function (seconds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, seconds * 1000); })];\n });\n });\n };\n ApiCall.prototype.customErrorForResponse = function (response, messageFromServer) {\n var errorMessage = \"Request failed with HTTP code \".concat(response.status);\n if (typeof messageFromServer === \"string\" &&\n messageFromServer.trim() !== \"\") {\n errorMessage += \" | Server said: \".concat(messageFromServer);\n }\n var error = new TypesenseError_1.default(errorMessage);\n if (response.status === 400) {\n error = new Errors_1.RequestMalformed(errorMessage);\n }\n else if (response.status === 401) {\n error = new Errors_1.RequestUnauthorized(errorMessage);\n }\n else if (response.status === 404) {\n error = new Errors_1.ObjectNotFound(errorMessage);\n }\n else if (response.status === 409) {\n error = new Errors_1.ObjectAlreadyExists(errorMessage);\n }\n else if (response.status === 422) {\n error = new Errors_1.ObjectUnprocessable(errorMessage);\n }\n else if (response.status >= 500 && response.status <= 599) {\n error = new Errors_1.ServerError(errorMessage);\n }\n else {\n error = new Errors_1.HTTPError(errorMessage);\n }\n error.httpStatus = response.status;\n return error;\n };\n return ApiCall;\n}());\nexports.default = ApiCall;\n//# sourceMappingURL=ApiCall.js.map","\"use strict\";\n/* eslint-disable no-dupe-class-members */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Collection_1 = __importDefault(require(\"./Collection\"));\nvar Aliases_1 = __importDefault(require(\"./Aliases\"));\nvar Alias_1 = __importDefault(require(\"./Alias\"));\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key_1 = __importDefault(require(\"./Key\"));\nvar Debug_1 = __importDefault(require(\"./Debug\"));\nvar Metrics_1 = __importDefault(require(\"./Metrics\"));\nvar Health_1 = __importDefault(require(\"./Health\"));\nvar Operations_1 = __importDefault(require(\"./Operations\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset_1 = __importDefault(require(\"./Preset\"));\nvar Analytics_1 = __importDefault(require(\"./Analytics\"));\nvar Client = /** @class */ (function () {\n function Client(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : false;\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.debug = new Debug_1.default(this.apiCall);\n this.metrics = new Metrics_1.default(this.apiCall);\n this.health = new Health_1.default(this.apiCall);\n this.operations = new Operations_1.default(this.apiCall);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration);\n this._collections = new Collections_1.default(this.apiCall);\n this.individualCollections = {};\n this._aliases = new Aliases_1.default(this.apiCall);\n this.individualAliases = {};\n this._keys = new Keys_1.default(this.apiCall);\n this.individualKeys = {};\n this._presets = new Presets_1.default(this.apiCall);\n this.individualPresets = {};\n this.analytics = new Analytics_1.default(this.apiCall);\n }\n Client.prototype.collections = function (collectionName) {\n if (collectionName === undefined) {\n return this._collections;\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new Collection_1.default(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n Client.prototype.aliases = function (aliasName) {\n if (aliasName === undefined) {\n return this._aliases;\n }\n else {\n if (this.individualAliases[aliasName] === undefined) {\n this.individualAliases[aliasName] = new Alias_1.default(aliasName, this.apiCall);\n }\n return this.individualAliases[aliasName];\n }\n };\n Client.prototype.keys = function (id) {\n if (id === undefined) {\n return this._keys;\n }\n else {\n if (this.individualKeys[id] === undefined) {\n this.individualKeys[id] = new Key_1.default(id, this.apiCall);\n }\n return this.individualKeys[id];\n }\n };\n Client.prototype.presets = function (id) {\n if (id === undefined) {\n return this._presets;\n }\n else {\n if (this.individualPresets[id] === undefined) {\n this.individualPresets[id] = new Preset_1.default(id, this.apiCall);\n }\n return this.individualPresets[id];\n }\n };\n return Client;\n}());\nexports.default = Client;\n//# sourceMappingURL=Client.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Errors_1 = require(\"./Errors\");\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override_1 = __importDefault(require(\"./Override\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym_1 = __importDefault(require(\"./Synonym\"));\nvar Document_1 = require(\"./Document\");\nvar Collection = /** @class */ (function () {\n function Collection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.individualDocuments = {};\n this.individualOverrides = {};\n this.individualSynonyms = {};\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new Documents_1.default(this.name, this.apiCall, this.configuration);\n this._overrides = new Overrides_1.default(this.name, this.apiCall);\n this._synonyms = new Synonyms_1.default(this.name, this.apiCall);\n }\n Collection.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Collection.prototype.update = function (schema) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), schema)];\n });\n });\n };\n Collection.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Collection.prototype.exists = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.retrieve()];\n case 1:\n _a.sent();\n return [2 /*return*/, true];\n case 2:\n e_1 = _a.sent();\n if (e_1 instanceof Errors_1.ObjectNotFound)\n return [2 /*return*/, false];\n throw e_1;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Collection.prototype.documents = function (documentId) {\n if (!documentId) {\n return this._documents;\n }\n else {\n if (this.individualDocuments[documentId] === undefined) {\n this.individualDocuments[documentId] = new Document_1.Document(this.name, documentId, this.apiCall);\n }\n return this.individualDocuments[documentId];\n }\n };\n Collection.prototype.overrides = function (overrideId) {\n if (overrideId === undefined) {\n return this._overrides;\n }\n else {\n if (this.individualOverrides[overrideId] === undefined) {\n this.individualOverrides[overrideId] = new Override_1.default(this.name, overrideId, this.apiCall);\n }\n return this.individualOverrides[overrideId];\n }\n };\n Collection.prototype.synonyms = function (synonymId) {\n if (synonymId === undefined) {\n return this._synonyms;\n }\n else {\n if (this.individualSynonyms[synonymId] === undefined) {\n this.individualSynonyms[synonymId] = new Synonym_1.default(this.name, synonymId, this.apiCall);\n }\n return this.individualSynonyms[synonymId];\n }\n };\n Collection.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.name);\n };\n return Collection;\n}());\nexports.default = Collection;\n//# sourceMappingURL=Collection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/collections\";\nvar Collections = /** @class */ (function () {\n function Collections(apiCall) {\n this.apiCall = apiCall;\n }\n Collections.prototype.create = function (schema, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(RESOURCEPATH, schema, options)];\n });\n });\n };\n Collections.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Object.defineProperty(Collections, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Collections;\n}());\nexports.default = Collections;\n//# sourceMappingURL=Collections.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar logger = __importStar(require(\"loglevel\"));\nvar Errors_1 = require(\"./Errors\");\nvar Configuration = /** @class */ (function () {\n function Configuration(options) {\n var _this = this;\n this.nodes = options.nodes || [];\n this.nodes = this.nodes\n .map(function (node) { return _this.setDefaultPathInNode(node); })\n .map(function (node) { return _this.setDefaultPortInNode(node); })\n .map(function (node) { return (__assign({}, node)); }); // Make a deep copy\n if (options.randomizeNodes == null) {\n options.randomizeNodes = true;\n }\n if (options.randomizeNodes === true) {\n this.shuffleArray(this.nodes);\n }\n this.nearestNode = options.nearestNode;\n this.nearestNode = this.setDefaultPathInNode(this.nearestNode);\n this.nearestNode = this.setDefaultPortInNode(this.nearestNode);\n this.connectionTimeoutSeconds =\n options.connectionTimeoutSeconds || options.timeoutSeconds || 5;\n this.healthcheckIntervalSeconds = options.healthcheckIntervalSeconds || 60;\n this.numRetries =\n options.numRetries ||\n this.nodes.length + (this.nearestNode == null ? 0 : 1) ||\n 3;\n this.retryIntervalSeconds = options.retryIntervalSeconds || 0.1;\n this.apiKey = options.apiKey;\n this.sendApiKeyAsQueryParam = options.sendApiKeyAsQueryParam; // We will set a default for this in Client and SearchClient\n this.cacheSearchResultsForSeconds =\n options.cacheSearchResultsForSeconds || 0; // Disable client-side cache by default\n this.useServerSideSearchCache = options.useServerSideSearchCache || false;\n this.logger = options.logger || logger;\n this.logLevel = options.logLevel || \"warn\";\n this.logger.setLevel(this.logLevel);\n this.additionalHeaders = options.additionalHeaders;\n this.showDeprecationWarnings(options);\n this.validate();\n }\n Configuration.prototype.validate = function () {\n if (this.nodes == null || this.nodes.length === 0 || this.validateNodes()) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nodes[].protocol, nodes[].host and nodes[].port are set\");\n }\n if (this.nearestNode != null &&\n this.isNodeMissingAnyParameters(this.nearestNode)) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that nearestNodes.protocol, nearestNodes.host and nearestNodes.port are set\");\n }\n if (this.apiKey == null) {\n throw new Errors_1.MissingConfigurationError(\"Ensure that apiKey is set\");\n }\n return true;\n };\n Configuration.prototype.validateNodes = function () {\n var _this = this;\n return this.nodes.some(function (node) {\n return _this.isNodeMissingAnyParameters(node);\n });\n };\n Configuration.prototype.isNodeMissingAnyParameters = function (node) {\n return (![\"protocol\", \"host\", \"port\", \"path\"].every(function (key) {\n return node.hasOwnProperty(key);\n }) && node[\"url\"] == null);\n };\n Configuration.prototype.setDefaultPathInNode = function (node) {\n if (node != null && !node.hasOwnProperty(\"path\")) {\n node[\"path\"] = \"\";\n }\n return node;\n };\n Configuration.prototype.setDefaultPortInNode = function (node) {\n if (node != null &&\n !node.hasOwnProperty(\"port\") &&\n node.hasOwnProperty(\"protocol\")) {\n switch (node[\"protocol\"]) {\n case \"https\":\n node[\"port\"] = 443;\n break;\n case \"http\":\n node[\"port\"] = 80;\n break;\n }\n }\n return node;\n };\n Configuration.prototype.showDeprecationWarnings = function (options) {\n if (options.timeoutSeconds) {\n this.logger.warn(\"Deprecation warning: timeoutSeconds is now renamed to connectionTimeoutSeconds\");\n }\n if (options.masterNode) {\n this.logger.warn(\"Deprecation warning: masterNode is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n if (options.readReplicaNodes) {\n this.logger.warn(\"Deprecation warning: readReplicaNodes is now consolidated to nodes, starting with Typesense Server v0.12\");\n }\n };\n Configuration.prototype.shuffleArray = function (array) {\n var _a;\n for (var i = array.length - 1; i > 0; i--) {\n var j = Math.floor(Math.random() * (i + 1));\n _a = [array[j], array[i]], array[i] = _a[0], array[j] = _a[1];\n }\n };\n return Configuration;\n}());\nexports.default = Configuration;\n//# sourceMappingURL=Configuration.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/debug\";\nvar Debug = /** @class */ (function () {\n function Debug(apiCall) {\n this.apiCall = apiCall;\n }\n Debug.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Debug;\n}());\nexports.default = Debug;\n//# sourceMappingURL=Debug.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Document = void 0;\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Documents_1 = __importDefault(require(\"./Documents\"));\nvar Document = /** @class */ (function () {\n function Document(collectionName, documentId, apiCall) {\n this.collectionName = collectionName;\n this.documentId = documentId;\n this.apiCall = apiCall;\n }\n Document.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Document.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Document.prototype.update = function (partialDocument, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), partialDocument, options)];\n });\n });\n };\n Document.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Documents_1.default.RESOURCEPATH, \"/\").concat(this.documentId);\n };\n return Document;\n}());\nexports.Document = Document;\n//# sourceMappingURL=Document.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Errors_1 = require(\"./Errors\");\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar Documents = /** @class */ (function (_super) {\n __extends(Documents, _super);\n function Documents(collectionName, apiCall, configuration) {\n return _super.call(this, collectionName, apiCall, configuration) || this;\n }\n Documents.prototype.create = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, options)];\n });\n });\n };\n Documents.prototype.upsert = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"upsert\" }))];\n });\n });\n };\n Documents.prototype.update = function (document, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!document)\n throw new Error(\"No document provided\");\n if (options[\"filter_by\"] != null) {\n return [2 /*return*/, this.apiCall.patch(this.endpointPath(), document, Object.assign({}, options))];\n }\n else {\n return [2 /*return*/, this.apiCall.post(this.endpointPath(), document, Object.assign({}, options, { action: \"update\" }))];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.delete = function (idOrQuery) {\n if (idOrQuery === void 0) { idOrQuery = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof idOrQuery === \"string\") {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(idOrQuery), idOrQuery)];\n }\n else {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath(), idOrQuery)];\n }\n return [2 /*return*/];\n });\n });\n };\n Documents.prototype.createMany = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.configuration.logger.warn(\"createMany is deprecated and will be removed in a future version. Use import instead, which now takes both an array of documents or a JSONL string of documents\");\n return [2 /*return*/, this.import(documents, options)];\n });\n });\n };\n Documents.prototype.import = function (documents, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var documentsInJSONLFormat, resultsInJSONLFormat, resultsInJSONFormat, failedItems;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (Array.isArray(documents)) {\n try {\n documentsInJSONLFormat = documents\n .map(function (document) { return JSON.stringify(document); })\n .join(\"\\n\");\n }\n catch (error) {\n // if rangeerror, throw custom error message\n if (RangeError instanceof error &&\n (error === null || error === void 0 ? void 0 : error.includes(\"Too many properties to enumerate\"))) {\n throw new Error(\"\".concat(error, \"\\n It looks like you have reached a Node.js limit that restricts the number of keys in an Object: https://stackoverflow.com/questions/9282869/are-there-limits-to-the-number-of-properties-in-a-javascript-object\\n\\n Please try reducing the number of keys in your document, or using CURL to import your data.\\n \"));\n }\n // else, throw the non-range error anyways\n throw new Error(error);\n }\n }\n else {\n documentsInJSONLFormat = documents;\n }\n return [4 /*yield*/, this.apiCall.performRequest(\"post\", this.endpointPath(\"import\"), {\n queryParameters: options,\n bodyParameters: documentsInJSONLFormat,\n additionalHeaders: { \"Content-Type\": \"text/plain\" },\n skipConnectionTimeout: true, // We never want to client-side-timeout on an import and retry, since imports are syncronous and we want to let them take as long as it takes to complete fully\n })];\n case 1:\n resultsInJSONLFormat = _a.sent();\n if (Array.isArray(documents)) {\n resultsInJSONFormat = resultsInJSONLFormat\n .split(\"\\n\")\n .map(function (r) { return JSON.parse(r); });\n failedItems = resultsInJSONFormat.filter(function (r) { return r.success === false; });\n if (failedItems.length > 0) {\n throw new Errors_1.ImportError(\"\".concat(resultsInJSONFormat.length - failedItems.length, \" documents imported successfully, \").concat(failedItems.length, \" documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\"), resultsInJSONFormat);\n }\n else {\n return [2 /*return*/, resultsInJSONFormat];\n }\n }\n else {\n return [2 /*return*/, resultsInJSONLFormat];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Returns a JSONL string for all the documents in this collection\n */\n Documents.prototype.export = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options)];\n });\n });\n };\n /**\n * Returns a NodeJS readable stream of JSONL for all the documents in this collection.\n */\n Documents.prototype.exportStream = function (options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath(\"export\"), options, {\n responseType: \"stream\",\n })];\n });\n });\n };\n return Documents;\n}(SearchOnlyDocuments_1.SearchOnlyDocuments));\nexports.default = Documents;\n//# sourceMappingURL=Documents.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar HTTPError = /** @class */ (function (_super) {\n __extends(HTTPError, _super);\n function HTTPError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return HTTPError;\n}(TypesenseError_1.default));\nexports.default = HTTPError;\n//# sourceMappingURL=HTTPError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ImportError = /** @class */ (function (_super) {\n __extends(ImportError, _super);\n function ImportError(message, importResults) {\n var _this = _super.call(this, message) || this;\n _this.importResults = importResults;\n return _this;\n }\n return ImportError;\n}(TypesenseError_1.default));\nexports.default = ImportError;\n//# sourceMappingURL=ImportError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar MissingConfigurationError = /** @class */ (function (_super) {\n __extends(MissingConfigurationError, _super);\n function MissingConfigurationError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MissingConfigurationError;\n}(TypesenseError_1.default));\nexports.default = MissingConfigurationError;\n//# sourceMappingURL=MissingConfigurationError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectAlreadyExists = /** @class */ (function (_super) {\n __extends(ObjectAlreadyExists, _super);\n function ObjectAlreadyExists() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectAlreadyExists;\n}(TypesenseError_1.default));\nexports.default = ObjectAlreadyExists;\n//# sourceMappingURL=ObjectAlreadyExists.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectNotFound = /** @class */ (function (_super) {\n __extends(ObjectNotFound, _super);\n function ObjectNotFound() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectNotFound;\n}(TypesenseError_1.default));\nexports.default = ObjectNotFound;\n//# sourceMappingURL=ObjectNotFound.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ObjectUnprocessable = /** @class */ (function (_super) {\n __extends(ObjectUnprocessable, _super);\n function ObjectUnprocessable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ObjectUnprocessable;\n}(TypesenseError_1.default));\nexports.default = ObjectUnprocessable;\n//# sourceMappingURL=ObjectUnprocessable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestMalformed = /** @class */ (function (_super) {\n __extends(RequestMalformed, _super);\n function RequestMalformed() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestMalformed;\n}(TypesenseError_1.default));\nexports.default = RequestMalformed;\n//# sourceMappingURL=RequestMalformed.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar RequestUnauthorized = /** @class */ (function (_super) {\n __extends(RequestUnauthorized, _super);\n function RequestUnauthorized() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return RequestUnauthorized;\n}(TypesenseError_1.default));\nexports.default = RequestUnauthorized;\n//# sourceMappingURL=RequestUnauthorized.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nvar ServerError = /** @class */ (function (_super) {\n __extends(ServerError, _super);\n function ServerError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ServerError;\n}(TypesenseError_1.default));\nexports.default = ServerError;\n//# sourceMappingURL=ServerError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar TypesenseError = /** @class */ (function (_super) {\n __extends(TypesenseError, _super);\n // Source: https://stackoverflow.com/a/58417721/123545\n function TypesenseError(message) {\n var _newTarget = this.constructor;\n var _this = _super.call(this, message) || this;\n _this.name = _newTarget.name;\n Object.setPrototypeOf(_this, _newTarget.prototype);\n return _this;\n }\n return TypesenseError;\n}(Error));\nexports.default = TypesenseError;\n//# sourceMappingURL=TypesenseError.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ImportError = exports.TypesenseError = exports.ServerError = exports.RequestUnauthorized = exports.RequestMalformed = exports.ObjectUnprocessable = exports.ObjectNotFound = exports.ObjectAlreadyExists = exports.MissingConfigurationError = exports.HTTPError = void 0;\nvar HTTPError_1 = __importDefault(require(\"./HTTPError\"));\nexports.HTTPError = HTTPError_1.default;\nvar MissingConfigurationError_1 = __importDefault(require(\"./MissingConfigurationError\"));\nexports.MissingConfigurationError = MissingConfigurationError_1.default;\nvar ObjectAlreadyExists_1 = __importDefault(require(\"./ObjectAlreadyExists\"));\nexports.ObjectAlreadyExists = ObjectAlreadyExists_1.default;\nvar ObjectNotFound_1 = __importDefault(require(\"./ObjectNotFound\"));\nexports.ObjectNotFound = ObjectNotFound_1.default;\nvar ObjectUnprocessable_1 = __importDefault(require(\"./ObjectUnprocessable\"));\nexports.ObjectUnprocessable = ObjectUnprocessable_1.default;\nvar RequestMalformed_1 = __importDefault(require(\"./RequestMalformed\"));\nexports.RequestMalformed = RequestMalformed_1.default;\nvar RequestUnauthorized_1 = __importDefault(require(\"./RequestUnauthorized\"));\nexports.RequestUnauthorized = RequestUnauthorized_1.default;\nvar ServerError_1 = __importDefault(require(\"./ServerError\"));\nexports.ServerError = ServerError_1.default;\nvar ImportError_1 = __importDefault(require(\"./ImportError\"));\nexports.ImportError = ImportError_1.default;\nvar TypesenseError_1 = __importDefault(require(\"./TypesenseError\"));\nexports.TypesenseError = TypesenseError_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/health\";\nvar Health = /** @class */ (function () {\n function Health(apiCall) {\n this.apiCall = apiCall;\n }\n Health.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Health;\n}());\nexports.default = Health;\n//# sourceMappingURL=Health.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Keys_1 = __importDefault(require(\"./Keys\"));\nvar Key = /** @class */ (function () {\n function Key(id, apiCall) {\n this.id = id;\n this.apiCall = apiCall;\n }\n Key.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Key.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Key.prototype.endpointPath = function () {\n return \"\".concat(Keys_1.default.RESOURCEPATH, \"/\").concat(this.id);\n };\n return Key;\n}());\nexports.default = Key;\n//# sourceMappingURL=Key.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar crypto_1 = require(\"crypto\");\nvar RESOURCEPATH = \"/keys\";\nvar Keys = /** @class */ (function () {\n function Keys(apiCall) {\n this.apiCall = apiCall;\n this.apiCall = apiCall;\n }\n Keys.prototype.create = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(Keys.RESOURCEPATH, params)];\n });\n });\n };\n Keys.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n Keys.prototype.generateScopedSearchKey = function (searchKey, parameters) {\n // Note: only a key generated with the `documents:search` action will be\n // accepted by the server, when usined with the search endpoint.\n var paramsJSON = JSON.stringify(parameters);\n var digest = Buffer.from((0, crypto_1.createHmac)(\"sha256\", searchKey).update(paramsJSON).digest(\"base64\"));\n var keyPrefix = searchKey.substr(0, 4);\n var rawScopedKey = \"\".concat(digest).concat(keyPrefix).concat(paramsJSON);\n return Buffer.from(rawScopedKey).toString(\"base64\");\n };\n Object.defineProperty(Keys, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Keys;\n}());\nexports.default = Keys;\n//# sourceMappingURL=Keys.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/metrics.json\";\nvar Metrics = /** @class */ (function () {\n function Metrics(apiCall) {\n this.apiCall = apiCall;\n }\n Metrics.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(RESOURCEPATH)];\n });\n });\n };\n return Metrics;\n}());\nexports.default = Metrics;\n//# sourceMappingURL=Metrics.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar RESOURCEPATH = \"/multi_search\";\nvar MultiSearch = /** @class */ (function () {\n function MultiSearch(apiCall, configuration, useTextContentType) {\n if (useTextContentType === void 0) { useTextContentType = false; }\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.useTextContentType = useTextContentType;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n MultiSearch.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n MultiSearch.prototype.perform = function (searchRequests, commonParams, _a) {\n if (commonParams === void 0) { commonParams = {}; }\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c;\n return __awaiter(this, void 0, void 0, function () {\n var additionalHeaders, additionalQueryParams, queryParams;\n return __generator(this, function (_d) {\n additionalHeaders = {};\n if (this.useTextContentType) {\n additionalHeaders[\"content-type\"] = \"text/plain\";\n }\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n queryParams = Object.assign({}, commonParams, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.post, [RESOURCEPATH, searchRequests, queryParams, additionalHeaders], { cacheResponseForSeconds: cacheSearchResultsForSeconds })];\n });\n });\n };\n return MultiSearch;\n}());\nexports.default = MultiSearch;\n//# sourceMappingURL=MultiSearch.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/operations\";\nvar Operations = /** @class */ (function () {\n function Operations(apiCall) {\n this.apiCall = apiCall;\n }\n Operations.prototype.perform = function (operationName, queryParameters) {\n if (queryParameters === void 0) { queryParameters = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.post(\"\".concat(RESOURCEPATH, \"/\").concat(operationName), {}, queryParameters)];\n });\n });\n };\n return Operations;\n}());\nexports.default = Operations;\n//# sourceMappingURL=Operations.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Overrides_1 = __importDefault(require(\"./Overrides\"));\nvar Override = /** @class */ (function () {\n function Override(collectionName, overrideId, apiCall) {\n this.collectionName = collectionName;\n this.overrideId = overrideId;\n this.apiCall = apiCall;\n }\n Override.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Override.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Override.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides_1.default.RESOURCEPATH, \"/\").concat(this.overrideId);\n };\n return Override;\n}());\nexports.default = Override;\n//# sourceMappingURL=Override.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/overrides\";\nvar Overrides = /** @class */ (function () {\n function Overrides(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Overrides.prototype.upsert = function (overrideId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(overrideId), params)];\n });\n });\n };\n Overrides.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Overrides.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Overrides.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Overrides, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Overrides;\n}());\nexports.default = Overrides;\n//# sourceMappingURL=Overrides.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Presets_1 = __importDefault(require(\"./Presets\"));\nvar Preset = /** @class */ (function () {\n function Preset(presetId, apiCall) {\n this.presetId = presetId;\n this.apiCall = apiCall;\n }\n Preset.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Preset.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Preset.prototype.endpointPath = function () {\n return \"\".concat(Presets_1.default.RESOURCEPATH, \"/\").concat(this.presetId);\n };\n return Preset;\n}());\nexports.default = Preset;\n//# sourceMappingURL=Preset.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RESOURCEPATH = \"/presets\";\nvar Presets = /** @class */ (function () {\n function Presets(apiCall) {\n this.apiCall = apiCall;\n }\n Presets.prototype.upsert = function (presetId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(presetId), params)];\n });\n });\n };\n Presets.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Presets.prototype.endpointPath = function (operation) {\n return \"\".concat(Presets.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Presets, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Presets;\n}());\nexports.default = Presets;\n//# sourceMappingURL=Presets.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar defaultCacheResponseForSeconds = 2 * 60;\nvar defaultMaxSize = 100;\nvar RequestWithCache = /** @class */ (function () {\n function RequestWithCache() {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n }\n RequestWithCache.prototype.clearCache = function () {\n this.responseCache = new Map();\n this.responsePromiseCache = new Map();\n };\n // Todo: should probably be passed a callback instead, or an apiCall instance. Types are messy this way\n RequestWithCache.prototype.perform = function (requestContext, requestFunction, requestFunctionArguments, cacheOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, cacheResponseForSeconds, _b, maxSize, isCacheDisabled, requestFunctionArgumentsJSON, cacheEntry, now, isEntryValid, cachePromiseEntry, isEntryValid, responsePromise, response, isCacheOverMaxSize, oldestEntry, isResponsePromiseCacheOverMaxSize, oldestEntry;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = cacheOptions.cacheResponseForSeconds, cacheResponseForSeconds = _a === void 0 ? defaultCacheResponseForSeconds : _a, _b = cacheOptions.maxSize, maxSize = _b === void 0 ? defaultMaxSize : _b;\n isCacheDisabled = cacheResponseForSeconds <= 0 || maxSize <= 0;\n if (isCacheDisabled) {\n return [2 /*return*/, requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false))];\n }\n requestFunctionArgumentsJSON = JSON.stringify(requestFunctionArguments);\n cacheEntry = this.responseCache.get(requestFunctionArgumentsJSON);\n now = Date.now();\n if (cacheEntry) {\n isEntryValid = now - cacheEntry.requestTimestamp < cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n this.responseCache.set(requestFunctionArgumentsJSON, cacheEntry);\n return [2 /*return*/, Promise.resolve(cacheEntry.response)];\n }\n else {\n this.responseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n cachePromiseEntry = this.responsePromiseCache.get(requestFunctionArgumentsJSON);\n if (cachePromiseEntry) {\n isEntryValid = now - cachePromiseEntry.requestTimestamp <\n cacheResponseForSeconds * 1000;\n if (isEntryValid) {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, cachePromiseEntry);\n return [2 /*return*/, cachePromiseEntry.responsePromise];\n }\n else {\n this.responsePromiseCache.delete(requestFunctionArgumentsJSON);\n }\n }\n responsePromise = requestFunction.call.apply(requestFunction, __spreadArray([requestContext], requestFunctionArguments, false));\n this.responsePromiseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n responsePromise: responsePromise,\n });\n return [4 /*yield*/, responsePromise];\n case 1:\n response = _c.sent();\n this.responseCache.set(requestFunctionArgumentsJSON, {\n requestTimestamp: now,\n response: response,\n });\n isCacheOverMaxSize = this.responseCache.size > maxSize;\n if (isCacheOverMaxSize) {\n oldestEntry = this.responseCache.keys().next().value;\n this.responseCache.delete(oldestEntry);\n }\n isResponsePromiseCacheOverMaxSize = this.responsePromiseCache.size > maxSize;\n if (isResponsePromiseCacheOverMaxSize) {\n oldestEntry = this.responsePromiseCache.keys().next().value;\n this.responsePromiseCache.delete(oldestEntry);\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n return RequestWithCache;\n}());\nexports.default = RequestWithCache;\n//# sourceMappingURL=RequestWithCache.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Configuration_1 = __importDefault(require(\"./Configuration\"));\nvar ApiCall_1 = __importDefault(require(\"./ApiCall\"));\nvar MultiSearch_1 = __importDefault(require(\"./MultiSearch\"));\nvar SearchOnlyCollection_1 = require(\"./SearchOnlyCollection\");\nvar SearchClient = /** @class */ (function () {\n function SearchClient(options) {\n var _a;\n options.sendApiKeyAsQueryParam = (_a = options.sendApiKeyAsQueryParam) !== null && _a !== void 0 ? _a : true;\n if (options.sendApiKeyAsQueryParam === true &&\n (options.apiKey || \"\").length > 2000) {\n console.warn(\"[typesense] API Key is longer than 2000 characters which is over the allowed limit, so disabling sending it as a query parameter.\");\n options.sendApiKeyAsQueryParam = false;\n }\n this.configuration = new Configuration_1.default(options);\n this.apiCall = new ApiCall_1.default(this.configuration);\n this.multiSearch = new MultiSearch_1.default(this.apiCall, this.configuration, true);\n this.individualCollections = {};\n }\n SearchClient.prototype.clearCache = function () {\n this.multiSearch.clearCache();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n Object.entries(this.individualCollections).forEach(function (_a) {\n var _ = _a[0], collection = _a[1];\n collection.documents().clearCache();\n });\n };\n SearchClient.prototype.collections = function (collectionName) {\n if (!collectionName) {\n throw new Error(\"Typesense.SearchClient only supports search operations, so the collectionName that needs to \" +\n \"be searched must be specified. Use Typesense.Client if you need to access the collection object.\");\n }\n else {\n if (this.individualCollections[collectionName] === undefined) {\n this.individualCollections[collectionName] = new SearchOnlyCollection_1.SearchOnlyCollection(collectionName, this.apiCall, this.configuration);\n }\n return this.individualCollections[collectionName];\n }\n };\n return SearchClient;\n}());\nexports.default = SearchClient;\n//# sourceMappingURL=SearchClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyCollection = void 0;\nvar SearchOnlyDocuments_1 = require(\"./SearchOnlyDocuments\");\nvar SearchOnlyCollection = /** @class */ (function () {\n function SearchOnlyCollection(name, apiCall, configuration) {\n this.name = name;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this._documents = new SearchOnlyDocuments_1.SearchOnlyDocuments(this.name, this.apiCall, this.configuration);\n }\n SearchOnlyCollection.prototype.documents = function () {\n return this._documents;\n };\n return SearchOnlyCollection;\n}());\nexports.SearchOnlyCollection = SearchOnlyCollection;\n//# sourceMappingURL=SearchOnlyCollection.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SearchOnlyDocuments = void 0;\nvar RequestWithCache_1 = __importDefault(require(\"./RequestWithCache\"));\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/documents\";\nvar SearchOnlyDocuments = /** @class */ (function () {\n function SearchOnlyDocuments(collectionName, apiCall, configuration) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n this.configuration = configuration;\n this.requestWithCache = new RequestWithCache_1.default();\n }\n SearchOnlyDocuments.prototype.clearCache = function () {\n this.requestWithCache.clearCache();\n };\n SearchOnlyDocuments.prototype.search = function (searchParameters, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.cacheSearchResultsForSeconds, cacheSearchResultsForSeconds = _c === void 0 ? this.configuration\n .cacheSearchResultsForSeconds : _c, _d = _b.abortSignal, abortSignal = _d === void 0 ? null : _d;\n return __awaiter(this, void 0, void 0, function () {\n var additionalQueryParams, key, queryParams;\n return __generator(this, function (_e) {\n additionalQueryParams = {};\n if (this.configuration.useServerSideSearchCache === true) {\n additionalQueryParams[\"use_cache\"] = true;\n }\n for (key in searchParameters) {\n if (Array.isArray(searchParameters[key])) {\n additionalQueryParams[key] = searchParameters[key].join(\",\");\n }\n }\n queryParams = Object.assign({}, searchParameters, additionalQueryParams);\n return [2 /*return*/, this.requestWithCache.perform(this.apiCall, this.apiCall.get, [this.endpointPath(\"search\"), queryParams, { abortSignal: abortSignal }], {\n cacheResponseForSeconds: cacheSearchResultsForSeconds,\n })];\n });\n });\n };\n SearchOnlyDocuments.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(SearchOnlyDocuments, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return SearchOnlyDocuments;\n}());\nexports.SearchOnlyDocuments = SearchOnlyDocuments;\n//# sourceMappingURL=SearchOnlyDocuments.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar Synonyms_1 = __importDefault(require(\"./Synonyms\"));\nvar Synonym = /** @class */ (function () {\n function Synonym(collectionName, synonymId, apiCall) {\n this.collectionName = collectionName;\n this.synonymId = synonymId;\n this.apiCall = apiCall;\n }\n Synonym.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.delete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.delete(this.endpointPath())];\n });\n });\n };\n Synonym.prototype.endpointPath = function () {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms_1.default.RESOURCEPATH, \"/\").concat(this.synonymId);\n };\n return Synonym;\n}());\nexports.default = Synonym;\n//# sourceMappingURL=Synonym.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Collections_1 = __importDefault(require(\"./Collections\"));\nvar RESOURCEPATH = \"/synonyms\";\nvar Synonyms = /** @class */ (function () {\n function Synonyms(collectionName, apiCall) {\n this.collectionName = collectionName;\n this.apiCall = apiCall;\n }\n Synonyms.prototype.upsert = function (synonymId, params) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.put(this.endpointPath(synonymId), params)];\n });\n });\n };\n Synonyms.prototype.retrieve = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiCall.get(this.endpointPath())];\n });\n });\n };\n Synonyms.prototype.endpointPath = function (operation) {\n return \"\".concat(Collections_1.default.RESOURCEPATH, \"/\").concat(this.collectionName).concat(Synonyms.RESOURCEPATH).concat(operation === undefined ? \"\" : \"/\" + operation);\n };\n Object.defineProperty(Synonyms, \"RESOURCEPATH\", {\n get: function () {\n return RESOURCEPATH;\n },\n enumerable: false,\n configurable: true\n });\n return Synonyms;\n}());\nexports.default = Synonyms;\n//# sourceMappingURL=Synonyms.js.map","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","\"use strict\";\n\nexport class Configuration {\n constructor(options = {}) {\n this.server = options.server || {\n nodes: [\n {\n host: \"localhost\",\n port: \"8108\",\n path: \"\",\n protocol: \"http\",\n },\n ],\n };\n\n this.server.cacheSearchResultsForSeconds = this.server.cacheSearchResultsForSeconds ?? 2 * 60;\n\n this.additionalSearchParameters = options.additionalSearchParameters ?? {};\n\n this.additionalSearchParameters.query_by =\n this.additionalSearchParameters.queryBy ?? this.additionalSearchParameters.query_by ?? \"\";\n\n this.additionalSearchParameters.preset =\n this.additionalSearchParameters.preset ?? this.additionalSearchParameters.preset ?? \"\";\n\n this.additionalSearchParameters.sort_by =\n this.additionalSearchParameters.sortBy ?? this.additionalSearchParameters.sort_by ?? \"\";\n\n this.additionalSearchParameters.highlight_full_fields =\n this.additionalSearchParameters.highlightFullFields ??\n this.additionalSearchParameters.highlight_full_fields ??\n this.additionalSearchParameters.query_by;\n\n this.geoLocationField = options.geoLocationField ?? \"_geoloc\";\n this.facetableFieldsWithSpecialCharacters = options.facetableFieldsWithSpecialCharacters ?? [];\n\n this.collectionSpecificSearchParameters = options.collectionSpecificSearchParameters ?? {};\n\n Object.keys(this.collectionSpecificSearchParameters).forEach((collection) => {\n const params = this.collectionSpecificSearchParameters[collection];\n params.query_by = params.queryBy ?? params.query_by;\n params.preset = params.preset ?? params.preset;\n params.sort_by = params.sortBy ?? params.sort_by;\n params.highlight_full_fields =\n params.highlightFullFields ??\n params.highlight_full_fields ??\n this.additionalSearchParameters.highlight_full_fields ??\n params.query_by;\n\n // Remove undefined values\n Object.keys(params).forEach((key) => (params[key] === undefined ? delete params[key] : {}));\n });\n\n this.renderingContent = options.renderingContent;\n this.flattenGroupedHits = options.flattenGroupedHits ?? true;\n this.facetByOptions = options.facetByOptions ?? {};\n this.filterByOptions = options.filterByOptions ?? {};\n this.collectionSpecificFacetByOptions = options.collectionSpecificFacetByOptions ?? {};\n this.collectionSpecificFilterByOptions = options.collectionSpecificFilterByOptions ?? {};\n }\n\n validate() {\n // Warn if camelCased parameters are used, suggest using snake_cased parameters instead\n if (\n this.additionalSearchParameters.queryBy ||\n Object.values(this.collectionSpecificSearchParameters).some((c) => c.queryBy)\n ) {\n console.warn(\n \"[typesense-instantsearch-adapter] Please use snake_cased versions of parameters in additionalSearchParameters instead of camelCased parameters. For example: Use query_by instead of queryBy. camelCased parameters will be deprecated in a future version.\" +\n \" We're making this change so that parameter names are identical to the ones sent to Typesense (which are all snake_cased), and to also keep the types for these parameters in sync with the types defined in typesense-js.\"\n );\n }\n\n /*\n * Either additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or\n * All collectionSpecificSearchParameters need to have query_by or preset\n *\n * */\n if (\n this.additionalSearchParameters.query_by.length === 0 &&\n this.additionalSearchParameters.preset.length === 0 &&\n (Object.keys(this.collectionSpecificSearchParameters).length === 0 ||\n Object.values(this.collectionSpecificSearchParameters).some(\n (c) => (c.query_by || \"\").length === 0 && (c.preset || \"\").length === 0\n ))\n ) {\n throw new Error(\n \"[typesense-instantsearch-adapter] Missing parameter: One of additionalSearchParameters.query_by or additionalSearchParameters.preset needs to be set, or all collectionSpecificSearchParameters need to have either .query_by or .preset set.\"\n );\n }\n }\n}\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName, filterBy) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n if (filterBy) adaptedFilters.push(filterBy);\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n const res = adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n return res;\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by:\n this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) ||\n snakeCasedAdditionalSearchParameters.filter_by,\n\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const utils = {\n _adaptHighlightTag(value, highlightPreTag, highlightPostTag) {\n return value\n .replace(new RegExp(\"\", \"g\"), highlightPreTag || \"\")\n .replace(new RegExp(\"\", \"g\"), highlightPostTag || \"\");\n },\n _adaptNumberOfPages() {\n const result = this.typesenseResponse.found / this.typesenseResponse.request_params.per_page;\n if (Number.isFinite(result)) {\n return Math.ceil(result);\n } else {\n return 1;\n }\n },\n};\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class FacetSearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n }\n\n _adaptFacetHits(typesenseFacetCounts) {\n let adaptedResult = {};\n const facet = typesenseFacetCounts.find((facet) => facet.field_name === this.instantsearchRequest.params.facetName);\n\n adaptedResult = facet.counts.map((facetCount) => ({\n value: facetCount.value,\n highlighted: this._adaptHighlightTag(\n facetCount.highlighted,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n count: facetCount.count,\n }));\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedResult = {\n facetHits: this._adaptFacetHits(this.typesenseResponse.facet_counts),\n exhaustiveFacetsCount: true,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n };\n return adaptedResult;\n }\n}\n\nObject.assign(FacetSearchResponseAdapter.prototype, utils);\n","\"use strict\";\n\nimport { Configuration } from \"./Configuration\";\nimport { SearchClient as TypesenseSearchClient } from \"typesense\";\nimport { SearchRequestAdapter } from \"./SearchRequestAdapter\";\nimport { SearchResponseAdapter } from \"./SearchResponseAdapter\";\nimport { FacetSearchResponseAdapter } from \"./FacetSearchResponseAdapter\";\n\nexport default class TypesenseInstantsearchAdapter {\n constructor(options) {\n this.updateConfiguration(options);\n this.searchClient = {\n clearCache: () => this.clearCache(),\n search: (instantsearchRequests) => this.searchTypesenseAndAdapt(instantsearchRequests),\n searchForFacetValues: (instantsearchRequests) =>\n this.searchTypesenseForFacetValuesAndAdapt(instantsearchRequests),\n };\n }\n\n async searchTypesenseAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new SearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration,\n typesenseResponse.results\n );\n return responseAdapter.adapt();\n });\n\n return {\n results: adaptedResponses,\n };\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async searchTypesenseForFacetValuesAndAdapt(instantsearchRequests) {\n let typesenseResponse;\n try {\n typesenseResponse = await this._adaptAndPerformTypesenseRequest(instantsearchRequests);\n\n const adaptedResponses = typesenseResponse.results.map((typesenseResult, index) => {\n this._validateTypesenseResult(typesenseResult);\n const responseAdapter = new FacetSearchResponseAdapter(\n typesenseResult,\n instantsearchRequests[index],\n this.configuration\n );\n return responseAdapter.adapt();\n });\n\n return adaptedResponses;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n\n async _adaptAndPerformTypesenseRequest(instantsearchRequests) {\n const requestAdapter = new SearchRequestAdapter(instantsearchRequests, this.typesenseClient, this.configuration);\n const typesenseResponse = await requestAdapter.request();\n return typesenseResponse;\n }\n\n clearCache() {\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return this.searchClient;\n }\n\n updateConfiguration(options) {\n this.configuration = new Configuration(options);\n this.configuration.validate();\n this.typesenseClient = new TypesenseSearchClient(this.configuration.server);\n return true;\n }\n\n _validateTypesenseResult(typesenseResult) {\n if (typesenseResult.error) {\n throw new Error(`${typesenseResult.code} - ${typesenseResult.error}`);\n }\n if (!typesenseResult.hits && !typesenseResult.grouped_hits) {\n throw new Error(`Did not find any hits. ${typesenseResult.code} - ${typesenseResult.error}`);\n }\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","utils","settle","cookies","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","transitionalDefaults","Cancel","config","Promise","resolve","reject","onCanceled","requestData","data","requestHeaders","headers","responseType","done","cancelToken","unsubscribe","signal","removeEventListener","isFormData","request","XMLHttpRequest","auth","username","password","unescape","encodeURIComponent","Authorization","btoa","fullPath","baseURL","url","onloadend","responseHeaders","getAllResponseHeaders","response","responseText","status","statusText","value","err","open","method","toUpperCase","params","paramsSerializer","timeout","onreadystatechange","readyState","responseURL","indexOf","setTimeout","onabort","onerror","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","read","undefined","xsrfHeaderName","forEach","val","key","toLowerCase","setRequestHeader","isUndefined","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","type","abort","subscribe","aborted","send","bind","Axios","mergeConfig","axios","createInstance","defaultConfig","context","instance","prototype","extend","create","instanceConfig","CancelToken","isCancel","VERSION","all","promises","spread","isAxiosError","message","this","toString","__CANCEL__","executor","TypeError","resolvePromise","promise","token","then","_listeners","i","l","length","onfulfilled","_resolve","reason","throwIfRequested","listener","push","index","splice","source","c","InterceptorManager","dispatchRequest","validator","validators","defaults","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","responseInterceptorChain","chain","Array","apply","concat","shift","newConfig","onFulfilled","onRejected","error","getUri","replace","handlers","use","options","eject","id","fn","h","isAbsoluteURL","combineURLs","requestedURL","enhanceError","code","Error","transformData","throwIfCancellationRequested","call","transformRequest","merge","common","adapter","transformResponse","toJSON","name","description","number","fileName","lineNumber","columnNumber","stack","config1","config2","getMergedValue","target","isPlainObject","isArray","slice","mergeDeepProperties","prop","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","Object","keys","configValue","validateStatus","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","process","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","thisArg","args","arguments","encode","serializedParams","parts","v","isDate","toISOString","join","hashmarkIndex","relativeURL","write","expires","path","domain","secure","cookie","isNumber","Date","toGMTString","document","match","RegExp","decodeURIComponent","remove","now","test","payload","originURL","msie","navigator","userAgent","urlParsingNode","createElement","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","parsed","normalizedName","ignoreDuplicateOf","split","line","substr","callback","arr","thing","deprecatedWarnings","version","formatMessage","opt","desc","opts","console","warn","schema","allowUnknown","result","getPrototypeOf","isFunction","obj","hasOwnProperty","constructor","ArrayBuffer","isView","pipe","product","assignValue","a","b","str","stripBOM","content","charCodeAt","definition","noop","undefinedType","isIE","logMethods","bindMethod","methodName","Function","traceForIE","log","trace","replaceLoggingMethods","level","loggerName","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","realMethod","Logger","defaultLevel","currentLevel","storageKey","getPersistedLevel","storedLevel","localStorage","ignore","exec","levels","getLevel","setLevel","persist","SILENT","levelNum","levelName","persistLevelIfPossible","setDefaultLevel","resetLevel","removeItem","clearPersistedLevel","enableAll","TRACE","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","logger","_log","noConflict","getLoggers","__createBinding","o","m","k","k2","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","__importStar","mod","__importDefault","Errors","SearchClient","Client","Client_1","default","SearchClient_1","__awaiter","_arguments","P","generator","step","next","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","op","pop","Aliases_1","Alias","apiCall","retrieve","_a","endpointPath","delete","RESOURCEPATH","Aliases","upsert","mapping","put","aliasName","AnalyticsRules_1","AnalyticsRule_1","Analytics","individualAnalyticsRules","_analyticsRules","rules","AnalyticsRule","AnalyticsRules","operation","axios_1","Errors_1","TypesenseError_1","HEALTHY","ApiCall","configuration","apiKey","nodes","nearestNode","connectionTimeoutSeconds","healthcheckIntervalSeconds","numRetriesPerRequest","numRetries","retryIntervalSeconds","sendApiKeyAsQueryParam","additionalUserHeaders","additionalHeaders","initializeMetadataForNodes","currentNodeIndex","endpoint","queryParameters","_b","_c","abortSignal","_d","_e","performRequest","post","bodyParameters","patch","requestType","_f","_g","_h","_j","_k","skipConnectionTimeout","requestNumber","lastException","_loop_1","this_1","numTries","state_1","_l","validate","node","abortListener","requestOptions","source_1","error_1","_m","getNextNode","uriFor","assign","defaultHeaders","Infinity","transformedData","startsWith","setNodeHealthcheck","customErrorForResponse","timer","isHealthy","nodeDueForHealthcheck","map","candidateNode","isDueForHealthcheck","lastAccessTimestamp","_this","seconds","messageFromServer","errorMessage","RequestMalformed","RequestUnauthorized","ObjectNotFound","ObjectAlreadyExists","ObjectUnprocessable","ServerError","HTTPError","httpStatus","Configuration_1","ApiCall_1","Collections_1","Collection_1","Alias_1","Keys_1","Key_1","Debug_1","Metrics_1","Health_1","Operations_1","MultiSearch_1","Presets_1","Preset_1","Analytics_1","metrics","health","operations","multiSearch","_collections","individualCollections","_aliases","individualAliases","_keys","individualKeys","_presets","individualPresets","analytics","collections","collectionName","aliases","presets","Documents_1","Overrides_1","Override_1","Synonyms_1","Synonym_1","Document_1","Collection","individualDocuments","individualOverrides","individualSynonyms","_documents","_overrides","_synonyms","update","exists","e_1","documents","documentId","Document","overrides","overrideId","synonyms","synonymId","Collections","__assign","s","p","Configuration","setDefaultPathInNode","setDefaultPortInNode","randomizeNodes","shuffleArray","timeoutSeconds","cacheSearchResultsForSeconds","useServerSideSearchCache","logLevel","showDeprecationWarnings","validateNodes","MissingConfigurationError","isNodeMissingAnyParameters","some","every","masterNode","readReplicaNodes","array","j","Math","floor","random","Debug","partialDocument","extendStatics","__extends","d","setPrototypeOf","__proto__","String","__","Documents","_super","action","idOrQuery","createMany","import","documentsInJSONLFormat","resultsInJSONLFormat","resultsInJSONFormat","failedItems","RangeError","includes","r","filter","success","ImportError","export","exportStream","SearchOnlyDocuments","importResults","TypesenseError","_newTarget","HTTPError_1","MissingConfigurationError_1","ObjectAlreadyExists_1","ObjectNotFound_1","ObjectUnprocessable_1","RequestMalformed_1","RequestUnauthorized_1","ServerError_1","ImportError_1","Health","Key","crypto_1","Keys","generateScopedSearchKey","searchKey","parameters","paramsJSON","digest","Buffer","from","createHmac","keyPrefix","rawScopedKey","Metrics","RequestWithCache_1","MultiSearch","useTextContentType","requestWithCache","clearCache","perform","searchRequests","commonParams","additionalQueryParams","queryParams","cacheResponseForSeconds","Operations","operationName","Override","Overrides","Preset","presetId","Presets","__spreadArray","to","pack","ar","RequestWithCache","responseCache","Map","responsePromiseCache","requestContext","requestFunction","requestFunctionArguments","cacheOptions","maxSize","requestFunctionArgumentsJSON","cacheEntry","cachePromiseEntry","responsePromise","oldestEntry","requestTimestamp","set","size","SearchOnlyCollection_1","entries","SearchOnlyCollection","SearchOnlyDocuments_1","searchParameters","Synonym","Synonyms","_typeof","_regeneratorRuntime","Op","hasOwn","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","makeInvokeMethod","tryCatch","arg","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","doneResult","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","runtime","regeneratorRuntime","accidentalStrictMode","globalThis","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_classCallCheck","Constructor","_toPropertyKey","input","hint","prim","toPrimitive","res","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","server","additionalSearchParameters","query_by","queryBy","preset","sort_by","sortBy","highlight_full_fields","highlightFullFields","geoLocationField","facetableFieldsWithSpecialCharacters","collectionSpecificSearchParameters","collection","renderingContent","flattenGroupedHits","facetByOptions","filterByOptions","collectionSpecificFacetByOptions","collectionSpecificFilterByOptions","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","_slicedToArray","_i","_s","_x","_r","_arr","_n","SearchRequestAdapter","instantsearchRequests","typesenseClient","fieldName","exactMatch","facetFilters","adaptedResult","item","intermediateFacetFilters","facetFilter","_parseFacetFilter","fieldValue","reduce","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","_escapeFacetValue","typesenseFilterString","filterStringMatchingRegex","facetFilterMatches","sanitizedFacetableFieldsWithSpecialCharacters","flat","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filterBy","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","indexName","INDEX_NAME_MATCHING_REGEX","facets","facet","instantsearchRequest","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","_camelToSnakeCase","typesenseSearchParams","adaptedSortBy","_adaptSortBy","q","query","facet_by","_adaptFacetBy","filter_by","_adaptFilters","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","facetName","typesenseVectorQuery","vector_query","fromEntries","searches","_buildSearchParameters","_toConsumableArray","_defineProperty","_adaptHighlightTag","highlightPreTag","highlightPostTag","_adaptNumberOfPages","typesenseResponse","found","request_params","isFinite","ceil","SearchResponseAdapter","allTypesenseResponses","typesenseGroupedHits","groupedHit","adaptedHits","_adaptHits","hits","hit","group_key","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","objectID","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","geoLocationValue","_geoloc","lat","lng","snippetOrValue","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","matchLevel","matchedWords","highlights","matched_tokens","indices","attribute","matchedIndices","_adaptHighlightNullValue","unhighlightedValueFromArray","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","typesenseFacetCounts","field_name","counts","count","stats","facetOrdering","order","Set","fc","facet_counts","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","nbPages","_adaptFacets","facets_stats","_adaptFacetStats","processingTimeMS","search_time_ms","FacetSearchResponseAdapter","find","facetCount","highlighted","facetHits","_adaptFacetHits","exhaustiveFacetsCount","TypesenseInstantsearchAdapter","updateConfiguration","searchClient","searchTypesenseAndAdapt","searchForFacetValues","searchTypesenseForFacetValuesAndAdapt","_adaptAndPerformTypesenseRequest","adaptedResponses","results","typesenseResult","_validateTypesenseResult","adapt","requestAdapter","TypesenseSearchClient"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/SearchRequestAdapter.js b/lib/SearchRequestAdapter.js index e3f8158..02bd5b1 100644 --- a/lib/SearchRequestAdapter.js +++ b/lib/SearchRequestAdapter.js @@ -158,8 +158,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { return _typesenseFilterString; } }); - adaptedResult = transformedTypesenseFilters.join(" && "); // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`); - + adaptedResult = transformedTypesenseFilters.join(" && "); return adaptedResult; } }, { @@ -395,7 +394,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { } }, { key: "_adaptFilters", - value: function _adaptFilters(instantsearchParams, collectionName) { + value: function _adaptFilters(instantsearchParams, collectionName, filterBy) { var adaptedFilters = []; // `filters` can be used with the `Configure` widget // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format. @@ -403,12 +402,14 @@ var SearchRequestAdapter = /*#__PURE__*/function () { adaptedFilters.push(instantsearchParams.filters); } + if (filterBy) adaptedFilters.push(filterBy); adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName)); adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters)); adaptedFilters.push(this._adaptGeoFilter(instantsearchParams)); - return adaptedFilters.filter(function (filter) { + var res = adaptedFilters.filter(function (filter) { return filter && filter !== ""; }).join(" && "); + return res; } }, { key: "_adaptIndexName", @@ -475,7 +476,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { collection: adaptedCollectionName, q: params.query === "" || params.query === undefined ? "*" : params.query, facet_by: snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName), - filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by, + filter_by: this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) || snakeCasedAdditionalSearchParameters.filter_by, sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by, max_facet_values: params.maxValuesPerFacet, page: (params.page || 0) + 1 @@ -493,9 +494,7 @@ var SearchRequestAdapter = /*#__PURE__*/function () { if (params.typesenseVectorQuery) { typesenseSearchParams.vector_query = params.typesenseVectorQuery; - } // console.log(params); - // console.log(typesenseSearchParams); - // Filter out empty or null values, so we don't accidentally override values set in presets + } // Filter out empty or null values, so we don't accidentally override values set in presets // eslint-disable-next-line no-unused-vars @@ -522,7 +521,6 @@ var SearchRequestAdapter = /*#__PURE__*/function () { return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: - // console.log(this.instantsearchRequests); searches = this.instantsearchRequests.map(function (instantsearchRequest) { return _this4._buildSearchParameters(instantsearchRequest); }); diff --git a/lib/SearchRequestAdapter.js.map b/lib/SearchRequestAdapter.js.map index c998782..754b7d1 100644 --- a/lib/SearchRequestAdapter.js.map +++ b/lib/SearchRequestAdapter.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/SearchRequestAdapter.js"],"names":["SearchRequestAdapter","instantsearchRequests","typesenseClient","configuration","additionalSearchParameters","collectionSpecificSearchParameters","fieldName","collectionName","collectionSpecificFilterByOptions","exactMatch","filterByOptions","facetFilters","adaptedResult","transformedTypesenseFilters","map","item","Array","isArray","intermediateFacetFilters","forEach","facetFilter","_parseFacetFilter","fieldValue","push","Object","keys","length","console","error","join","fieldValues","reduce","result","startsWith","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","v","_escapeFacetValue","typesenseFilterString","filter","f","filterStringMatchingRegex","facetFilterMatches","facetableFieldsWithSpecialCharacters","sanitizedFacetableFieldsWithSpecialCharacters","flat","replace","RegExp","match","constructor","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","value","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","warn","JSON","stringify","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","split","geoLocationField","Error","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","indexName","INDEX_NAME_MATCHING_REGEX","facets","facet","collectionSpecificFacetByOptions","facetByOptions","instantsearchRequest","params","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","entries","key","_camelToSnakeCase","typesenseSearchParams","assign","adaptedSortBy","_adaptSortBy","collection","q","query","undefined","facet_by","_adaptFacetBy","filter_by","_adaptFilters","sort_by","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","facetName","typesenseVectorQuery","vector_query","fromEntries","_","str","toLowerCase","searches","_buildSearchParameters","multiSearch","perform"],"mappings":"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","sourcesContent":["\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`);\n\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n return adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by,\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // console.log(params);\n // console.log(typesenseSearchParams);\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n // console.log(this.instantsearchRequests);\n\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n"],"file":"SearchRequestAdapter.js"} \ No newline at end of file +{"version":3,"sources":["../src/SearchRequestAdapter.js"],"names":["SearchRequestAdapter","instantsearchRequests","typesenseClient","configuration","additionalSearchParameters","collectionSpecificSearchParameters","fieldName","collectionName","collectionSpecificFilterByOptions","exactMatch","filterByOptions","facetFilters","adaptedResult","transformedTypesenseFilters","map","item","Array","isArray","intermediateFacetFilters","forEach","facetFilter","_parseFacetFilter","fieldValue","push","Object","keys","length","console","error","join","fieldValues","reduce","result","startsWith","_isNumber","substring","excludedFieldValues","includedFieldValues","typesenseFilterStringComponents","operator","_shouldUseExactMatchForField","v","_escapeFacetValue","typesenseFilterString","filter","f","filterStringMatchingRegex","facetFilterMatches","facetableFieldsWithSpecialCharacters","sanitizedFacetableFieldsWithSpecialCharacters","flat","replace","RegExp","match","constructor","DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX","value","Number","isInteger","numericFilters","filtersHash","_parseNumericFilter","adaptedFilters","field","warn","JSON","stringify","numericFilter","numericFilterMatches","DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX","insideBoundingBox","aroundRadius","aroundLatLng","insidePolygon","x1","y1","x2","y2","split","geoLocationField","Error","adaptedAroundRadius","parseFloat","coordinates","instantsearchParams","filterBy","filters","_adaptFacetFilters","_adaptNumericFilters","_adaptGeoFilter","res","indexName","INDEX_NAME_MATCHING_REGEX","facets","facet","collectionSpecificFacetByOptions","facetByOptions","instantsearchRequest","params","adaptedCollectionName","_adaptIndexName","snakeCasedAdditionalSearchParameters","entries","key","_camelToSnakeCase","typesenseSearchParams","assign","adaptedSortBy","_adaptSortBy","collection","q","query","undefined","facet_by","_adaptFacetBy","filter_by","_adaptFilters","sort_by","max_facet_values","maxValuesPerFacet","page","hitsPerPage","per_page","facetQuery","facet_query","facetName","typesenseVectorQuery","vector_query","fromEntries","_","str","toLowerCase","searches","_buildSearchParameters","multiSearch","perform"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;IAEaA,oB;AAaX,gCAAYC,qBAAZ,EAAmCC,eAAnC,EAAoDC,aAApD,EAAmE;AAAA;AACjE,SAAKF,qBAAL,GAA6BA,qBAA7B;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,0BAAL,GAAkCD,aAAa,CAACC,0BAAhD;AACA,SAAKC,kCAAL,GAA0CF,aAAa,CAACE,kCAAxD;AACD;;;;WAED,sCAA6BC,SAA7B,EAAwCC,cAAxC,EAAwD;AAAA;;AACtD,UACE,+BAAKJ,aAAL,CAAmBK,iCAAnB,iGAAuDD,cAAvD,kGAAyED,SAAzE,iFAAqFG,UAArF,MAAoG,KAApG,IACA,+BAAKN,aAAL,CAAmBO,eAAnB,iGAAqCJ,SAArC,iFAAiDG,UAAjD,MAAgE,KAFlE,EAGE;AACA,eAAO,KAAP;AACD,OALD,MAKO;AACL,eAAO,IAAP;AACD;AACF;;;WAED,4BAAmBE,YAAnB,EAAiCJ,cAAjC,EAAiD;AAAA;;AAC/C,UAAIK,aAAa,GAAG,EAApB;;AAEA,UAAI,CAACD,YAAL,EAAmB;AACjB,eAAOC,aAAP;AACD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEI,UAAMC,2BAA2B,GAAGF,YAAY,CAACG,GAAb,CAAiB,UAACC,IAAD,EAAU;AAC7D,YAAIC,KAAK,CAACC,OAAN,CAAcF,IAAd,CAAJ,EAAyB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,cAAMG,wBAAwB,GAAG,EAAjC;AACAH,UAAAA,IAAI,CAACI,OAAL,CAAa,UAACC,WAAD,EAAiB;AAC5B,wCAAkC,KAAI,CAACC,iBAAL,CAAuBD,WAAvB,CAAlC;AAAA,gBAAQd,SAAR,yBAAQA,SAAR;AAAA,gBAAmBgB,UAAnB,yBAAmBA,UAAnB;;AACAJ,YAAAA,wBAAwB,CAACZ,SAAD,CAAxB,GAAsCY,wBAAwB,CAACZ,SAAD,CAAxB,IAAuC,EAA7E;AACAY,YAAAA,wBAAwB,CAACZ,SAAD,CAAxB,CAAoCiB,IAApC,CAAyCD,UAAzC;AACD,WAJD;;AAMA,cAAIE,MAAM,CAACC,IAAP,CAAYP,wBAAZ,EAAsCQ,MAAtC,GAA+C,CAAnD,EAAsD;AACpDC,YAAAA,OAAO,CAACC,KAAR,6JACuJJ,MAAM,CAACC,IAAP,CACnJP,wBADmJ,EAEnJW,IAFmJ,CAE9I,GAF8I,CADvJ;AAKD,WAvBsB,CAyBvB;;;AACA,cAAMvB,SAAS,GAAGkB,MAAM,CAACC,IAAP,CAAYP,wBAAZ,EAAsC,CAAtC,CAAlB;AACA,cAAMY,WAAW,GAAGZ,wBAAwB,CAACZ,SAAD,CAA5C,CA3BuB,CA6BvB;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AACA,qCAAmDwB,WAAW,CAACC,MAAZ,CACjD,UAACC,MAAD,EAASV,UAAT,EAAwB;AACtB,gBAAIA,UAAU,CAACW,UAAX,CAAsB,GAAtB,KAA8B,CAAC,KAAI,CAACC,SAAL,CAAeZ,UAAf,CAAnC,EAA+D;AAC7DU,cAAAA,MAAM,CAAC,CAAD,CAAN,CAAUT,IAAV,CAAeD,UAAU,CAACa,SAAX,CAAqB,CAArB,CAAf;AACD,aAFD,MAEO;AACLH,cAAAA,MAAM,CAAC,CAAD,CAAN,CAAUT,IAAV,CAAeD,UAAf;AACD;;AACD,mBAAOU,MAAP;AACD,WARgD,EASjD,CAAC,EAAD,EAAK,EAAL,CATiD,CAAnD;AAAA;AAAA,cAAOI,mBAAP;AAAA,cAA4BC,mBAA5B;;AAYA,cAAMC,+BAA+B,GAAG,EAAxC;;AACA,cAAID,mBAAmB,CAACX,MAApB,GAA6B,CAAjC,EAAoC;AAClC,gBAAMa,QAAQ,GAAG,KAAI,CAACC,4BAAL,CAAkClC,SAAlC,EAA6CC,cAA7C,IAA+D,IAA/D,GAAsE,GAAvF;AACA+B,YAAAA,+BAA+B,CAACf,IAAhC,WACKjB,SADL,SACiBiC,QADjB,cAC6BF,mBAAmB,CAACvB,GAApB,CAAwB,UAAC2B,CAAD;AAAA,qBAAO,KAAI,CAACC,iBAAL,CAAuBD,CAAvB,CAAP;AAAA,aAAxB,EAA0DZ,IAA1D,CAA+D,GAA/D,CAD7B;AAGD;;AACD,cAAIO,mBAAmB,CAACV,MAApB,GAA6B,CAAjC,EAAoC;AAClC,gBAAMa,SAAQ,GAAG,KAAI,CAACC,4BAAL,CAAkClC,SAAlC,EAA6CC,cAA7C,IAA+D,KAA/D,GAAuE,IAAxF;;AACA+B,YAAAA,+BAA+B,CAACf,IAAhC,WACKjB,SADL,SACiBiC,SADjB,cAC6BH,mBAAmB,CAACtB,GAApB,CAAwB,UAAC2B,CAAD;AAAA,qBAAO,KAAI,CAACC,iBAAL,CAAuBD,CAAvB,CAAP;AAAA,aAAxB,EAA0DZ,IAA1D,CAA+D,GAA/D,CAD7B;AAGD;;AAED,cAAMc,qBAAqB,GAAGL,+BAA+B,CAACM,MAAhC,CAAuC,UAACC,CAAD;AAAA,mBAAOA,CAAP;AAAA,WAAvC,EAAiDhB,IAAjD,CAAsD,MAAtD,CAA9B;AAEA,iBAAOc,qBAAP;AACD,SAnED,MAmEO;AACL;AACA;AACA;AACA;AAEA,uCAAkC,KAAI,CAACtB,iBAAL,CAAuBN,IAAvB,CAAlC;AAAA,cAAQT,UAAR,0BAAQA,SAAR;AAAA,cAAmBgB,UAAnB,0BAAmBA,UAAnB;;AACA,cAAIqB,sBAAJ;;AACA,cAAIrB,UAAU,CAACW,UAAX,CAAsB,GAAtB,KAA8B,CAAC,KAAI,CAACC,SAAL,CAAeZ,UAAf,CAAnC,EAA+D;AAC7D,gBAAMiB,UAAQ,GAAG,KAAI,CAACC,4BAAL,CAAkClC,UAAlC,EAA6CC,cAA7C,IAA+D,KAA/D,GAAuE,IAAxF;;AACAoC,YAAAA,sBAAqB,aAAMrC,UAAN,SAAkBiC,UAAlB,cAA8B,KAAI,CAACG,iBAAL,CAAuBpB,UAAU,CAACa,SAAX,CAAqB,CAArB,CAAvB,CAA9B,MAArB;AACD,WAHD,MAGO;AACL,gBAAMI,UAAQ,GAAG,KAAI,CAACC,4BAAL,CAAkClC,UAAlC,EAA6CC,cAA7C,IAA+D,IAA/D,GAAsE,GAAvF;;AACAoC,YAAAA,sBAAqB,aAAMrC,UAAN,SAAkBiC,UAAlB,cAA8B,KAAI,CAACG,iBAAL,CAAuBpB,UAAvB,CAA9B,MAArB;AACD;;AAED,iBAAOqB,sBAAP;AACD;AACF,OAtFmC,CAApC;AAwFA/B,MAAAA,aAAa,GAAGC,2BAA2B,CAACgB,IAA5B,CAAiC,MAAjC,CAAhB;AACA,aAAOjB,aAAP;AACD;;;WAED,2BAAkBQ,WAAlB,EAA+B;AAAA;;AAC7B,UAAI0B,yBAAJ,EAA+BC,kBAA/B,EAAmDzC,SAAnD,EAA8DgB,UAA9D,CAD6B,CAG7B;AACA;;AACA,UAAI,gCAAKnB,aAAL,CAAmB6C,oCAAnB,kFAAyDtB,MAAzD,IAAkE,CAAtE,EAAyE;AACvE;AACA,YAAMuB,6CAA6C,GAAG,KAAK9C,aAAL,CAAmB6C,oCAAnB,CACnDE,IADmD,GAEnDpC,GAFmD,CAE/C,UAAC+B,CAAD;AAAA,iBAAOA,CAAC,CAACM,OAAF,CAAU,qBAAV,EAAiC,MAAjC,CAAP;AAAA,SAF+C,CAAtD;AAGAL,QAAAA,yBAAyB,GAAG,IAAIM,MAAJ,aAAgBH,6CAA6C,CAACpB,IAA9C,CAAmD,GAAnD,CAAhB,aAA5B;AACAkB,QAAAA,kBAAkB,GAAG3B,WAAW,CAACiC,KAAZ,CAAkBP,yBAAlB,CAArB;;AAEA,YAAIC,kBAAkB,IAAI,IAA1B,EAAgC;AAC9BzC,UAAAA,SAAS,aAAMyC,kBAAkB,CAAC,CAAD,CAAxB,CAAT;AACAzB,UAAAA,UAAU,aAAMyB,kBAAkB,CAAC,CAAD,CAAxB,CAAV;AAEA,iBAAO;AACLzC,YAAAA,SAAS,EAATA,SADK;AAELgB,YAAAA,UAAU,EAAVA;AAFK,WAAP;AAID;AACF,OAtB4B,CAwB7B;AACA;;;AACAwB,MAAAA,yBAAyB,GAAG,KAAKQ,WAAL,CAAiBC,0CAA7C;AACAR,MAAAA,kBAAkB,GAAG3B,WAAW,CAACiC,KAAZ,CAAkBP,yBAAlB,CAArB,CA3B6B,CA6B7B;AACA;AACA;;AAEA,UAAIC,kBAAkB,IAAI,IAA1B,EAAgC;AAC9BpB,QAAAA,OAAO,CAACC,KAAR,gFAC2ER,WAD3E,+BAC6G0B,yBAD7G;AAGD,OAJD,MAIO;AACLxC,QAAAA,SAAS,aAAMyC,kBAAkB,CAAC,CAAD,CAAxB,SAA8BA,kBAAkB,CAAC,CAAD,CAAhD,CAAT;AACAzB,QAAAA,UAAU,aAAMyB,kBAAkB,CAAC,CAAD,CAAxB,CAAV;AACD;;AAED,aAAO;AACLzC,QAAAA,SAAS,EAATA,SADK;AAELgB,QAAAA,UAAU,EAAVA;AAFK,OAAP;AAID;;;WAED,2BAAkBkC,KAAlB,EAAyB;AACvB;AACA,UAAI,OAAOA,KAAP,KAAiB,SAAjB,IAA8BA,KAAK,KAAK,MAAxC,IAAkDA,KAAK,KAAK,OAA5D,IAAuE,KAAKtB,SAAL,CAAesB,KAAf,CAA3E,EAAkG;AAChG,eAAOA,KAAP;AACD;;AACD,wBAAYA,KAAZ;AACD;;;WAED,mBAAUA,KAAV,EAAiB;AACf,aACEC,MAAM,CAACC,SAAP,CAAiBF,KAAK,GAAG,CAAzB,KAA+B;AAC/B,OAAC,EAAEA,KAAK,GAAG,CAAV,CAFH,CADe,CAIZ;AACJ;;;WAED,8BAAqBG,cAArB,EAAqC;AAAA;;AACnC;AACA;AACA;AACA;AACA,UAAI/C,aAAa,GAAG,EAApB;;AAEA,UAAI,CAAC+C,cAAL,EAAqB;AACnB,eAAO/C,aAAP;AACD,OATkC,CAWnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,UAAMgD,WAAW,GAAG,EAApB;AACAD,MAAAA,cAAc,CAACxC,OAAf,CAAuB,UAACyB,MAAD,EAAY;AACjC,oCAA4C,MAAI,CAACiB,mBAAL,CAAyBjB,MAAzB,CAA5C;AAAA,YAAQtC,SAAR,yBAAQA,SAAR;AAAA,YAAmBiC,QAAnB,yBAAmBA,QAAnB;AAAA,YAA6BjB,UAA7B,yBAA6BA,UAA7B;;AACAsC,QAAAA,WAAW,CAACtD,SAAD,CAAX,GAAyBsD,WAAW,CAACtD,SAAD,CAAX,IAA0B,EAAnD;AACAsD,QAAAA,WAAW,CAACtD,SAAD,CAAX,CAAuBiC,QAAvB,IAAmCjB,UAAnC;AACD,OAJD,EAzBmC,CA+BnC;AACA;;AACA,UAAMwC,cAAc,GAAG,EAAvB;AACAtC,MAAAA,MAAM,CAACC,IAAP,CAAYmC,WAAZ,EAAyBzC,OAAzB,CAAiC,UAAC4C,KAAD,EAAW;AAC1C,YAAIH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,KAA4B,IAA5B,IAAoCH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,KAA4B,IAApE,EAA0E;AACxED,UAAAA,cAAc,CAACvC,IAAf,WAAuBwC,KAAvB,gBAAkCH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,CAAlC,eAA+DH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,CAA/D;AACD,SAFD,MAEO,IAAIH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,KAA4B,IAAhC,EAAsC;AAC3CD,UAAAA,cAAc,CAACvC,IAAf,WAAuBwC,KAAvB,gBAAkCH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,CAAlC;AACD,SAFM,MAEA,IAAIH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,KAA4B,IAAhC,EAAsC;AAC3CD,UAAAA,cAAc,CAACvC,IAAf,WAAuBwC,KAAvB,gBAAkCH,WAAW,CAACG,KAAD,CAAX,CAAmB,IAAnB,CAAlC;AACD,SAFM,MAEA,IAAIH,WAAW,CAACG,KAAD,CAAX,CAAmB,GAAnB,KAA2B,IAA/B,EAAqC;AAC1CD,UAAAA,cAAc,CAACvC,IAAf,WAAuBwC,KAAvB,eAAiCH,WAAW,CAACG,KAAD,CAAX,CAAmB,GAAnB,CAAjC;AACD,SAFM,MAEA;AACLpC,UAAAA,OAAO,CAACqC,IAAR,wEACkEC,IAAI,CAACC,SAAL,CAAeN,WAAW,CAACG,KAAD,CAA1B,CADlE;AAGD;AACF,OAdD;AAgBAnD,MAAAA,aAAa,GAAGkD,cAAc,CAACjC,IAAf,CAAoB,MAApB,CAAhB;AACA,aAAOjB,aAAP;AACD;;;WAED,6BAAoBuD,aAApB,EAAmC;AAAA;;AACjC,UAAIrB,yBAAJ,EAA+BsB,oBAA/B;AACA,UAAI9D,SAAJ,EAAeiC,QAAf,EAAyBjB,UAAzB,CAFiC,CAIjC;AACA;;AACA,UAAI,gCAAKnB,aAAL,CAAmB6C,oCAAnB,kFAAyDtB,MAAzD,IAAkE,CAAtE,EAAyE;AACvE;AACA,YAAMuB,6CAA6C,GAAG,KAAK9C,aAAL,CAAmB6C,oCAAnB,CAAwDlC,GAAxD,CACpD,UAAC+B,CAAD;AAAA,iBAAOA,CAAC,CAACM,OAAF,CAAU,qBAAV,EAAiC,MAAjC,CAAP;AAAA,SADoD,CAAtD;AAGAL,QAAAA,yBAAyB,GAAG,IAAIM,MAAJ,aACrBH,6CAA6C,CAACpB,IAA9C,CAAmD,GAAnD,CADqB,yBAA5B;AAIAuC,QAAAA,oBAAoB,GAAGD,aAAa,CAACd,KAAd,CAAoBP,yBAApB,CAAvB;;AAEA,YAAIsB,oBAAoB,IAAI,IAA5B,EAAkC;AAChC;AADgC,sCAEMA,oBAFN;;AAAA;;AAE7B9D,UAAAA,SAF6B;AAElBiC,UAAAA,QAFkB;AAERjB,UAAAA,UAFQ;AAGhC,iBAAO;AACLhB,YAAAA,SAAS,EAATA,SADK;AAELiC,YAAAA,QAAQ,EAARA,QAFK;AAGLjB,YAAAA,UAAU,EAAVA;AAHK,WAAP;AAKD;AACF,OA1BgC,CA4BjC;;;AACAwB,MAAAA,yBAAyB,GAAG,KAAKQ,WAAL,CAAiBe,4CAA7C;AACAD,MAAAA,oBAAoB,GAAGD,aAAa,CAACd,KAAd,CAAoBP,yBAApB,CAAvB,CA9BiC,CAgCjC;AACA;AACA;;AAEA,UAAIsB,oBAAoB,IAAI,IAA5B,EAAkC;AAChCzC,QAAAA,OAAO,CAACC,KAAR,kFAC6EuC,aAD7E,+BACiHrB,yBADjH;AAGD,OAJD,MAIO;AAAA,qCACiCsB,oBADjC;;AAAA;;AACF9D,QAAAA,SADE;AACSiC,QAAAA,QADT;AACmBjB,QAAAA,UADnB;AAEN;;AAED,aAAO;AACLhB,QAAAA,SAAS,EAATA,SADK;AAELiC,QAAAA,QAAQ,EAARA,QAFK;AAGLjB,QAAAA,UAAU,EAAVA;AAHK,OAAP;AAKD;;;WAED,+BAAkF;AAAA,UAAhEgD,iBAAgE,QAAhEA,iBAAgE;AAAA,UAA7CC,YAA6C,QAA7CA,YAA6C;AAAA,UAA/BC,YAA+B,QAA/BA,YAA+B;AAAA,UAAjBC,aAAiB,QAAjBA,aAAiB;;AAChF;AACA,UAAIH,iBAAJ,EAAuB;AACrB,YAAII,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB;;AACA,YAAI7D,KAAK,CAACC,OAAN,CAAcqD,iBAAd,CAAJ,EAAsC;AAAA,sCACjBA,iBAAiB,CAACpB,IAAlB,EADiB;;AAAA;;AACnCwB,UAAAA,EADmC;AAC/BC,UAAAA,EAD+B;AAC3BC,UAAAA,EAD2B;AACvBC,UAAAA,EADuB;AAErC,SAFD,MAEO;AAAA,sCACcP,iBAAiB,CAACQ,KAAlB,CAAwB,GAAxB,CADd;;AAAA;;AACJJ,UAAAA,EADI;AACAC,UAAAA,EADA;AACIC,UAAAA,EADJ;AACQC,UAAAA,EADR;AAEN;;AACD,yBAAU,KAAK1E,aAAL,CAAmB4E,gBAA7B,eAAkDL,EAAlD,eAAyDC,EAAzD,eAAgED,EAAhE,eAAuEG,EAAvE,eAA8ED,EAA9E,eAAqFC,EAArF,eAA4FD,EAA5F,eAAmGD,EAAnG;AACD;;AAED,UAAIH,YAAY,IAAID,YAApB,EAAkC;AAChC,YAAI,CAACA,YAAD,IAAiBA,YAAY,KAAK,KAAtC,EAA6C;AAC3C,gBAAM,IAAIS,KAAJ,CACJ,sHACE,2EADF,GAEE,wIAHE,CAAN;AAKD;;AACD,YAAMC,mBAAmB,aAAMC,UAAU,CAACX,YAAD,CAAV,GAA2B,IAAjC,QAAzB,CARgC,CAQqC;;AACrE,yBAAU,KAAKpE,aAAL,CAAmB4E,gBAA7B,eAAkDP,YAAlD,eAAmES,mBAAnE;AACD;;AAED,UAAIR,aAAJ,EAAmB;AACjB,YAAIU,WAAW,GAAGV,aAAlB;;AACA,YAAIzD,KAAK,CAACC,OAAN,CAAcwD,aAAd,CAAJ,EAAkC;AAChCU,UAAAA,WAAW,GAAGV,aAAa,CAACvB,IAAd,GAAqBrB,IAArB,CAA0B,GAA1B,CAAd;AACD;;AACD,yBAAU,KAAK1B,aAAL,CAAmB4E,gBAA7B,eAAkDI,WAAlD;AACD;AACF;;;WAED,uBAAcC,mBAAd,EAAmC7E,cAAnC,EAAmD8E,QAAnD,EAA6D;AAC3D,UAAMvB,cAAc,GAAG,EAAvB,CAD2D,CAG3D;AACA;;AACA,UAAIsB,mBAAmB,CAACE,OAAxB,EAAiC;AAC/BxB,QAAAA,cAAc,CAACvC,IAAf,CAAoB6D,mBAAmB,CAACE,OAAxC;AACD;;AACD,UAAID,QAAJ,EAAcvB,cAAc,CAACvC,IAAf,CAAoB8D,QAApB;AACdvB,MAAAA,cAAc,CAACvC,IAAf,CAAoB,KAAKgE,kBAAL,CAAwBH,mBAAmB,CAACzE,YAA5C,EAA0DJ,cAA1D,CAApB;AACAuD,MAAAA,cAAc,CAACvC,IAAf,CAAoB,KAAKiE,oBAAL,CAA0BJ,mBAAmB,CAACzB,cAA9C,CAApB;AACAG,MAAAA,cAAc,CAACvC,IAAf,CAAoB,KAAKkE,eAAL,CAAqBL,mBAArB,CAApB;AAEA,UAAMM,GAAG,GAAG5B,cAAc,CAAClB,MAAf,CAAsB,UAACA,MAAD;AAAA,eAAYA,MAAM,IAAIA,MAAM,KAAK,EAAjC;AAAA,OAAtB,EAA2Df,IAA3D,CAAgE,MAAhE,CAAZ;AACA,aAAO6D,GAAP;AACD;;;WAED,yBAAgBC,SAAhB,EAA2B;AACzB,aAAOA,SAAS,CAACtC,KAAV,CAAgB,KAAKC,WAAL,CAAiBsC,yBAAjC,EAA4D,CAA5D,CAAP;AACD;;;WAED,sBAAaD,SAAb,EAAwB;AACtB,aAAOA,SAAS,CAACtC,KAAV,CAAgB,KAAKC,WAAL,CAAiBsC,yBAAjC,EAA4D,CAA5D,CAAP;AACD;;;WAED,uBAAcC,MAAd,EAAsBtF,cAAtB,EAAsC;AAAA;;AACpC,aAAO,CAACsF,MAAD,EACJ3C,IADI,GAEJpC,GAFI,CAEA,UAACgF,KAAD,EAAW;AAAA;;AACd,qCAAI,MAAI,CAAC3F,aAAL,CAAmB4F,gCAAvB,2EAAI,sBAAsDxF,cAAtD,CAAJ,kDAAI,sBAAwEuF,KAAxE,CAAJ,EAAoF;AAClF,2BAAUA,KAAV,SAAkB,MAAI,CAAC3F,aAAL,CAAmB4F,gCAAnB,CAAoDxF,cAApD,EAAoEuF,KAApE,CAAlB;AACD,SAFD,MAEO,IAAI,MAAI,CAAC3F,aAAL,CAAmB6F,cAAnB,CAAkCF,KAAlC,CAAJ,EAA8C;AACnD,2BAAUA,KAAV,SAAkB,MAAI,CAAC3F,aAAL,CAAmB6F,cAAnB,CAAkCF,KAAlC,CAAlB;AACD,SAFM,MAEA;AACL,iBAAOA,KAAP;AACD;AACF,OAVI,EAWJjE,IAXI,CAWC,GAXD,CAAP;AAYD;;;WAED,gCAAuBoE,oBAAvB,EAA6C;AAC3C,UAAMC,MAAM,GAAGD,oBAAoB,CAACC,MAApC;AACA,UAAMP,SAAS,GAAGM,oBAAoB,CAACN,SAAvC;;AACA,UAAMQ,qBAAqB,GAAG,KAAKC,eAAL,CAAqBT,SAArB,CAA9B,CAH2C,CAK3C;;;AACA,UAAMU,oCAAoC,GAAG,EAA7C;;AACA,yCAA2B7E,MAAM,CAAC8E,OAAP,CAAe,KAAKlG,0BAApB,CAA3B,qCAA4E;AAAvE;AAAA,YAAOmG,GAAP;AAAA,YAAY/C,KAAZ;;AACH6C,QAAAA,oCAAoC,CAAC,KAAKG,iBAAL,CAAuBD,GAAvB,CAAD,CAApC,GAAoE/C,KAApE;AACD,OAT0C,CAW3C;;;AACA,UAAI,KAAKnD,kCAAL,CAAwC8F,qBAAxC,CAAJ,EAAoE;AAClE,6CAA2B3E,MAAM,CAAC8E,OAAP,CAAe,KAAKjG,kCAAL,CAAwC8F,qBAAxC,CAAf,CAA3B,wCAA2G;AAAtG;AAAA,cAAOI,IAAP;AAAA,cAAY/C,MAAZ;;AACH6C,UAAAA,oCAAoC,CAAC,KAAKG,iBAAL,CAAuBD,IAAvB,CAAD,CAApC,GAAoE/C,MAApE;AACD;AACF;;AAED,UAAMiD,qBAAqB,GAAGjF,MAAM,CAACkF,MAAP,CAAc,EAAd,EAAkBL,oCAAlB,CAA9B;;AAEA,UAAMM,aAAa,GAAG,KAAKC,YAAL,CAAkBjB,SAAlB,CAAtB;;AAEAnE,MAAAA,MAAM,CAACkF,MAAP,CAAcD,qBAAd,EAAqC;AACnCI,QAAAA,UAAU,EAAEV,qBADuB;AAEnCW,QAAAA,CAAC,EAAEZ,MAAM,CAACa,KAAP,KAAiB,EAAjB,IAAuBb,MAAM,CAACa,KAAP,KAAiBC,SAAxC,GAAoD,GAApD,GAA0Dd,MAAM,CAACa,KAFjC;AAGnCE,QAAAA,QAAQ,EACNZ,oCAAoC,CAACY,QAArC,IAAiD,KAAKC,aAAL,CAAmBhB,MAAM,CAACL,MAA1B,EAAkCM,qBAAlC,CAJhB;AAKnCgB,QAAAA,SAAS,EACP,KAAKC,aAAL,CAAmBlB,MAAnB,EAA2BC,qBAA3B,EAAkDE,oCAAoC,CAACc,SAAvF,KACAd,oCAAoC,CAACc,SAPJ;AASnCE,QAAAA,OAAO,EAAEV,aAAa,IAAIN,oCAAoC,CAACgB,OAT5B;AAUnCC,QAAAA,gBAAgB,EAAEpB,MAAM,CAACqB,iBAVU;AAWnCC,QAAAA,IAAI,EAAE,CAACtB,MAAM,CAACsB,IAAP,IAAe,CAAhB,IAAqB;AAXQ,OAArC;;AAcA,UAAItB,MAAM,CAACuB,WAAX,EAAwB;AACtBhB,QAAAA,qBAAqB,CAACiB,QAAtB,GAAiCxB,MAAM,CAACuB,WAAxC;AACD;;AAED,UAAIvB,MAAM,CAACyB,UAAX,EAAuB;AACrBlB,QAAAA,qBAAqB,CAACmB,WAAtB,aAAuC1B,MAAM,CAAC2B,SAA9C,cAA2D3B,MAAM,CAACyB,UAAlE;AACAlB,QAAAA,qBAAqB,CAACiB,QAAtB,GAAiC,CAAjC;AACD,OA3C0C,CA6C3C;;;AACA,UAAIxB,MAAM,CAAC4B,oBAAX,EAAiC;AAC/BrB,QAAAA,qBAAqB,CAACsB,YAAtB,GAAqC7B,MAAM,CAAC4B,oBAA5C;AACD,OAhD0C,CAkD3C;AACA;;;AACA,aAAOtG,MAAM,CAACwG,WAAP,CAAmBxG,MAAM,CAAC8E,OAAP,CAAeG,qBAAf,EAAsC7D,MAAtC,CAA6C;AAAA;AAAA,YAAEqF,CAAF;AAAA,YAAKxF,CAAL;;AAAA,eAAYA,CAAC,IAAI,IAAL,IAAaA,CAAC,KAAK,EAA/B;AAAA,OAA7C,CAAnB,CAAP;AACD;;;WAED,2BAAkByF,GAAlB,EAAuB;AACrB,aAAOA,GAAG,CACPpD,KADI,CACE,WADF,EAEJjD,IAFI,CAEC,GAFD,EAGJsG,WAHI,EAAP;AAID;;;;mGAED;AAAA;;AAAA;AAAA;AAAA;AAAA;AACQC,cAAAA,QADR,GACmB,KAAKnI,qBAAL,CAA2Ba,GAA3B,CAA+B,UAACmF,oBAAD;AAAA,uBAC9C,MAAI,CAACoC,sBAAL,CAA4BpC,oBAA5B,CAD8C;AAAA,eAA/B,CADnB;AAAA,+CAKS,KAAK/F,eAAL,CAAqBoI,WAArB,CAAiCC,OAAjC,CAAyC;AAAEH,gBAAAA,QAAQ,EAAEA;AAAZ,eAAzC,CALT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;SAjcA,eAAuC;AACrC,aAAO,IAAIhF,MAAJ,CAAW,0BAAX,CAAP;AACD;;;SAED,eAAwD;AACtD,aAAO,IAAIA,MAAJ,CAAW,wBAAX,CAAP;AACD;;;SAED,eAA0D;AACxD,aAAO,IAAIA,MAAJ,CAAW,wBAAX,CAAP;AACD","sourcesContent":["\"use strict\";\n\nexport class SearchRequestAdapter {\n static get INDEX_NAME_MATCHING_REGEX() {\n return new RegExp(\"^(.+?)(?=(/sort/(.*))|$)\");\n }\n\n static get DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*)((?!:).):(?!:)(.*)\");\n }\n\n static get DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX() {\n return new RegExp(\"(.*?)(<=|>=|>|<|=)(.*)\");\n }\n\n constructor(instantsearchRequests, typesenseClient, configuration) {\n this.instantsearchRequests = instantsearchRequests;\n this.typesenseClient = typesenseClient;\n this.configuration = configuration;\n this.additionalSearchParameters = configuration.additionalSearchParameters;\n this.collectionSpecificSearchParameters = configuration.collectionSpecificSearchParameters;\n }\n\n _shouldUseExactMatchForField(fieldName, collectionName) {\n if (\n this.configuration.collectionSpecificFilterByOptions?.[collectionName]?.[fieldName]?.exactMatch === false ||\n this.configuration.filterByOptions?.[fieldName]?.exactMatch === false\n ) {\n return false;\n } else {\n return true;\n }\n }\n\n _adaptFacetFilters(facetFilters, collectionName) {\n let adaptedResult = \"\";\n\n if (!facetFilters) {\n return adaptedResult;\n }\n\n /**\n * Need to transform:\n * facetFilters = [[\"field1:value1\", \"field1:value2\"], \"field2:value3\", \"field2:value4\"]\n *\n * Into this:\n * field1:=[value1,value2] && field2:=value3 && field2:=value4\n *\n * Steps:\n * - For each item in facetFilters\n * - If item is array\n * - OR values together.\n * - Warn if field names are not the same\n * - If item is string, convert to facet:=value format\n * - Join strings by &&\n */\n\n const transformedTypesenseFilters = facetFilters.map((item) => {\n if (Array.isArray(item)) {\n // Need to transform:\n // facetFilters = [\"field1:value1\", \"field1:value2\", \"facetN:valueN\"]\n //\n // Into this:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // \"fieldN\": [\"valueN\"]\n // }\n\n const intermediateFacetFilters = {};\n item.forEach((facetFilter) => {\n const { fieldName, fieldValue } = this._parseFacetFilter(facetFilter);\n intermediateFacetFilters[fieldName] = intermediateFacetFilters[fieldName] || [];\n intermediateFacetFilters[fieldName].push(fieldValue);\n });\n\n if (Object.keys(intermediateFacetFilters).length > 1) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Typesense does not support cross-field ORs at the moment. The adapter could not OR values between these fields: ${Object.keys(\n intermediateFacetFilters\n ).join(\",\")}`\n );\n }\n\n // Pick first value from intermediateFacetFilters\n const fieldName = Object.keys(intermediateFacetFilters)[0];\n const fieldValues = intermediateFacetFilters[fieldName];\n\n // Need to transform:\n // intermediateFacetFilters = {\n // \"field1\": [\"value1\", \"value2\"],\n // }\n //\n // Into this:\n // field1:=[value1,value2]\n\n // Partition values into included and excluded values\n const [excludedFieldValues, includedFieldValues] = fieldValues.reduce(\n (result, fieldValue) => {\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n result[0].push(fieldValue.substring(1));\n } else {\n result[1].push(fieldValue);\n }\n return result;\n },\n [[], []]\n );\n\n const typesenseFilterStringComponents = [];\n if (includedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${includedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n if (excludedFieldValues.length > 0) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterStringComponents.push(\n `${fieldName}${operator}[${excludedFieldValues.map((v) => this._escapeFacetValue(v)).join(\",\")}]`\n );\n }\n\n const typesenseFilterString = typesenseFilterStringComponents.filter((f) => f).join(\" && \");\n\n return typesenseFilterString;\n } else {\n // Need to transform:\n // fieldName:fieldValue\n // Into\n // fieldName:=fieldValue\n\n const { fieldName, fieldValue } = this._parseFacetFilter(item);\n let typesenseFilterString;\n if (fieldValue.startsWith(\"-\") && !this._isNumber(fieldValue)) {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":!=\" : \":!\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue.substring(1))}]`;\n } else {\n const operator = this._shouldUseExactMatchForField(fieldName, collectionName) ? \":=\" : \":\";\n typesenseFilterString = `${fieldName}${operator}[${this._escapeFacetValue(fieldValue)}]`;\n }\n\n return typesenseFilterString;\n }\n });\n\n adaptedResult = transformedTypesenseFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseFacetFilter(facetFilter) {\n let filterStringMatchingRegex, facetFilterMatches, fieldName, fieldValue;\n\n // This is helpful when the filter looks like `facetName:with:colons:facetValue:with:colons` and the default regex above parses the filter as `facetName:with:colons:facetValue:with` and `colon`.\n // So if a facetValue can contain a colon, we ask users to pass in all possible facetable fields in `facetableFieldsWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters\n .flat()\n .map((f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"));\n filterStringMatchingRegex = new RegExp(`^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")}):(.*)$`);\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n if (facetFilterMatches != null) {\n fieldName = `${facetFilterMatches[1]}`;\n fieldValue = `${facetFilterMatches[2]}`;\n\n return {\n fieldName,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet\n // Use the default filter parsing regex, which assumes that only facet names have colons, and not facet values\n filterStringMatchingRegex = this.constructor.DEFAULT_FACET_FILTER_STRING_MATCHING_REGEX;\n facetFilterMatches = facetFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(facetFilter);\n // console.log(facetFilterMatches);\n\n if (facetFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a facet filter \\`${facetFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n fieldName = `${facetFilterMatches[1]}${facetFilterMatches[2]}`;\n fieldValue = `${facetFilterMatches[3]}`;\n }\n\n return {\n fieldName,\n fieldValue,\n };\n }\n\n _escapeFacetValue(value) {\n // Don't escape booleans, integers or floats\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\" || this._isNumber(value)) {\n return value;\n }\n return `\\`${value}\\``;\n }\n\n _isNumber(value) {\n return (\n Number.isInteger(value % 1) || // Mod 1 will automatically try converting string values to integer/float\n !!(value % 1)\n ); // Is Float\n }\n\n _adaptNumericFilters(numericFilters) {\n // Need to transform this:\n // [\"field1<=634\", \"field1>=289\", \"field2<=5\", \"field3>=3\"]\n // to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n let adaptedResult = \"\";\n\n if (!numericFilters) {\n return adaptedResult;\n }\n\n // Transform to intermediate structure:\n // {\n // field1: {\n // \"<=\": 634,\n // \">=\": 289\n // },\n // field2: {\n // \"<=\": 5\n // },\n // field3: {\n // \">=\": 3\n // }\n // };\n const filtersHash = {};\n numericFilters.forEach((filter) => {\n const { fieldName, operator, fieldValue } = this._parseNumericFilter(filter);\n filtersHash[fieldName] = filtersHash[fieldName] || {};\n filtersHash[fieldName][operator] = fieldValue;\n });\n\n // Transform that to:\n // \"field1:=[634..289] && field2:<=5 && field3:>=3\"\n const adaptedFilters = [];\n Object.keys(filtersHash).forEach((field) => {\n if (filtersHash[field][\"<=\"] != null && filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:=[${filtersHash[field][\">=\"]}..${filtersHash[field][\"<=\"]}]`);\n } else if (filtersHash[field][\"<=\"] != null) {\n adaptedFilters.push(`${field}:<=${filtersHash[field][\"<=\"]}`);\n } else if (filtersHash[field][\">=\"] != null) {\n adaptedFilters.push(`${field}:>=${filtersHash[field][\">=\"]}`);\n } else if (filtersHash[field][\"=\"] != null) {\n adaptedFilters.push(`${field}:=${filtersHash[field][\"=\"]}`);\n } else {\n console.warn(\n `[Typesense-Instantsearch-Adapter] Unsupported operator found ${JSON.stringify(filtersHash[field])}`\n );\n }\n });\n\n adaptedResult = adaptedFilters.join(\" && \");\n return adaptedResult;\n }\n\n _parseNumericFilter(numericFilter) {\n let filterStringMatchingRegex, numericFilterMatches;\n let fieldName, operator, fieldValue;\n\n // The following is helpful when the facetName has special characters like > and the default regex fails to parse it properly.\n // So we ask users to pass in facetable fields in `facetableFieldsWithSpecialCharactersWithSpecialCharacters` when instantiating the adapter, so we can explicitly match against that.\n if (this.configuration.facetableFieldsWithSpecialCharacters?.length > 0) {\n // escape any Regex special characters, source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping\n const sanitizedFacetableFieldsWithSpecialCharacters = this.configuration.facetableFieldsWithSpecialCharacters.map(\n (f) => f.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n );\n filterStringMatchingRegex = new RegExp(\n `^(${sanitizedFacetableFieldsWithSpecialCharacters.join(\"|\")})(<=|>=|>|<|=)(.*)$`\n );\n\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n if (numericFilterMatches != null) {\n // If no matches are found or if the above didn't trigger, fall back to the default regex\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n }\n\n // If we haven't found any matches yet, fall back to the default regex\n filterStringMatchingRegex = this.constructor.DEFAULT_NUMERIC_FILTER_STRING_MATCHING_REGEX;\n numericFilterMatches = numericFilter.match(filterStringMatchingRegex);\n\n // console.log(filterStringMatchingRegex);\n // console.log(numericFilter);\n // console.log(numericFilterMatches);\n\n if (numericFilterMatches == null) {\n console.error(\n `[Typesense-Instantsearch-Adapter] Parsing failed for a numeric filter \\`${numericFilter}\\` with the Regex \\`${filterStringMatchingRegex}\\`. If you have field names with special characters, be sure to add them to a parameter called \\`facetableFieldsWithSpecialCharacters\\` when instantiating the adapter.`\n );\n } else {\n [, fieldName, operator, fieldValue] = numericFilterMatches;\n }\n\n return {\n fieldName,\n operator,\n fieldValue,\n };\n }\n\n _adaptGeoFilter({ insideBoundingBox, aroundRadius, aroundLatLng, insidePolygon }) {\n // Give this parameter first priority if it exists, since\n if (insideBoundingBox) {\n let x1, y1, x2, y2;\n if (Array.isArray(insideBoundingBox)) {\n [x1, y1, x2, y2] = insideBoundingBox.flat();\n } else {\n [x1, y1, x2, y2] = insideBoundingBox.split(\",\");\n }\n return `${this.configuration.geoLocationField}:(${x1}, ${y1}, ${x1}, ${y2}, ${x2}, ${y2}, ${x2}, ${y1})`;\n }\n\n if (aroundLatLng || aroundRadius) {\n if (!aroundRadius || aroundRadius === \"all\") {\n throw new Error(\n \"[Typesense-Instantsearch-Adapter] In Typesense, geo-filtering around a lat/lng also requires a numerical radius. \" +\n \"So the `aroundRadius` parameter is required when `aroundLatLng` is used. \" +\n \"If you intend to just geo-sort around a lat/long, you want to use the sortBy InstantSearch widget (or a virtual sortBy custom widget).\"\n );\n }\n const adaptedAroundRadius = `${parseFloat(aroundRadius) / 1000} km`; // aroundRadius is in meters\n return `${this.configuration.geoLocationField}:(${aroundLatLng}, ${adaptedAroundRadius})`;\n }\n\n if (insidePolygon) {\n let coordinates = insidePolygon;\n if (Array.isArray(insidePolygon)) {\n coordinates = insidePolygon.flat().join(\",\");\n }\n return `${this.configuration.geoLocationField}:(${coordinates})`;\n }\n }\n\n _adaptFilters(instantsearchParams, collectionName, filterBy) {\n const adaptedFilters = [];\n\n // `filters` can be used with the `Configure` widget\n // However the format needs to be in the Typesense filter_by format, instead of Algolia filter format.\n if (instantsearchParams.filters) {\n adaptedFilters.push(instantsearchParams.filters);\n }\n if (filterBy) adaptedFilters.push(filterBy);\n adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName));\n adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters));\n adaptedFilters.push(this._adaptGeoFilter(instantsearchParams));\n\n const res = adaptedFilters.filter((filter) => filter && filter !== \"\").join(\" && \");\n return res;\n }\n\n _adaptIndexName(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[1];\n }\n\n _adaptSortBy(indexName) {\n return indexName.match(this.constructor.INDEX_NAME_MATCHING_REGEX)[3];\n }\n\n _adaptFacetBy(facets, collectionName) {\n return [facets]\n .flat()\n .map((facet) => {\n if (this.configuration.collectionSpecificFacetByOptions?.[collectionName]?.[facet]) {\n return `${facet}${this.configuration.collectionSpecificFacetByOptions[collectionName][facet]}`;\n } else if (this.configuration.facetByOptions[facet]) {\n return `${facet}${this.configuration.facetByOptions[facet]}`;\n } else {\n return facet;\n }\n })\n .join(\",\");\n }\n\n _buildSearchParameters(instantsearchRequest) {\n const params = instantsearchRequest.params;\n const indexName = instantsearchRequest.indexName;\n const adaptedCollectionName = this._adaptIndexName(indexName);\n\n // Convert all common parameters to snake case\n const snakeCasedAdditionalSearchParameters = {};\n for (const [key, value] of Object.entries(this.additionalSearchParameters)) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n\n // Override, collection specific parameters\n if (this.collectionSpecificSearchParameters[adaptedCollectionName]) {\n for (const [key, value] of Object.entries(this.collectionSpecificSearchParameters[adaptedCollectionName])) {\n snakeCasedAdditionalSearchParameters[this._camelToSnakeCase(key)] = value;\n }\n }\n\n const typesenseSearchParams = Object.assign({}, snakeCasedAdditionalSearchParameters);\n\n const adaptedSortBy = this._adaptSortBy(indexName);\n\n Object.assign(typesenseSearchParams, {\n collection: adaptedCollectionName,\n q: params.query === \"\" || params.query === undefined ? \"*\" : params.query,\n facet_by:\n snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName),\n filter_by:\n this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) ||\n snakeCasedAdditionalSearchParameters.filter_by,\n\n sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by,\n max_facet_values: params.maxValuesPerFacet,\n page: (params.page || 0) + 1,\n });\n\n if (params.hitsPerPage) {\n typesenseSearchParams.per_page = params.hitsPerPage;\n }\n\n if (params.facetQuery) {\n typesenseSearchParams.facet_query = `${params.facetName}:${params.facetQuery}`;\n typesenseSearchParams.per_page = 0;\n }\n\n // If a custom vector query is specified, set q=*\n if (params.typesenseVectorQuery) {\n typesenseSearchParams.vector_query = params.typesenseVectorQuery;\n }\n\n // Filter out empty or null values, so we don't accidentally override values set in presets\n // eslint-disable-next-line no-unused-vars\n return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== \"\"));\n }\n\n _camelToSnakeCase(str) {\n return str\n .split(/(?=[A-Z])/)\n .join(\"_\")\n .toLowerCase();\n }\n\n async request() {\n const searches = this.instantsearchRequests.map((instantsearchRequest) =>\n this._buildSearchParameters(instantsearchRequest)\n );\n\n return this.typesenseClient.multiSearch.perform({ searches: searches });\n }\n}\n"],"file":"SearchRequestAdapter.js"} \ No newline at end of file diff --git a/lib/SearchResponseAdapter.js b/lib/SearchResponseAdapter.js index 1ded7e3..fcb0b30 100644 --- a/lib/SearchResponseAdapter.js +++ b/lib/SearchResponseAdapter.js @@ -351,8 +351,7 @@ var SearchResponseAdapter = /*#__PURE__*/function () { processingTimeMS: this.typesenseResponse.search_time_ms }, Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent - } : null); // console.log(adaptedResult); - + } : null); return adaptedResult; } diff --git a/lib/SearchResponseAdapter.js.map b/lib/SearchResponseAdapter.js.map index a444727..ef07bea 100644 --- a/lib/SearchResponseAdapter.js.map +++ b/lib/SearchResponseAdapter.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/SearchResponseAdapter.js"],"names":["SearchResponseAdapter","typesenseResponse","instantsearchRequest","configuration","allTypesenseResponses","typesenseGroupedHits","adaptedResult","map","groupedHit","adaptedHits","_adaptHits","hits","forEach","hit","group_key","found","flattenGroupedHits","flat","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","document","objectID","id","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","Object","keys","includes","geoLocationValue","geoLocationField","_geoloc","lat","lng","snippetOrValue","result","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","assign","entries","attribute","value","matchLevel","matchedWords","highlights","field","matched_tokens","indices","k","v","matchedIndices","_adaptHighlightNullValue","Array","isArray","unhighlightedValueFromArray","index","push","_adaptHighlightTag","indexOf","params","highlightPreTag","highlightPostTag","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","length","typesenseFacetCounts","facet","field_name","counts","count","stats","renderingContent","facetOrdering","facets","order","Set","fc","concat","r","facet_counts","filter","f","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","page","nbPages","_adaptNumberOfPages","hitsPerPage","request_params","per_page","_adaptFacets","facets_stats","_adaptFacetStats","query","q","processingTimeMS","search_time_ms","prototype","utils"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;AAEA;;;;;;IAEaA,qB;AACX,iCAAYC,iBAAZ,EAA+BC,oBAA/B,EAAqDC,aAArD,EAAgG;AAAA,QAA5BC,qBAA4B,uEAAJ,EAAI;AAAA;AAC9F,SAAKH,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,oBAAL,GAA4BA,oBAA5B;AACA,SAAKC,aAAL,GAAqBA,aAArB;AACA,SAAKC,qBAAL,GAA6BA,qBAA7B;AACD;;;;WAED,2BAAkBC,oBAAlB,EAAwC;AAAA;;AACtC,UAAIC,aAAa,GAAG,EAApB;AAEAA,MAAAA,aAAa,GAAGD,oBAAoB,CAACE,GAArB,CAAyB,UAACC,UAAD,EAAgB;AACvD,YAAMC,WAAW,GAAG,KAAI,CAACC,UAAL,CAAgBF,UAAU,CAACG,IAA3B,CAApB;;AACAF,QAAAA,WAAW,CAACG,OAAZ,CAAoB,UAACC,GAAD,EAAS;AAC3BA,UAAAA,GAAG,CAAC,WAAD,CAAH,GAAmBA,GAAG,CAAC,YAAD,CAAH,GAAoBL,UAAU,CAACM,SAAlD;;AACA,cAAIN,UAAU,CAACO,KAAf,EAAsB;AACpBF,YAAAA,GAAG,CAAC,cAAD,CAAH,GAAsBL,UAAU,CAACO,KAAjC;AACD;AACF,SALD;AAMA,eAAON,WAAP;AACD,OATe,CAAhB,CAHsC,CActC;AACA;;AAEA,UAAI,KAAKN,aAAL,CAAmBa,kBAAvB,EAA2C;AACzC;AACAV,QAAAA,aAAa,GAAGA,aAAa,CAACW,IAAd,EAAhB;AACD,OAHD,MAGO;AACL;AACA;AACAX,QAAAA,aAAa,GAAGA,aAAa,CAACC,GAAd,CAAkB,UAACW,iBAAD,EAAuB;AACvD,iDACKA,iBAAiB,CAAC,CAAD,CADtB;AAEEC,YAAAA,aAAa,EAAED;AAFjB;AAID,SALe,CAAhB;AAMD;;AAED,aAAOZ,aAAP;AACD;;;WAED,oBAAWc,aAAX,EAA0B;AAAA;;AACxB,UAAId,aAAa,GAAG,EAApB;AACAA,MAAAA,aAAa,GAAGc,aAAa,CAACb,GAAd,CAAkB,UAACc,YAAD,EAAkB;AAClD,YAAMC,UAAU,qBACXD,YAAY,CAACE,QADF,CAAhB;;AAGAD,QAAAA,UAAU,CAACE,QAAX,GAAsBH,YAAY,CAACE,QAAb,CAAsBE,EAA5C;AACAH,QAAAA,UAAU,CAACI,cAAX,GAA4B,MAAI,CAACC,qBAAL,CAA2BN,YAA3B,EAAyC,SAAzC,CAA5B;AACAC,QAAAA,UAAU,CAACM,gBAAX,GAA8B,MAAI,CAACD,qBAAL,CAA2BN,YAA3B,EAAyC,OAAzC,CAA9B;AACAC,QAAAA,UAAU,CAACO,gBAAX,GAA8BR,YAA9B,CAPkD,CASlD;;AACA,SACE,YADF,EAEE,qBAFF,EAGE,SAHF,EAIE,iBAJF,EAKE,oBALF,EAME,iBANF,EAOET,OAPF,CAOU,UAACkB,aAAD,EAAmB;AAC3B,cAAIC,MAAM,CAACC,IAAP,CAAYX,YAAZ,EAA0BY,QAA1B,CAAmCH,aAAnC,KAAqD,CAACC,MAAM,CAACC,IAAP,CAAYV,UAAZ,EAAwBW,QAAxB,CAAiCH,aAAjC,CAA1D,EAA2G;AACzGR,YAAAA,UAAU,CAACQ,aAAD,CAAV,GAA4BT,YAAY,CAACS,aAAD,CAAxC;AACD;AACF,SAXD;AAaA,YAAMI,gBAAgB,GAAGZ,UAAU,CAAC,MAAI,CAACnB,aAAL,CAAmBgC,gBAApB,CAAnC;;AACA,YAAID,gBAAJ,EAAsB;AACpBZ,UAAAA,UAAU,CAACc,OAAX,GAAqB;AACnBC,YAAAA,GAAG,EAAEH,gBAAgB,CAAC,CAAD,CADF;AAEnBI,YAAAA,GAAG,EAAEJ,gBAAgB,CAAC,CAAD;AAFF,WAArB;AAID;;AAED,eAAOZ,UAAP;AACD,OAhCe,CAAhB;AAiCA,aAAOhB,aAAP;AACD;;;WAED,+BAAsBe,YAAtB,EAAoCkB,cAApC,EAAoD;AAClD,UAAMC,MAAM,GAAG,EAAf,CADkD,CAGlD;AACA;AACA;;AACA,UAAInB,YAAY,CAACoB,SAAb,IAA0B,IAA1B,IAAkC,KAAKC,8BAAL,CAAoCrB,YAAY,CAACoB,SAAjD,CAAtC,EAAmG;AACjG,aAAKE,oBAAL,CAA0BtB,YAA1B,EAAwCmB,MAAxC,EAAgDD,cAAhD;AACD,OAFD,MAEO;AACL,aAAKK,oBAAL,CAA0BvB,YAA1B,EAAwCmB,MAAxC,EAAgDD,cAAhD;AACD;;AACD,aAAOC,MAAP;AACD;;;WAED,wCAA+BC,SAA/B,EAA0C;AACxC,aAAOA,SAAS,CAACI,IAAV,IAAkB,IAAlB,IAA0BJ,SAAS,CAACK,OAAV,IAAqB,IAAtD;AACD;;;WAED,8BAAqBzB,YAArB,EAAmCmB,MAAnC,EAA2CD,cAA3C,EAA2D;AAAA;;AACzD;AACA;AAEAR,MAAAA,MAAM,CAACgB,MAAP,OAAAhB,MAAM,GACJS,MADI,6CAEDT,MAAM,CAACiB,OAAP,CAAe3B,YAAY,CAACE,QAA5B,EAAsChB,GAAtC,CAA0C;AAAA;AAAA,YAAE0C,SAAF;AAAA,YAAaC,KAAb;;AAAA,oDAC1CD,SAD0C,EAC9B;AACXC,UAAAA,KAAK,EAAEA,KADI;AAEXC,UAAAA,UAAU,EAAE,MAFD;AAGXC,UAAAA,YAAY,EAAE;AAHH,SAD8B;AAAA,OAA1C,CAFC,GAAN;AAWA/B,MAAAA,YAAY,CAACgC,UAAb,CAAwBzC,OAAxB,CAAgC,UAAC6B,SAAD,EAAe;AAC7CD,QAAAA,MAAM,CAACC,SAAS,CAACa,KAAX,CAAN,GAA0B;AACxBJ,UAAAA,KAAK,EAAET,SAAS,CAACF,cAAD,CAAT,IAA6BE,SAAS,WAAIF,cAAJ,OADrB;AAExBY,UAAAA,UAAU,EAAE,MAFY;AAGxBC,UAAAA,YAAY,EAAEX,SAAS,CAACc;AAHA,SAA1B;;AAMA,YAAId,SAAS,CAACe,OAAd,EAAuB;AACrBhB,UAAAA,MAAM,CAACC,SAAS,CAACa,KAAX,CAAN,CAAwB,gBAAxB,IAA4Cb,SAAS,CAACe,OAAtD;AACD;AACF,OAVD,EAfyD,CA2BzD;AACA;;AACAzB,MAAAA,MAAM,CAACiB,OAAP,CAAeR,MAAf,EAAuB5B,OAAvB,CAA+B,iBAAY;AAAA;AAAA,YAAV6C,CAAU;AAAA,YAAPC,CAAO;;AACzC,YAAMT,SAAS,GAAGQ,CAAlB;AACA,YAAQP,KAAR,GAA4DQ,CAA5D,CAAQR,KAAR;AAAA,YAAeC,UAAf,GAA4DO,CAA5D,CAAeP,UAAf;AAAA,YAA2BC,YAA3B,GAA4DM,CAA5D,CAA2BN,YAA3B;AAAA,YAAyCO,cAAzC,GAA4DD,CAA5D,CAAyCC,cAAzC;;AACA,YAAIT,KAAK,IAAI,IAAb,EAAmB;AACjBV,UAAAA,MAAM,CAACS,SAAD,CAAN,GAAoB,MAAI,CAACW,wBAAL,EAApB;AACD,SAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcZ,KAAd,CAAJ,EAA0B;AAC/B;AACA;AACAV,UAAAA,MAAM,CAACS,SAAD,CAAN,GAAoB,EAApB;AACA5B,UAAAA,YAAY,CAACE,QAAb,CAAsB0B,SAAtB,EAAiCrC,OAAjC,CAAyC,UAACmD,2BAAD,EAA8BC,KAA9B,EAAwC;AAC/E,gBAAIL,cAAc,IAAIA,cAAc,CAAC1B,QAAf,CAAwB+B,KAAxB,CAAtB,EAAsD;AACpDxB,cAAAA,MAAM,CAACS,SAAD,CAAN,CAAkBgB,IAAlB,CAAuB;AACrBf,gBAAAA,KAAK,EAAE,MAAI,CAACgB,kBAAL,WACFhB,KAAK,CAACS,cAAc,CAACQ,OAAf,CAAuBH,KAAvB,CAAD,CADH,GAEL,MAAI,CAAC9D,oBAAL,CAA0BkE,MAA1B,CAAiCC,eAF5B,EAGL,MAAI,CAACnE,oBAAL,CAA0BkE,MAA1B,CAAiCE,gBAH5B,CADc;AAMrBnB,gBAAAA,UAAU,EAAEA,UANS;AAOrBC,gBAAAA,YAAY,EAAEA,YAAY,CAACY,KAAD;AAPL,eAAvB;AASD,aAVD,MAUO,IAAI,yBAAOD,2BAAP,MAAuC,QAA3C,EAAqD;AAC1D;AACA;AACA;AACAvB,cAAAA,MAAM,CAACS,SAAD,CAAN,CAAkBgB,IAAlB,CAAuB,MAAI,CAACM,4BAAL,CAAkCR,2BAAlC,EAA+D,EAA/D,EAAmExB,cAAnE,CAAvB;AACD,aALM,MAKA;AACLC,cAAAA,MAAM,CAACS,SAAD,CAAN,CAAkBgB,IAAlB,CAAuB;AACrBf,gBAAAA,KAAK,YAAKa,2BAAL,CADgB;AAErBZ,gBAAAA,UAAU,EAAE,MAFS;AAGrBC,gBAAAA,YAAY,EAAE;AAHO,eAAvB;AAKD;AACF,WAvBD;AAwBD,SA5BM,MA4BA,IAAI,yBAAOF,KAAP,MAAiB,QAArB,EAA+B;AACpC;AACA;AACA;AACAV,UAAAA,MAAM,CAACS,SAAD,CAAN,GAAoB,MAAI,CAACsB,4BAAL,CAAkCrB,KAAlC,EAAyC,EAAzC,EAA6CX,cAA7C,CAApB;AACD,SALM,MAKA;AACL;AACAC,UAAAA,MAAM,CAACS,SAAD,CAAN,CAAkBC,KAAlB,GAA0B,MAAI,CAACgB,kBAAL,WACrBhB,KADqB,GAExB,MAAI,CAAChD,oBAAL,CAA0BkE,MAA1B,CAAiCC,eAFT,EAGxB,MAAI,CAACnE,oBAAL,CAA0BkE,MAA1B,CAAiCE,gBAHT,CAA1B;AAKD;AACF,OA9CD;AA+CD;;;WAED,8BAAqBjD,YAArB,EAAmCmB,MAAnC,EAA2CD,cAA3C,EAA2D;AACzDR,MAAAA,MAAM,CAACgB,MAAP,CACEP,MADF,EAEE,KAAK+B,4BAAL,CAAkClD,YAAY,CAACE,QAA/C,EAAyDF,YAAY,CAACoB,SAAtE,EAAiFF,cAAjF,CAFF;AAID;;;WAED,sCAA6BiC,WAA7B,EAA0CC,oBAA1C,EAAgElC,cAAhE,EAAgF;AAAA;;AAC9E,aAAOR,MAAM,CAACgB,MAAP,OAAAhB,MAAM,GACX,EADW,6CAERA,MAAM,CAACiB,OAAP,CAAewB,WAAf,EAA4BjE,GAA5B,CAAgC,iBAAwB;AAAA;AAAA,YAAtB0C,SAAsB;AAAA,YAAXC,KAAW;;AACzD,YAAIwB,YAAJ;;AACA,YAAIxB,KAAK,IAAI,IAAb,EAAmB;AACjBwB,UAAAA,YAAY,GAAG,MAAI,CAACd,wBAAL,EAAf;AACD,SAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcZ,KAAd,CAAJ,EAA0B;AAAA;;AAC/BwB,UAAAA,YAAY,GAAG,MAAI,CAACC,2BAAL,CACbzB,KADa,2BAEbuB,oBAFa,aAEbA,oBAFa,uBAEbA,oBAAoB,CAAGxB,SAAH,CAFP,yEAEwB,EAFxB,EAGbV,cAHa,CAAf;AAKD,SANM,MAMA,IAAI,yBAAOW,KAAP,MAAiB,QAArB,EAA+B;AAAA;;AACpCwB,UAAAA,YAAY,GAAG,MAAI,CAACH,4BAAL,CACbrB,KADa,4BAEbuB,oBAFa,aAEbA,oBAFa,uBAEbA,oBAAoB,CAAGxB,SAAH,CAFP,2EAEwB,EAFxB,EAGbV,cAHa,CAAf;AAKD,SANM,MAMA;AACLmC,UAAAA,YAAY,GAAG,MAAI,CAACE,+BAAL,CAAqC1B,KAArC,EAA4CuB,oBAA5C,aAA4CA,oBAA5C,uBAA4CA,oBAAoB,CAAGxB,SAAH,CAAhE,EAA+EV,cAA/E,CAAf;AACD;;AAED,oDACGU,SADH,EACeyB,YADf;AAGD,OAvBE,CAFQ,GAAb;AA2BD;;;WAED,qCAA4BG,UAA5B,EAAwCC,mBAAxC,EAA6DvC,cAA7D,EAA6E;AAAA;;AAC3E,aAAOsC,UAAU,CAACtE,GAAX,CAAe,UAAC2C,KAAD,EAAQc,KAAR,EAAkB;AACtC,YAAIU,YAAJ;;AACA,YAAIxB,KAAK,IAAI,IAAb,EAAmB;AACjBwB,UAAAA,YAAY,GAAG,MAAI,CAACd,wBAAL,EAAf;AACD,SAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcZ,KAAd,CAAJ,EAA0B;AAAA;;AAC/BwB,UAAAA,YAAY,GAAG,MAAI,CAACC,2BAAL,CAAiCzB,KAAjC,2BAAwC4B,mBAAxC,aAAwCA,mBAAxC,uBAAwCA,mBAAmB,CAAGd,KAAH,CAA3D,yEAAwE,EAAxE,EAA4EzB,cAA5E,CAAf;AACD,SAFM,MAEA,IAAI,yBAAOW,KAAP,MAAiB,QAArB,EAA+B;AAAA;;AACpCwB,UAAAA,YAAY,GAAG,MAAI,CAACH,4BAAL,CAAkCrB,KAAlC,4BAAyC4B,mBAAzC,aAAyCA,mBAAzC,uBAAyCA,mBAAmB,CAAGd,KAAH,CAA5D,2EAAyE,EAAzE,EAA6EzB,cAA7E,CAAf;AACD,SAFM,MAEA;AACLmC,UAAAA,YAAY,GAAG,MAAI,CAACE,+BAAL,CAAqC1B,KAArC,EAA4C4B,mBAA5C,aAA4CA,mBAA5C,uBAA4CA,mBAAmB,CAAGd,KAAH,CAA/D,EAA0EzB,cAA1E,CAAf;AACD;;AACD,eAAOmC,YAAP;AACD,OAZM,CAAP;AAaD;;;WAED,yCAAgCK,cAAhC,EAAgDC,uBAAhD,EAAyEzC,cAAzE,EAAyF;AACvF,UAAIyC,uBAAuB,IAAI,IAA/B,EAAqC;AAAA;;AACnC,eAAO;AACL9B,UAAAA,KAAK,EAAE,KAAKgB,kBAAL,6CAEHc,uBAAuB,CAACzC,cAAD,CAFpB,yEAGHyC,uBAAuB,CAAC,WAAD,CAHpB,yCAIHA,uBAAuB,CAAC,SAAD,CAJpB,GAML,KAAK9E,oBAAL,CAA0BkE,MAA1B,CAAiCC,eAN5B,EAOL,KAAKnE,oBAAL,CAA0BkE,MAA1B,CAAiCE,gBAP5B,CADF;AAULnB,UAAAA,UAAU,EAAE,CAAC6B,uBAAuB,CAACzB,cAAxB,IAA0C,EAA3C,EAA+C0B,MAA/C,GAAwD,CAAxD,GAA4D,MAA5D,GAAqE,MAV5E;AAWL7B,UAAAA,YAAY,EAAE4B,uBAAuB,CAACzB,cAAxB,IAA0C;AAXnD,SAAP;AAaD,OAdD,MAcO;AACL,eAAO;AACL;AACAL,UAAAA,KAAK,EAAE,KAAKgB,kBAAL,WACFa,cADE,GAEL,KAAK7E,oBAAL,CAA0BkE,MAA1B,CAAiCC,eAF5B,EAGL,KAAKnE,oBAAL,CAA0BkE,MAA1B,CAAiCE,gBAH5B,CAFF;AAOLnB,UAAAA,UAAU,EAAE,MAPP;AAQLC,UAAAA,YAAY,EAAE;AART,SAAP;AAUD;AACF;;;WAED,oCAA2B;AACzB,aAAO;AACLF,QAAAA,KAAK,EAAE,EADF;AAELC,QAAAA,UAAU,EAAE,MAFP;AAGLC,QAAAA,YAAY,EAAE;AAHT,OAAP;AAKD;;;WAED,sBAAa8B,oBAAb,EAAmC;AACjC,UAAM5E,aAAa,GAAG,EAAtB;AACA4E,MAAAA,oBAAoB,CAACtE,OAArB,CAA6B,UAACuE,KAAD,EAAW;AACtCpD,QAAAA,MAAM,CAACgB,MAAP,CAAczC,aAAd,uCACG6E,KAAK,CAACC,UADT,EACsBrD,MAAM,CAACgB,MAAP,OAAAhB,MAAM,GAAQ,EAAR,6CAAeoD,KAAK,CAACE,MAAN,CAAa9E,GAAb,CAAiB,UAAC+E,KAAD;AAAA,sDAAeA,KAAK,CAACpC,KAArB,EAA6BoC,KAAK,CAACA,KAAnC;AAAA,SAAjB,CAAf,GAD5B;AAGD,OAJD;AAKA,aAAOhF,aAAP;AACD;;;WAED,0BAAiB4E,oBAAjB,EAAuC;AACrC,UAAM5E,aAAa,GAAG,EAAtB;AACA4E,MAAAA,oBAAoB,CAACtE,OAArB,CAA6B,UAACuE,KAAD,EAAW;AACtC,YAAIpD,MAAM,CAACC,IAAP,CAAYmD,KAAK,CAACI,KAAlB,EAAyBN,MAAzB,GAAkC,CAAtC,EAAyC;AACvClD,UAAAA,MAAM,CAACgB,MAAP,CAAczC,aAAd,uCACG6E,KAAK,CAACC,UADT,EACsBD,KAAK,CAACI,KAD5B;AAGD;AACF,OAND;AAOA,aAAOjF,aAAP;AACD;;;WAED,gCAAuB4E,oBAAvB,EAA6C;AAAA;;AAC3C,UAAM5E,aAAa,GAAGyB,MAAM,CAACgB,MAAP,CAAc,EAAd,EAAkB,KAAK5C,aAAL,CAAmBqF,gBAArC,CAAtB,CAD2C,CAG3C;;AACA,UAAI,0BAAAlF,aAAa,CAACmF,aAAd,iGAA6BC,MAA7B,gFAAqCC,KAArC,KAA8C,IAAlD,EAAwD;AACtDrF,QAAAA,aAAa,CAACmF,aAAd,GAA8BnF,aAAa,CAACmF,aAAd,IAA+B,EAA7D;AACAnF,QAAAA,aAAa,CAACmF,aAAd,CAA4BC,MAA5B,GAAqCpF,aAAa,CAACmF,aAAd,CAA4BC,MAA5B,IAAsC,EAA3E;AACApF,QAAAA,aAAa,CAACmF,aAAd,CAA4BC,MAA5B,CAAmCC,KAAnC,uCACK,IAAIC,GAAJ,CACDV,oBAAoB,CACjB3E,GADH,CACO,UAACsF,EAAD;AAAA,iBAAQA,EAAE,CAAC,YAAD,CAAV;AAAA,SADP,EAEGC,MAFH,CAGI,KAAK1F,qBAAL,CACGG,GADH,CACO,UAACwF,CAAD;AAAA,iBAAOA,CAAC,CAACC,YAAF,IAAkB,EAAzB;AAAA,SADP,EAEG/E,IAFH,GAGGV,GAHH,CAGO,UAACsF,EAAD;AAAA,iBAAQA,EAAE,CAAC,YAAD,CAAV;AAAA,SAHP,EAIGI,MAJH,CAIU,UAACC,CAAD;AAAA,iBAAOA,CAAP;AAAA,SAJV,CAHJ,CADC,CADL;AAaD;;AAED,aAAO5F,aAAP;AACD;;;WAED,iBAAQ;AACN,UAAM6F,uBAAuB,GAAG,KAAKC,sBAAL,CAA4B,KAAKnG,iBAAL,CAAuB+F,YAAvB,IAAuC,EAAnE,CAAhC;;AACA,UAAM1F,aAAa;AACjBK,QAAAA,IAAI,EAAE,KAAKV,iBAAL,CAAuBoG,YAAvB,GACF,KAAKC,iBAAL,CAAuB,KAAKrG,iBAAL,CAAuBoG,YAA9C,CADE,GAEF,KAAK3F,UAAL,CAAgB,KAAKT,iBAAL,CAAuBU,IAAvC,CAHa;AAIjB4F,QAAAA,MAAM,EAAE,KAAKtG,iBAAL,CAAuBc,KAJd;AAKjByF,QAAAA,IAAI,EAAE,KAAKvG,iBAAL,CAAuBuG,IAAvB,GAA8B,CALnB;AAMjBC,QAAAA,OAAO,EAAE,KAAKC,mBAAL,EANQ;AAOjBC,QAAAA,WAAW,EAAE,KAAK1G,iBAAL,CAAuB2G,cAAvB,CAAsCC,QAPlC;AAQjBnB,QAAAA,MAAM,EAAE,KAAKoB,YAAL,CAAkB,KAAK7G,iBAAL,CAAuB+F,YAAvB,IAAuC,EAAzD,CARS;AASjBe,QAAAA,YAAY,EAAE,KAAKC,gBAAL,CAAsB,KAAK/G,iBAAL,CAAuB+F,YAAvB,IAAuC,EAA7D,CATG;AAUjBiB,QAAAA,KAAK,EAAE,KAAKhH,iBAAL,CAAuB2G,cAAvB,CAAsCM,CAV5B;AAWjBC,QAAAA,gBAAgB,EAAE,KAAKlH,iBAAL,CAAuBmH;AAXxB,SAYbrF,MAAM,CAACC,IAAP,CAAYmE,uBAAZ,EAAqClB,MAArC,GAA8C,CAA9C,GAAkD;AAAEO,QAAAA,gBAAgB,EAAEW;AAApB,OAAlD,GAAkG,IAZrF,CAAnB,CAFM,CAiBN;;;AACA,aAAO7F,aAAP;AACD;;;;;;AAGHyB,MAAM,CAACgB,MAAP,CAAc/C,qBAAqB,CAACqH,SAApC,EAA+CC,YAA/C","sourcesContent":["\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n // console.log(adaptedResult);\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n"],"file":"SearchResponseAdapter.js"} \ No newline at end of file +{"version":3,"sources":["../src/SearchResponseAdapter.js"],"names":["SearchResponseAdapter","typesenseResponse","instantsearchRequest","configuration","allTypesenseResponses","typesenseGroupedHits","adaptedResult","map","groupedHit","adaptedHits","_adaptHits","hits","forEach","hit","group_key","found","flattenGroupedHits","flat","adaptedGroupedHit","_grouped_hits","typesenseHits","typesenseHit","adaptedHit","document","objectID","id","_snippetResult","_adaptHighlightResult","_highlightResult","_rawTypesenseHit","metadataField","Object","keys","includes","geoLocationValue","geoLocationField","_geoloc","lat","lng","snippetOrValue","result","highlight","isHighlightPost0240RCN32Format","adaptHighlightObject","adaptHighlightsArray","full","snippet","assign","entries","attribute","value","matchLevel","matchedWords","highlights","field","matched_tokens","indices","k","v","matchedIndices","_adaptHighlightNullValue","Array","isArray","unhighlightedValueFromArray","index","push","_adaptHighlightTag","indexOf","params","highlightPreTag","highlightPostTag","_adaptHighlightInObjectValue","objectValue","highlightObjectValue","adaptedValue","_adaptHighlightInArrayValue","_adaptHighlightInPrimitiveValue","arrayValue","highlightArrayValue","primitiveValue","highlightPrimitiveValue","length","typesenseFacetCounts","facet","field_name","counts","count","stats","renderingContent","facetOrdering","facets","order","Set","fc","concat","r","facet_counts","filter","f","adaptedRenderingContent","_adaptRenderingContent","grouped_hits","_adaptGroupedHits","nbHits","page","nbPages","_adaptNumberOfPages","hitsPerPage","request_params","per_page","_adaptFacets","facets_stats","_adaptFacetStats","query","q","processingTimeMS","search_time_ms","prototype","utils"],"mappings":"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","sourcesContent":["\"use strict\";\n\nimport { utils } from \"./support/utils\";\n\nexport class SearchResponseAdapter {\n constructor(typesenseResponse, instantsearchRequest, configuration, allTypesenseResponses = []) {\n this.typesenseResponse = typesenseResponse;\n this.instantsearchRequest = instantsearchRequest;\n this.configuration = configuration;\n this.allTypesenseResponses = allTypesenseResponses;\n }\n\n _adaptGroupedHits(typesenseGroupedHits) {\n let adaptedResult = [];\n\n adaptedResult = typesenseGroupedHits.map((groupedHit) => {\n const adaptedHits = this._adaptHits(groupedHit.hits);\n adaptedHits.forEach((hit) => {\n hit[\"group_key\"] = hit[\"_group_key\"] = groupedHit.group_key;\n if (groupedHit.found) {\n hit[\"_group_found\"] = groupedHit.found;\n }\n });\n return adaptedHits;\n });\n\n // adaptedResult is now in the form of [[{}, {}], [{}, {}], ...]\n // where each element in the outermost array corresponds to a group.\n\n if (this.configuration.flattenGroupedHits) {\n // We flatten it to [{}, {}, {}]\n adaptedResult = adaptedResult.flat();\n } else {\n // We flatten it to [{ ..., grouped_hits: [{}, {}] }, {}, {}]\n // We set the first element in the group as the hit, and then add a new key called grouped_hits with the other hits\n adaptedResult = adaptedResult.map((adaptedGroupedHit) => {\n return {\n ...adaptedGroupedHit[0],\n _grouped_hits: adaptedGroupedHit,\n };\n });\n }\n\n return adaptedResult;\n }\n\n _adaptHits(typesenseHits) {\n let adaptedResult = [];\n adaptedResult = typesenseHits.map((typesenseHit) => {\n const adaptedHit = {\n ...typesenseHit.document,\n };\n adaptedHit.objectID = typesenseHit.document.id;\n adaptedHit._snippetResult = this._adaptHighlightResult(typesenseHit, \"snippet\");\n adaptedHit._highlightResult = this._adaptHighlightResult(typesenseHit, \"value\");\n adaptedHit._rawTypesenseHit = typesenseHit;\n\n // Add metadata fields to result, if a field with that name doesn't already exist\n [\n \"text_match\",\n \"geo_distance_meters\",\n \"curated\",\n \"text_match_info\",\n \"hybrid_search_info\",\n \"vector_distance\",\n ].forEach((metadataField) => {\n if (Object.keys(typesenseHit).includes(metadataField) && !Object.keys(adaptedHit).includes(metadataField)) {\n adaptedHit[metadataField] = typesenseHit[metadataField];\n }\n });\n\n const geoLocationValue = adaptedHit[this.configuration.geoLocationField];\n if (geoLocationValue) {\n adaptedHit._geoloc = {\n lat: geoLocationValue[0],\n lng: geoLocationValue[1],\n };\n }\n\n return adaptedHit;\n });\n return adaptedResult;\n }\n\n _adaptHighlightResult(typesenseHit, snippetOrValue) {\n const result = {};\n\n // If there is a highlight object available (as of v0.24.0),\n // And the highlight object uses the highlight format available in v0.24.0.rcn32 and above\n // use that instead of the highlights array, since it supports highlights of nested fields\n if (typesenseHit.highlight != null && this.isHighlightPost0240RCN32Format(typesenseHit.highlight)) {\n this.adaptHighlightObject(typesenseHit, result, snippetOrValue);\n } else {\n this.adaptHighlightsArray(typesenseHit, result, snippetOrValue);\n }\n return result;\n }\n\n isHighlightPost0240RCN32Format(highlight) {\n return highlight.full == null && highlight.snippet == null;\n }\n\n adaptHighlightsArray(typesenseHit, result, snippetOrValue) {\n // Algolia lists all searchable attributes in this key, even if there are no matches\n // So do the same and then override highlights\n\n Object.assign(\n result,\n ...Object.entries(typesenseHit.document).map(([attribute, value]) => ({\n [attribute]: {\n value: value,\n matchLevel: \"none\",\n matchedWords: [],\n },\n }))\n );\n\n typesenseHit.highlights.forEach((highlight) => {\n result[highlight.field] = {\n value: highlight[snippetOrValue] || highlight[`${snippetOrValue}s`],\n matchLevel: \"full\",\n matchedWords: highlight.matched_tokens,\n };\n\n if (highlight.indices) {\n result[highlight.field][\"matchedIndices\"] = highlight.indices;\n }\n });\n\n // Now convert any values that have an array value\n // Also, replace highlight tag\n Object.entries(result).forEach(([k, v]) => {\n const attribute = k;\n const { value, matchLevel, matchedWords, matchedIndices } = v;\n if (value == null) {\n result[attribute] = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n // Algolia lists all values of the key in highlights, even those that don't have any highlights\n // So add all values of the array field, including highlights\n result[attribute] = [];\n typesenseHit.document[attribute].forEach((unhighlightedValueFromArray, index) => {\n if (matchedIndices && matchedIndices.includes(index)) {\n result[attribute].push({\n value: this._adaptHighlightTag(\n `${value[matchedIndices.indexOf(index)]}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: matchLevel,\n matchedWords: matchedWords[index],\n });\n } else if (typeof unhighlightedValueFromArray === \"object\") {\n // Handle arrays of objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute].push(this._adaptHighlightInObjectValue(unhighlightedValueFromArray, {}, snippetOrValue));\n } else {\n result[attribute].push({\n value: `${unhighlightedValueFromArray}`,\n matchLevel: \"none\",\n matchedWords: [],\n });\n }\n });\n } else if (typeof value === \"object\") {\n // Handle nested objects\n // Side note: Typesense does not support highlights for nested objects in this `highlights` array,\n // so we pass in an empty object below\n result[attribute] = this._adaptHighlightInObjectValue(value, {}, snippetOrValue);\n } else {\n // Convert all values to strings\n result[attribute].value = this._adaptHighlightTag(\n `${value}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n );\n }\n });\n }\n\n adaptHighlightObject(typesenseHit, result, snippetOrValue) {\n Object.assign(\n result,\n this._adaptHighlightInObjectValue(typesenseHit.document, typesenseHit.highlight, snippetOrValue)\n );\n }\n\n _adaptHighlightInObjectValue(objectValue, highlightObjectValue, snippetOrValue) {\n return Object.assign(\n {},\n ...Object.entries(objectValue).map(([attribute, value]) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(\n value,\n highlightObjectValue?.[attribute] ?? [],\n snippetOrValue\n );\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(\n value,\n highlightObjectValue?.[attribute] ?? {},\n snippetOrValue\n );\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightObjectValue?.[attribute], snippetOrValue);\n }\n\n return {\n [attribute]: adaptedValue,\n };\n })\n );\n }\n\n _adaptHighlightInArrayValue(arrayValue, highlightArrayValue, snippetOrValue) {\n return arrayValue.map((value, index) => {\n let adaptedValue;\n if (value == null) {\n adaptedValue = this._adaptHighlightNullValue();\n } else if (Array.isArray(value)) {\n adaptedValue = this._adaptHighlightInArrayValue(value, highlightArrayValue?.[index] ?? [], snippetOrValue);\n } else if (typeof value === \"object\") {\n adaptedValue = this._adaptHighlightInObjectValue(value, highlightArrayValue?.[index] ?? {}, snippetOrValue);\n } else {\n adaptedValue = this._adaptHighlightInPrimitiveValue(value, highlightArrayValue?.[index], snippetOrValue);\n }\n return adaptedValue;\n });\n }\n\n _adaptHighlightInPrimitiveValue(primitiveValue, highlightPrimitiveValue, snippetOrValue) {\n if (highlightPrimitiveValue != null) {\n return {\n value: this._adaptHighlightTag(\n `${\n highlightPrimitiveValue[snippetOrValue] ??\n highlightPrimitiveValue[\"highlight\"] ??\n highlightPrimitiveValue[\"snippet\"]\n }`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: (highlightPrimitiveValue.matched_tokens || []).length > 0 ? \"full\" : \"none\",\n matchedWords: highlightPrimitiveValue.matched_tokens || [],\n };\n } else {\n return {\n // Convert all values to strings\n value: this._adaptHighlightTag(\n `${primitiveValue}`,\n this.instantsearchRequest.params.highlightPreTag,\n this.instantsearchRequest.params.highlightPostTag\n ),\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n }\n\n _adaptHighlightNullValue() {\n return {\n value: \"\",\n matchLevel: \"none\",\n matchedWords: [],\n };\n }\n\n _adaptFacets(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n Object.assign(adaptedResult, {\n [facet.field_name]: Object.assign({}, ...facet.counts.map((count) => ({ [count.value]: count.count }))),\n });\n });\n return adaptedResult;\n }\n\n _adaptFacetStats(typesenseFacetCounts) {\n const adaptedResult = {};\n typesenseFacetCounts.forEach((facet) => {\n if (Object.keys(facet.stats).length > 0) {\n Object.assign(adaptedResult, {\n [facet.field_name]: facet.stats,\n });\n }\n });\n return adaptedResult;\n }\n\n _adaptRenderingContent(typesenseFacetCounts) {\n const adaptedResult = Object.assign({}, this.configuration.renderingContent);\n\n // Only set facet ordering if the user has not set one\n if (adaptedResult.facetOrdering?.facets?.order == null) {\n adaptedResult.facetOrdering = adaptedResult.facetOrdering || {};\n adaptedResult.facetOrdering.facets = adaptedResult.facetOrdering.facets || {};\n adaptedResult.facetOrdering.facets.order = [\n ...new Set(\n typesenseFacetCounts\n .map((fc) => fc[\"field_name\"])\n .concat(\n this.allTypesenseResponses\n .map((r) => r.facet_counts || [])\n .flat()\n .map((fc) => fc[\"field_name\"])\n .filter((f) => f)\n )\n ),\n ];\n }\n\n return adaptedResult;\n }\n\n adapt() {\n const adaptedRenderingContent = this._adaptRenderingContent(this.typesenseResponse.facet_counts || []);\n const adaptedResult = {\n hits: this.typesenseResponse.grouped_hits\n ? this._adaptGroupedHits(this.typesenseResponse.grouped_hits)\n : this._adaptHits(this.typesenseResponse.hits),\n nbHits: this.typesenseResponse.found,\n page: this.typesenseResponse.page - 1,\n nbPages: this._adaptNumberOfPages(),\n hitsPerPage: this.typesenseResponse.request_params.per_page,\n facets: this._adaptFacets(this.typesenseResponse.facet_counts || []),\n facets_stats: this._adaptFacetStats(this.typesenseResponse.facet_counts || {}),\n query: this.typesenseResponse.request_params.q,\n processingTimeMS: this.typesenseResponse.search_time_ms,\n ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null),\n };\n\n return adaptedResult;\n }\n}\n\nObject.assign(SearchResponseAdapter.prototype, utils);\n"],"file":"SearchResponseAdapter.js"} \ No newline at end of file diff --git a/src/SearchRequestAdapter.js b/src/SearchRequestAdapter.js index 6956abb..5c8f9b4 100644 --- a/src/SearchRequestAdapter.js +++ b/src/SearchRequestAdapter.js @@ -144,8 +144,6 @@ export class SearchRequestAdapter { }); adaptedResult = transformedTypesenseFilters.join(" && "); - // console.log(`${JSON.stringify(facetFilters)} => ${adaptedResult}`); - return adaptedResult; } @@ -350,7 +348,7 @@ export class SearchRequestAdapter { } } - _adaptFilters(instantsearchParams, collectionName) { + _adaptFilters(instantsearchParams, collectionName, filterBy) { const adaptedFilters = []; // `filters` can be used with the `Configure` widget @@ -358,11 +356,13 @@ export class SearchRequestAdapter { if (instantsearchParams.filters) { adaptedFilters.push(instantsearchParams.filters); } + if (filterBy) adaptedFilters.push(filterBy); adaptedFilters.push(this._adaptFacetFilters(instantsearchParams.facetFilters, collectionName)); adaptedFilters.push(this._adaptNumericFilters(instantsearchParams.numericFilters)); adaptedFilters.push(this._adaptGeoFilter(instantsearchParams)); - return adaptedFilters.filter((filter) => filter && filter !== "").join(" && "); + const res = adaptedFilters.filter((filter) => filter && filter !== "").join(" && "); + return res; } _adaptIndexName(indexName) { @@ -415,7 +415,10 @@ export class SearchRequestAdapter { q: params.query === "" || params.query === undefined ? "*" : params.query, facet_by: snakeCasedAdditionalSearchParameters.facet_by || this._adaptFacetBy(params.facets, adaptedCollectionName), - filter_by: this._adaptFilters(params, adaptedCollectionName) || snakeCasedAdditionalSearchParameters.filter_by, + filter_by: + this._adaptFilters(params, adaptedCollectionName, snakeCasedAdditionalSearchParameters.filter_by) || + snakeCasedAdditionalSearchParameters.filter_by, + sort_by: adaptedSortBy || snakeCasedAdditionalSearchParameters.sort_by, max_facet_values: params.maxValuesPerFacet, page: (params.page || 0) + 1, @@ -435,9 +438,6 @@ export class SearchRequestAdapter { typesenseSearchParams.vector_query = params.typesenseVectorQuery; } - // console.log(params); - // console.log(typesenseSearchParams); - // Filter out empty or null values, so we don't accidentally override values set in presets // eslint-disable-next-line no-unused-vars return Object.fromEntries(Object.entries(typesenseSearchParams).filter(([_, v]) => v != null && v !== "")); @@ -451,8 +451,6 @@ export class SearchRequestAdapter { } async request() { - // console.log(this.instantsearchRequests); - const searches = this.instantsearchRequests.map((instantsearchRequest) => this._buildSearchParameters(instantsearchRequest) ); diff --git a/src/SearchResponseAdapter.js b/src/SearchResponseAdapter.js index 2aa2ab0..fb0de2c 100644 --- a/src/SearchResponseAdapter.js +++ b/src/SearchResponseAdapter.js @@ -332,7 +332,6 @@ export class SearchResponseAdapter { ...(Object.keys(adaptedRenderingContent).length > 0 ? { renderingContent: adaptedRenderingContent } : null), }; - // console.log(adaptedResult); return adaptedResult; } }